@khoavu882/doflow 2.0.0-beta.5 → 2.0.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/README.md +16 -16
- package/bin/doflow.js +22 -12
- package/core/.antigravity-plugin/plugin.json +1 -2
- 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/lib.sh +43 -24
- package/core/harnesses/claude/hooks/mcp-tool-guard.sh +4 -1
- package/core/harnesses/claude/hooks/permission-audit.sh +3 -0
- package/core/harnesses/claude/hooks/post-compact.sh +35 -32
- package/core/harnesses/claude/hooks/post-edit-lint.sh +2 -0
- package/core/harnesses/claude/hooks/post-shell-observe.sh +48 -0
- package/core/harnesses/claude/hooks/post-tool-failure.sh +3 -0
- package/core/harnesses/claude/hooks/pre-compact.sh +23 -27
- package/core/harnesses/claude/hooks/pre-implement-gate.sh +4 -1
- package/core/harnesses/claude/hooks/session-end.sh +23 -10
- package/core/harnesses/claude/hooks/skill-config-audit.sh +3 -0
- package/core/harnesses/claude/settings/settings.json +26 -9
- package/core/harnesses/claude/statusline/doflow-statusline.sh +1 -0
- package/core/harnesses/codex/agents/core-implementer.toml +1 -0
- package/core/harnesses/codex/agents/delivery-lead.toml +10 -0
- package/core/harnesses/codex/agents/quality-guardian.toml +1 -1
- package/core/harnesses/codex/agents/research-writer.toml +1 -1
- package/core/harnesses/codex/agents/reviewer.toml +10 -0
- package/core/harnesses/codex/agents/spec-analyst.toml +1 -1
- package/core/harnesses/codex/agents/system-architect.toml +1 -1
- package/core/harnesses/codex/hooks/hooks.json +0 -10
- package/core/harnesses/codex/hooks/lib.sh +44 -25
- package/core/harnesses/codex/hooks/mcp-tool-guard.sh +4 -1
- package/core/harnesses/codex/hooks/post-edit-lint.impl.sh +3 -1
- package/core/harnesses/codex/hooks/pre-compact.impl.sh +29 -26
- package/core/harnesses/codex/hooks/pre-implement-gate.sh +4 -1
- package/core/harnesses/codex/hooks/session-end.impl.sh +23 -10
- package/core/harnesses/codex/hooks/subagent-audit.sh +1 -0
- package/core/harnesses/copilot/hooks/doflow-lib.sh +94 -0
- package/core/harnesses/copilot/hooks/doflow-mcp-tool-guard.sh +9 -0
- package/core/harnesses/copilot/hooks/doflow-pre-implement-gate.sh +9 -0
- package/core/harnesses/copilot/hooks/doflow-session-start.sh +9 -0
- package/core/harnesses/copilot/hooks/doflow-stop-check.sh +9 -0
- package/core/harnesses/copilot/hooks/doflow-subagent-start.sh +9 -0
- package/core/harnesses/copilot/hooks/doflow-subagent-stop.sh +9 -0
- package/core/harnesses/copilot/hooks/doflow.json +51 -0
- package/core/harnesses/kiro/agents/doflow.json +1 -11
- package/core/harnesses/kiro/hooks/doflow.json +0 -10
- package/core/harnesses/kiro/hooks/lib.sh +26 -6
- package/core/harnesses/kiro/hooks/mcp-tool-guard.sh +8 -3
- package/core/harnesses/kiro/hooks/pre-implement-gate.sh +8 -3
- package/core/harnesses/kiro/hooks/session-start.sh +1 -0
- package/core/harnesses/kiro/hooks/stop-check.sh +1 -0
- package/core/harnesses/pi/extensions/doflow-guard.js +11 -2
- package/core/harnesses/shared/hooks/ENVELOPE_MIGRATION.md +1 -2
- package/core/harnesses/shared/hooks/adapters/antigravity.js +1 -1
- package/core/harnesses/shared/hooks/bridge/bridge.sh +126 -23
- package/core/harnesses/shared/hooks/bridge/envelope.jq +87 -18
- package/core/harnesses/shared/hooks/bridge/observe-model.sh +75 -0
- package/core/harnesses/shared/hooks/bridge/respond.sh +16 -2
- package/core/harnesses/shared/hooks/policies/capture-failure.sh +49 -16
- package/core/harnesses/shared/hooks/policies/compact-text.sh +46 -0
- package/core/harnesses/shared/hooks/policies/contract.sh +3 -0
- package/core/harnesses/shared/hooks/policies/deny-json.sh +20 -7
- package/core/harnesses/shared/hooks/policies/emission-rules.sh +37 -0
- package/core/harnesses/shared/hooks/policies/emission.jq +209 -0
- package/core/harnesses/shared/hooks/policies/emission.sh +383 -0
- package/core/harnesses/shared/hooks/policies/identity.sh +177 -0
- package/core/harnesses/shared/hooks/policies/lib.sh +63 -40
- package/core/harnesses/shared/hooks/policies/mcp-policy.conf +1 -1
- package/core/harnesses/shared/hooks/policies/mcp-tool-guard.sh +7 -8
- package/core/harnesses/shared/hooks/policies/pre-implementation-gate.sh +132 -57
- package/core/harnesses/shared/hooks/policies/session-context.sh +30 -1
- package/core/harnesses/shared/hooks/policies/stop-check.sh +27 -15
- package/core/harnesses/shared/hooks/policies/subagent-audit.sh +6 -3
- package/core/harnesses/shared/hooks/policies/summary-store.sh +347 -0
- package/core/harnesses/shared/hooks/policies/user-prompt-submit.sh +60 -155
- package/core/harnesses/shared/hooks/stream-hook-runner.js +58 -20
- package/core/harnesses/shared/locator/doflow-run +2 -3
- package/core/registry/advice.json +3 -3
- package/core/registry/assets.json +55 -82
- package/core/registry/capabilities.json +12 -0
- package/core/registry/contracts.json +58 -31
- package/core/registry/contribution-points.json +35 -0
- package/core/registry/gates.json +32 -0
- package/core/registry/guidance-caps.json +40 -0
- package/core/registry/harnesses.json +1445 -366
- package/core/registry/intake.json +53 -0
- package/core/registry/lifecycle.json +599 -996
- package/core/registry/mcp.json +5 -1
- package/core/registry/models.json +7 -1
- package/core/registry/package-templates/README.md +19 -0
- package/core/registry/package-templates/agent/files/agent.md +9 -0
- package/core/registry/package-templates/agent/template.json +4 -0
- package/core/registry/package-templates/capability-provider/files/provider.json +9 -0
- package/core/registry/package-templates/capability-provider/template.json +11 -0
- package/core/registry/package-templates/debate-preset/files/preset.json +26 -0
- package/core/registry/package-templates/debate-preset/template.json +4 -0
- package/core/registry/package-templates/intake-category/files/category.json +8 -0
- package/core/registry/package-templates/intake-category/template.json +4 -0
- package/core/registry/package-templates/review-preset/files/preset.json +30 -0
- package/core/registry/package-templates/review-preset/template.json +4 -0
- package/core/registry/package-templates/skill/files/SKILL.md +8 -0
- package/core/registry/package-templates/skill/template.json +4 -0
- package/core/registry/package-templates/worker/files/worker.json +92 -0
- package/core/registry/package-templates/worker/template.json +11 -0
- package/core/registry/packages/doflow/doflow-package.json +15 -0
- package/core/registry/packages/doflow/presets/debate-3.json +26 -0
- package/core/registry/protocols.json +61 -0
- package/core/registry/routes.json +17 -0
- package/core/registry/rules.json +431 -0
- package/core/registry/settings.json +272 -0
- package/core/registry/storage.json +687 -31
- package/core/registry/telemetry.json +236 -0
- package/core/registry/transcripts.json +142 -0
- package/core/registry/verification.json +76 -6
- package/core/registry/workflows.json +55 -0
- package/core/shared/agent-specs/core-implementer.md +3 -0
- package/core/shared/agent-specs/delivery-lead.md +68 -0
- package/core/shared/agent-specs/quality-guardian.md +5 -1
- package/core/shared/agent-specs/research-writer.md +10 -3
- package/core/shared/agent-specs/reviewer.md +53 -0
- package/core/shared/agent-specs/spec-analyst.md +5 -6
- package/core/shared/agent-specs/system-architect.md +5 -1
- package/core/shared/guidance/DOFLOW_CORE.md +1 -5
- package/core/shared/guidance/modes/MODE_DeepResearch.md +1 -1
- package/core/shared/guidance/modes/MODE_Orchestration.md +4 -3
- package/core/shared/guidance/modes/MODE_Task_Management.md +14 -14
- package/core/shared/guidance/pointers/codex.md +1 -4
- package/core/shared/guidance/references/ARTIFACT_FORMAT.md +30 -16
- package/core/shared/guidance/references/ARTIFACT_VOICE.md +3 -2
- package/core/shared/guidance/references/CONSTITUTION_BASE.md +17 -15
- package/core/shared/guidance/references/DIAGRAM_GUIDE.md +1 -1
- package/core/shared/guidance/references/DOFLOW_CHAIN.md +17 -19
- package/core/shared/guidance/references/EVIDENCE_LEDGER.md +7 -8
- package/core/shared/guidance/references/MODEL_SELECTION.md +5 -3
- package/core/shared/guidance/references/ORCHESTRATION.md +3 -2
- package/core/shared/guidance/references/WORKFLOW_HANDOFF.md +19 -1
- package/core/shared/guidance/rules/RULES.md +45 -0
- package/core/shared/scripts/doflow/bash/do-args.sh +37 -0
- package/core/shared/scripts/doflow/bash/do-exec-paths.sh +4 -0
- package/core/shared/scripts/doflow/bash/do-git-state.sh +15 -4
- package/core/shared/scripts/doflow/bash/do-parallel-check.sh +4 -0
- package/core/shared/scripts/doflow/bash/do-paths.sh +40 -2
- package/core/shared/scripts/doflow/bash/do-prereqs.sh +2 -1
- package/core/shared/scripts/doflow/bash/do-review-package.sh +4 -0
- package/core/shared/scripts/doflow/bash/do-task-brief.sh +58 -16
- package/core/shared/scripts/doflow/bash/render-audit.sh +26 -2
- package/core/shared/scripts/doflow/bash/render-diagrams.sh +1 -0
- package/core/shared/scripts/doflow/bash/render-puml.sh +2 -1
- package/core/shared/scripts/doflow/bash/validate-artifacts.sh +49 -5
- package/core/shared/scripts/doflow/bin/doflow-run +152 -34
- package/core/shared/skills/do/SKILL.md +14 -12
- package/core/shared/skills/do/references/advice_calls.md +26 -0
- package/core/shared/skills/do/references/pm_routing.md +1 -2
- package/core/shared/skills/do/references/program_mode.md +31 -0
- package/core/shared/skills/do-brainstorm/SKILL.md +45 -97
- package/core/shared/skills/do-brainstorm/references/handoff_branches.md +36 -0
- package/core/shared/skills/do-brainstorm/references/intent_seed.md +21 -0
- package/core/shared/skills/do-brainstorm/references/round_log.md +17 -0
- package/core/shared/skills/do-code-review/SKILL.md +48 -148
- package/core/shared/skills/do-code-review/content-types/markdown.md +24 -2
- package/core/shared/skills/do-code-review/references/tools.md +90 -0
- package/core/shared/skills/do-code-review/scripts/doc_quality_checker.py +549 -7
- package/core/shared/skills/do-design/SKILL.md +23 -20
- package/core/shared/skills/do-diagnose/SKILL.md +18 -6
- package/core/shared/skills/do-document/SKILL.md +12 -1
- package/core/shared/skills/do-document/references/deep_research.md +1 -2
- package/core/shared/skills/do-document/references/embedded-research.md +19 -7
- package/core/shared/skills/do-document/references/implementation-flow.md +5 -6
- package/core/shared/skills/do-execute-plan/SKILL.md +19 -60
- package/core/shared/skills/do-execute-plan/references/handoff_record.md +7 -2
- package/core/shared/skills/do-execute-plan/references/parallel_dispatch.md +13 -0
- package/core/shared/skills/do-execute-plan/references/readiness_gate.md +26 -1
- package/core/shared/skills/do-execute-plan/references/run_position.md +16 -2
- package/core/shared/skills/do-execute-plan/references/scaffold.md +17 -9
- package/core/shared/skills/do-execute-plan/references/state_checkpoint.md +11 -0
- package/core/shared/skills/do-execute-plan/references/task_attempts.md +78 -24
- package/core/shared/skills/do-flow/SKILL.md +10 -11
- package/core/shared/skills/do-flow/references/task_classes.md +5 -5
- package/core/shared/skills/do-git/SKILL.md +4 -0
- package/core/shared/skills/do-implement/SKILL.md +13 -14
- package/core/shared/skills/do-plan/SKILL.md +34 -20
- package/core/shared/skills/do-test/SKILL.md +7 -4
- package/core/shared/templates/doflow/constitution-template.md +9 -3
- package/core/shared/templates/doflow/data-model-template.md +1 -1
- package/core/shared/templates/doflow/design-template.md +113 -16
- package/core/shared/templates/doflow/plan-template.md +11 -10
- package/core/shared/templates/doflow/question-log-template.md +14 -2
- package/core/shared/templates/doflow/requirement-template.md +1 -1
- package/core/shared/workflows/do-flow-chain.md +2 -0
- package/core/worker-evidence/antigravity/checks.json +14 -0
- package/core/worker-evidence/codex/2026-10-18-cli-check.json +107 -0
- package/core/worker-evidence/codex/2026-10-18-live-run-edit.json +73 -0
- package/core/worker-evidence/codex/2026-10-18-live-run-read-only.json +62 -0
- package/core/worker-evidence/codex/2026-10-24-cli-check.json +126 -0
- package/core/worker-evidence/codex/checks.json +38 -0
- package/package.json +10 -6
- package/src/adapters/antigravity/index.js +143 -66
- package/src/adapters/claude/index.js +46 -5
- package/src/adapters/codex/agents.js +25 -15
- package/src/adapters/codex/hooks.js +39 -3
- package/src/adapters/codex/index.js +61 -13
- package/src/adapters/codex/native-projection.js +6 -2
- package/src/adapters/copilot/index.js +58 -23
- package/src/adapters/copy-tree.js +291 -46
- package/src/adapters/guidance-manifest.js +71 -0
- package/src/adapters/guidance-pointer.js +19 -0
- package/src/adapters/hook-commands.js +6 -10
- package/src/adapters/index.js +1 -0
- package/src/adapters/kiro/index.js +23 -12
- package/src/adapters/opencode/index.js +8 -8
- package/src/adapters/pi/hooks.js +2 -1
- package/src/adapters/pi/index.js +14 -7
- package/src/adapters/resolve-source.js +26 -2
- package/src/cli/commands/install.js +2 -1
- package/src/cli/commands/reconcile.js +53 -9
- package/src/cli/commands/remove.js +2 -2
- package/src/cli/commands/rollback.js +6 -3
- package/src/cli/commands/self-update.js +18 -9
- package/src/cli/commands/status.js +22 -3
- package/src/cli/commands/ui.js +99 -0
- package/src/cli/commands/update.js +2 -1
- package/src/cli/index.js +337 -32
- package/src/cli/runtime-commands.js +220 -60
- package/src/cli/shared.js +0 -2
- package/src/helper/git.js +1 -1
- package/src/helper/guardrails.js +1 -1
- package/src/helper/marker-merge.js +31 -13
- package/src/helper/package-ids.js +37 -0
- package/src/helper/semver.js +94 -0
- package/src/install/backup.js +105 -15
- package/src/install/context.js +1 -1
- package/src/install/targets.js +31 -16
- package/src/lifecycle/coverage.js +4 -16
- package/src/lifecycle/hook-tier.js +160 -0
- package/src/lifecycle/index.js +412 -78
- package/src/lifecycle/retired-harnesses.js +318 -0
- package/src/lifecycle/view.js +35 -15
- package/src/registry/index.js +551 -26
- package/src/registry/worker-ids.js +45 -0
- package/src/release/build-package.js +0 -3
- package/src/release/docs-blocks.js +472 -0
- package/src/release/preflight.js +425 -0
- package/src/release/rehearse.js +401 -0
- package/src/release/release-workflow.js +733 -0
- package/src/release/sync-plugin-versions.js +43 -7
- package/src/runtime/advice/bench-gate.js +25 -0
- package/src/runtime/advice/cli.js +59 -16
- package/src/runtime/advice/client.js +32 -9
- package/src/runtime/advice/config.js +98 -133
- package/src/runtime/advice/doctor.js +1 -1
- package/src/runtime/advice/elevation.js +97 -0
- package/src/runtime/advice/endpoint-guard.js +9 -3
- package/src/runtime/advice/mode.js +37 -0
- package/src/runtime/advice/record.js +18 -5
- package/src/runtime/advice/registry.js +4 -1
- package/src/runtime/advice/shadow-config.js +229 -0
- package/src/runtime/advice/shadow-dispatcher.js +276 -0
- package/src/runtime/brief-rules.js +81 -0
- package/src/runtime/brief-tools.js +111 -34
- package/src/runtime/candidate.js +20 -11
- package/src/runtime/capabilities/executor.js +450 -0
- package/src/runtime/capabilities/loopback.js +41 -0
- package/src/runtime/capabilities/sanitizer.js +88 -0
- package/src/runtime/capability-router.js +135 -3
- package/src/runtime/checkouts.js +73 -11
- package/src/runtime/claims.js +13 -7
- package/src/runtime/cli.js +196 -19
- package/src/runtime/config-home.js +42 -0
- package/src/runtime/context/arbitrate.js +767 -0
- package/src/runtime/context/delivery-store.js +4 -6
- package/src/runtime/context/emission-rules.js +118 -0
- package/src/runtime/context/identity.js +227 -0
- package/src/runtime/context/pointer.js +67 -12
- package/src/runtime/context/primary-command.js +117 -0
- package/src/runtime/context/primary.js +344 -0
- package/src/runtime/context/summary-store.js +655 -0
- package/src/runtime/context-pack.js +158 -79
- package/src/runtime/decision-register.js +13 -4
- package/src/runtime/dispatch/admission.js +392 -0
- package/src/runtime/dispatch/attempt-end.js +274 -0
- package/src/runtime/dispatch/command.js +628 -0
- package/src/runtime/dispatch/controls.js +904 -0
- package/src/runtime/dispatch/envelope.js +276 -0
- package/src/runtime/dispatch/grants.js +310 -0
- package/src/runtime/dispatch/integrate.js +617 -0
- package/src/runtime/dispatch/loop.js +1835 -0
- package/src/runtime/dispatch/store.js +352 -0
- package/src/runtime/dispatch/verify-run.js +201 -0
- package/src/runtime/evidence-ledger.js +52 -7
- package/src/runtime/failure/capture.js +3 -1
- package/src/runtime/failure/cli.js +25 -9
- package/src/runtime/failure/home.js +57 -30
- package/src/runtime/failure/store.js +7 -2
- package/src/runtime/feature-pointer.js +174 -0
- package/src/runtime/feature-resolve.js +13 -2
- package/src/runtime/fleet/command.js +77 -0
- package/src/runtime/fleet/projects.js +178 -0
- package/src/runtime/fleet/tree.js +383 -0
- package/src/runtime/freshness.js +33 -3
- package/src/runtime/git-memo.js +46 -0
- package/src/runtime/guidance/ablation.js +427 -0
- package/src/runtime/health.js +624 -18
- package/src/runtime/history-compactor.js +13 -3
- package/src/runtime/implementation-gate.js +281 -26
- package/src/runtime/intake/engine.js +677 -0
- package/src/runtime/intake/index.js +136 -0
- package/src/runtime/intake/manifest.js +140 -0
- package/src/runtime/intake/taxonomy.js +206 -0
- package/src/runtime/inventory/coverage.js +1 -1
- package/src/runtime/inventory/index.js +1 -1
- package/src/runtime/inventory/precedence.js +2 -2
- package/src/runtime/inventory/siblings.js +6 -4
- package/src/runtime/knowledge/code-corpus.js +277 -0
- package/src/runtime/knowledge/code-lexical.js +130 -0
- package/src/runtime/knowledge/code-retrieval.js +307 -0
- package/src/runtime/knowledge/code-validation.js +106 -0
- package/src/runtime/knowledge/gp3-gate.js +74 -0
- package/src/runtime/knowledge/graph-adapter.js +288 -0
- package/src/runtime/knowledge/graph-fallback.js +394 -0
- package/src/runtime/knowledge/hybrid.js +136 -8
- package/src/runtime/knowledge/retrieval.js +34 -1
- package/src/runtime/knowledge/rtk-compress.js +77 -0
- package/src/runtime/knowledge/semble-bridge.py +106 -0
- package/src/runtime/knowledge/semble-lifecycle.js +114 -0
- package/src/runtime/knowledge/semble-provider.js +365 -0
- package/src/runtime/lifecycle/cli.js +88 -10
- package/src/runtime/lifecycle/event-store.js +8 -6
- package/src/runtime/lifecycle/followup.js +38 -7
- package/src/runtime/lifecycle/overview.js +26 -2
- package/src/runtime/lifecycle/report-store.js +8 -10
- package/src/runtime/lifecycle/retention.js +95 -31
- package/src/runtime/lifecycle/root.js +9 -1
- package/src/runtime/lifecycle/status.js +34 -17
- package/src/runtime/lifecycle/store-upkeep.js +56 -7
- package/src/runtime/mask.js +134 -7
- package/src/runtime/mcp-consultations.js +40 -6
- package/src/runtime/model-router.js +79 -7
- package/src/runtime/models/catalogue.js +191 -0
- package/src/runtime/models/command.js +153 -0
- package/src/runtime/off-words.js +12 -0
- package/src/runtime/outcome.js +2 -2
- package/src/runtime/packages/command.js +1009 -0
- package/src/runtime/packages/contributions.js +116 -0
- package/src/runtime/packages/digest.js +132 -0
- package/src/runtime/packages/fetch.js +182 -0
- package/src/runtime/packages/grants.js +192 -0
- package/src/runtime/packages/index-file.js +134 -0
- package/src/runtime/packages/instruction.js +90 -0
- package/src/runtime/packages/manifest.js +331 -0
- package/src/runtime/packages/points.js +487 -0
- package/src/runtime/packages/programs.js +216 -0
- package/src/runtime/packages/scaffold.js +277 -0
- package/src/runtime/packages/source.js +90 -0
- package/src/runtime/packages/state.js +164 -0
- package/src/runtime/packages/store.js +449 -0
- package/src/runtime/packages/tar.js +106 -0
- package/src/runtime/packages/view.js +406 -0
- package/src/runtime/plan-check.js +59 -0
- package/src/runtime/plan-content.js +324 -0
- package/src/runtime/policy-init.js +118 -0
- package/src/runtime/profiles/doctor.js +96 -0
- package/src/runtime/profiles/resolve.js +244 -0
- package/src/runtime/profiles/rollback.js +254 -0
- package/src/runtime/profiles/sampler.js +41 -0
- package/src/runtime/readiness-record.js +16 -11
- package/src/runtime/readiness.js +46 -5
- package/src/runtime/research-request.js +50 -25
- package/src/runtime/retrieval-plan.js +10 -30
- package/src/runtime/retrieval-record.js +75 -5
- package/src/runtime/review/command.js +246 -0
- package/src/runtime/review/dominance.js +68 -0
- package/src/runtime/review/findings.js +434 -0
- package/src/runtime/review/identity.js +255 -0
- package/src/runtime/review/protocol-command.js +109 -0
- package/src/runtime/review/protocols.js +405 -0
- package/src/runtime/review/resolve-protocol.js +302 -0
- package/src/runtime/review/start.js +530 -0
- package/src/runtime/roadmap/attendance.js +137 -0
- package/src/runtime/roadmap/facts.js +479 -0
- package/src/runtime/roadmap/gates.js +273 -0
- package/src/runtime/roadmap/loop.js +1719 -0
- package/src/runtime/roadmap/merge.js +390 -0
- package/src/runtime/roadmap/rows.js +1122 -0
- package/src/runtime/roadmap/seed.js +1063 -0
- package/src/runtime/roadmap/worktree-cleanup.js +147 -0
- package/src/runtime/rules-report.js +336 -0
- package/src/runtime/scaffold/artifacts.js +60 -9
- package/src/runtime/scaffold/generate.js +21 -9
- package/src/runtime/settings/autopilot.js +106 -0
- package/src/runtime/settings/cli.js +280 -0
- package/src/runtime/settings/config-write.js +314 -0
- package/src/runtime/settings/files.js +271 -0
- package/src/runtime/settings/legacy.js +154 -0
- package/src/runtime/settings/lexical.js +56 -0
- package/src/runtime/settings/prepared-run.js +269 -0
- package/src/runtime/settings/project-layers.js +118 -0
- package/src/runtime/settings/refs.js +288 -0
- package/src/runtime/settings/registry.js +553 -0
- package/src/runtime/settings/resolve.js +713 -0
- package/src/runtime/settings/shared.js +37 -0
- package/src/runtime/settings/worker-billing.js +107 -0
- package/src/runtime/settings/write.js +269 -0
- package/src/runtime/slot-command.js +78 -0
- package/src/runtime/slots.js +671 -0
- package/src/runtime/source-version.js +1 -0
- package/src/runtime/state-root.js +217 -0
- package/src/runtime/storage/cli.js +12 -5
- package/src/runtime/storage/engine.js +9 -2
- package/src/runtime/storage/registry.js +14 -1
- package/src/runtime/storage/roots.js +66 -16
- package/src/runtime/storage/rules.js +82 -10
- package/src/runtime/storage/upkeep.js +10 -2
- package/src/runtime/storage/work-status.js +245 -26
- package/src/runtime/task-attempts.js +589 -69
- package/src/runtime/task-classifier.js +85 -14
- package/src/runtime/task-graph.js +373 -0
- package/src/runtime/task-run.js +778 -0
- package/src/runtime/task-scope.js +176 -55
- package/src/runtime/task-sources.js +147 -0
- package/src/runtime/task-state.js +373 -64
- package/src/runtime/team/admission.js +301 -0
- package/src/runtime/team/envelope.js +324 -0
- package/src/runtime/team/review-guard.js +156 -0
- package/src/runtime/trace/analyze.js +427 -0
- package/src/runtime/trace/baseline.js +770 -0
- package/src/runtime/trace/ledger.js +63 -140
- package/src/runtime/trace/otlp-export.js +568 -0
- package/src/runtime/trace/otlp-map.js +481 -0
- package/src/runtime/trace/spans.js +745 -0
- package/src/runtime/trace/telemetry.js +225 -0
- package/src/runtime/trace/views.js +1 -0
- package/src/runtime/transcripts/command.js +98 -0
- package/src/runtime/transcripts/cursor.js +326 -0
- package/src/runtime/transcripts/read.js +126 -0
- package/src/runtime/transcripts/readers/claude-jsonl.js +74 -0
- package/src/runtime/transcripts/readers/codex-rollout.js +70 -0
- package/src/runtime/transcripts/readers/copilot-events.js +90 -0
- package/src/runtime/transcripts/readers/kiro-jsonl.js +77 -0
- package/src/runtime/transcripts/readers/pi-jsonl.js +59 -0
- package/src/runtime/transcripts/registry.js +161 -0
- package/src/runtime/transcripts/stats.js +161 -0
- package/src/runtime/verb-view.js +267 -0
- package/src/runtime/verification/check-key.js +628 -0
- package/src/runtime/verification/contract-runner.js +546 -11
- package/src/runtime/verification/engine.js +499 -54
- package/src/runtime/verification/impact.js +617 -0
- package/src/runtime/verification/inflight.js +205 -0
- package/src/runtime/verification/registry.js +176 -0
- package/src/runtime/verification/reuse.js +184 -0
- package/src/runtime/verification/telemetry-emit.js +254 -0
- package/src/runtime/verification/test-selection.js +67 -7
- package/src/runtime/worker/active.js +90 -0
- package/src/runtime/worker/cancel.js +222 -0
- package/src/runtime/worker/catalogue.js +122 -0
- package/src/runtime/worker/command.js +677 -0
- package/src/runtime/worker/evidence.js +288 -0
- package/src/runtime/worker/launch.js +256 -0
- package/src/runtime/worker/models.js +137 -0
- package/src/runtime/worker/parsers.js +218 -0
- package/src/runtime/worker/probes/index.js +706 -0
- package/src/runtime/worker/process-tree.js +415 -0
- package/src/runtime/worker/quota.js +43 -0
- package/src/runtime/worker/readiness.js +713 -0
- package/src/runtime/worker/run-store.js +166 -0
- package/src/runtime/worker/supervisor.js +541 -0
- package/src/runtime/worker/worktree-check.js +252 -0
- package/src/runtime/workflow-engine.js +5 -1
- package/src/runtime/workflow-orchestrator.js +610 -67
- package/src/runtime/worktree.js +149 -22
- package/src/state/index.js +1 -1
- package/src/state/lockfile.js +64 -10
- package/src/state/run-lock.js +1 -1
- package/types/node-commonjs.d.ts +106 -7
- package/core/harnesses/claude/hooks/pre-bash-guard.sh +0 -10
- package/core/harnesses/codex/hooks/pre-bash-guard.sh +0 -10
- package/core/harnesses/gemini/hooks/hooks.json +0 -77
- package/core/harnesses/gemini/hooks/lib.sh +0 -302
- package/core/harnesses/gemini/hooks/mcp-tool-guard.sh +0 -10
- package/core/harnesses/gemini/hooks/post-edit-lint.sh +0 -39
- package/core/harnesses/gemini/hooks/pre-bash-guard.sh +0 -10
- package/core/harnesses/gemini/hooks/pre-compact.sh +0 -38
- package/core/harnesses/gemini/hooks/pre-implement-gate.sh +0 -10
- package/core/harnesses/gemini/hooks/session-end.impl.sh +0 -89
- package/core/harnesses/gemini/hooks/session-end.sh +0 -5
- package/core/harnesses/gemini/hooks/session-start.sh +0 -7
- package/core/harnesses/gemini/settings/adapter-defaults.json +0 -4
- package/core/harnesses/kiro/hooks/pre-bash-guard.sh +0 -24
- package/core/harnesses/shared/hooks/policies/blocked-patterns.conf +0 -91
- package/core/harnesses/shared/hooks/policies/pre-bash-guard.sh +0 -378
- package/core/shared/guidance/FLAGS.md +0 -25
- package/core/shared/guidance/rules/RULE_01_SAFETY.md +0 -25
- package/core/shared/guidance/rules/RULE_02_WORKFLOW.md +0 -23
- package/core/shared/guidance/rules/RULE_03_QUALITY.md +0 -14
- package/core/shared/guidance/rules/RULE_04_QUESTIONS.md +0 -46
- package/src/adapters/gemini/hooks.js +0 -251
- package/src/adapters/gemini/index.js +0 -429
|
@@ -2,12 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
**Feature:** [NNN-slug] · **Requirement:** [REQUIREMENT_PATH] · **Maturity:** Draft · **Created:** [DATE]
|
|
4
4
|
|
|
5
|
-
> System shape — architecture, APIs, data/interface contracts. Reads [REQUIREMENT_PATH].
|
|
5
|
+
> System shape — architecture, journeys, APIs, data/interface contracts. Reads [REQUIREMENT_PATH].
|
|
6
6
|
> Distinct from plan.md's HOW-to-implement; this is HOW-it's-shaped.
|
|
7
7
|
>
|
|
8
|
+
> Journey-first: business and engineering read the front half (Architecture Approach through
|
|
9
|
+
> Journeys) on one page, in plain nouns. The component-level sections follow it.
|
|
10
|
+
>
|
|
8
11
|
> Structure follows `references/ARTIFACT_FORMAT.md`: indexed sections carry a table above full
|
|
9
12
|
> `**Detail**`, the document-level `Maturity` is `Draft`, `In review` or `Approved`, the item-level
|
|
10
|
-
> `Status` is only `Live` or `Superseded → <ref>`, and superseded prose moves to
|
|
13
|
+
> `Status` is only `Live` or `Superseded → <ref>`, and superseded prose moves to the History section.
|
|
11
14
|
|
|
12
15
|
## 1. Architecture Approach
|
|
13
16
|
|
|
@@ -27,19 +30,26 @@
|
|
|
27
30
|
| [what is being settled] | [the shape this design gives it] | [person or role accountable] | no |
|
|
28
31
|
| [what is being settled] | [the shape this design gives it] | [person or role accountable] | yes: [what must happen first] |
|
|
29
32
|
|
|
30
|
-
|
|
33
|
+
<!-- Acts as the summary. In 2–4 sentences or bullets, in plain nouns with no component IDs or code
|
|
34
|
+
names: who gains what and why, the goal of this phase, and where it plugs into the existing
|
|
35
|
+
system. Leave out implementation detail: that belongs in Components & Boundaries. -->
|
|
36
|
+
|
|
37
|
+
[Who this is for and why, the goal of this phase, and where it fits in the existing system.]
|
|
31
38
|
|
|
32
39
|
## 2. System Overview (C4)
|
|
33
40
|
|
|
34
|
-
<!-- The visual complement to
|
|
35
|
-
reading prose. C4 is kept as the conceptual zoom model (Context → Container →
|
|
36
|
-
rendered with Mermaid `flowchart` + `subgraph`. Each level heading is written
|
|
37
|
-
"C4 Level N: ...", so no level label collides with a
|
|
41
|
+
<!-- The visual complement to Architecture Approach — lets a reader unfamiliar with this feature see
|
|
42
|
+
the shape before reading prose. C4 is kept as the conceptual zoom model (Context → Container →
|
|
43
|
+
Component) and rendered with Mermaid `flowchart` + `subgraph`. Each level heading is written
|
|
44
|
+
"C4 Level N: ...", so no level label collides with a component ID such as C3.
|
|
38
45
|
|
|
39
46
|
Do NOT use the C4Context / C4Container diagram types. They are experimental in Mermaid: no
|
|
40
47
|
direction control, relationship labels collide with arrowheads, and rendering varies across
|
|
41
48
|
viewers. `flowchart` is the most widely supported type and puts labels legibly on the arrow.
|
|
42
49
|
|
|
50
|
+
EVERY edge carries a label saying what flows over it (a request, a record, money, a file),
|
|
51
|
+
never a bare arrow.
|
|
52
|
+
|
|
43
53
|
Skip a level with "N/A: [why]". For a trivial single-file change with no new external
|
|
44
54
|
interaction, write "N/A: [why]" for the whole section. -->
|
|
45
55
|
|
|
@@ -100,8 +110,8 @@ flowchart LR
|
|
|
100
110
|
### C4 Level 3: Component
|
|
101
111
|
|
|
102
112
|
<!-- Required when this feature touches 3+ components within a single container; otherwise write
|
|
103
|
-
"N/A: covered by
|
|
104
|
-
table verbatim, and a diagram that adds nothing trains authors to tick boxes. -->
|
|
113
|
+
"N/A: covered by Components & Boundaries". On a small change this diagram restates the
|
|
114
|
+
Components & Boundaries table verbatim, and a diagram that adds nothing trains authors to tick boxes. -->
|
|
105
115
|
|
|
106
116
|
[Internals of the container this feature changes — handlers, services, ports, adapters.]
|
|
107
117
|
|
|
@@ -117,7 +127,85 @@ flowchart TB
|
|
|
117
127
|
C_B -->|"[persists]"| STORE
|
|
118
128
|
```
|
|
119
129
|
|
|
120
|
-
|
|
130
|
+
[One closing sentence: what this feature decides versus where the data or money moves.]
|
|
131
|
+
|
|
132
|
+
## 3. Concepts
|
|
133
|
+
|
|
134
|
+
<!-- Write the handful of nouns a reader must hold to follow the Journeys, in plain words: no
|
|
135
|
+
component IDs, no code names. One `flowchart` of how they relate (every edge labelled with the
|
|
136
|
+
relationship), then a glossary table. Leave out anything a journey does not use. Write
|
|
137
|
+
"N/A: [why]" for a design with no domain vocabulary worth defining. -->
|
|
138
|
+
|
|
139
|
+
```mermaid
|
|
140
|
+
flowchart LR
|
|
141
|
+
TERM_A["[Concept A]"]
|
|
142
|
+
TERM_B["[Concept B]"]
|
|
143
|
+
TERM_C["[Concept C]"]
|
|
144
|
+
|
|
145
|
+
TERM_A -->|"[relationship, e.g. has many]"| TERM_B
|
|
146
|
+
TERM_B -->|"[relationship, e.g. is checked against]"| TERM_C
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
| Term | Meaning |
|
|
150
|
+
|---|---|
|
|
151
|
+
| [Concept A] | [one plain sentence] |
|
|
152
|
+
| [Concept B] | [one plain sentence] |
|
|
153
|
+
|
|
154
|
+
## 4. Journeys
|
|
155
|
+
|
|
156
|
+
<!-- One `### Journey N — <name>` per user or system journey, in the order a reader meets them. Each
|
|
157
|
+
carries one picture (a `flowchart` or a `sequenceDiagram`), a `stateDiagram-v2` for EVERY
|
|
158
|
+
stateful thing the journey creates, and a small rules table. Write in plain nouns: no component
|
|
159
|
+
IDs, no code names. Leave out internal calls that no actor sees. Write "N/A: [why]" for the
|
|
160
|
+
whole section when the design has no user or system journey (a pure library or refactor). -->
|
|
161
|
+
|
|
162
|
+
### Journey 1 — [journey name]
|
|
163
|
+
|
|
164
|
+
[One sentence: who starts this journey and what it ends with.]
|
|
165
|
+
|
|
166
|
+
```mermaid
|
|
167
|
+
flowchart LR
|
|
168
|
+
START["[trigger]"] -->|"[what flows]"| CHECK{"[decision]"}
|
|
169
|
+
CHECK -->|"[pass: what flows]"| DONE["[outcome]"]
|
|
170
|
+
CHECK -->|"[fail: what flows]"| STOP["[alternate outcome]"]
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
```mermaid
|
|
174
|
+
stateDiagram-v2
|
|
175
|
+
[*] --> Created
|
|
176
|
+
Created --> Active: [guarded transition]
|
|
177
|
+
Active --> Ended: [guarded transition]
|
|
178
|
+
Ended --> [*]
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
| Rule | Why it holds |
|
|
182
|
+
|---|---|
|
|
183
|
+
| [a rule this journey enforces] | [the reason, or what breaks without it] |
|
|
184
|
+
|
|
185
|
+
### Worked example
|
|
186
|
+
|
|
187
|
+
<!-- Real numbers that make the rules checkable: one case that passes and one that does not, then the
|
|
188
|
+
result. Close with one caveat sentence saying what is not guaranteed. Leave out hypothetical
|
|
189
|
+
values you cannot compute. -->
|
|
190
|
+
|
|
191
|
+
| Candidate | Eligible? | Why | Result |
|
|
192
|
+
|---|---|---|---|
|
|
193
|
+
| [case that passes, with a real figure] | yes | [which rule it meets] | [computed outcome] |
|
|
194
|
+
| [case that fails, with a real figure] | no | [which rule it breaks] | [computed outcome] |
|
|
195
|
+
|
|
196
|
+
[Caveat: what is shown but not guaranteed, and where it is re-checked.]
|
|
197
|
+
|
|
198
|
+
### Eligibility / decision inputs
|
|
199
|
+
|
|
200
|
+
<!-- A TABLE, never a mindmap: DIAGRAM_GUIDE.md excludes `mindmap`. One row per group of inputs the
|
|
201
|
+
decision reads; say what the first version reads and what comes later. -->
|
|
202
|
+
|
|
203
|
+
| Input group | What is read | Read in this version? |
|
|
204
|
+
|---|---|---|
|
|
205
|
+
| [group, e.g. the user] | [the facts checked] | yes |
|
|
206
|
+
| [group, e.g. the limits] | [the facts checked] | later: [why] |
|
|
207
|
+
|
|
208
|
+
## 5. Components & Boundaries
|
|
121
209
|
|
|
122
210
|
| ID | Component | Kind | Serves | Status |
|
|
123
211
|
|---|---|---|---|---|
|
|
@@ -134,7 +222,7 @@ flowchart TB
|
|
|
134
222
|
- **Does not own:** [what a reader could expect it to hold but another component does].
|
|
135
223
|
- **Contracts:** [the FR-### and IC-### identifiers it serves].
|
|
136
224
|
|
|
137
|
-
##
|
|
225
|
+
## 6. API / Interface Contracts
|
|
138
226
|
|
|
139
227
|
<!-- Endpoints, CLI verb signatures, and repository/service interfaces that anchor implementation
|
|
140
228
|
live in ./specs.md §1 Interface Contracts, not here — each as one ID-bearing IC-### entry so
|
|
@@ -142,7 +230,7 @@ flowchart TB
|
|
|
142
230
|
this feature genuinely introduces no interface contracts; otherwise leave a one-line pointer,
|
|
143
231
|
e.g. "See ./specs.md §1." -->
|
|
144
232
|
|
|
145
|
-
##
|
|
233
|
+
## 7. Data Model
|
|
146
234
|
|
|
147
235
|
The data-model shape is governed by `./data-model.md` §1.
|
|
148
236
|
|
|
@@ -150,7 +238,7 @@ The data-model shape is governed by `./data-model.md` §1.
|
|
|
150
238
|
./data-model.md §1 Data Model, not here. Write `N/A: [why]` if this feature introduces no data
|
|
151
239
|
model or UX changes; otherwise leave a one-line pointer, e.g. "See ./data-model.md §1." -->
|
|
152
240
|
|
|
153
|
-
##
|
|
241
|
+
## 8. Sequence / Data Flow
|
|
154
242
|
|
|
155
243
|
The data-flow shape is governed by `./data-model.md` §2.
|
|
156
244
|
|
|
@@ -159,7 +247,7 @@ The data-flow shape is governed by `./data-model.md` §2.
|
|
|
159
247
|
no non-trivial interaction sequence; otherwise leave a one-line pointer, e.g.
|
|
160
248
|
"See ./data-model.md §2." -->
|
|
161
249
|
|
|
162
|
-
##
|
|
250
|
+
## 9. Design Risks & Alternatives Considered
|
|
163
251
|
|
|
164
252
|
| ID | Risk / Alternative | Disposition | Status |
|
|
165
253
|
|---|---|---|---|
|
|
@@ -169,7 +257,16 @@ The data-flow shape is governed by `./data-model.md` §2.
|
|
|
169
257
|
|
|
170
258
|
- **R1** → [why this shape was chosen, or why the risk is accepted and what it costs if it lands].
|
|
171
259
|
|
|
172
|
-
##
|
|
260
|
+
## 10. Open Points for Review
|
|
261
|
+
|
|
262
|
+
<!-- The questions this design could not answer, ending the design instead of a bare risk list. One
|
|
263
|
+
bold-led question per bullet, followed by the reasoning already known (a figure, a trade-off, the
|
|
264
|
+
option you lean to). Lead each with the question in bold; do not number them with an ID. Write
|
|
265
|
+
"None — no open points." when every question was settled. -->
|
|
266
|
+
|
|
267
|
+
- **[A question a reviewer must answer?]** [The reasoning already known and the option leaned to.]
|
|
268
|
+
|
|
269
|
+
## 11. Assumptions
|
|
173
270
|
|
|
174
271
|
<!-- With a decision register, a row from a "Decide for me" pick cites its DEC-### in Basis: see ARTIFACT_FORMAT.md §12. -->
|
|
175
272
|
|
|
@@ -185,7 +282,7 @@ The data-flow shape is governed by `./data-model.md` §2.
|
|
|
185
282
|
and detail if every design-level ambiguity was resolved by a direct answer rather than the
|
|
186
283
|
defer escape hatch during /do-design's clarification loop. -->
|
|
187
284
|
|
|
188
|
-
##
|
|
285
|
+
## 12. History
|
|
189
286
|
|
|
190
287
|
<!-- Superseded design decisions move here; the index row above stays as a tombstone with
|
|
191
288
|
`Superseded → <ref>`. -->
|
|
@@ -15,14 +15,15 @@
|
|
|
15
15
|
|
|
16
16
|
## 2. Constitution Check (GATE)
|
|
17
17
|
|
|
18
|
-
>
|
|
19
|
-
>
|
|
20
|
-
>
|
|
18
|
+
> One row per principle of both constitution tiers; a tier-2 ID replaces the base one. `Tier` is the
|
|
19
|
+
> constitution's (MUST unless it says SHOULD), `Result` is PASS or FAIL. A MUST marked FAIL, or a MUST
|
|
20
|
+
> principle with no row, refuses the planning stage's exit; a SHOULD FAIL is advisory. Revise the
|
|
21
|
+
> plan, or a person amends the constitution with `/do-constitution`; there is no waiver.
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
| Principle | Tier | Result | How |
|
|
24
|
+
|---|---|---|---|
|
|
25
|
+
| P1 | MUST | PASS | [how the plan complies] |
|
|
26
|
+
| [ID] | [MUST/SHOULD] | [PASS/FAIL] | [how] |
|
|
26
27
|
|
|
27
28
|
## 3. Research & Decisions
|
|
28
29
|
|
|
@@ -126,12 +127,12 @@ flowchart LR
|
|
|
126
127
|
|
|
127
128
|
### Phase A — [name]
|
|
128
129
|
|
|
129
|
-
- [ ] A.1 [P] [US1] [task] — owner: [agent]; files: [paths]; depends-on: [service, optional]; external-contract: [doc path, optional]
|
|
130
|
-
- [ ] A.2 [US1] [task, depends A.1] — owner: [agent]; files: [paths]; depends-on: [service, optional]; external-contract: [doc path, optional]
|
|
130
|
+
- [ ] A.1 [P] [US1] [task] — acceptance: [FR-/NFR-/IC- ids, comma-separated]; owner: [agent]; files: [paths]; depends-on: [service, optional]; external-contract: [doc path, optional]
|
|
131
|
+
- [ ] A.2 [US1] [task, depends A.1] — acceptance: [FR-/NFR-/IC- ids, comma-separated]; owner: [agent]; files: [paths]; depends-on: [service, optional]; external-contract: [doc path, optional]
|
|
131
132
|
|
|
132
133
|
### Phase B — [name]
|
|
133
134
|
|
|
134
|
-
- [ ] B.1 [P] [US2] [task] — owner: [agent]; files: [paths]; depends-on: [service, optional]; external-contract: [doc path, optional]
|
|
135
|
+
- [ ] B.1 [P] [US2] [task] — acceptance: [FR-/NFR-/IC- ids, comma-separated]; owner: [agent]; files: [paths]; depends-on: [service, optional]; external-contract: [doc path, optional]
|
|
135
136
|
|
|
136
137
|
### Checkpoints
|
|
137
138
|
|
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
|
|
5
5
|
> The one recurring shape every `intention/*-question.md`, `design/*-question.md` and
|
|
6
6
|
> `plan/*-question.md` file uses: the Socratic dialogue transcript for a single round of a chain
|
|
7
|
-
> stage's
|
|
7
|
+
> stage's question-tool loop. This is a dialogue transcript, not an ID-bearing normative
|
|
8
8
|
> artifact — out of `references/ARTIFACT_FORMAT.md`'s index/detail scope, the same way that
|
|
9
9
|
> reference's own intro already carves out `state.md`.
|
|
10
10
|
>
|
|
11
11
|
> Not to be confused with the differently-named `{stage}-questions.md` convention in
|
|
12
|
-
> `rules/
|
|
12
|
+
> RULE_04 of `rules/RULES.md`: that file is a *request for input*, written for a
|
|
13
13
|
> non-interactive harness and awaiting a `[Answer]:` tag before the run can continue. This one is
|
|
14
14
|
> the opposite direction — a completed *record* of a round that already happened, filed after the
|
|
15
15
|
> user answered, never awaiting anything.
|
|
@@ -40,6 +40,18 @@
|
|
|
40
40
|
|
|
41
41
|
**Answer:** [verbatim]
|
|
42
42
|
|
|
43
|
+
## Coverage
|
|
44
|
+
|
|
45
|
+
<!-- One line per requirement area as it stands after this round, each Clear, Partial, Missing or
|
|
46
|
+
Deferred (spec-kit clarify's coverage map). Missing or Partial areas are the next round's
|
|
47
|
+
questions, or the stated gaps when the loop stops; Deferred names who deferred it. -->
|
|
48
|
+
- Problem and outcome: [Clear|Partial|Missing|Deferred]
|
|
49
|
+
- Users and stories: [Clear|Partial|Missing|Deferred]
|
|
50
|
+
- Functional scope: [Clear|Partial|Missing|Deferred]
|
|
51
|
+
- Non-functional: [Clear|Partial|Missing|Deferred]
|
|
52
|
+
- Out of scope: [Clear|Partial|Missing|Deferred]
|
|
53
|
+
- Acceptance: [Clear|Partial|Missing|Deferred]
|
|
54
|
+
|
|
43
55
|
<!-- Repeat one "## Question N" block per question actually asked this round — omit blocks for
|
|
44
56
|
questions that were not asked rather than leaving placeholders behind.
|
|
45
57
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
**Intent:** [agent-docs/intent/<name>.md, or "none"]
|
|
6
6
|
|
|
7
7
|
> WHAT and WHY only — no tech or implementation detail. Zero unresolved clarification markers at
|
|
8
|
-
> hand-off — every ambiguity is resolved via
|
|
8
|
+
> hand-off — every ambiguity is resolved via the question tool before this file is written;
|
|
9
9
|
> deferred answers become assumptions in §8.
|
|
10
10
|
>
|
|
11
11
|
> Structure follows `references/ARTIFACT_FORMAT.md`: indexed sections carry a table above full
|
|
@@ -13,5 +13,7 @@ delivery sequence, pausing where human judgment matters:
|
|
|
13
13
|
5. Execute `/do-execute-plan --scope next` repeatedly until the plan's checklist is complete.
|
|
14
14
|
6. Run `/do-test`, then `/do-code-review`, and report both results before proposing any commit.
|
|
15
15
|
|
|
16
|
+
Unattended (no person watching), stop at each pause above and report; silence is never approval.
|
|
17
|
+
|
|
16
18
|
If the user comments directly inside any specification file, re-read it, apply the requested
|
|
17
19
|
changes, and ask for approval again before moving on.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "doflow-worker-checks-v1",
|
|
3
|
+
"harness": "antigravity",
|
|
4
|
+
"binary": "agy",
|
|
5
|
+
"version": { "argv": ["--version"], "expect": "^\\d+\\.\\d+\\.\\d+" },
|
|
6
|
+
"checks": [
|
|
7
|
+
{
|
|
8
|
+
"id": "help-model",
|
|
9
|
+
"argv": ["--help"],
|
|
10
|
+
"expect": ["^\\s+--model\\s"],
|
|
11
|
+
"establishes": ["model"]
|
|
12
|
+
}
|
|
13
|
+
]
|
|
14
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
{
|
|
2
|
+
"binary": "codex",
|
|
3
|
+
"checks": [
|
|
4
|
+
{
|
|
5
|
+
"argv": [
|
|
6
|
+
"exec",
|
|
7
|
+
"--help"
|
|
8
|
+
],
|
|
9
|
+
"establishes": [
|
|
10
|
+
"runnableProbe",
|
|
11
|
+
"oneShot"
|
|
12
|
+
],
|
|
13
|
+
"exit": 0,
|
|
14
|
+
"expect": [
|
|
15
|
+
"^Usage: codex exec \\[OPTIONS\\] \\[PROMPT\\]",
|
|
16
|
+
"instructions are read from stdin"
|
|
17
|
+
],
|
|
18
|
+
"id": "exec-one-shot",
|
|
19
|
+
"matched": [
|
|
20
|
+
"Usage: codex exec [OPTIONS] [PROMPT]",
|
|
21
|
+
" instructions are read from stdin. If stdin is piped and a prompt is also provided, stdin"
|
|
22
|
+
],
|
|
23
|
+
"result": "pass"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"argv": [
|
|
27
|
+
"exec",
|
|
28
|
+
"--help"
|
|
29
|
+
],
|
|
30
|
+
"establishes": [
|
|
31
|
+
"structuredOutput"
|
|
32
|
+
],
|
|
33
|
+
"exit": 0,
|
|
34
|
+
"expect": [
|
|
35
|
+
"^\\s+--json$",
|
|
36
|
+
"Print events to stdout as JSONL",
|
|
37
|
+
"-o, --output-last-message"
|
|
38
|
+
],
|
|
39
|
+
"id": "exec-json",
|
|
40
|
+
"matched": [
|
|
41
|
+
" --json",
|
|
42
|
+
" Print events to stdout as JSONL",
|
|
43
|
+
" -o, --output-last-message <FILE>"
|
|
44
|
+
],
|
|
45
|
+
"result": "pass"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"argv": [
|
|
49
|
+
"exec",
|
|
50
|
+
"--help"
|
|
51
|
+
],
|
|
52
|
+
"establishes": [
|
|
53
|
+
"readOnly",
|
|
54
|
+
"isolatedEdit"
|
|
55
|
+
],
|
|
56
|
+
"exit": 0,
|
|
57
|
+
"expect": [
|
|
58
|
+
"-s, --sandbox <SANDBOX_MODE>",
|
|
59
|
+
"read-only, workspace-write"
|
|
60
|
+
],
|
|
61
|
+
"id": "exec-sandbox",
|
|
62
|
+
"matched": [
|
|
63
|
+
" -s, --sandbox <SANDBOX_MODE>",
|
|
64
|
+
" [possible values: read-only, workspace-write, danger-full-access]"
|
|
65
|
+
],
|
|
66
|
+
"result": "pass"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"argv": [
|
|
70
|
+
"features",
|
|
71
|
+
"list",
|
|
72
|
+
"--disable",
|
|
73
|
+
"multi_agent",
|
|
74
|
+
"--disable",
|
|
75
|
+
"multi_agent_v2"
|
|
76
|
+
],
|
|
77
|
+
"establishes": [
|
|
78
|
+
"spawnDenial"
|
|
79
|
+
],
|
|
80
|
+
"exit": 0,
|
|
81
|
+
"expect": [
|
|
82
|
+
"^multi_agent\\s+\\S+\\s+false$",
|
|
83
|
+
"^multi_agent_v2\\s+\\S+\\s+false$"
|
|
84
|
+
],
|
|
85
|
+
"id": "spawn-denial",
|
|
86
|
+
"matched": [
|
|
87
|
+
"multi_agent stable false",
|
|
88
|
+
"multi_agent_v2 stable false"
|
|
89
|
+
],
|
|
90
|
+
"result": "pass"
|
|
91
|
+
}
|
|
92
|
+
],
|
|
93
|
+
"cliVersion": "codex-cli 0.163.0",
|
|
94
|
+
"establishes": [
|
|
95
|
+
"isolatedEdit",
|
|
96
|
+
"oneShot",
|
|
97
|
+
"readOnly",
|
|
98
|
+
"runnableProbe",
|
|
99
|
+
"spawnDenial",
|
|
100
|
+
"structuredOutput"
|
|
101
|
+
],
|
|
102
|
+
"harness": "codex",
|
|
103
|
+
"kind": "cli-check",
|
|
104
|
+
"recordedAt": "2026-10-18T01:08:16.330Z",
|
|
105
|
+
"run": null,
|
|
106
|
+
"schema": "doflow-worker-evidence-v1"
|
|
107
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
{
|
|
2
|
+
"binary": "codex",
|
|
3
|
+
"checks": [],
|
|
4
|
+
"cliVersion": "codex-cli 0.163.0",
|
|
5
|
+
"establishes": [
|
|
6
|
+
"oneShot",
|
|
7
|
+
"structuredOutput",
|
|
8
|
+
"spawnDenial",
|
|
9
|
+
"isolatedEdit"
|
|
10
|
+
],
|
|
11
|
+
"harness": "codex",
|
|
12
|
+
"kind": "live-run",
|
|
13
|
+
"recordedAt": "2026-10-18T03:36:27.965Z",
|
|
14
|
+
"run": {
|
|
15
|
+
"argvShape": [
|
|
16
|
+
"exec",
|
|
17
|
+
"-s",
|
|
18
|
+
"workspace-write",
|
|
19
|
+
"--disable",
|
|
20
|
+
"multi_agent",
|
|
21
|
+
"--disable",
|
|
22
|
+
"multi_agent_v2",
|
|
23
|
+
"--json",
|
|
24
|
+
"-o",
|
|
25
|
+
"<last-message-file>",
|
|
26
|
+
"--ephemeral",
|
|
27
|
+
"-"
|
|
28
|
+
],
|
|
29
|
+
"edit": true,
|
|
30
|
+
"exit": 0,
|
|
31
|
+
"isolation": {
|
|
32
|
+
"attemptHead": {
|
|
33
|
+
"after": {
|
|
34
|
+
"object": "28bffdd57fb3d737fea5e478dfdc6a40b5d7ad6a",
|
|
35
|
+
"ref": "refs/heads/doflow-attempt/109-d1-edit/d-009378735f3b"
|
|
36
|
+
},
|
|
37
|
+
"before": {
|
|
38
|
+
"object": "28bffdd57fb3d737fea5e478dfdc6a40b5d7ad6a",
|
|
39
|
+
"ref": "refs/heads/doflow-attempt/109-d1-edit/d-009378735f3b"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"callerHead": {
|
|
43
|
+
"after": {
|
|
44
|
+
"object": "28bffdd57fb3d737fea5e478dfdc6a40b5d7ad6a",
|
|
45
|
+
"ref": "refs/heads/main"
|
|
46
|
+
},
|
|
47
|
+
"before": {
|
|
48
|
+
"object": "28bffdd57fb3d737fea5e478dfdc6a40b5d7ad6a",
|
|
49
|
+
"ref": "refs/heads/main"
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"changes": [],
|
|
53
|
+
"reason": null,
|
|
54
|
+
"refsChanged": false,
|
|
55
|
+
"status": "clean"
|
|
56
|
+
},
|
|
57
|
+
"parser": "codex-exec-json-v1",
|
|
58
|
+
"readOnly": null,
|
|
59
|
+
"report": {
|
|
60
|
+
"deniedCount": 0,
|
|
61
|
+
"reason": null,
|
|
62
|
+
"status": "success",
|
|
63
|
+
"usage": {
|
|
64
|
+
"tokens": 181978
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"resultOffered": true,
|
|
68
|
+
"runId": "w-821933d703be",
|
|
69
|
+
"stdoutBytes": 5891,
|
|
70
|
+
"withheld": []
|
|
71
|
+
},
|
|
72
|
+
"schema": "doflow-worker-evidence-v1"
|
|
73
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"binary": "codex",
|
|
3
|
+
"checks": [],
|
|
4
|
+
"cliVersion": "codex-cli 0.163.0",
|
|
5
|
+
"establishes": [
|
|
6
|
+
"oneShot",
|
|
7
|
+
"structuredOutput",
|
|
8
|
+
"spawnDenial",
|
|
9
|
+
"readOnly"
|
|
10
|
+
],
|
|
11
|
+
"harness": "codex",
|
|
12
|
+
"kind": "live-run",
|
|
13
|
+
"recordedAt": "2026-10-18T03:35:53.729Z",
|
|
14
|
+
"run": {
|
|
15
|
+
"argvShape": [
|
|
16
|
+
"exec",
|
|
17
|
+
"-s",
|
|
18
|
+
"read-only",
|
|
19
|
+
"--disable",
|
|
20
|
+
"multi_agent",
|
|
21
|
+
"--disable",
|
|
22
|
+
"multi_agent_v2",
|
|
23
|
+
"--json",
|
|
24
|
+
"-o",
|
|
25
|
+
"<last-message-file>",
|
|
26
|
+
"--ephemeral",
|
|
27
|
+
"-"
|
|
28
|
+
],
|
|
29
|
+
"edit": false,
|
|
30
|
+
"exit": 0,
|
|
31
|
+
"isolation": null,
|
|
32
|
+
"parser": "codex-exec-json-v1",
|
|
33
|
+
"readOnly": {
|
|
34
|
+
"changes": [],
|
|
35
|
+
"head": {
|
|
36
|
+
"after": {
|
|
37
|
+
"object": "28bffdd57fb3d737fea5e478dfdc6a40b5d7ad6a",
|
|
38
|
+
"ref": "refs/heads/d1-read-only"
|
|
39
|
+
},
|
|
40
|
+
"before": {
|
|
41
|
+
"object": "28bffdd57fb3d737fea5e478dfdc6a40b5d7ad6a",
|
|
42
|
+
"ref": "refs/heads/d1-read-only"
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"refsChanged": false,
|
|
46
|
+
"status": "clean"
|
|
47
|
+
},
|
|
48
|
+
"report": {
|
|
49
|
+
"deniedCount": 0,
|
|
50
|
+
"reason": null,
|
|
51
|
+
"status": "success",
|
|
52
|
+
"usage": {
|
|
53
|
+
"tokens": 63066
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"resultOffered": true,
|
|
57
|
+
"runId": "w-067a85a5cc2d",
|
|
58
|
+
"stdoutBytes": 2203,
|
|
59
|
+
"withheld": []
|
|
60
|
+
},
|
|
61
|
+
"schema": "doflow-worker-evidence-v1"
|
|
62
|
+
}
|