@khoavu882/doflow 2.0.0-beta.3 → 2.0.0-beta.5
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/bin/doflow.js +2 -2
- package/core/.antigravity-plugin/plugin.json +0 -1
- package/core/.claude-plugin/plugin.json +1 -1
- package/core/.codex-plugin/plugin.json +1 -1
- package/core/.plugin/plugin.json +1 -1
- package/core/harnesses/claude/hooks/mcp-tool-guard.sh +7 -17
- package/core/harnesses/claude/hooks/pre-bash-guard.sh +7 -17
- package/core/harnesses/claude/hooks/pre-implement-gate.sh +7 -18
- package/core/harnesses/claude/hooks/session-start.sh +5 -3
- package/core/harnesses/claude/hooks/stop-check.sh +5 -3
- package/core/harnesses/claude/hooks/subagent-audit.sh +5 -5
- package/core/harnesses/claude/hooks/user-prompt-submit.sh +5 -3
- package/core/harnesses/codex/hooks/mcp-tool-guard.sh +7 -15
- package/core/harnesses/codex/hooks/pre-bash-guard.sh +7 -15
- package/core/harnesses/codex/hooks/pre-implement-gate.sh +7 -16
- package/core/harnesses/codex/hooks/session-start.sh +5 -3
- package/core/harnesses/codex/hooks/stop-check.sh +6 -5
- package/core/harnesses/codex/hooks/subagent-audit.sh +17 -6
- package/core/harnesses/codex/hooks/user-prompt-submit.sh +5 -4
- package/core/harnesses/gemini/hooks/mcp-tool-guard.sh +7 -18
- package/core/harnesses/gemini/hooks/pre-bash-guard.sh +7 -18
- package/core/harnesses/gemini/hooks/pre-implement-gate.sh +7 -19
- package/core/harnesses/gemini/hooks/session-start.sh +5 -3
- package/core/harnesses/kiro/hooks/mcp-tool-guard.sh +20 -5
- package/core/harnesses/kiro/hooks/pre-bash-guard.sh +20 -5
- package/core/harnesses/kiro/hooks/pre-implement-gate.sh +20 -5
- package/core/harnesses/kiro/hooks/session-start.sh +11 -5
- package/core/harnesses/kiro/hooks/stop-check.sh +21 -30
- package/core/harnesses/pi/extensions/doflow-guard.js +159 -0
- package/core/harnesses/shared/hooks/ENVELOPE_MIGRATION.md +27 -11
- package/core/harnesses/shared/hooks/adapters/antigravity.js +14 -57
- package/core/harnesses/shared/hooks/bridge/bridge.sh +184 -0
- package/core/harnesses/shared/hooks/bridge/envelope.jq +60 -0
- package/core/harnesses/shared/hooks/bridge/respond.sh +62 -0
- package/core/harnesses/shared/hooks/policies/capture-failure.sh +4 -2
- package/core/harnesses/shared/hooks/policies/contract.sh +75 -0
- package/core/harnesses/shared/hooks/policies/deny-json.sh +39 -4
- package/core/harnesses/shared/hooks/policies/lib.sh +4 -2
- package/core/harnesses/shared/hooks/policies/mcp-tool-guard.sh +46 -34
- package/core/harnesses/shared/hooks/policies/pre-bash-guard.sh +75 -25
- package/core/harnesses/shared/hooks/policies/pre-implementation-gate.sh +67 -73
- package/core/harnesses/shared/hooks/policies/session-context.sh +37 -7
- package/core/harnesses/shared/hooks/policies/stop-check.sh +42 -15
- package/core/harnesses/shared/hooks/policies/subagent-audit.sh +35 -5
- package/core/harnesses/shared/hooks/policies/user-prompt-submit.sh +40 -7
- package/core/harnesses/shared/hooks/stream-hook-runner.js +69 -181
- package/core/registry/assets.json +19 -0
- package/core/registry/contracts.json +2 -2
- package/core/registry/harnesses.json +196 -10
- package/core/registry/lifecycle.json +2626 -7
- package/core/registry/storage.json +110 -83
- package/core/registry/verification.json +1 -1
- package/core/shared/scripts/doflow/bash/render-puml.sh +2 -2
- package/core/shared/scripts/doflow/bin/doflow-run +10 -6
- package/core/shared/skills/do-design/SKILL.md +6 -6
- package/core/shared/skills/do-execute-plan/SKILL.md +11 -10
- package/core/shared/skills/do-execute-plan/references/readiness_gate.md +2 -0
- package/core/shared/skills/do-execute-plan/references/scaffold.md +2 -2
- package/core/shared/skills/do-implement/SKILL.md +3 -2
- package/core/shared/skills/do-plan/SKILL.md +7 -8
- package/package.json +4 -2
- package/src/adapters/antigravity/{index.ts → index.js} +141 -105
- package/src/adapters/claude/{index.ts → index.js} +63 -49
- package/src/adapters/claude/{mcp.ts → mcp.js} +16 -16
- package/src/adapters/codex/{agents.ts → agents.js} +24 -24
- package/src/adapters/codex/{config.ts → config.js} +49 -49
- package/src/adapters/codex/{hooks.ts → hooks.js} +62 -27
- package/src/adapters/codex/{index.ts → index.js} +148 -105
- package/src/adapters/codex/{mcp.ts → mcp.js} +38 -38
- package/src/adapters/codex/{native-projection.ts → native-projection.js} +5 -5
- package/src/adapters/copilot/{index.ts → index.js} +42 -42
- package/src/adapters/{copy-tree.ts → copy-tree.js} +74 -74
- package/src/adapters/gemini/{hooks.ts → hooks.js} +78 -37
- package/src/adapters/gemini/{index.ts → index.js} +96 -57
- package/src/adapters/{hook-commands.ts → hook-commands.js} +8 -8
- package/src/adapters/{index.ts → index.js} +13 -13
- package/src/adapters/kiro/{index.ts → index.js} +49 -35
- package/src/adapters/{mcp-entries.ts → mcp-entries.js} +55 -55
- package/src/adapters/opencode/{index.ts → index.js} +52 -52
- package/src/adapters/pi/hooks.js +119 -0
- package/src/adapters/pi/{index.ts → index.js} +64 -39
- package/src/adapters/pi/{json-members.ts → json-members.js} +23 -23
- package/src/adapters/pi/{mcp.ts → mcp.js} +70 -70
- package/src/adapters/{resolve-source.ts → resolve-source.js} +1 -1
- package/src/cli/commands/{install.ts → install.js} +25 -25
- package/src/cli/commands/{list-backups.ts → list-backups.js} +4 -4
- package/src/cli/commands/{reconcile.ts → reconcile.js} +19 -19
- package/src/cli/commands/{remove.ts → remove.js} +10 -10
- package/src/cli/commands/{rollback.ts → rollback.js} +17 -17
- package/src/cli/commands/{self-update.ts → self-update.js} +3 -3
- package/src/cli/commands/{status.ts → status.js} +24 -24
- package/src/cli/commands/{tools.ts → tools.js} +16 -16
- package/src/cli/commands/{update.ts → update.js} +20 -20
- package/src/cli/{index.ts → index.js} +43 -31
- package/src/cli/{runtime-commands.ts → runtime-commands.js} +97 -58
- package/src/cli/{shared.ts → shared.js} +40 -40
- package/src/helper/{bash-helper.ts → bash-helper.js} +7 -7
- package/src/helper/{git.ts → git.js} +2 -2
- package/src/helper/{guardrails.ts → guardrails.js} +10 -10
- package/src/helper/{harness-paths.ts → harness-paths.js} +24 -24
- package/src/helper/{marker-merge.ts → marker-merge.js} +4 -4
- package/src/helper/{prompt.ts → prompt.js} +5 -5
- package/src/helper/{repo-root.ts → repo-root.js} +2 -2
- package/src/helper/{settings-merge.ts → settings-merge.js} +27 -27
- package/src/helper/{settings-scope.ts → settings-scope.js} +3 -3
- package/src/helper/{toml.ts → toml.js} +48 -48
- package/src/install/{backup-set.ts → backup-set.js} +16 -16
- package/src/install/{backup.ts → backup.js} +65 -65
- package/src/install/{context.ts → context.js} +15 -15
- package/src/install/{manifest.ts → manifest.js} +27 -27
- package/src/install/{mcp.ts → mcp.js} +30 -30
- package/src/install/{paths.ts → paths.js} +15 -15
- package/src/install/{targets.ts → targets.js} +10 -10
- package/src/install/{tool-lifecycle.ts → tool-lifecycle.js} +20 -20
- package/src/lifecycle/{bash-availability.ts → bash-availability.js} +1 -1
- package/src/lifecycle/coverage.js +57 -0
- package/src/lifecycle/hook-step.js +61 -0
- package/src/lifecycle/{index.ts → index.js} +160 -146
- package/src/lifecycle/{mcp-index.ts → mcp-index.js} +1 -1
- package/src/lifecycle/{policies.ts → policies.js} +11 -11
- package/src/lifecycle/{view.ts → view.js} +28 -28
- package/src/registry/{index.ts → index.js} +195 -66
- package/src/release/build-package.js +91 -0
- package/src/release/changelog-section.js +70 -0
- package/src/release/{sync-plugin-versions.ts → sync-plugin-versions.js} +4 -4
- package/src/runtime/advice/{cli.ts → cli.js} +31 -31
- package/src/runtime/advice/{client.ts → client.js} +44 -44
- package/src/runtime/advice/{config.ts → config.js} +16 -16
- package/src/runtime/advice/{doctor.ts → doctor.js} +32 -32
- package/src/runtime/advice/{endpoint-guard.ts → endpoint-guard.js} +20 -20
- package/src/runtime/advice/{kinds.ts → kinds.js} +16 -16
- package/src/runtime/advice/providers/{ollama-systemone.ts → ollama-systemone.js} +21 -21
- package/src/runtime/advice/{record.ts → record.js} +19 -19
- package/src/runtime/advice/{registry.ts → registry.js} +16 -16
- package/src/runtime/advice/{strength.ts → strength.js} +7 -7
- package/src/runtime/{brief-tools.ts → brief-tools.js} +50 -50
- package/src/runtime/{c4-project.ts → c4-project.js} +27 -27
- package/src/runtime/candidate.js +505 -0
- package/src/runtime/{capability-router.ts → capability-router.js} +39 -39
- package/src/runtime/{checkouts.ts → checkouts.js} +21 -21
- package/src/runtime/{claims.ts → claims.js} +44 -35
- package/src/runtime/{cli-result.ts → cli-result.js} +15 -8
- package/src/runtime/{cli.ts → cli.js} +59 -292
- package/src/runtime/{command-detect.ts → command-detect.js} +47 -47
- package/src/runtime/context/budget.js +203 -0
- package/src/runtime/context/compose.js +1367 -0
- package/src/runtime/context/delivery-store.js +102 -0
- package/src/runtime/context/mandatory.js +594 -0
- package/src/runtime/context/pointer.js +142 -0
- package/src/runtime/context-pack.js +1277 -0
- package/src/runtime/{decision-register.ts → decision-register.js} +67 -67
- package/src/runtime/evidence-fields.js +39 -0
- package/src/runtime/{evidence-ledger.ts → evidence-ledger.js} +32 -25
- package/src/runtime/failure/{capture.ts → capture.js} +29 -29
- package/src/runtime/failure/{classifier.ts → classifier.js} +4 -4
- package/src/runtime/failure/{cli.ts → cli.js} +30 -30
- package/src/runtime/failure/{home.ts → home.js} +6 -6
- package/src/runtime/failure/{store.ts → store.js} +32 -32
- package/src/runtime/{feature-resolve.ts → feature-resolve.js} +6 -6
- package/src/runtime/{freshness.ts → freshness.js} +59 -22
- package/src/runtime/{health.ts → health.js} +72 -72
- package/src/runtime/{history-compactor.ts → history-compactor.js} +25 -25
- package/src/runtime/{implementation-gate.ts → implementation-gate.js} +30 -30
- package/src/runtime/inventory/{coverage.ts → coverage.js} +10 -10
- package/src/runtime/inventory/{identity.ts → identity.js} +2 -2
- package/src/runtime/inventory/{index.ts → index.js} +36 -36
- package/src/runtime/inventory/{precedence.ts → precedence.js} +2 -2
- package/src/runtime/inventory/{read-scopes.ts → read-scopes.js} +9 -9
- package/src/runtime/inventory/{siblings.ts → siblings.js} +15 -15
- package/src/runtime/knowledge/{chunker.ts → chunker.js} +12 -12
- package/src/runtime/knowledge/{hybrid.ts → hybrid.js} +17 -17
- package/src/runtime/knowledge/{index-store.ts → index-store.js} +23 -23
- package/src/runtime/knowledge/{retrieval.ts → retrieval.js} +27 -27
- package/src/runtime/{leak-scan.ts → leak-scan.js} +12 -12
- package/src/runtime/lifecycle/{cli.ts → cli.js} +32 -32
- package/src/runtime/lifecycle/{event-store.ts → event-store.js} +48 -48
- package/src/runtime/lifecycle/{fold.ts → fold.js} +41 -41
- package/src/runtime/lifecycle/{followup.ts → followup.js} +54 -54
- package/src/runtime/lifecycle/{goal.ts → goal.js} +50 -50
- package/src/runtime/lifecycle/{intent-writer.ts → intent-writer.js} +5 -5
- package/src/runtime/lifecycle/{overview.ts → overview.js} +47 -47
- package/src/runtime/lifecycle/{release.ts → release.js} +29 -29
- package/src/runtime/lifecycle/{report-store.ts → report-store.js} +25 -25
- package/src/runtime/lifecycle/{retention.ts → retention.js} +37 -37
- package/src/runtime/lifecycle/{root.ts → root.js} +9 -9
- package/src/runtime/lifecycle/{status.ts → status.js} +64 -64
- package/src/runtime/lifecycle/{store-upkeep.ts → store-upkeep.js} +46 -46
- package/src/runtime/{locator-resolve.ts → locator-resolve.js} +7 -7
- package/src/runtime/{mask.ts → mask.js} +22 -22
- package/src/runtime/{mcp-consultations.ts → mcp-consultations.js} +54 -54
- package/src/runtime/{mcp-reach.ts → mcp-reach.js} +24 -24
- package/src/runtime/{model-router.ts → model-router.js} +20 -20
- package/src/runtime/{outcome.ts → outcome.js} +27 -27
- package/src/runtime/{reach.ts → reach.js} +21 -21
- package/src/runtime/{readiness-record.ts → readiness-record.js} +12 -12
- package/src/runtime/{readiness.ts → readiness.js} +113 -43
- package/src/runtime/{recovery.ts → recovery.js} +15 -15
- package/src/runtime/{research-request.ts → research-request.js} +34 -34
- package/src/runtime/{retrieval-plan.ts → retrieval-plan.js} +453 -104
- package/src/runtime/retrieval-record.js +223 -0
- package/src/runtime/scaffold/{artifacts.ts → artifacts.js} +22 -19
- package/src/runtime/scaffold/{fingerprint.ts → fingerprint.js} +3 -3
- package/src/runtime/scaffold/{generate.ts → generate.js} +109 -109
- package/src/runtime/scaffold/{languages.ts → languages.js} +34 -34
- package/src/runtime/source-version.js +289 -0
- package/src/runtime/storage/{cli.ts → cli.js} +9 -9
- package/src/runtime/storage/{engine.ts → engine.js} +37 -37
- package/src/runtime/storage/{registry.ts → registry.js} +19 -19
- package/src/runtime/storage/{roots.ts → roots.js} +8 -8
- package/src/runtime/storage/{rules.ts → rules.js} +26 -26
- package/src/runtime/storage/{upkeep.ts → upkeep.js} +35 -35
- package/src/runtime/storage/{work-status.ts → work-status.js} +39 -39
- package/src/runtime/{task-attempts.ts → task-attempts.js} +62 -62
- package/src/runtime/{task-classifier.ts → task-classifier.js} +34 -34
- package/src/runtime/{task-scope.ts → task-scope.js} +40 -15
- package/src/runtime/{task-state.ts → task-state.js} +86 -21
- package/src/runtime/trace/{indicators.ts → indicators.js} +22 -22
- package/src/runtime/trace/{ledger.ts → ledger.js} +42 -42
- package/src/runtime/trace/{render.ts → render.js} +7 -7
- package/src/runtime/trace/{views.ts → views.js} +40 -40
- package/src/runtime/verification/{contract-runner.ts → contract-runner.js} +23 -23
- package/src/runtime/verification/{engine.ts → engine.js} +143 -143
- package/src/runtime/verification/{registry.ts → registry.js} +6 -6
- package/src/runtime/verification/{scope-bound.ts → scope-bound.js} +50 -50
- package/src/runtime/verification/{test-selection.ts → test-selection.js} +28 -28
- package/src/runtime/{workflow-engine.ts → workflow-engine.js} +50 -50
- package/src/runtime/{workflow-orchestrator.ts → workflow-orchestrator.js} +91 -91
- package/src/runtime/{worktree.ts → worktree.js} +31 -31
- package/src/state/{index.ts → index.js} +26 -26
- package/src/state/{lockfile.ts → lockfile.js} +20 -20
- package/src/state/{run-lock.ts → run-lock.js} +44 -44
- package/core/.antigravity-plugin/hooks.json +0 -39
- package/core/harnesses/shared/hooks/adapters/arg-fields.js +0 -19
- package/core/harnesses/shared/hooks/adapters/gemini.js +0 -114
- package/core/harnesses/shared/hooks/hooks.json +0 -47
- package/src/runtime/context-pack.ts +0 -492
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"verb"
|
|
72
72
|
],
|
|
73
73
|
"writers": [
|
|
74
|
-
"src/runtime/verification/contract-runner.
|
|
74
|
+
"src/runtime/verification/contract-runner.js"
|
|
75
75
|
]
|
|
76
76
|
},
|
|
77
77
|
{
|
|
@@ -89,7 +89,25 @@
|
|
|
89
89
|
"verb"
|
|
90
90
|
],
|
|
91
91
|
"writers": [
|
|
92
|
-
"src/runtime/task-state.
|
|
92
|
+
"src/runtime/task-state.js"
|
|
93
|
+
]
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"id": "task-delivery",
|
|
97
|
+
"root": "project-state",
|
|
98
|
+
"path": "delivery",
|
|
99
|
+
"entry": "record",
|
|
100
|
+
"match": "^[A-Za-z0-9][A-Za-z0-9._-]*\\.json$",
|
|
101
|
+
"rule": "work",
|
|
102
|
+
"bound": {
|
|
103
|
+
"finishedDays": 30
|
|
104
|
+
},
|
|
105
|
+
"protect": null,
|
|
106
|
+
"moments": [
|
|
107
|
+
"verb"
|
|
108
|
+
],
|
|
109
|
+
"writers": [
|
|
110
|
+
"src/runtime/task-state.js"
|
|
93
111
|
]
|
|
94
112
|
},
|
|
95
113
|
{
|
|
@@ -107,8 +125,8 @@
|
|
|
107
125
|
"verb"
|
|
108
126
|
],
|
|
109
127
|
"writers": [
|
|
110
|
-
"src/runtime/readiness-record.
|
|
111
|
-
"src/runtime/task-state.
|
|
128
|
+
"src/runtime/readiness-record.js",
|
|
129
|
+
"src/runtime/task-state.js"
|
|
112
130
|
]
|
|
113
131
|
},
|
|
114
132
|
{
|
|
@@ -126,7 +144,7 @@
|
|
|
126
144
|
"verb"
|
|
127
145
|
],
|
|
128
146
|
"writers": [
|
|
129
|
-
"src/runtime/task-state.
|
|
147
|
+
"src/runtime/task-state.js"
|
|
130
148
|
]
|
|
131
149
|
},
|
|
132
150
|
{
|
|
@@ -144,7 +162,7 @@
|
|
|
144
162
|
"verb"
|
|
145
163
|
],
|
|
146
164
|
"writers": [
|
|
147
|
-
"src/runtime/outcome.
|
|
165
|
+
"src/runtime/outcome.js"
|
|
148
166
|
]
|
|
149
167
|
},
|
|
150
168
|
{
|
|
@@ -162,7 +180,8 @@
|
|
|
162
180
|
"verb"
|
|
163
181
|
],
|
|
164
182
|
"writers": [
|
|
165
|
-
"src/runtime/
|
|
183
|
+
"src/runtime/task-state.js",
|
|
184
|
+
"src/runtime/retrieval-record.js"
|
|
166
185
|
]
|
|
167
186
|
},
|
|
168
187
|
{
|
|
@@ -180,7 +199,7 @@
|
|
|
180
199
|
"verb"
|
|
181
200
|
],
|
|
182
201
|
"writers": [
|
|
183
|
-
"src/runtime/task-state.
|
|
202
|
+
"src/runtime/task-state.js"
|
|
184
203
|
]
|
|
185
204
|
},
|
|
186
205
|
{
|
|
@@ -198,8 +217,8 @@
|
|
|
198
217
|
"verb"
|
|
199
218
|
],
|
|
200
219
|
"writers": [
|
|
201
|
-
"src/runtime/task-state.
|
|
202
|
-
"src/runtime/workflow-orchestrator.
|
|
220
|
+
"src/runtime/task-state.js",
|
|
221
|
+
"src/runtime/workflow-orchestrator.js"
|
|
203
222
|
]
|
|
204
223
|
},
|
|
205
224
|
{
|
|
@@ -218,7 +237,7 @@
|
|
|
218
237
|
],
|
|
219
238
|
"writers": [
|
|
220
239
|
"core/shared/scripts/doflow/bin/doflow-run",
|
|
221
|
-
"src/runtime/trace/ledger.
|
|
240
|
+
"src/runtime/trace/ledger.js"
|
|
222
241
|
]
|
|
223
242
|
},
|
|
224
243
|
{
|
|
@@ -237,7 +256,7 @@
|
|
|
237
256
|
],
|
|
238
257
|
"writers": [
|
|
239
258
|
"core/shared/scripts/doflow/bin/doflow-run",
|
|
240
|
-
"src/runtime/trace/ledger.
|
|
259
|
+
"src/runtime/trace/ledger.js"
|
|
241
260
|
]
|
|
242
261
|
},
|
|
243
262
|
{
|
|
@@ -255,7 +274,7 @@
|
|
|
255
274
|
"verb"
|
|
256
275
|
],
|
|
257
276
|
"writers": [
|
|
258
|
-
"src/runtime/advice/record.
|
|
277
|
+
"src/runtime/advice/record.js"
|
|
259
278
|
]
|
|
260
279
|
},
|
|
261
280
|
{
|
|
@@ -273,7 +292,7 @@
|
|
|
273
292
|
"verb"
|
|
274
293
|
],
|
|
275
294
|
"writers": [
|
|
276
|
-
"src/runtime/advice/record.
|
|
295
|
+
"src/runtime/advice/record.js"
|
|
277
296
|
]
|
|
278
297
|
},
|
|
279
298
|
{
|
|
@@ -291,7 +310,7 @@
|
|
|
291
310
|
"install"
|
|
292
311
|
],
|
|
293
312
|
"writers": [
|
|
294
|
-
"src/state/index.
|
|
313
|
+
"src/state/index.js"
|
|
295
314
|
]
|
|
296
315
|
},
|
|
297
316
|
{
|
|
@@ -309,7 +328,7 @@
|
|
|
309
328
|
"install"
|
|
310
329
|
],
|
|
311
330
|
"writers": [
|
|
312
|
-
"src/state/index.
|
|
331
|
+
"src/state/index.js"
|
|
313
332
|
]
|
|
314
333
|
},
|
|
315
334
|
{
|
|
@@ -328,7 +347,7 @@
|
|
|
328
347
|
"verb"
|
|
329
348
|
],
|
|
330
349
|
"writers": [
|
|
331
|
-
"src/runtime/lifecycle/event-store.
|
|
350
|
+
"src/runtime/lifecycle/event-store.js"
|
|
332
351
|
]
|
|
333
352
|
},
|
|
334
353
|
{
|
|
@@ -347,8 +366,8 @@
|
|
|
347
366
|
"verb"
|
|
348
367
|
],
|
|
349
368
|
"writers": [
|
|
350
|
-
"src/runtime/lifecycle/report-store.
|
|
351
|
-
"src/runtime/storage/engine.
|
|
369
|
+
"src/runtime/lifecycle/report-store.js",
|
|
370
|
+
"src/runtime/storage/engine.js"
|
|
352
371
|
]
|
|
353
372
|
},
|
|
354
373
|
{
|
|
@@ -427,10 +446,10 @@
|
|
|
427
446
|
"protect": null,
|
|
428
447
|
"moments": [],
|
|
429
448
|
"writers": [
|
|
430
|
-
"src/install/backup.
|
|
449
|
+
"src/install/backup.js"
|
|
431
450
|
],
|
|
432
451
|
"source": {
|
|
433
|
-
"file": "src/install/backup.
|
|
452
|
+
"file": "src/install/backup.js",
|
|
434
453
|
"pattern": "DEFAULT_BACKUP_RETENTION = {value}"
|
|
435
454
|
}
|
|
436
455
|
},
|
|
@@ -448,10 +467,10 @@
|
|
|
448
467
|
"protect": null,
|
|
449
468
|
"moments": [],
|
|
450
469
|
"writers": [
|
|
451
|
-
"src/install/backup.
|
|
470
|
+
"src/install/backup.js"
|
|
452
471
|
],
|
|
453
472
|
"source": {
|
|
454
|
-
"file": "src/install/backup.
|
|
473
|
+
"file": "src/install/backup.js",
|
|
455
474
|
"pattern": "DEFAULT_BACKUP_RETENTION = {value}"
|
|
456
475
|
}
|
|
457
476
|
},
|
|
@@ -522,12 +541,12 @@
|
|
|
522
541
|
"core/harnesses/shared/hooks/policies/capture-failure.sh",
|
|
523
542
|
"core/harnesses/shared/hooks/stream-hook-runner.js",
|
|
524
543
|
"core/shared/scripts/doflow/bin/doflow-run",
|
|
525
|
-
"src/runtime/failure/capture.
|
|
526
|
-
"src/runtime/failure/cli.
|
|
527
|
-
"src/runtime/failure/store.
|
|
544
|
+
"src/runtime/failure/capture.js",
|
|
545
|
+
"src/runtime/failure/cli.js",
|
|
546
|
+
"src/runtime/failure/store.js"
|
|
528
547
|
],
|
|
529
548
|
"source": {
|
|
530
|
-
"file": "src/runtime/failure/capture.
|
|
549
|
+
"file": "src/runtime/failure/capture.js",
|
|
531
550
|
"pattern": "KEEP_ROTATED = {value}"
|
|
532
551
|
}
|
|
533
552
|
},
|
|
@@ -544,10 +563,10 @@
|
|
|
544
563
|
"protect": null,
|
|
545
564
|
"moments": [],
|
|
546
565
|
"writers": [
|
|
547
|
-
"src/state/index.
|
|
566
|
+
"src/state/index.js"
|
|
548
567
|
],
|
|
549
568
|
"source": {
|
|
550
|
-
"file": "src/state/index.
|
|
569
|
+
"file": "src/state/index.js",
|
|
551
570
|
"pattern": "LEDGER_FILE"
|
|
552
571
|
}
|
|
553
572
|
},
|
|
@@ -564,10 +583,10 @@
|
|
|
564
583
|
"protect": null,
|
|
565
584
|
"moments": [],
|
|
566
585
|
"writers": [
|
|
567
|
-
"src/state/index.
|
|
586
|
+
"src/state/index.js"
|
|
568
587
|
],
|
|
569
588
|
"source": {
|
|
570
|
-
"file": "src/state/index.
|
|
589
|
+
"file": "src/state/index.js",
|
|
571
590
|
"pattern": "LEDGER_FILE"
|
|
572
591
|
}
|
|
573
592
|
},
|
|
@@ -584,10 +603,10 @@
|
|
|
584
603
|
"protect": null,
|
|
585
604
|
"moments": [],
|
|
586
605
|
"writers": [
|
|
587
|
-
"src/runtime/lifecycle/store-upkeep.
|
|
606
|
+
"src/runtime/lifecycle/store-upkeep.js"
|
|
588
607
|
],
|
|
589
608
|
"source": {
|
|
590
|
-
"file": "src/runtime/lifecycle/store-upkeep.
|
|
609
|
+
"file": "src/runtime/lifecycle/store-upkeep.js",
|
|
591
610
|
"pattern": "MIGRATING_PREFIX"
|
|
592
611
|
}
|
|
593
612
|
},
|
|
@@ -605,11 +624,11 @@
|
|
|
605
624
|
"protect": null,
|
|
606
625
|
"moments": [],
|
|
607
626
|
"writers": [
|
|
608
|
-
"src/runtime/storage/engine.
|
|
609
|
-
"src/runtime/task-state.
|
|
627
|
+
"src/runtime/storage/engine.js",
|
|
628
|
+
"src/runtime/task-state.js"
|
|
610
629
|
],
|
|
611
630
|
"source": {
|
|
612
|
-
"file": "src/runtime/task-state.
|
|
631
|
+
"file": "src/runtime/task-state.js",
|
|
613
632
|
"pattern": "LOCK_STALE_MS = 10_000"
|
|
614
633
|
}
|
|
615
634
|
},
|
|
@@ -626,14 +645,14 @@
|
|
|
626
645
|
"protect": null,
|
|
627
646
|
"moments": [],
|
|
628
647
|
"writers": [
|
|
629
|
-
"src/adapters/antigravity/index.
|
|
630
|
-
"src/adapters/copy-tree.
|
|
631
|
-
"src/install/manifest.
|
|
632
|
-
"src/lifecycle/index.
|
|
633
|
-
"src/state/index.
|
|
648
|
+
"src/adapters/antigravity/index.js",
|
|
649
|
+
"src/adapters/copy-tree.js",
|
|
650
|
+
"src/install/manifest.js",
|
|
651
|
+
"src/lifecycle/index.js",
|
|
652
|
+
"src/state/index.js"
|
|
634
653
|
],
|
|
635
654
|
"source": {
|
|
636
|
-
"file": "src/lifecycle/index.
|
|
655
|
+
"file": "src/lifecycle/index.js",
|
|
637
656
|
"pattern": "MCP_INDEX.md"
|
|
638
657
|
}
|
|
639
658
|
},
|
|
@@ -650,14 +669,14 @@
|
|
|
650
669
|
"protect": null,
|
|
651
670
|
"moments": [],
|
|
652
671
|
"writers": [
|
|
653
|
-
"src/adapters/antigravity/index.
|
|
654
|
-
"src/adapters/copy-tree.
|
|
655
|
-
"src/install/manifest.
|
|
656
|
-
"src/lifecycle/index.
|
|
657
|
-
"src/state/index.
|
|
672
|
+
"src/adapters/antigravity/index.js",
|
|
673
|
+
"src/adapters/copy-tree.js",
|
|
674
|
+
"src/install/manifest.js",
|
|
675
|
+
"src/lifecycle/index.js",
|
|
676
|
+
"src/state/index.js"
|
|
658
677
|
],
|
|
659
678
|
"source": {
|
|
660
|
-
"file": "src/lifecycle/index.
|
|
679
|
+
"file": "src/lifecycle/index.js",
|
|
661
680
|
"pattern": "MCP_INDEX.md"
|
|
662
681
|
}
|
|
663
682
|
},
|
|
@@ -674,10 +693,10 @@
|
|
|
674
693
|
"protect": null,
|
|
675
694
|
"moments": [],
|
|
676
695
|
"writers": [
|
|
677
|
-
"src/runtime/knowledge/index-store.
|
|
696
|
+
"src/runtime/knowledge/index-store.js"
|
|
678
697
|
],
|
|
679
698
|
"source": {
|
|
680
|
-
"file": "src/runtime/knowledge/index-store.
|
|
699
|
+
"file": "src/runtime/knowledge/index-store.js",
|
|
681
700
|
"pattern": "sha256"
|
|
682
701
|
}
|
|
683
702
|
},
|
|
@@ -694,10 +713,10 @@
|
|
|
694
713
|
"protect": null,
|
|
695
714
|
"moments": [],
|
|
696
715
|
"writers": [
|
|
697
|
-
"src/runtime/knowledge/index-store.
|
|
716
|
+
"src/runtime/knowledge/index-store.js"
|
|
698
717
|
],
|
|
699
718
|
"source": {
|
|
700
|
-
"file": "src/runtime/knowledge/index-store.
|
|
719
|
+
"file": "src/runtime/knowledge/index-store.js",
|
|
701
720
|
"pattern": "sha256"
|
|
702
721
|
}
|
|
703
722
|
},
|
|
@@ -714,10 +733,10 @@
|
|
|
714
733
|
"protect": null,
|
|
715
734
|
"moments": [],
|
|
716
735
|
"writers": [
|
|
717
|
-
"src/runtime/worktree.
|
|
736
|
+
"src/runtime/worktree.js"
|
|
718
737
|
],
|
|
719
738
|
"source": {
|
|
720
|
-
"file": "src/runtime/worktree.
|
|
739
|
+
"file": "src/runtime/worktree.js",
|
|
721
740
|
"pattern": "worktree"
|
|
722
741
|
}
|
|
723
742
|
},
|
|
@@ -734,7 +753,7 @@
|
|
|
734
753
|
"protect": null,
|
|
735
754
|
"moments": [],
|
|
736
755
|
"writers": [
|
|
737
|
-
"src/runtime/advice/config.
|
|
756
|
+
"src/runtime/advice/config.js"
|
|
738
757
|
],
|
|
739
758
|
"source": {
|
|
740
759
|
"file": "core/harnesses/shared/hooks/policies/lib.sh",
|
|
@@ -754,7 +773,7 @@
|
|
|
754
773
|
"protect": null,
|
|
755
774
|
"moments": [],
|
|
756
775
|
"writers": [
|
|
757
|
-
"src/runtime/advice/config.
|
|
776
|
+
"src/runtime/advice/config.js"
|
|
758
777
|
],
|
|
759
778
|
"source": {
|
|
760
779
|
"file": "core/harnesses/shared/hooks/policies/lib.sh",
|
|
@@ -776,7 +795,7 @@
|
|
|
776
795
|
"uninstall"
|
|
777
796
|
],
|
|
778
797
|
"writers": [
|
|
779
|
-
"src/runtime/storage/upkeep.
|
|
798
|
+
"src/runtime/storage/upkeep.js"
|
|
780
799
|
]
|
|
781
800
|
},
|
|
782
801
|
{
|
|
@@ -794,7 +813,7 @@
|
|
|
794
813
|
"uninstall"
|
|
795
814
|
],
|
|
796
815
|
"writers": [
|
|
797
|
-
"src/runtime/storage/upkeep.
|
|
816
|
+
"src/runtime/storage/upkeep.js"
|
|
798
817
|
]
|
|
799
818
|
},
|
|
800
819
|
{
|
|
@@ -812,7 +831,7 @@
|
|
|
812
831
|
"uninstall"
|
|
813
832
|
],
|
|
814
833
|
"writers": [
|
|
815
|
-
"src/runtime/storage/upkeep.
|
|
834
|
+
"src/runtime/storage/upkeep.js"
|
|
816
835
|
]
|
|
817
836
|
},
|
|
818
837
|
{
|
|
@@ -830,7 +849,7 @@
|
|
|
830
849
|
"uninstall"
|
|
831
850
|
],
|
|
832
851
|
"writers": [
|
|
833
|
-
"src/runtime/storage/upkeep.
|
|
852
|
+
"src/runtime/storage/upkeep.js"
|
|
834
853
|
]
|
|
835
854
|
},
|
|
836
855
|
{
|
|
@@ -848,7 +867,7 @@
|
|
|
848
867
|
"uninstall"
|
|
849
868
|
],
|
|
850
869
|
"writers": [
|
|
851
|
-
"src/runtime/storage/upkeep.
|
|
870
|
+
"src/runtime/storage/upkeep.js"
|
|
852
871
|
]
|
|
853
872
|
},
|
|
854
873
|
{
|
|
@@ -866,7 +885,7 @@
|
|
|
866
885
|
"uninstall"
|
|
867
886
|
],
|
|
868
887
|
"writers": [
|
|
869
|
-
"src/runtime/storage/upkeep.
|
|
888
|
+
"src/runtime/storage/upkeep.js"
|
|
870
889
|
]
|
|
871
890
|
},
|
|
872
891
|
{
|
|
@@ -884,7 +903,7 @@
|
|
|
884
903
|
"uninstall"
|
|
885
904
|
],
|
|
886
905
|
"writers": [
|
|
887
|
-
"src/runtime/storage/upkeep.
|
|
906
|
+
"src/runtime/storage/upkeep.js"
|
|
888
907
|
]
|
|
889
908
|
},
|
|
890
909
|
{
|
|
@@ -902,7 +921,7 @@
|
|
|
902
921
|
"uninstall"
|
|
903
922
|
],
|
|
904
923
|
"writers": [
|
|
905
|
-
"src/runtime/storage/upkeep.
|
|
924
|
+
"src/runtime/storage/upkeep.js"
|
|
906
925
|
]
|
|
907
926
|
},
|
|
908
927
|
{
|
|
@@ -920,7 +939,7 @@
|
|
|
920
939
|
"uninstall"
|
|
921
940
|
],
|
|
922
941
|
"writers": [
|
|
923
|
-
"src/runtime/storage/upkeep.
|
|
942
|
+
"src/runtime/storage/upkeep.js"
|
|
924
943
|
]
|
|
925
944
|
},
|
|
926
945
|
{
|
|
@@ -938,7 +957,7 @@
|
|
|
938
957
|
"uninstall"
|
|
939
958
|
],
|
|
940
959
|
"writers": [
|
|
941
|
-
"src/state/run-lock.
|
|
960
|
+
"src/state/run-lock.js"
|
|
942
961
|
]
|
|
943
962
|
},
|
|
944
963
|
{
|
|
@@ -956,7 +975,7 @@
|
|
|
956
975
|
"uninstall"
|
|
957
976
|
],
|
|
958
977
|
"writers": [
|
|
959
|
-
"src/state/run-lock.
|
|
978
|
+
"src/state/run-lock.js"
|
|
960
979
|
]
|
|
961
980
|
}
|
|
962
981
|
],
|
|
@@ -990,67 +1009,75 @@
|
|
|
990
1009
|
"reason": "agent context file (AGENTS.md or CLAUDE.md) managed block, owned by the install ledger"
|
|
991
1010
|
},
|
|
992
1011
|
{
|
|
993
|
-
"file": "
|
|
1012
|
+
"file": "core/harnesses/shared/hooks/bridge/bridge.sh",
|
|
1013
|
+
"reason": "caller-named trace file, appended only when the caller sets DOFLOW_BRIDGE_TRACE"
|
|
1014
|
+
},
|
|
1015
|
+
{
|
|
1016
|
+
"file": "src/adapters/claude/index.js",
|
|
994
1017
|
"reason": "harness configuration/projection owned by the install ledger"
|
|
995
1018
|
},
|
|
996
1019
|
{
|
|
997
|
-
"file": "src/adapters/codex/config.
|
|
1020
|
+
"file": "src/adapters/codex/config.js",
|
|
998
1021
|
"reason": "harness configuration/projection owned by the install ledger"
|
|
999
1022
|
},
|
|
1000
1023
|
{
|
|
1001
|
-
"file": "src/adapters/codex/hooks.
|
|
1024
|
+
"file": "src/adapters/codex/hooks.js",
|
|
1002
1025
|
"reason": "harness configuration/projection owned by the install ledger"
|
|
1003
1026
|
},
|
|
1004
1027
|
{
|
|
1005
|
-
"file": "src/adapters/copilot/index.
|
|
1028
|
+
"file": "src/adapters/copilot/index.js",
|
|
1006
1029
|
"reason": "harness configuration/projection owned by the install ledger"
|
|
1007
1030
|
},
|
|
1008
1031
|
{
|
|
1009
|
-
"file": "src/adapters/gemini/hooks.
|
|
1032
|
+
"file": "src/adapters/gemini/hooks.js",
|
|
1010
1033
|
"reason": "harness configuration/projection owned by the install ledger"
|
|
1011
1034
|
},
|
|
1012
1035
|
{
|
|
1013
|
-
"file": "src/adapters/gemini/index.
|
|
1036
|
+
"file": "src/adapters/gemini/index.js",
|
|
1014
1037
|
"reason": "harness configuration/projection owned by the install ledger"
|
|
1015
1038
|
},
|
|
1016
1039
|
{
|
|
1017
|
-
"file": "src/adapters/mcp-entries.
|
|
1040
|
+
"file": "src/adapters/mcp-entries.js",
|
|
1018
1041
|
"reason": "harness configuration/projection owned by the install ledger"
|
|
1019
1042
|
},
|
|
1020
1043
|
{
|
|
1021
|
-
"file": "src/adapters/opencode/index.
|
|
1044
|
+
"file": "src/adapters/opencode/index.js",
|
|
1022
1045
|
"reason": "harness configuration/projection owned by the install ledger"
|
|
1023
1046
|
},
|
|
1024
1047
|
{
|
|
1025
|
-
"file": "src/adapters/pi/index.
|
|
1048
|
+
"file": "src/adapters/pi/index.js",
|
|
1026
1049
|
"reason": "harness configuration/projection owned by the install ledger"
|
|
1027
1050
|
},
|
|
1028
1051
|
{
|
|
1029
|
-
"file": "src/adapters/pi/mcp.
|
|
1052
|
+
"file": "src/adapters/pi/mcp.js",
|
|
1030
1053
|
"reason": "harness configuration/projection owned by the install ledger"
|
|
1031
1054
|
},
|
|
1032
1055
|
{
|
|
1033
|
-
"file": "src/helper/marker-merge.
|
|
1056
|
+
"file": "src/helper/marker-merge.js",
|
|
1034
1057
|
"reason": "harness instruction file managed block (CLAUDE.md, AGENTS.md, GEMINI.md), owned by the install ledger"
|
|
1035
1058
|
},
|
|
1036
1059
|
{
|
|
1037
|
-
"file": "src/release/sync-plugin-versions.
|
|
1060
|
+
"file": "src/release/sync-plugin-versions.js",
|
|
1038
1061
|
"reason": "maintainer release tool: rewrites the repo plugin manifests (no DoFlow root)"
|
|
1039
1062
|
},
|
|
1040
1063
|
{
|
|
1041
|
-
"file": "src/
|
|
1064
|
+
"file": "src/release/build-package.js",
|
|
1065
|
+
"reason": "maintainer release tool: writes the staged npm package directory (no DoFlow root)"
|
|
1066
|
+
},
|
|
1067
|
+
{
|
|
1068
|
+
"file": "src/runtime/decision-register.js",
|
|
1042
1069
|
"reason": "agent-docs deliverable (decisions register of a feature)"
|
|
1043
1070
|
},
|
|
1044
1071
|
{
|
|
1045
|
-
"file": "src/runtime/history-compactor.
|
|
1072
|
+
"file": "src/runtime/history-compactor.js",
|
|
1046
1073
|
"reason": "agent-docs deliverable (decisions/history archive and artifact stub)"
|
|
1047
1074
|
},
|
|
1048
1075
|
{
|
|
1049
|
-
"file": "src/runtime/lifecycle/intent-writer.
|
|
1076
|
+
"file": "src/runtime/lifecycle/intent-writer.js",
|
|
1050
1077
|
"reason": "agent-docs deliverable (agent-docs/intent/*.md)"
|
|
1051
1078
|
},
|
|
1052
1079
|
{
|
|
1053
|
-
"file": "src/runtime/scaffold/generate.
|
|
1080
|
+
"file": "src/runtime/scaffold/generate.js",
|
|
1054
1081
|
"reason": "agent-docs deliverable (scaffold files and manifest)"
|
|
1055
1082
|
}
|
|
1056
1083
|
]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 1,
|
|
3
|
-
"description": "Verification check tiers, their fixed ordering, and which tiers each risk level requires. Plain JSON, matching capabilities.json and routes.json. Consumed by src/runtime/verification/engine.
|
|
3
|
+
"description": "Verification check tiers, their fixed ordering, and which tiers each risk level requires. Plain JSON, matching capabilities.json and routes.json. Consumed by src/runtime/verification/engine.js.",
|
|
4
4
|
"policy": {
|
|
5
5
|
"defaultRiskLevel": "MEDIUM",
|
|
6
6
|
"emptyContractStatus": "INCONCLUSIVE",
|
|
@@ -72,8 +72,8 @@ feature_dir=$(printf '%s' "$resolved_json" | jq -r '.feature_dir // empty')
|
|
|
72
72
|
# The projector lives in the JS runtime, not beside the helpers: G12 keeps this repo to one runtime
|
|
73
73
|
# implementation, and Python in core/ is how a shadow tree grew the first time, one individually
|
|
74
74
|
# defensible module at a time. render-audit.sh already shells out to node for the same reason.
|
|
75
|
-
PROJECTOR="$repo_root/src/runtime/c4-project.
|
|
76
|
-
[ -f "$PROJECTOR" ] || PROJECTOR="${DOFLOW_CONFIG_DIR:-$HOME/.doflow}/runtime/src/runtime/c4-project.
|
|
75
|
+
PROJECTOR="$repo_root/src/runtime/c4-project.js"
|
|
76
|
+
[ -f "$PROJECTOR" ] || PROJECTOR="${DOFLOW_CONFIG_DIR:-$HOME/.doflow}/runtime/src/runtime/c4-project.js"
|
|
77
77
|
design_rel=$(printf '%s' "$resolved_json" | jq -r '.design // empty')
|
|
78
78
|
[ -n "$feature_slug" ] || note "no-active-feature"
|
|
79
79
|
[ -n "$feature_dir" ] || note "resolver-missing-feature-dir"
|
|
@@ -13,8 +13,10 @@
|
|
|
13
13
|
# PATH pointing at any of them.
|
|
14
14
|
#
|
|
15
15
|
# Usage: doflow-run <verb> [args...]
|
|
16
|
+
# enforcement --harness <id> --policy <id> [--profile <id>] [--json]
|
|
16
17
|
# Every verb accepts --json. Exit 0 = success, 1 = an actionable finding, 2 = usage or
|
|
17
|
-
# resolution error. Arguments, stdin and exit status pass through the
|
|
18
|
+
# resolution error, 3 = context-pack overflow. Arguments, stdin and exit status pass through the
|
|
19
|
+
# dispatcher unmodified —
|
|
18
20
|
# `sync-context` reads its block body from stdin, so anything that buffered or consumed it here
|
|
19
21
|
# would break that verb rather than merely inconvenience it.
|
|
20
22
|
|
|
@@ -112,13 +114,14 @@ capture_failure() {
|
|
|
112
114
|
|
|
113
115
|
# After a verb ran: a status outside {0, 1, 2} is a crash worth recording (a signal, a runtime that
|
|
114
116
|
# died), minus what is not DoFlow's fault (DEC-031): 127 (command not found), 130, 141 and 143
|
|
115
|
-
# (interrupted, broken pipe, terminated)
|
|
116
|
-
# crash exits 1 and is recorded by the CLI itself, so it is
|
|
117
|
+
# (interrupted, broken pipe, terminated), task-not-found status 3 of `task-brief`, and overflow
|
|
118
|
+
# status 3 of `context-pack`. A Node crash exits 1 and is recorded by the CLI itself, so it is
|
|
119
|
+
# never counted twice.
|
|
117
120
|
capture_exit_status() {
|
|
118
121
|
local verb="${1:-}" status="${2:-0}"
|
|
119
122
|
case "$status" in
|
|
120
123
|
0|1|2|127|130|141|143) return 0 ;;
|
|
121
|
-
3)
|
|
124
|
+
3) case "$verb" in task-brief|context-pack) return 0 ;; esac ;;
|
|
122
125
|
esac
|
|
123
126
|
capture_failure "$verb" "exit-$status" "$status"
|
|
124
127
|
return 0
|
|
@@ -358,7 +361,7 @@ Workflow and evidence:
|
|
|
358
361
|
claim record or update a claim and its support state
|
|
359
362
|
readiness evaluate readiness; return state and missing items
|
|
360
363
|
context-pack emit the compiled context pack for a stage
|
|
361
|
-
retrieval-plan declare the needs a stage will resolve, then report every declared item
|
|
364
|
+
retrieval-plan declare the needs a stage will resolve, attempt each need, then report every declared item
|
|
362
365
|
outcome record a task's terminal state with its basis, or show what was recorded
|
|
363
366
|
scaffold emit the code scaffold the active feature's artifacts imply
|
|
364
367
|
decision register, list or compact the active feature's decisions
|
|
@@ -379,6 +382,7 @@ Observability:
|
|
|
379
382
|
discover missed opportunities in recorded runs
|
|
380
383
|
inventory both scopes at once: shadowed assets, drift, unmanaged contenders
|
|
381
384
|
capabilities provider resolution
|
|
385
|
+
enforcement verified lifecycle policy coverage
|
|
382
386
|
doctor installation and provider health
|
|
383
387
|
storage report stored data and its retention bounds
|
|
384
388
|
EOF
|
|
@@ -478,7 +482,7 @@ shell_helper_for() {
|
|
|
478
482
|
is_node_verb() {
|
|
479
483
|
case "$1" in
|
|
480
484
|
classify|workflow|route|evidence|claim|readiness|context-pack|retrieval-plan|outcome|scaffold|decision|followup|lifecycle|goal|failure|verify|recover|leak-scan|\
|
|
481
|
-
trace|stats|indicators|discover|inventory|capabilities|doctor|orchestrate|research-request|task-attempt|retrieve|model-role|storage|brief-tools|advise) return 0 ;;
|
|
485
|
+
trace|stats|indicators|discover|inventory|capabilities|enforcement|doctor|orchestrate|research-request|task-attempt|retrieve|model-role|storage|brief-tools|advise) return 0 ;;
|
|
482
486
|
*) return 1 ;;
|
|
483
487
|
esac
|
|
484
488
|
}
|
|
@@ -64,12 +64,12 @@ a `design.md` for it invents an artifact its workflow never reads.
|
|
|
64
64
|
```bash
|
|
65
65
|
"$DOFLOW" context-pack --task-id "<task id>" --json
|
|
66
66
|
```
|
|
67
|
-
**Exit 1 means the pack came back empty
|
|
68
|
-
|
|
69
|
-
`do-brainstorm` may not have batched evidence
|
|
70
|
-
treats
|
|
71
|
-
reading `requirement.md` directly
|
|
72
|
-
|
|
67
|
+
**Exit 1 means the pack came back empty; exit 3 means overflow: the pack is complete, act on
|
|
68
|
+
`overflowAction.message` and report the gap.** Early in the chain an empty pack is ordinary — a
|
|
69
|
+
new feature has nothing recorded yet, and `do-brainstorm` may not have batched evidence. Treat
|
|
70
|
+
it like step 3's precondition treats missing `requirement.md`: note the gap in this stage's report
|
|
71
|
+
and fall through to reading `requirement.md` directly. When non-empty, read it alongside
|
|
72
|
+
`requirement.md` for the user stories, FRs, and NFRs the design must serve.
|
|
73
73
|
|
|
74
74
|
5. **Design** — per `--type` (architecture/api/component/database), produce the system-shape
|
|
75
75
|
decisions: a C4 System Context diagram (actors + external systems this feature touches) and,
|
|
@@ -163,16 +163,17 @@ Branch on the returned `outcome` field, not the exit code.
|
|
|
163
163
|
```bash
|
|
164
164
|
"$DOFLOW" context-pack --task-id "<task id>" --json
|
|
165
165
|
```
|
|
166
|
-
**Exit 1 means the pack came back empty
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
still be legitimate: step 4 lets a task reach
|
|
170
|
-
link no evidence. Do not withhold dispatch on
|
|
171
|
-
task may be worked. Instead, carry the empty
|
|
172
|
-
dispatch, next to the task-brief output, that
|
|
173
|
-
task, so the subagent works from the
|
|
174
|
-
assuming a grounding evidence base that
|
|
175
|
-
as the subagent's prior context, same
|
|
166
|
+
**Exit 1 means the pack came back empty; exit 3 means overflow: the pack is complete, act on
|
|
167
|
+
`overflowAction.message` and report the gap.**
|
|
168
|
+
This call sits right at subagent dispatch — proceeding as though nothing happened is the defect
|
|
169
|
+
this feature removes. An empty pack here can still be legitimate: step 4 lets a task reach
|
|
170
|
+
`READY` on `callerAsserted` inputs alone, which link no evidence. Do not withhold dispatch on
|
|
171
|
+
this alone — readiness already governs whether the task may be worked. Instead, carry the empty
|
|
172
|
+
result into the group's brief itself: state in the dispatch, next to the task-brief output, that
|
|
173
|
+
no prior evidence or claims were compiled for this task, so the subagent works from the
|
|
174
|
+
plan/design text `task-brief` already supplies without assuming a grounding evidence base that
|
|
175
|
+
isn't there. A non-empty pack is included in the brief as the subagent's prior context, same
|
|
176
|
+
handoff.
|
|
176
177
|
- Claim each task before dispatch and finish it with evidence: `references/task_attempts.md`.
|
|
177
178
|
- Dispatch tasks to appropriate specialist archetypes:
|
|
178
179
|
- Architecture & Schema $\rightarrow$ `system-architect`
|