vgxness 1.9.2 → 1.9.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -6
- package/dist/agents/agent-resolver.js +33 -3
- package/dist/agents/canonical-agent-manifest.js +68 -21
- package/dist/agents/canonical-agent-projection.js +46 -4
- package/dist/cli/cli-help.js +14 -3
- package/dist/cli/commands/index.js +1 -0
- package/dist/cli/commands/interactive-entrypoint-dispatcher.js +8 -0
- package/dist/cli/commands/mcp-dispatcher.js +49 -18
- package/dist/cli/commands/memory-sdd-dispatcher.js +71 -5
- package/dist/cli/commands/setup-dispatcher.js +22 -10
- package/dist/cli/commands/status-dispatcher.js +130 -0
- package/dist/cli/commands/workflow-dispatcher.js +11 -5
- package/dist/cli/dispatcher.js +9 -1
- package/dist/cli/product-resume-renderer.js +32 -0
- package/dist/cli/product-status-renderer.js +81 -0
- package/dist/cli/sdd-renderer.js +90 -7
- package/dist/cli/tui/main-menu/main-menu-read-model.js +8 -8
- package/dist/cli/tui/setup/setup-tui-services.js +27 -10
- package/dist/code/cli/code-command.js +7 -4
- package/dist/code/reporting/summary.js +4 -1
- package/dist/code/runtime/code-runtime.js +27 -4
- package/dist/code/runtime/sdd-context.js +18 -2
- package/dist/governance/governance-report-builder.js +18 -7
- package/dist/mcp/claude-code-agent-config.js +10 -4
- package/dist/mcp/client-install-opencode-contract.js +2 -2
- package/dist/mcp/client-install-opencode.js +10 -6
- package/dist/mcp/control-plane.js +56 -0
- package/dist/mcp/opencode-default-agent-config.js +7 -4
- package/dist/mcp/provider-status.js +86 -81
- package/dist/mcp/schema.js +25 -7
- package/dist/mcp/stdio-server.js +4 -0
- package/dist/mcp/validation.js +39 -3
- package/dist/resume/product-resume.js +166 -0
- package/dist/runs/repositories/runs.js +12 -1
- package/dist/runs/run-service.js +62 -5
- package/dist/sdd/schema.js +8 -0
- package/dist/sdd/sdd-continuation-plan.js +81 -0
- package/dist/sdd/sdd-workflow-service.js +103 -16
- package/dist/skills/skill-resolver.js +21 -4
- package/dist/status/product-status.js +121 -0
- package/docs/architecture.md +1 -1
- package/docs/cli.md +40 -12
- package/docs/code-runtime.md +3 -0
- package/docs/glossary.md +1 -1
- package/docs/mcp.md +18 -4
- package/package.json +1 -1
package/docs/cli.md
CHANGED
|
@@ -49,7 +49,7 @@ Release defaults used by the guided setup are:
|
|
|
49
49
|
- Install mode: MCP plus manager/SDD agents (`mcp-plus-agents`).
|
|
50
50
|
- Public CLI language: English.
|
|
51
51
|
|
|
52
|
-
Recommended
|
|
52
|
+
Recommended bootstrap and diagnostic flow after `npm install -g vgxness`:
|
|
53
53
|
|
|
54
54
|
```bash
|
|
55
55
|
vgxness --help
|
|
@@ -59,14 +59,34 @@ vgxness setup plan # human-readable, read-only plan
|
|
|
59
59
|
vgxness setup status # human-readable, read-only setup status
|
|
60
60
|
vgxness setup apply --yes # writes OpenCode config only after explicit consent
|
|
61
61
|
vgxness doctor # human-readable readiness checks
|
|
62
|
-
vgxness
|
|
62
|
+
vgxness status --project <project> --change <change> # diagnostic cockpit
|
|
63
|
+
vgxness next --project <project> --change <change> # diagnostic/recovery next step
|
|
64
|
+
vgxness sdd continue --project <project> --change <change> # read-only manual continuation plan
|
|
65
|
+
vgxness resume --project <project> --run-id <id>
|
|
63
66
|
vgxness setup rollback --backup <path>
|
|
64
67
|
```
|
|
65
68
|
|
|
69
|
+
Daily SDD phase progression is OpenCode-first: talk to OpenCode with the VGXNESS MCP server installed, and let the hidden SDD subagents use MCP tools for phase work. The CLI and TUI remain supported for bootstrap/setup, diagnostics, recovery, manual fallback, and scripting; they are not the primary daily surface.
|
|
70
|
+
|
|
66
71
|
`setup plan`, `setup status`, and non-TTY `init` planning do not write provider config. Local VGXNESS store initialization may occur when the selected SQLite store is needed. They are human-readable by default; pass `--json` when you need parseable automation output. With the default global database, the OpenCode MCP command is `vgxness mcp start`; for custom/project-local DBs it includes `--db <path>`. The default OpenCode target is `$HOME/.config/opencode/opencode.json`; pass `--scope project` to opt into `<workspace>/.opencode/opencode.json`. `setup apply --yes` is the explicit OpenCode provider-config write path. `setup rollback --backup <path>` validates a VGXNESS/OpenCode backup such as `opencode.json.backup-<timestamp>`, creates a pre-rollback backup of the current target when present, restores the selected backup byte-for-byte, and recommends `vgxness doctor`.
|
|
67
72
|
|
|
68
73
|
`vgxness init` prompts in English when stdin/stdout are TTYs: project name, DB location, provider, OpenCode scope, install mode, then shows the plan and asks `Apply this setup? Type "yes" to continue:`. Any answer other than `yes` exits successfully without writes. In CI/non-TTY without `--yes`, `init` returns the read-only plan and never waits for input. `vgxness doctor`, `vgxness sdd status`, `vgxness sdd next`, `vgxness sdd get-artifact`, and `vgxness sdd list-artifacts` are also human-readable by default; use `--json` for scripts.
|
|
69
74
|
|
|
75
|
+
## Daily workflow front doors
|
|
76
|
+
|
|
77
|
+
Use OpenCode conversation + VGXNESS MCP + hidden SDD subagents for normal daily SDD work. Use these top-level commands when you need diagnostics, recovery, manual fallback, or scriptable state inspection:
|
|
78
|
+
|
|
79
|
+
| Question | Command | Purpose |
|
|
80
|
+
|---|---|---|
|
|
81
|
+
| Where am I? | `vgxness status --project <project> --change <change>` | Diagnostic cockpit state, blockers, next recommendation, and safety notes. |
|
|
82
|
+
| What should I do now? | `vgxness next --project <project> --change <change>` | Recovery/diagnostic next action and why it is safe or blocked. |
|
|
83
|
+
| How do I continue a change manually? | `vgxness sdd continue --project <project> --change <change>` | Builds a read-only continuation plan and manual fallback commands for the selected SDD change. |
|
|
84
|
+
| How do I continue interrupted work? | `vgxness resume --project <project> [--run-id <id>]` | Lists or inspects interrupted runs and suggests manual continuation commands without retrying anything. |
|
|
85
|
+
|
|
86
|
+
Without `--change`, `--project`, or `--run-id`, these commands stay orientation-only and do not open the local memory store. With a selected change, project, or run, top-level `status`, `next`, and `resume` inspect SQLite read-only; formal `sdd` commands are non-provider, non-run-executing planning/artifact commands that may use the normal local store path. Pass `--json` for automation.
|
|
87
|
+
|
|
88
|
+
The usual SDD operator loop happens inside OpenCode: continue the phase in conversation while VGXNESS MCP and hidden SDD subagents inspect readiness, persist artifacts, and report evidence. CLI commands remain fallback/recovery tools: inspect `status`, ask `next`, run `sdd continue` for a copyable manual continuation plan, then either run `vgxness code sdd ...` as an explicit fallback or `vgxness resume ...` for interrupted work. After a draft is ready, use `sdd accept-artifact` for explicit human acceptance; if an artifact was rejected, use `sdd reopen-artifact` before revising it. Related interrupted run hints in `status`, `next`, and `sdd continue` are advisory only; they help avoid duplicate work but do not retry or execute runs.
|
|
89
|
+
|
|
70
90
|
## Bun-first repository verification
|
|
71
91
|
|
|
72
92
|
VGXNESS uses Bun as the canonical installed runtime and verification path for repository development and CI. Node.js `>=22` remains development/build/test tooling for TypeScript, `node:test`, and helper scripts. npm package consumer metadata remains supported, but the product runtime engine is `engines.bun`.
|
|
@@ -220,13 +240,15 @@ bun run cli:bun --
|
|
|
220
240
|
|
|
221
241
|
The installed `vgxness`/`vgx` binary opens the OpenTUI main menu when run with no arguments in a TTY. With no TTY, no-args prints deterministic safe setup guidance, exits 0, and does not infer a project, open project state, toggle raw mode, or write provider/config artifacts. Use `vgxness --help` or `vgxness -h` to print command help without starting the main menu; explicit subcommands keep their normal behavior.
|
|
222
242
|
|
|
223
|
-
The top-level menu is: **Installation, Doctor / recovery, SDD / workflow guidance, Advanced CLI, Exit**. Terminal controls are `↑/↓` or `j/k` to move, `Enter` to open the focused item, `?` for help, and `q` to quit.
|
|
243
|
+
The top-level menu is: **Installation, Doctor / recovery, SDD / workflow guidance, Advanced CLI, Exit**. It is a read-only setup, diagnostics, recovery, and fallback surface; daily SDD progression stays in OpenCode with VGXNESS MCP. Terminal controls are `↑/↓` or `j/k` to move, `Enter` to open the focused item, `?` for help, and `q` to quit.
|
|
224
244
|
|
|
225
245
|
For scriptable status, use explicit read-only commands:
|
|
226
246
|
|
|
227
247
|
```bash
|
|
228
248
|
bun run cli:bun -- setup status --project vgxness
|
|
229
|
-
bun run cli:bun --
|
|
249
|
+
bun run cli:bun -- status --project vgxness --change my-change
|
|
250
|
+
bun run cli:bun -- next --project vgxness --change my-change
|
|
251
|
+
bun run cli:bun -- resume --project vgxness --run-id <id>
|
|
230
252
|
```
|
|
231
253
|
|
|
232
254
|
Provider support shown in the Installation surface is:
|
|
@@ -236,7 +258,7 @@ Provider support shown in the Installation surface is:
|
|
|
236
258
|
- **Antigravity** — placeholder/coming-soon guidance only.
|
|
237
259
|
- **Custom/future** — extension point with safe manual/default unsupported behavior.
|
|
238
260
|
|
|
239
|
-
Setup and main-menu TUI surfaces do **not** silently write OpenCode or other provider config, do **not** call provider executables, and do **not** approve/reject preflights.
|
|
261
|
+
Setup and main-menu TUI surfaces do **not** silently write OpenCode or other provider config, do **not** call provider executables, and do **not** approve/reject preflights. They print diagnostics, recovery hints, and manual fallback commands; daily SDD work should continue in OpenCode.
|
|
240
262
|
|
|
241
263
|
## Natural-language orchestrator preview
|
|
242
264
|
|
|
@@ -283,7 +305,7 @@ vgxness code inspect "<question>" \
|
|
|
283
305
|
--memory off|ask|auto
|
|
284
306
|
```
|
|
285
307
|
|
|
286
|
-
SDD-aware mode is exposed through `vgxness code sdd <change> <phase>`; pass `--save-artifact` only when persistence is intended, and pass `--change-id`/`--phase` to scope work. Read-only phases stay artifact-oriented; `apply-progress` may expose edit and shell tools; `verify` may expose verification shell tools.
|
|
308
|
+
SDD-aware mode is exposed through `vgxness code sdd <change> <phase>`; pass `--save-artifact` only when persistence is intended, and pass `--change-id`/`--phase` to scope work. Read-only phases stay artifact-oriented; `apply-progress` may expose edit and shell tools; `verify` may expose verification shell tools. `--draft-run` lets planning phases use draft prerequisites for planning only; human acceptance is still required, and `apply-progress` remains gated. `apply` is accepted as a user-facing alias for `apply-progress`.
|
|
287
309
|
|
|
288
310
|
Useful events-only output for piping into the OpenTUI shell or your own tooling:
|
|
289
311
|
|
|
@@ -433,7 +455,7 @@ A rejected approval is recorded in the run audit trail and prevents the matching
|
|
|
433
455
|
|
|
434
456
|
### SDD workflow commands vs formal SDD commands
|
|
435
457
|
|
|
436
|
-
`sdd preview`, `sdd run`, and `sdd execute` are workflow commands and use the three-mode workflow contract above. `sdd status`, `sdd ready`, `sdd save-artifact`, `sdd accept-artifact`, `sdd get-artifact`, `sdd list-artifacts`, and `sdd next` are formal SDD artifact/status commands. Formal SDD commands read or write SDD artifact state in the selected local SQLite store; they do not execute providers or
|
|
458
|
+
`sdd preview`, `sdd run`, and `sdd execute` are workflow commands and use the three-mode workflow contract above. `sdd status`, `sdd ready`, `sdd continue`, `sdd save-artifact`, `sdd accept-artifact`, `sdd reopen-artifact`, `sdd get-artifact`, `sdd list-artifacts`, and `sdd next` are formal SDD artifact/status commands. Formal SDD commands read or write SDD artifact state in the selected local SQLite store; they do not execute providers or retry workflow runs. `sdd continue` is read-only and returns a continuation plan; it does not create runs, mutate artifacts, or call providers.
|
|
437
459
|
|
|
438
460
|
## MCP setup preview and doctor
|
|
439
461
|
|
|
@@ -543,24 +565,30 @@ Manual/opt-in runtime validation checklist (not normal CI):
|
|
|
543
565
|
|
|
544
566
|
## SDD workflow examples
|
|
545
567
|
|
|
546
|
-
Use `sdd` commands to inspect local SDD artifact state and save, read, or list phase artifacts. These commands read and write only the selected `vgxness` local SQLite memory store: `--db <path>` when passed, `VGXNESS_DB_PATH` when set, or the global default database when neither override is present.
|
|
568
|
+
Use OpenCode conversation with VGXNESS MCP and hidden SDD subagents for normal daily SDD progression. Use `sdd` commands to inspect local SDD artifact state and save, read, or list phase artifacts for diagnostics, recovery, scripting, or manual fallback. These commands read and write only the selected `vgxness` local SQLite memory store: `--db <path>` when passed, `VGXNESS_DB_PATH` when set, or the global default database when neither override is present.
|
|
547
569
|
|
|
548
570
|
```bash
|
|
549
571
|
bun run cli:bun -- sdd status --project vgxness --change sdd-workflow-engine --db /tmp/vgxness-memory.sqlite
|
|
550
572
|
bun run cli:bun -- sdd ready --project vgxness --change sdd-workflow-engine --phase spec --db /tmp/vgxness-memory.sqlite
|
|
551
573
|
bun run cli:bun -- sdd save-artifact --project vgxness --change sdd-workflow-engine --phase proposal --content "# Proposal" --db /tmp/vgxness-memory.sqlite
|
|
574
|
+
bun run cli:bun -- sdd continue --project vgxness --change sdd-workflow-engine --db /tmp/vgxness-memory.sqlite
|
|
575
|
+
bun run cli:bun -- code sdd sdd-workflow-engine spec --project vgxness --draft-run --save-artifact --db /tmp/vgxness-memory.sqlite
|
|
552
576
|
bun run cli:bun -- sdd accept-artifact --project vgxness --change sdd-workflow-engine --phase proposal --actor user --note "Approved for spec" --db /tmp/vgxness-memory.sqlite
|
|
577
|
+
bun run cli:bun -- resume --project vgxness --db /tmp/vgxness-memory.sqlite
|
|
553
578
|
bun run cli:bun -- sdd get-artifact --project vgxness --change sdd-workflow-engine --phase proposal --db /tmp/vgxness-memory.sqlite
|
|
554
579
|
bun run cli:bun -- sdd list-artifacts --project vgxness --change sdd-workflow-engine --db /tmp/vgxness-memory.sqlite
|
|
555
580
|
bun run cli:bun -- sdd next --project vgxness --change sdd-workflow-engine --db /tmp/vgxness-memory.sqlite
|
|
581
|
+
bun run cli:bun -- sdd reopen-artifact --project vgxness --change sdd-workflow-engine --phase design --actor user --note "Revise rejected design" --db /tmp/vgxness-memory.sqlite
|
|
556
582
|
VGXNESS_DB_PATH=/tmp/vgxness-memory.sqlite bun run cli:bun -- sdd list-artifacts --project vgxness --change sdd-workflow-engine
|
|
557
583
|
```
|
|
558
584
|
|
|
559
|
-
Current phases are `explore`, `proposal`, `spec`, `design`, `tasks`, `apply-progress`, `verify`, and `archive`. Each artifact is stored under `sdd/{change}/{phase}` in the local SQLite memory store. `sdd status` reports which phase artifacts are present and
|
|
585
|
+
Current canonical phases are `explore`, `proposal`, `spec`, `design`, `tasks`, `apply-progress`, `verify`, and `archive`. `apply` is accepted as a user-facing input alias, but artifacts, topic keys, readiness/status/cockpit JSON, and internal metadata continue to use canonical `apply-progress`. Each artifact is stored under `sdd/{change}/{phase}` in the local SQLite memory store. `sdd status` reports which phase artifacts are present, blocker-specific next actions, and related interrupted run hints when available. `sdd next` reports the next SDD action for a project/change and frames runnable phase work as OpenCode-first while preserving fallback command fields. `sdd continue` turns that state into a read-only continuation plan, including manual fallback commands, draft-run suggestions for planning phases, and related interrupted run context when a matching stopped run exists. `sdd status`, `sdd next`, `sdd continue`, `sdd get-artifact`, and `sdd list-artifacts` are human-readable by default; pass `--json` for automation/stable structured output. `sdd ready` reports satisfied prerequisites and missing artifact topic keys for one phase. `sdd get-artifact` shows artifact metadata and then full content after `--- Content ---`; `sdd list-artifacts` shows one compact row for every canonical SDD phase in phase order and does not print full artifact content.
|
|
586
|
+
|
|
587
|
+
`sdd accept-artifact` records explicit human-only acceptance of an existing artifact through the same SDD workflow service used by MCP. It requires `--project`, `--change`, `--phase`, and `--actor`; `--display-name` defaults to the actor id. `--accepted-at` is optional, but when supplied it must be an ISO date-time with an explicit timezone (`Z` or offset) and is normalized to UTC `toISOString()` output. The default output is a human-readable confirmation with a JSON hint; `--json` returns a content-free success object with project/change/phase/topic key/artifact id/status/acceptedBy/acceptedAt and optional note. `save-artifact` creates or updates draft content only and does not imply acceptance. `sdd reopen-artifact` moves a rejected artifact back to draft after an explicit human decision, so the artifact can be revised and accepted again.
|
|
560
588
|
|
|
561
|
-
|
|
589
|
+
Use `resume --project <project>` when you do not know the run id. It lists recent interrupted candidates for that project from the selected database. Use `resume --project <project> --run-id <id>` to inspect one candidate; this is still read-only and advisory.
|
|
562
590
|
|
|
563
|
-
The SDD CLI is status
|
|
591
|
+
The SDD CLI is status, planning, artifact persistence, diagnostics, recovery, scripting, and manual fallback only. It does **not** execute providers, retry workflow runs, create `openspec/`, or write `.opencode/`, `.claude/`, or user/global provider config.
|
|
564
592
|
|
|
565
593
|
## Agent resolution
|
|
566
594
|
|
|
@@ -953,7 +981,7 @@ For more on schema, scopes, and lifecycle, see [Storage](./storage.md).
|
|
|
953
981
|
|
|
954
982
|
- [Architecture](./architecture.md) — current-state architecture and core domain model.
|
|
955
983
|
- [Code runtime](./code-runtime.md) — `vgxness code` modes, tools, providers, and approval flow.
|
|
956
|
-
- [MCP tools](./mcp.md) — full reference for the
|
|
984
|
+
- [MCP tools](./mcp.md) — full reference for the 41 MCP tools exposed to agents.
|
|
957
985
|
- [Safety model](./safety.md) — permission categories, approval flow, redactors, and runtime gates.
|
|
958
986
|
- [Storage](./storage.md) — SQLite schema, scopes, and lifecycle.
|
|
959
987
|
- [Providers](./providers.md) — adapter contract and how to add a new provider.
|
package/docs/code-runtime.md
CHANGED
|
@@ -35,6 +35,7 @@ Common flags across modes:
|
|
|
35
35
|
| Flag | Effect |
|
|
36
36
|
|---|---|
|
|
37
37
|
| `--save-artifact` | Persist the phase artifact when explicit persistence is intended. |
|
|
38
|
+
| `--draft-run` | Let planning phases use draft prerequisites for planning only; human acceptance is still required and `apply-progress` remains gated. |
|
|
38
39
|
| `--change-id <id>` | Override change id. |
|
|
39
40
|
| `--approval-policy`, `--approval-channel`, `--memory` | Same as the other modes. |
|
|
40
41
|
|
|
@@ -172,6 +173,8 @@ Prompts, reports, checkpoints, transcripts, and memory saves redact secret-like
|
|
|
172
173
|
|
|
173
174
|
`vgxness code sdd <change> <phase>` loads existing artifacts for the requested change/phase and exposes phase-appropriate tools. Non-implementation phases stay read/artifact oriented. `apply-progress` may expose edit and shell tools. `verify` may expose verification shell tools. Artifact saves require explicit `--save-artifact` (or the equivalent runtime flag); passing it is the only way persistence is triggered.
|
|
174
175
|
|
|
176
|
+
Use `vgxness sdd continue --project <project> --change <change>` first when you want the read-only continuation plan. It may suggest `vgxness code sdd ... --draft-run --save-artifact` for planning phases when draft prerequisites exist. `--draft-run` does not accept a value, does not weaken human acceptance, and does not unblock `apply-progress`; it only lets planning phases produce or revise draft artifacts before a human accepts them.
|
|
177
|
+
|
|
175
178
|
## Project detection
|
|
176
179
|
|
|
177
180
|
`detectProject()` (in `src/code/runtime/project-detection.ts`) reports repository root, stack hints, config files, and verification presets such as `npm run typecheck` or `npm run test` when package scripts exist. The fake provider is deterministic for local tests.
|
package/docs/glossary.md
CHANGED
|
@@ -80,7 +80,7 @@ A redacted, structured report over SDD state, runs, and approvals. Surfaced thro
|
|
|
80
80
|
|
|
81
81
|
## MCP
|
|
82
82
|
|
|
83
|
-
Model Context Protocol. The agent-facing transport. VGXNESS exposes
|
|
83
|
+
Model Context Protocol. The agent-facing transport. VGXNESS exposes 41 typed tools over stdio through `vgxness mcp start`. The tool list lives in `SUPPORTED_VGX_MCP_TOOL_NAMES` (`src/mcp/schema.ts`) and is documented in [MCP tools](./mcp.md).
|
|
84
84
|
|
|
85
85
|
## Memory observation
|
|
86
86
|
|
package/docs/mcp.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# MCP tools
|
|
2
2
|
|
|
3
|
-
VGXNESS exposes
|
|
3
|
+
VGXNESS exposes 41 typed MCP tools over stdio through `vgxness mcp start`. The canonical list is the `SUPPORTED_VGX_MCP_TOOL_NAMES` array in `src/mcp/schema.ts` — treat that as the source of truth. The list below mirrors it; if a tool appears here that is not in the array, or vice versa, the array wins.
|
|
4
4
|
|
|
5
5
|
Tools are exposed under the `vgxness_*` prefix. Some MCP hosts strip the prefix and accept the short form (`sdd_status`, `memory_save`, etc.). The schema accepts both.
|
|
6
6
|
|
|
@@ -11,16 +11,18 @@ All tools:
|
|
|
11
11
|
- Return either a typed result or a `VgxMcpError` with a `code` and `message`.
|
|
12
12
|
- Do not require the agent to import or instantiate anything; pass JSON, get JSON.
|
|
13
13
|
|
|
14
|
-
## SDD workflow (
|
|
14
|
+
## SDD workflow (12)
|
|
15
15
|
|
|
16
16
|
| Tool | Purpose | Required inputs | Notes |
|
|
17
17
|
|---|---|---|---|
|
|
18
18
|
| `vgxness_sdd_status` | Report per-phase artifact presence and the next ready missing phase. | `project`, `change` | |
|
|
19
19
|
| `vgxness_sdd_next` | Recommend the next phase decision for a change. | `project`, `change` | |
|
|
20
|
+
| `vgxness_sdd_continue` | Build a read-only continuation plan for a blocked or interrupted SDD change. | `project`, `change`; optional `payloadMode` (`compact`/`verbose`) | Complements `vgxness_sdd_next` and `vgxness_sdd_cockpit` with copyable next steps. Does not mutate artifacts or runs, execute providers, write provider config, create `openspec/`, or bypass human acceptance. |
|
|
20
21
|
| `vgxness_sdd_ready` | Check whether a specific phase is ready. | `project`, `change`, `phase`; optional `runId`, `agentId` | Returns structured `SddReadiness` with `blockedPrerequisites`. |
|
|
21
22
|
| `vgxness_sdd_get_readiness` | Same as `ready` with explicit output shape. | same as `ready` | |
|
|
22
23
|
| `vgxness_sdd_save_artifact` | Persist phase content under canonical topic key `sdd/{change}/{phase}`. | `project`, `change`, `phase`, `content` | Saving does not imply acceptance. |
|
|
23
24
|
| `vgxness_sdd_accept_artifact` | Record explicit human acceptance for a phase. | `project`, `change`, `phase`, `acceptedBy` (`{type:"human", id, displayName?}`); optional `acceptedAt`, `note`, `runId`, `agentId` | `acceptedBy.type` must be `"human"`. Runtime rejects agent or anonymous acceptance. Only `note` is accepted; `notes` and `rationale` are rejected as unexpected fields. |
|
|
25
|
+
| `vgxness_sdd_reopen_artifact` | Move a rejected artifact back to draft for revision. | `project`, `change`, `phase`, `reopenedBy` (`{type:"human", id, displayName?}`); optional `reopenedAt`, `note`, `runId`, `agentId` | Human-only recovery path. Does not imply acceptance or bypass downstream gates. |
|
|
24
26
|
| `vgxness_sdd_get_artifact` | Read one full artifact. | `project`, `change`, `phase`; optional `payloadMode` (`compact`/`verbose`) | |
|
|
25
27
|
| `vgxness_sdd_list_artifacts` | List all artifacts for a change in canonical phase order. | `project`, `change`; optional `payloadMode` | |
|
|
26
28
|
| `vgxness_sdd_cockpit` | Aggregate per-phase status, blockers, and recommended next action. | `project`, `change` | Returns `SddCockpit` with `aggregateBlockers` of kinds `missing-topic-key`, `unaccepted-phase`, `legacy-artifact`, `readiness`. |
|
|
@@ -64,7 +66,7 @@ All tools:
|
|
|
64
66
|
| `vgxness_opencode_manager_payload` | Build the OpenCode manager payload envelope. | `OpenCodeManagerPayloadInput` shape (project, scope, agent, workflow/phase, workspaceRoot, maxSourceBytes, payloadMode) | `installable: false`, `readOnly: true`. |
|
|
65
67
|
| `vgxness_opencode_handoff_preview` | Compose a full handoff preview: provider artifacts + skill diagnostics + SDD status + provider status + safety flags. | `project`; optional `scope`, `agentId`, `agentName`, `workspaceRoot`, `maxSourceBytes`, `change`, `phase` | Read-only preview. Does not execute OpenCode, install hooks, or write provider config. |
|
|
66
68
|
|
|
67
|
-
## Runs (
|
|
69
|
+
## Runs (9)
|
|
68
70
|
|
|
69
71
|
| Tool | Purpose | Required inputs | Notes |
|
|
70
72
|
|---|---|---|---|
|
|
@@ -74,6 +76,7 @@ All tools:
|
|
|
74
76
|
| `vgxness_run_checkpoint` | Append a resumable JSON state. | `AppendRunCheckpointInput` shape | |
|
|
75
77
|
| `vgxness_run_finalize` | Finalize a run with `outcome` and `outcomeReason`. | `FinalizeRunInput` shape | `outcome` must match a terminal `status`. Re-finalization is rejected. |
|
|
76
78
|
| `vgxness_run_preflight` | Run policy evaluation and return the decision + planned execution isolation strategy. | `PreflightRunOperationInput` shape | May create a pending approval when the decision is `ask`. Does not invoke an executor. |
|
|
79
|
+
| `vgxness_run_resume_candidates` | List recent interrupted runs for a project when the run id is unknown. | `project`; optional `limit` (1-100, default 5) | Returns failed, blocked, and needs-human candidates with `inspectInput` for `run_resume_inspect`. Does not retry, resume, mutate runs, create sandboxes/worktrees, invoke providers, or write artifacts/config. |
|
|
77
80
|
| `vgxness_run_resume_inspect` | Plan-only resume advisory. | `runId` | Returns `RunResumeOrchestrationPlan` with blockers and `nextAction` (`resolve-approval`/`inspect-run`/`retry-check`/`manual-recovery`/`no-action`). |
|
|
78
81
|
| `vgxness_run_resume_gate` | Evaluate retry policy for an approval without executing. | `approvalId`; optional `policy` | Default policy is `never`. See [Safety model](./safety.md) for the policy table. |
|
|
79
82
|
|
|
@@ -107,10 +110,11 @@ Inspecting SDD before doing any work:
|
|
|
107
110
|
|
|
108
111
|
```text
|
|
109
112
|
vgxness_sdd_cockpit { project: "vgxness", change: "new-flow" }
|
|
113
|
+
vgxness_sdd_continue { project: "vgxness", change: "new-flow" }
|
|
110
114
|
vgxness_sdd_get_readiness { project: "vgxness", change: "new-flow", phase: "proposal" }
|
|
111
115
|
```
|
|
112
116
|
|
|
113
|
-
The cockpit returns `aggregateBlockers`; if any are `unaccepted-phase`, the agent should not run the next phase until a human accepts the prerequisite.
|
|
117
|
+
The cockpit returns `aggregateBlockers`; if any are `unaccepted-phase`, the agent should not run the next phase until a human accepts the prerequisite. `vgxness_sdd_continue` uses the same SDD state to explain how to continue; it is advisory only.
|
|
114
118
|
|
|
115
119
|
Recording a phase with explicit human acceptance:
|
|
116
120
|
|
|
@@ -130,6 +134,16 @@ vgxness_run_checkpoint { runId, label: "after-step-1", state: {...} }
|
|
|
130
134
|
vgxness_run_finalize { runId, outcome: "success", outcomeReason: "..." }
|
|
131
135
|
```
|
|
132
136
|
|
|
137
|
+
Finding interrupted runs when the run id is unknown:
|
|
138
|
+
|
|
139
|
+
```text
|
|
140
|
+
vgxness_run_resume_candidates { project: "vgxness", limit: 5 }
|
|
141
|
+
vgxness_run_resume_inspect { runId }
|
|
142
|
+
vgxness_run_resume_gate { approvalId, policy }
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
`vgxness_run_resume_candidates` is discovery only. It points to `run_resume_inspect` for a selected candidate and does not admit a retry or resume execution; `run_resume_gate` remains the advisory retry-policy check for a known approval id.
|
|
146
|
+
|
|
133
147
|
## Safety boundary
|
|
134
148
|
|
|
135
149
|
MCP tools do not:
|