Feat/onboarding#36
Open
ganlincoder wants to merge 9 commits into
Open
Conversation
…1 skill - Add new V2 control-plane commands: `dataset import-url`, `dataset infer-schema`, `dataset infer-result`, and `app attach-dataset`; update `dataset create`, `dataset ingest`, `app create`, and `app dataset bind` to drive the V2 flow. - Update product/workflow plumbing (`item-commands`, `product-commands`, `workflow-commands`, `console-schema-inference`, `console-file-upload`, `http`) to talk to the V2 endpoints and emit snake_case enum wire values. - Replace the V1 `vs-item-onboarding` and `vs-app-dataset-bind` skills with the backend-driven `vs-item-onboarding-v2` skill (presigned upload -> backend inference -> persisted artifact -> confirm -> create/write/attach), including console hand-off links and readiness reminder. - Sync all references: 13 README locales, `docs/agent-quick-start.md`, `skills/manifest.json`, `vs-user-onboarding`, `vs-product-qa` and its delegation matrix, plus regenerated `embedded-repo-skills.ts`. - Align acceptance harness (`run-acceptance.cjs`) and console schema test to the new skill list and V2 contract.
- Introduce v2-onboarding suite covering 4 help, 4 dry-run, 7 mock and 2 pipeline cases for the V2 OpenAPI onboarding flow. - Add startV2MockServer with control-plane Action routing and data-plane path routing, plus per-suite report grouping and --suite all|core|v2-onboarding|live router. - Add scripts/suites/v2-onboarding.cjs orchestrator running the 8-step V2 chain (import-url -> upload -> infer-schema -> infer-result -> dataset create -> app create -> attach-dataset -> data write) for items and videos flavors. - Register V2 command help entries (dataset import-url / infer-schema / infer-result and app attach-dataset) and route attach-dataset --help through printAppCommandHelp. - Ship V2 onboarding fixtures (items.jsonl, videos.jsonl, infer-result.json, dataset-create.json, attach.json). - Add npm scripts test:acceptance:v2-mock and test:acceptance:v2-live for CI and on-demand live runs. - Ignore tmp-acceptance/ acceptance report directory.
- Add `vs dataset infer-result --render-schema` deterministic Stage A renderer (src/core/infer-schema-stage-a.ts) that normalizes the V2 envelope into {summary, fields, roles, warnings} and prints a fixed five-column ASCII table.
- Tolerate field-name drift (Name/FieldName, Type/FieldType), missing Required / BizAttr / Description, and missing or partial DataFieldConfig; surface anomalies (no PK BizAttr, empty IndexFields, role fields not present in schema, missing FieldDescMap entries) as explicit warnings.
- Update vs-item-onboarding-v2 SKILL.md to require the CLI renderer in Stage A and rewrite the confirmation checklist accordingly so agents no longer hand-assemble markdown.
- Add 4 acceptance cases (mixed payload, degenerate schema, no DataFieldConfig, 5x byte-stable rerun) under the v2-onboarding suite; v2-onboarding now runs 21/21 with zero regressions in core/v2-onboarding suites.
CLI render-schema output: - Switch from ASCII table to real markdown table for fields, so chat UIs render columns correctly without depending on a monospace font. - Wrap field types in backticks (e.g. `array<string>`); plain `<…>` was being parsed as HTML and silently dropped by chat UIs. - Split output into four fenced sections (Metadata / Fields (N) / Field Roles / Warnings (N)) for byte-stable structure. - Wrap the whole block in `<!-- vs-schema-confirm: BEGIN -->` / `<!-- vs-schema-confirm: END -->` markers so the agent has a clear copy-verbatim boundary. - Keep the Warnings section even when N=0, so users see a consistent shape across runs. SKILL.md updates for vs-item-onboarding-v2: - Rename "Stage A" to "Schema Confirmation" everywhere except a single historical reference. - Replace the loose checklist with an explicit three-part output template (one-line header + verbatim CLI block + one-line confirmation prompt). - Add MUST / MUST NOT lists to block common agent failure modes: hand-rendering the field table, "see CLI output above" placeholders, dropping the warnings section, and emitting unwrapped `<…>` type names. - Keep newly added skill text in English only; pre-existing Chinese hand-off block and worked-example fragments untouched.
- Fix xTtBackend resolution: profile-level value was ignored because
resolveCliDefaults only read the top-level stored entry. Profile schema
now declares xTtBackend, the resolver prefers profile over root, and
legacy `x-tt-backend` keys inside each profile are normalized as well.
- Drop the --theme flag from the V2 inference path (dataset infer-schema
and dataset ingest workflow); CreateDatasetV2.Theme on dataset create
is kept intact.
- Rework `vs --help` QUICK START so V2 (dataset import-url → infer-schema
→ infer-result → dataset create → data write → app create →
app attach-dataset) is the primary onboarding entry and V1
`vs item profile/plan/apply` is shown under "[Deprecated]" instead of
appearing first.
- Reorder PRODUCT_COMMANDS: dataset moves to the top with a clearer
description; item is marked deprecated. MORE HELP now points at
`vs dataset --help` rather than `vs item --help`.
- Harden skills/vs-item-onboarding-v2/SKILL.md:
- Language Matching now covers thinking / reasoning / planning output
in addition to user-facing prose; added a Chinese-priority section.
- Schema Confirmation prompt is no longer English-only; per-language
templates (Chinese default, English, ja/etc.) are listed inline.
- New "Do NOT be misled by `vs --help` top-level QUICK START" section
forbids the agent from falling back to `vs item ...` and pins the
V2 dataset/app surface as the only legal path.
- Workflow step 4 spells out Plan directory rules: artifacts must live
under `./.viking/item-plans/<dataset-name>/`, never `~/.viking/`,
to avoid sandboxed `EPERM: operation not permitted` errors.
- Rename the schema-confirm renderer module from infer-schema-stage-a.ts
to infer-schema-confirm.ts and ship the regenerated embedded skill
snapshot.
- Add `.trae/` and `._agent/` to .gitignore so per-agent workspace state
stays out of version control.
…m SKILL.md - Rename skills/vs-item-onboarding-v2 -> skills/vs-item-onboarding; update manifest, embedded skills, READMEs, agent quick-start, acceptance, and cross-skill references. - Translate stray Chinese constraint paragraphs in SKILL.md to English while preserving the per-language confirmation prompt and hand-off examples. - Merge the duplicate "Schema Confirmation - Output Contract" section back into step 5; collapse the five "Hard constraints" bullets into a single paragraph plus an explicit Forbidden list; replace the three-language hand-off blocks with one templated block plus a translation table. - Move the Worked Example bash transcript to references/worked-example.md and drop the stale --theme flag from it; SKILL.md keeps a single link to the reference. - Result: SKILL.md shrinks from 383 lines / 33.6 KB to 273 lines / 27.7 KB (~18% smaller, ~1.5k fewer tokens per agent turn).
- Add `static hidden = true` to all six V1 item commands (profile, plan, review, provision, verify, apply). They remain executable for existing scripts but no longer appear in oclif-generated help listings. - Drop the `item` row and the V1 QUICK START block from `vs --help`. - Replace the `vs item --help` USAGE dump with a short DEPRECATED notice that points users at the V2 `vs dataset` + `vs app` flow. - Sync docs/COMMANDS.md: remove the V1 item section, add the V2 dataset trio (import-url / infer-schema / infer-result), document `dataset create --data @dataset-create.json` and `dataset ingest --file --type ...`, and add `vs app attach-dataset` next to the legacy `app dataset bind`.
The previous SKILL.md only gave host + region templates and let the agent pick its own subpath; agents were producing wrong URLs like `/dataset/detail/<id>` or `/application/detail/<id>`. Pin the exact subpaths in step 11 so the hand-off block always points to the working console pages: - Dataset URL: <base>/home/dataset/<DatasetId> - App URL: <base>/app/<AppId> Same shape on Volc Engine and BytePlus. Also add an explicit negative example so agents do not invent `/dataset/detail/...` or `/application/detail/...` subpaths again. Embedded skills regenerated.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.