@deksden-com/dd-flow-cli 0.4.0 → 0.4.1
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/CHANGELOG.md +16 -0
- package/README.md +25 -9
- package/dist/build-info.json +5 -5
- package/dist/cli/help.js +45 -29
- package/dist/cli/run-cli.js +229 -49
- package/dist/domain/entity-ids.js +4 -4
- package/dist/domain/flow-contract.js +502 -36
- package/dist/domain/validation.js +34 -0
- package/dist/protocol/local-files.js +8 -6
- package/dist/schemas/code-stage-report.schema.json +197 -2
- package/dist/schemas/flow-contract.schema.json +126 -0
- package/dist/schemas/flow-run-index-v3.schema.json +203 -0
- package/dist/schemas/flow-run-index.schema.json +22 -2
- package/dist/schemas/flow-run.schema.json +36 -0
- package/dist/schemas/merge-stage-report.schema.json +213 -2
- package/dist/schemas/plan-stage-report.schema.json +156 -2
- package/dist/schemas/release-impact.schema.json +16 -0
- package/dist/services/audit.js +3 -3
- package/dist/services/branch-context.js +17 -5
- package/dist/services/canon.js +0 -1
- package/dist/services/cleanup.js +6 -6
- package/dist/services/cli-operation-classifier.js +1 -1
- package/dist/services/compatibility-preflight.js +3 -75
- package/dist/services/dashboard.js +48 -11
- package/dist/services/engines.js +123 -13
- package/dist/services/hooks.js +6 -6
- package/dist/services/ids.js +40 -49
- package/dist/services/merge-queue.js +33 -26
- package/dist/services/merge-worker.js +2 -1
- package/dist/services/migrations.js +64 -0
- package/dist/services/plans.js +23 -16
- package/dist/services/projects.js +2 -2
- package/dist/services/prompts.js +322 -0
- package/dist/services/protocols.js +77 -46
- package/dist/services/run-projection.js +80 -0
- package/dist/services/runs.js +360 -22
- package/dist/services/schema-validation.js +35 -12
- package/dist/services/sessions.js +81 -3
- package/dist/services/status.js +32 -1
- package/dist/services/usage.js +233 -0
- package/dist/services/worktrees.js +24 -19
- package/dist/storage/database.js +223 -9
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @deksden-com/dd-flow-cli
|
|
2
2
|
|
|
3
|
+
## 0.4.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Preserve `--project-root` through engine routing, compatibility preflight, protocol services, nested lookups, merge-queue commands, and post-mutation dashboard refresh. Duplicate rootless protocol ids fail closed without side effects, while successful mutations remain successful when an optional dashboard projection fails.
|
|
8
|
+
|
|
9
|
+
- Include production dependencies in installed engine snapshots, so a routed CLI works outside the source checkout.
|
|
10
|
+
|
|
11
|
+
## Unreleased
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- Make `PRT-*` and `RUN-*` allocation, persistence and resolution project-scoped. SQLite migrates legacy global primary keys without renumbering ids, including databases whose columns were appended in historical order; duplicate full ids may coexist across projects, and ambiguous context-free protocol lookup fails closed with project candidates.
|
|
16
|
+
|
|
17
|
+
- Allow `prompt render` to preserve validated RUN-local `required_read` and discovery references through `run://<relative-path>`, while keeping write scopes project-local and rejecting traversal or environment-secret paths.
|
|
18
|
+
|
|
3
19
|
## 0.4.0
|
|
4
20
|
|
|
5
21
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -72,17 +72,33 @@ Register and inspect a protocol:
|
|
|
72
72
|
|
|
73
73
|
```bash
|
|
74
74
|
dd-flow protocol register HANDSHAKE-001 --project-root "$PWD" --json
|
|
75
|
-
dd-flow protocol status PRT-HANDSHAKE-001 --json
|
|
75
|
+
dd-flow protocol status PRT-HANDSHAKE-001 --project-root "$PWD" --json
|
|
76
76
|
```
|
|
77
77
|
|
|
78
78
|
Attach and update a plan:
|
|
79
79
|
|
|
80
80
|
```bash
|
|
81
|
-
dd-flow plan set PRT-HANDSHAKE-001 --file plan.json --json
|
|
82
|
-
dd-flow plan item start PRT-HANDSHAKE-001 P1 --json
|
|
83
|
-
dd-flow plan item done PRT-HANDSHAKE-001 P1 --summary "Implemented" --evidence "pnpm test" --json
|
|
81
|
+
dd-flow plan set PRT-HANDSHAKE-001 --project-root "$PWD" --file plan.json --json
|
|
82
|
+
dd-flow plan item start PRT-HANDSHAKE-001 P1 --project-root "$PWD" --json
|
|
83
|
+
dd-flow plan item done PRT-HANDSHAKE-001 P1 --project-root "$PWD" --summary "Implemented" --evidence "pnpm test" --json
|
|
84
84
|
```
|
|
85
85
|
|
|
86
|
+
Render a bounded prompt for one delegated plan item after its RUN stage is attached:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
dd-flow prompt render \
|
|
90
|
+
--project-root "$PWD" \
|
|
91
|
+
--run RUN-001-example \
|
|
92
|
+
--stage code \
|
|
93
|
+
--plan-item P2 \
|
|
94
|
+
--profile code_implementation \
|
|
95
|
+
--json
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
For a non-plan worker, replace `--plan-item` with `--task-file <path>` pointing to a `dd-flow/worker-task@1` manifest inside the selected RUN home. The manifest embeds one existing plan-item-shaped `task`, so validation and rendered artifacts remain identical to the compatibility route.
|
|
99
|
+
|
|
100
|
+
The selected item must contain `execution_context` and `semantic_spine`. The renderer accepts only registered profiles, validates the active RUN/workspace and source paths, then persists `launch-prompt.md`, `prompt-stack.json` and `render-report.json` in the RUN stage. The stack and render report both retain the validated read/discovery/write references. It records project sources as paths rather than copying their contents. `required_read` and `discovery_boundary` may use a checked `run://<relative-path>` reference for a source inside the selected RUN home; write scopes remain project-local.
|
|
101
|
+
|
|
86
102
|
Human help is available for the operator-facing command groups:
|
|
87
103
|
|
|
88
104
|
```bash
|
|
@@ -178,7 +194,7 @@ dd-flow lane lock release --project-root "$PROJECT_ROOT" --lane direct-main --wo
|
|
|
178
194
|
Prompts enqueue protocols only after explicit readiness signals exist:
|
|
179
195
|
|
|
180
196
|
```bash
|
|
181
|
-
dd-flow protocol ready-for-merge PRT-... --json
|
|
197
|
+
dd-flow protocol ready-for-merge PRT-... --project-root "$PROJECT_ROOT" --json
|
|
182
198
|
dd-flow merge-queue status --project-root "$PROJECT_ROOT" --json
|
|
183
199
|
```
|
|
184
200
|
|
|
@@ -203,8 +219,8 @@ Merge queue JSON uses `queue_item`, `protocol`, and `claim` as the primary queue
|
|
|
203
219
|
Complete or fail the claimed job:
|
|
204
220
|
|
|
205
221
|
```bash
|
|
206
|
-
dd-flow merge-queue complete PRT-... --worker-id "$WORKER_ID" --path "$MERGE_WORKSPACE" --summary "merged locally" --json
|
|
207
|
-
dd-flow merge-queue fail PRT-... --worker-id "$WORKER_ID" --path "$MERGE_WORKSPACE" --reason "conflict requires owner" --requeue true --json
|
|
222
|
+
dd-flow merge-queue complete PRT-... --project-root "$PROJECT_ROOT" --worker-id "$WORKER_ID" --path "$MERGE_WORKSPACE" --summary "merged locally" --json
|
|
223
|
+
dd-flow merge-queue fail PRT-... --project-root "$PROJECT_ROOT" --worker-id "$WORKER_ID" --path "$MERGE_WORKSPACE" --reason "conflict requires owner" --requeue true --json
|
|
208
224
|
```
|
|
209
225
|
|
|
210
226
|
Successful `merge-queue complete` is terminal for the protocol runtime: it writes `stage: closed`, `status: closed`, and `next_action: none`. Post-complete cleanup can still update the queue reason with `merge-queue note`, but dashboards must no longer show the protocol as active work.
|
|
@@ -212,8 +228,8 @@ Successful `merge-queue complete` is terminal for the protocol runtime: it write
|
|
|
212
228
|
Cancel stale or intentionally abandoned queue work explicitly:
|
|
213
229
|
|
|
214
230
|
```bash
|
|
215
|
-
dd-flow merge-queue cancel PRT-... --reason "abandoned rerun" --json
|
|
216
|
-
dd-flow merge-queue cancel PRT-... --worker-id "$WORKER_ID" --path "$MERGE_WORKSPACE" --reason "owner cancelled claimed job" --json
|
|
231
|
+
dd-flow merge-queue cancel PRT-... --project-root "$PROJECT_ROOT" --reason "abandoned rerun" --json
|
|
232
|
+
dd-flow merge-queue cancel PRT-... --project-root "$PROJECT_ROOT" --worker-id "$WORKER_ID" --path "$MERGE_WORKSPACE" --reason "owner cancelled claimed job" --json
|
|
217
233
|
```
|
|
218
234
|
|
|
219
235
|
Flow sessions are registered explicitly with `dd-flow session register`; merge queue commands use `--worker-id` only. Codex prompts should prefer a JSON payload file:
|
package/dist/build-info.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"cli_package": "@deksden-com/dd-flow-cli",
|
|
3
|
-
"cli_version": "0.4.
|
|
4
|
-
"cli_commit": "
|
|
5
|
-
"built_at": "2026-
|
|
3
|
+
"cli_version": "0.4.1",
|
|
4
|
+
"cli_commit": "6f85c042645e0f779824ec71b9aef0a68830874d",
|
|
5
|
+
"built_at": "2026-08-08T21:51:37.203Z",
|
|
6
6
|
"built_with_canon": {
|
|
7
|
-
"version": "2.
|
|
8
|
-
"commit": "
|
|
7
|
+
"version": "2.17.0",
|
|
8
|
+
"commit": "bab97fce96dc6b240c577c38b9d69e17b08fd471",
|
|
9
9
|
"flow_contract": "dd-flow-canonical-2026-06",
|
|
10
10
|
"repo_root": "/Users/deksden/Documents/_Projects/dd-memorybank",
|
|
11
11
|
"memorybank_root": "/Users/deksden/Documents/_Projects/dd-memorybank/.memory-bank",
|
package/dist/cli/help.js
CHANGED
|
@@ -18,11 +18,12 @@ Core commands:
|
|
|
18
18
|
project resolve/archive Resolve typed ids and archive stale project roots.
|
|
19
19
|
project migrate-ids Migrate old project ids.
|
|
20
20
|
protocol register/status/transition Register, inspect, transition and repair protocol state.
|
|
21
|
-
migration plan/report/verify
|
|
21
|
+
migration impact/plan/report/verify Assess release impact and prepare mb-upgrade migration evidence.
|
|
22
22
|
cleanup scan/apply Detect and repair stale local runtime state.
|
|
23
|
-
run start/status/list
|
|
23
|
+
run start/status/list/timeline/usage/flags Track concrete flow executions, timing, source-aware usage and RUN-local flow flags.
|
|
24
24
|
id next Preview next typed ids for protocol or run allocation.
|
|
25
25
|
plan set/status/item Attach and update protocol plans.
|
|
26
|
+
prompt render Render one bounded, RUN-local worker launch prompt.
|
|
26
27
|
lane workspace/lock/status Manage shared workspace lanes and leases.
|
|
27
28
|
merge status/one-shot/bundle Inspect, claim, or complete merge work from the current session.
|
|
28
29
|
merge-worker status/start/stop Manage long-lived project merge workers.
|
|
@@ -68,7 +69,7 @@ Usage:
|
|
|
68
69
|
dd-flow version --json
|
|
69
70
|
dd-flow --version
|
|
70
71
|
|
|
71
|
-
version reports the installed dd-flow CLI package version from package metadata. Use status for richer canon/project compatibility diagnostics.
|
|
72
|
+
version reports the installed dd-flow CLI package version from package metadata. Use status for richer canon/project compatibility diagnostics. Status remains read-only when a project flow contract is invalid and reports its exact error path plus a repair/upgrade validation command.
|
|
72
73
|
|
|
73
74
|
Examples:
|
|
74
75
|
dd-flow version
|
|
@@ -125,7 +126,7 @@ Usage:
|
|
|
125
126
|
|
|
126
127
|
Discovery order is explicit --root, then DD_MEMORYBANK, then the globally registered runtime value in DD_FLOW_HOME, then known nearby dd-memorybank checkouts from the current working directory. Explicit --root is the only source considered for that command. If multiple different valid canonical checkouts are found, resolve fails closed with blockers so the caller chooses intentionally.
|
|
127
128
|
|
|
128
|
-
A valid canonical root contains dd-flow/README.md, mbb/index.md, protocol/index.md, and canonical-only entrypoints such as dd-flow/mb-init.md, dd-flow/mb-upgrade.md, dd-flow/mb-upgrade-review
|
|
129
|
+
A valid canonical root contains dd-flow/README.md, mbb/index.md, protocol/index.md, and canonical-only entrypoints such as dd-flow/mb-init.md, dd-flow/mb-upgrade.md, and dd-flow/mb-distill.md. Current canon runs mb-upgrade review as the 05-review stage inside mb-upgrade, not as a top-level mb-upgrade-review.md entrypoint.
|
|
129
130
|
|
|
130
131
|
Examples:
|
|
131
132
|
dd-flow canon register --root "$DD_MEMORYBANK" --json
|
|
@@ -137,15 +138,19 @@ Examples:
|
|
|
137
138
|
`dd-flow run - track concrete flow executions
|
|
138
139
|
|
|
139
140
|
Usage:
|
|
140
|
-
dd-flow run start --project-root <root> [--workspace-root <checkout>] --flow-kind <kind> --subject-type <type> --subject-id <id> --slug <slug> [--next-action <text>] --json
|
|
141
|
+
dd-flow run start --project-root <root> [--workspace-root <checkout>] --flow-kind <kind> --subject-type <type> --subject-id <id> --slug <slug> [--preset compact|normal|full] [--task-profile-file <file>] [--protocol-override-file <file>] [--flag key=value] [--next-action <text>] --json
|
|
141
142
|
dd-flow id next --type protocol|run --project-root <root> --slug <slug> --json
|
|
142
|
-
dd-flow run status <RUN-ID|RUN-
|
|
143
|
+
dd-flow run status <RUN-ID|RUN-short-id> --project-root <root> --json
|
|
143
144
|
dd-flow run list --project-root <root> --json
|
|
144
|
-
dd-flow run
|
|
145
|
-
dd-flow run
|
|
146
|
-
dd-flow run
|
|
145
|
+
dd-flow run timeline <RUN-ID|RUN-short-id> --project-root <root> [--hide stages|events|sessions|usage|artifacts] --json
|
|
146
|
+
dd-flow run usage <RUN-ID|RUN-short-id> --project-root <root> [--group-by session|role|stage|aspect|plan-item] --json
|
|
147
|
+
dd-flow run flags status <RUN-ID|RUN-short-id> --project-root <root> --json
|
|
148
|
+
dd-flow run flags revise <RUN-ID|RUN-short-id> --project-root <root> --expected-revision <n> --idempotency-key <key> [--preset <name>] [--flag key=value] [--flag key=value] [--allow-downgrade --reason <text>] --json
|
|
149
|
+
dd-flow run attach-stage <RUN-ID|RUN-short-id> --project-root <root> --stage <name> --dir <NN-stage-slug> --status <status> [--data-schema-id <id>] --json
|
|
150
|
+
dd-flow run complete-stage <RUN-ID|RUN-short-id> --project-root <root> --stage <name> --status <status> [--stage-report <path>] [--data <path>] [--data-schema-id <id>] [--report <path>] [--alias <path>] --json
|
|
151
|
+
dd-flow run complete <RUN-ID|RUN-short-id> --project-root <root> --status done|blocked|cancelled|failed [--verdict <text>] [--next-action <text>] --json
|
|
147
152
|
|
|
148
|
-
RUN-* is the execution envelope for one concrete flow launch. Semantic truth remains in protocol, experiment, DEF, scenario, evidence, and Memory Bank documents. New run artifacts are stored under DD_FLOW_HOME/projects/<PRJ-ID-slug>/runs/<RUN-ID-slug>/ with run.json
|
|
153
|
+
RUN-* is the execution envelope for one concrete flow launch. Semantic truth remains in protocol, experiment, DEF, scenario, evidence, and Memory Bank documents. New run artifacts are stored under DD_FLOW_HOME/projects/<PRJ-ID-slug>/runs/<RUN-ID-slug>/ with run.json, run-index.json and an append-only timeline together. Timeline is the compact full run report: summary is always present, while --hide may suppress bulky sections. The run usage command reconciles registered local Codex transcript counters before reporting; unavailable data is explicit rather than zero.
|
|
149
154
|
|
|
150
155
|
Examples:
|
|
151
156
|
dd-flow run start --project-root "$PWD" --flow-kind mb_sdlc --subject-type protocol --subject-id PRT-001-demo --slug demo --json
|
|
@@ -160,7 +165,7 @@ Examples:
|
|
|
160
165
|
Usage:
|
|
161
166
|
dd-flow id next --type protocol|run --project-root <root> --slug <slug> --json
|
|
162
167
|
|
|
163
|
-
id next is read-only:
|
|
168
|
+
id next is read-only: RUN previews use control-plane runtime records for the selected project, while protocol previews also consider that project's protocol files. Legacy date-based protocol ids such as PRT-2026-05-25-example are historical names and do not participate in typed sequence allocation. The command returns the project-local monotonic max(TYPE-<sequence>)+1 without reusing sequence gaps. It does not reserve the id. Use run start or protocol register to create durable state. PRT and RUN ids are resolved by project plus id; ambiguous context-free protocol lookup fails closed with project candidates.
|
|
164
169
|
|
|
165
170
|
Examples:
|
|
166
171
|
dd-flow id next --type protocol --project-root "$PWD" --slug demo --json
|
|
@@ -172,28 +177,28 @@ Examples:
|
|
|
172
177
|
|
|
173
178
|
Usage:
|
|
174
179
|
dd-flow protocol register <handshake-id> --project-root <root> [--workspace-path <checkout>] --json
|
|
175
|
-
dd-flow protocol status <protocol-id> --json
|
|
176
|
-
dd-flow protocol branch-status <protocol-id> --json
|
|
180
|
+
dd-flow protocol status <protocol-id> [--project-root <root>] --json
|
|
181
|
+
dd-flow protocol branch-status <protocol-id> [--project-root <root>] --json
|
|
177
182
|
dd-flow protocol branch-status --project-root <root> --path <workspace> --json
|
|
178
183
|
dd-flow protocol ready --project-root <root> --json
|
|
179
184
|
dd-flow protocol blockers <protocol-id> --project-root <root> --json
|
|
180
185
|
dd-flow protocol implement <protocol-id> --project-root <root> [--force --reason <text>] --json
|
|
181
|
-
dd-flow protocol transition <protocol-id> --to <stage> --payload-file <file> [--force --reason <text>] --json
|
|
182
|
-
dd-flow protocol sync-from-run <protocol-id> --run <RUN-ID|RUN-
|
|
183
|
-
dd-flow protocol ready-for-merge <protocol-id> --json
|
|
184
|
-
dd-flow protocol cancel <protocol-id> --reason <text> [--close-sessions true|false] [--cancel-queue true|false] [--release-locks true|false] [--worktree keep|remove] [--force] --json
|
|
186
|
+
dd-flow protocol transition <protocol-id> [--project-root <root>] --to <stage> --payload-file <file> [--force --reason <text>] --json
|
|
187
|
+
dd-flow protocol sync-from-run <protocol-id> [--project-root <root>] --run <RUN-ID|RUN-short-id> [--target auto|<stage>] --json
|
|
188
|
+
dd-flow protocol ready-for-merge <protocol-id> [--project-root <root>] --json
|
|
189
|
+
dd-flow protocol cancel <protocol-id> [--project-root <root>] --reason <text> [--close-sessions true|false] [--cancel-queue true|false] [--release-locks true|false] [--worktree keep|remove] [--force] --json
|
|
185
190
|
|
|
186
191
|
ready, blockers and implement read protocol markdown frontmatter plus runtime state. branch-status is read-only and reports the current protocol/workspace branch context: sibling protocols in the same branch/worktree, queue status, active sessions and merge bundle eligibility. implement is a preflight/guidance command: it never performs implementation, refuses unresolved blocked_by_protocols unless --force --reason is supplied, refuses terminal protocols and reports the expected next prompt/stage. transition validates the snapshotted flow contract stored in protocol runtime state, writes an audit event and updates lifecycle fields from the payload. --json-file is accepted as a compatibility alias for --payload-file. sync-from-run repairs legacy protocol/run mismatch from concrete RUN evidence instead of requiring manual runtime JSON edits.
|
|
187
192
|
|
|
188
|
-
The project_root is the stable project identity used for queues, sessions, lanes, and dashboards. Runtime state is stored under DD_FLOW_HOME/projects/<PRJ-ID-slug>/runtime so feature worktree removal does not break status, cancel, or merge finalization. The optional workspace_path records the concrete checkout where the agent works. With --worktree remove, cancel removes the disposable git worktree recorded in runtime state or worktree records; with --force it also force-deletes the local feature branch when present.`
|
|
193
|
+
The project_root is the stable project identity used for queues, sessions, lanes, and dashboards. Runtime state is stored under DD_FLOW_HOME/projects/<PRJ-ID-slug>/runtime so feature worktree removal does not break status, cancel, or merge finalization. The optional workspace_path records the concrete checkout where the agent works. With --worktree remove, cancel removes the disposable git worktree recorded in runtime state or worktree records; with --force it also force-deletes the local feature branch when present. Rootless protocol-id calls remain compatible only when the id is unique across registered projects; duplicate ids fail closed with ambiguous_protocol.`
|
|
189
194
|
],
|
|
190
195
|
[
|
|
191
196
|
"transition",
|
|
192
197
|
`dd-flow transition - compatibility alias for protocol transition
|
|
193
198
|
|
|
194
199
|
Usage:
|
|
195
|
-
dd-flow transition <protocol-id> --to <stage> --payload-file <file> [--force --reason <text>] --json
|
|
196
|
-
dd-flow transition <protocol-id> --to <stage> --json-file <file> [--force --reason <text>] --json
|
|
200
|
+
dd-flow transition <protocol-id> [--project-root <root>] --to <stage> --payload-file <file> [--force --reason <text>] --json
|
|
201
|
+
dd-flow transition <protocol-id> [--project-root <root>] --to <stage> --json-file <file> [--force --reason <text>] --json
|
|
197
202
|
|
|
198
203
|
Prefer dd-flow protocol transition in new prompts and scripts. This top-level alias remains for older canonical prompts and experiments.`
|
|
199
204
|
],
|
|
@@ -205,8 +210,8 @@ Usage:
|
|
|
205
210
|
dd-flow project register --root <root> --json
|
|
206
211
|
dd-flow project status --root <root> --json
|
|
207
212
|
dd-flow project summary --project-root <root> [--write true|false] --json
|
|
208
|
-
dd-flow project resolve <PRJ-ID|PRJ-
|
|
209
|
-
dd-flow project archive <PRJ-ID|PRJ-
|
|
213
|
+
dd-flow project resolve <PRJ-ID|PRJ-short-id> --json
|
|
214
|
+
dd-flow project archive <PRJ-ID|PRJ-short-id> --reason <text> --json
|
|
210
215
|
dd-flow project archive --root <previous-root-path> --reason <text> --json
|
|
211
216
|
dd-flow project migrate-ids --root <root> [--apply] --json
|
|
212
217
|
|
|
@@ -295,6 +300,15 @@ Related lane commands:
|
|
|
295
300
|
dd-flow lane lock wait-acquire --project-root "$PWD" --lane merge --worker-id worker-1 --path "$PWD" --timeout 300 --poll-interval 10 --reason "merge worker" --json
|
|
296
301
|
dd-flow lane lock status --project-root "$PWD" --lane merge --json
|
|
297
302
|
dd-flow lane waiter cancel --project-root "$PWD" --lane merge --worker-id worker-1 --reason "session stopped" --json`
|
|
303
|
+
],
|
|
304
|
+
[
|
|
305
|
+
"prompt",
|
|
306
|
+
`dd-flow prompt - render auditable worker launch prompts
|
|
307
|
+
|
|
308
|
+
Usage:
|
|
309
|
+
dd-flow prompt render --project-root <root> --run <RUN-ID> --stage <stage> (--plan-item <item-id> | --task-file <RUN-local-worker-task.json>) --profile <profile> [--workspace-root <checkout>] --json
|
|
310
|
+
|
|
311
|
+
The renderer accepts only registered profiles: code_implementation, documentation, verification. A legacy plan item or a RUN-local dd-flow/worker-task@1 manifest supplies the task execution context and semantic spine. The renderer verifies the running RUN stage and workspace, then writes launch-prompt.md, prompt-stack.json and render-report.json under the RUN stage subagents directory. Project sources remain path references; unsafe .env paths and paths outside the project are rejected before artifact creation.`
|
|
298
312
|
],
|
|
299
313
|
[
|
|
300
314
|
"merge",
|
|
@@ -329,10 +343,10 @@ Usage:
|
|
|
329
343
|
dd-flow merge-queue status --project-root <root> --json
|
|
330
344
|
dd-flow merge-queue next --project-root <root> --worker-id <id> [--path <workspace>] --json
|
|
331
345
|
dd-flow merge-queue wait-next --project-root <root> --worker-id <id> [--path <workspace>] --timeout <seconds> --poll-interval <seconds> [--acquire-lock true] --json
|
|
332
|
-
dd-flow merge-queue complete <protocol-id> --worker-id <id> [--path <workspace>] --summary <text> --json
|
|
333
|
-
dd-flow merge-queue note <protocol-id> --worker-id <id> --summary <text> --json
|
|
334
|
-
dd-flow merge-queue fail <protocol-id> --worker-id <id> [--path <workspace>] --reason <text> --requeue true|false --json
|
|
335
|
-
dd-flow merge-queue cancel <protocol-id> --reason <text> [--worker-id <id>] [--path <workspace>] [--force] --json
|
|
346
|
+
dd-flow merge-queue complete <protocol-id> [--project-root <root>] --worker-id <id> [--path <workspace>] --summary <text> --json
|
|
347
|
+
dd-flow merge-queue note <protocol-id> [--project-root <root>] --worker-id <id> --summary <text> --json
|
|
348
|
+
dd-flow merge-queue fail <protocol-id> [--project-root <root>] --worker-id <id> [--path <workspace>] --reason <text> --requeue true|false --json
|
|
349
|
+
dd-flow merge-queue cancel <protocol-id> [--project-root <root>] --reason <text> [--worker-id <id>] [--path <workspace>] [--force] --json
|
|
336
350
|
|
|
337
351
|
The worker must own the merge lane from the registered merge workspace before claiming, completing, or failing queued protocols. Outputs use queue_item/protocol/claim as the primary contract and retain job as a compatibility alias. note updates the final completion summary after post-complete cleanup and does not require a lane lock. --path defaults to the current working directory. Use --worker-id as the owner identity.
|
|
338
352
|
|
|
@@ -342,8 +356,8 @@ For branch-level integration prefer:
|
|
|
342
356
|
|
|
343
357
|
Examples:
|
|
344
358
|
dd-flow merge-queue wait-next --project-root "$PWD" --worker-id merge-worker --path "$PWD" --timeout 1200 --poll-interval 10 --acquire-lock true --json
|
|
345
|
-
dd-flow merge-queue complete PRT-123 --worker-id merge-worker --path "$PWD" --summary "merged locally; cleanup follows" --json
|
|
346
|
-
dd-flow merge-queue note PRT-123 --worker-id merge-worker --summary "merged, pushed, checked, and cleanup completed" --json`
|
|
359
|
+
dd-flow merge-queue complete PRT-123 --project-root "$PWD" --worker-id merge-worker --path "$PWD" --summary "merged locally; cleanup follows" --json
|
|
360
|
+
dd-flow merge-queue note PRT-123 --project-root "$PWD" --worker-id merge-worker --summary "merged, pushed, checked, and cleanup completed" --json`
|
|
347
361
|
],
|
|
348
362
|
[
|
|
349
363
|
"cleanup",
|
|
@@ -375,6 +389,7 @@ Usage:
|
|
|
375
389
|
dd-flow session register --payload-file <file> --json
|
|
376
390
|
dd-flow session register --payload-base64 <payload> --json
|
|
377
391
|
dd-flow session status --project-root <root> [--session-id <id>] [--worker-id <id>] --json
|
|
392
|
+
dd-flow session usage sync --project-root <root> --session-id <id> --json
|
|
378
393
|
dd-flow session stop --project-root <root> --session-id <id> --reason <text> --json
|
|
379
394
|
dd-flow session stop-worker --project-root <root> --worker-id <id> --reason <text> --json
|
|
380
395
|
|
|
@@ -450,7 +465,7 @@ Dashboards are rendered views of dd-flow state. Markdown remains the compatibili
|
|
|
450
465
|
Usage:
|
|
451
466
|
dd-flow schema validate --schema <name> --file <json-file> [--project-root <root>] [--schema-dir <dir>] --json
|
|
452
467
|
|
|
453
|
-
Schema names resolve to <name>.schema.json. Lookup order is --schema-dir, then <project-root>/.memory-bank/dd-flow/schemas/, then <project-root>/dd-flow/schemas/ for canonical checkouts, then bundled CLI schemas. If --project-root is omitted, the current working directory is used. JSON mode writes valid results to stdout and structured validation/usage errors to stderr.`
|
|
468
|
+
Schema names resolve to <name>.schema.json. Lookup order is --schema-dir, then <project-root>/.memory-bank/dd-flow/schemas/, then <project-root>/dd-flow/schemas/ for canonical checkouts, then bundled CLI schemas. Flow-contract validation runs structural checks first and the runtime's shared semantic normalizer second. If --project-root is omitted, the current working directory is used. JSON mode writes valid results to stdout and structured validation/usage errors to stderr.`
|
|
454
469
|
],
|
|
455
470
|
[
|
|
456
471
|
"schema validate",
|
|
@@ -464,6 +479,7 @@ Exit codes:
|
|
|
464
479
|
2 usage, unknown schema, invalid JSON, or schema validation failure
|
|
465
480
|
|
|
466
481
|
Examples:
|
|
482
|
+
dd-flow schema validate --schema flow-contract --file .memory-bank/dd-flow/flow-contract.json --project-root "$PWD" --json
|
|
467
483
|
dd-flow schema validate --schema mb-upgrade-review-data --file .tasks/mb-upgrade-review-2026-06-04-hr-agent/review-data.json --project-root "$PWD" --json
|
|
468
484
|
dd-flow schema validate --schema mb-upgrade-review-data --file review-data.json --schema-dir .memory-bank/dd-flow/schemas`
|
|
469
485
|
],
|