@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
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 1,
|
|
3
|
+
"agentSkillsSpec": {
|
|
4
|
+
"skillFields": ["name", "description", "license", "compatibility", "metadata", "allowed-tools"],
|
|
5
|
+
"source": "https://agentskills.io/specification",
|
|
6
|
+
"verifiedOn": "2026-10-27",
|
|
7
|
+
"note": "The Agent Skills standard's SKILL.md keys; metadata is a map of string keys to string values. A projected SKILL.md keeps these and its harness's skillFields at the top level and carries every other key under metadata (src/adapters/copy-tree.js, skill-frontmatter-<harness>; G22). unknownSkillFields records what the vendor page says the harness does with a key it does not define."
|
|
8
|
+
},
|
|
3
9
|
"contracts": [
|
|
4
10
|
{
|
|
5
11
|
"harness": "claude",
|
|
@@ -22,8 +28,14 @@
|
|
|
22
28
|
"background",
|
|
23
29
|
"hooks",
|
|
24
30
|
"paths",
|
|
25
|
-
"shell"
|
|
31
|
+
"shell",
|
|
32
|
+
"metadata",
|
|
33
|
+
"license",
|
|
34
|
+
"compatibility"
|
|
26
35
|
],
|
|
36
|
+
"skillFieldsSource": "https://code.claude.com/docs/en/skills",
|
|
37
|
+
"skillFieldsVerifiedOn": "2026-10-27",
|
|
38
|
+
"unknownSkillFields": "ignored",
|
|
27
39
|
"agentFields": [
|
|
28
40
|
"name",
|
|
29
41
|
"description",
|
|
@@ -40,7 +52,10 @@
|
|
|
40
52
|
"effort",
|
|
41
53
|
"isolation",
|
|
42
54
|
"color",
|
|
43
|
-
"initialPrompt"
|
|
55
|
+
"initialPrompt",
|
|
56
|
+
"autoCompactWindow",
|
|
57
|
+
"omitClaudeMd",
|
|
58
|
+
"experimental"
|
|
44
59
|
],
|
|
45
60
|
"hookEvents": [
|
|
46
61
|
"SessionStart",
|
|
@@ -73,7 +88,9 @@
|
|
|
73
88
|
"Notification",
|
|
74
89
|
"MessageDisplay",
|
|
75
90
|
"Elicitation",
|
|
76
|
-
"ElicitationResult"
|
|
91
|
+
"ElicitationResult",
|
|
92
|
+
"PreModelSwitch",
|
|
93
|
+
"PostModelSwitch"
|
|
77
94
|
],
|
|
78
95
|
"evidence": [
|
|
79
96
|
"https://code.claude.com/docs/en/skills",
|
|
@@ -85,7 +102,11 @@
|
|
|
85
102
|
{
|
|
86
103
|
"harness": "codex",
|
|
87
104
|
"completeness": "lower-bound",
|
|
88
|
-
"note": "
|
|
105
|
+
"note": "skillFields lists the SKILL.md keys Codex documents; the projected SKILL.md keeps only those and the Agent Skills spec keys at the top level (row 131). agentFields is deliberately absent: shared agent specs are byte-identical across harnesses, so a per-harness list could only restate a subset of claude's and would change no guard outcome \u2014 an inert declaration of exactly the kind these guards exist to remove. hookEvents IS per-harness and lists the events DoFlow actually wires; widen it only with an added evidence URL.",
|
|
106
|
+
"skillFields": ["name", "description"],
|
|
107
|
+
"skillFieldsSource": "https://learn.chatgpt.com/docs/build-skills",
|
|
108
|
+
"skillFieldsVerifiedOn": "2026-10-27",
|
|
109
|
+
"unknownSkillFields": "not-documented",
|
|
89
110
|
"hookEvents": [
|
|
90
111
|
"SessionStart",
|
|
91
112
|
"SessionEnd",
|
|
@@ -103,27 +124,14 @@
|
|
|
103
124
|
"https://learn.chatgpt.com/docs/agent-configuration/subagents"
|
|
104
125
|
]
|
|
105
126
|
},
|
|
106
|
-
{
|
|
107
|
-
"harness": "gemini",
|
|
108
|
-
"completeness": "lower-bound",
|
|
109
|
-
"note": "Frontmatter field lists are deliberately absent: shared skills and agent specs are byte-identical across harnesses, so a per-harness list could only restate a subset of claude's and would change no guard outcome \u2014 an inert declaration of exactly the kind these guards exist to remove. hookEvents IS per-harness and lists the events DoFlow actually wires; widen it only with an added evidence URL.",
|
|
110
|
-
"hookEvents": [
|
|
111
|
-
"SessionStart",
|
|
112
|
-
"SessionEnd",
|
|
113
|
-
"BeforeTool",
|
|
114
|
-
"AfterTool",
|
|
115
|
-
"PreCompress"
|
|
116
|
-
],
|
|
117
|
-
"evidence": [
|
|
118
|
-
"https://geminicli.com/docs/cli/skills/",
|
|
119
|
-
"https://geminicli.com/docs/hooks/",
|
|
120
|
-
"https://geminicli.com/docs/cli/settings/"
|
|
121
|
-
]
|
|
122
|
-
},
|
|
123
127
|
{
|
|
124
128
|
"harness": "opencode",
|
|
125
129
|
"completeness": "lower-bound",
|
|
126
130
|
"note": "hookEvents is empty by design, not by omission: OpenCode implements lifecycle handlers as JavaScript/TypeScript plugin modules exporting named hooks such as tool.execute.before, while DoFlow ships shell scripts invoked by a command string. The events exist natively and are recorded under capabilities.hooks.events with status \"different\"; wiring them would mean shipping executable code into the user's agent, which is a distribution decision rather than a projection. Widen this list only alongside that decision and an added evidence URL. See https://opencode.ai/docs/plugins.",
|
|
131
|
+
"skillFields": ["name", "description", "license", "compatibility", "metadata"],
|
|
132
|
+
"skillFieldsSource": "https://opencode.ai/docs/skills",
|
|
133
|
+
"skillFieldsVerifiedOn": "2026-10-27",
|
|
134
|
+
"unknownSkillFields": "ignored",
|
|
127
135
|
"hookEvents": [],
|
|
128
136
|
"evidence": [
|
|
129
137
|
"https://opencode.ai/docs/plugins",
|
|
@@ -135,6 +143,10 @@
|
|
|
135
143
|
"harness": "pi",
|
|
136
144
|
"completeness": "lower-bound",
|
|
137
145
|
"note": "DoFlow installs a user- or project-scope extension that registers tool_call through pi.on() and invokes the shared lifecycle bridge. Project scope requires project trust. The handler can block before tools execute; tool_execution_start remains observation-only. See https://pi.dev/docs/latest/extensions.",
|
|
146
|
+
"skillFields": ["name", "description", "license", "compatibility", "metadata", "allowed-tools", "disable-model-invocation"],
|
|
147
|
+
"skillFieldsSource": "https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/skills.md",
|
|
148
|
+
"skillFieldsVerifiedOn": "2026-10-27",
|
|
149
|
+
"unknownSkillFields": "warned",
|
|
138
150
|
"hookEvents": ["tool_call"],
|
|
139
151
|
"evidence": [
|
|
140
152
|
"https://pi.dev/docs/latest/extensions",
|
|
@@ -145,8 +157,18 @@
|
|
|
145
157
|
{
|
|
146
158
|
"harness": "copilot",
|
|
147
159
|
"completeness": "lower-bound",
|
|
148
|
-
"note": "
|
|
149
|
-
"
|
|
160
|
+
"note": "hookEvents lists the events DoFlow wires through .github/hooks/doflow.json, under the PascalCase names the lifecycle registry uses: SessionStart (native sessionStart), PreToolUse (preToolUse), Stop (agentStop), SubagentStart (subagentStart) and SubagentStop (subagentStop). Event surface, payloads and the deny shape were read from https://docs.github.com/en/copilot/reference/hooks-reference and checked against a live Copilot CLI 1.0.103 capture on 2026-10-27 (verified_on 2026-10-27); where they disagree the capture wins (toolArgs is a JSON object, or a raw string for apply_patch, not the documented JSON string). Widen only alongside an added evidence URL.",
|
|
161
|
+
"skillFields": ["name", "description", "license", "allowed-tools"],
|
|
162
|
+
"skillFieldsSource": "https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-skills",
|
|
163
|
+
"skillFieldsVerifiedOn": "2026-10-27",
|
|
164
|
+
"unknownSkillFields": "not-documented",
|
|
165
|
+
"hookEvents": [
|
|
166
|
+
"SessionStart",
|
|
167
|
+
"PreToolUse",
|
|
168
|
+
"Stop",
|
|
169
|
+
"SubagentStart",
|
|
170
|
+
"SubagentStop"
|
|
171
|
+
],
|
|
150
172
|
"evidence": [
|
|
151
173
|
"https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-skills",
|
|
152
174
|
"https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/create-custom-agents-for-cli",
|
|
@@ -157,32 +179,37 @@
|
|
|
157
179
|
{
|
|
158
180
|
"harness": "kiro",
|
|
159
181
|
"completeness": "lower-bound",
|
|
160
|
-
"note": "hookEvents lists only the events DoFlow actually installs a doflow.json entry for (session-context on SessionStart, pre-implementation-gate
|
|
182
|
+
"note": "hookEvents lists only the events DoFlow actually installs a doflow.json entry for (session-context on SessionStart, pre-implementation-gate and mcp-tool-guard both on PreToolUse \u2014 hence PreToolUse appearing once, not twice \u2014 and stop-check on Stop), not the full set of trigger names Kiro's docs confirm (SessionStart, Stop, PreToolUse, PostToolUse, UserPromptSubmit, PreTaskExec, PostTaskExec, PostFileSave, PostFileCreate, PostFileDelete, plus SessionEnd on CLI V3 only \u2014 see kiro.dev/docs/hooks/types/). Widen this list only when DoFlow wires a hook to one of the unused confirmed events, alongside an added evidence URL.",
|
|
183
|
+
"skillFields": ["name", "description", "license", "compatibility", "metadata"],
|
|
184
|
+
"skillFieldsSource": "https://kiro.dev/docs/skills/",
|
|
185
|
+
"skillFieldsVerifiedOn": "2026-10-27",
|
|
186
|
+
"unknownSkillFields": "not-documented",
|
|
161
187
|
"hookEvents": [
|
|
162
188
|
"SessionStart",
|
|
163
189
|
"PreToolUse",
|
|
164
190
|
"Stop"
|
|
165
191
|
],
|
|
166
192
|
"evidence": [
|
|
167
|
-
"https://kiro.dev/docs/steering/",
|
|
168
|
-
"https://kiro.dev/docs/mcp/configuration/",
|
|
169
193
|
"https://kiro.dev/docs/hooks/",
|
|
170
|
-
"https://kiro.dev/docs/hooks/actions/"
|
|
194
|
+
"https://kiro.dev/docs/hooks/actions/",
|
|
195
|
+
"https://kiro.dev/docs/hooks/types/"
|
|
171
196
|
]
|
|
172
197
|
},
|
|
173
198
|
{
|
|
174
199
|
"harness": "antigravity",
|
|
175
200
|
"completeness": "lower-bound",
|
|
176
|
-
"note": "hookEvents lists what DoFlow wires; widen only with added evidence. Antigravity documents
|
|
201
|
+
"note": "hookEvents lists what DoFlow wires; widen only with added evidence. Antigravity documents six hook events (SessionStart added); DoFlow wires PreToolUse (pre-implementation gate) and Stop (stop check) today.",
|
|
202
|
+
"skillFields": ["name", "description"],
|
|
203
|
+
"skillFieldsSource": "https://www.antigravity.google/docs/skills",
|
|
204
|
+
"skillFieldsVerifiedOn": "2026-10-27",
|
|
205
|
+
"unknownSkillFields": "not-documented",
|
|
177
206
|
"hookEvents": [
|
|
178
207
|
"PreToolUse",
|
|
179
208
|
"Stop"
|
|
180
209
|
],
|
|
181
210
|
"evidence": [
|
|
182
|
-
"https://antigravity.google/docs/cli/gcli-migration",
|
|
183
211
|
"https://antigravity.google/docs/hooks",
|
|
184
|
-
"https://antigravity.google/docs/cli
|
|
185
|
-
"https://antigravity.google/docs/hooks/"
|
|
212
|
+
"https://antigravity.google/docs/mcp?tab=cli"
|
|
186
213
|
]
|
|
187
214
|
}
|
|
188
215
|
]
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 1,
|
|
3
|
+
"trustPolicyVersion": 1,
|
|
4
|
+
"forbiddenFields": [
|
|
5
|
+
"enabled", "defaultEnabled", "trust", "trusted", "settings", "guards", "hooks", "floors", "invariants", "order",
|
|
6
|
+
"position", "replaces", "override", "familyProven", "crossFamily", "firstParty", "scripts", "install", "postinstall"
|
|
7
|
+
],
|
|
8
|
+
"limits": { "files": 512, "bytes": 4194304, "fileBytes": 262144, "pathLength": 200 },
|
|
9
|
+
"points": [
|
|
10
|
+
{ "id": "review-preset", "versions": [1], "tier": "inert", "status": "open", "entry": "file",
|
|
11
|
+
"validator": "review-preset-v1", "combine": "add-only", "consumer": "src/runtime/review/protocols.js",
|
|
12
|
+
"referencedBy": ["review.preset"], "slice": "A", "template": "package-templates/review-preset" },
|
|
13
|
+
{ "id": "debate-preset", "versions": [1], "tier": "inert", "status": "open", "entry": "file",
|
|
14
|
+
"validator": "debate-preset-v1", "combine": "add-only", "consumer": "src/runtime/review/protocols.js",
|
|
15
|
+
"referencedBy": ["debate.preset"], "slice": "A", "template": "package-templates/debate-preset" },
|
|
16
|
+
{ "id": "skill", "versions": [1], "tier": "instruction", "status": "open", "entry": "dir",
|
|
17
|
+
"validator": "skill-v1", "combine": "add-only", "consumer": "src/lifecycle/index.js",
|
|
18
|
+
"referencedBy": [], "slice": "C", "template": "package-templates/skill" },
|
|
19
|
+
{ "id": "agent", "versions": [1], "tier": "instruction", "status": "open", "entry": "file",
|
|
20
|
+
"validator": "agent-v1", "combine": "add-only", "consumer": "src/lifecycle/index.js",
|
|
21
|
+
"referencedBy": [], "slice": "C", "template": "package-templates/agent" },
|
|
22
|
+
{ "id": "worker", "versions": [1], "tier": "executable", "status": "open", "entry": "file",
|
|
23
|
+
"validator": "worker-v1", "combine": "add-only", "consumer": "src/runtime/worker/catalogue.js",
|
|
24
|
+
"referencedBy": ["workers.billing"], "slice": "D", "template": "package-templates/worker" },
|
|
25
|
+
{ "id": "capability-provider", "versions": [1], "tier": "executable", "status": "open", "entry": "file",
|
|
26
|
+
"validator": "capability-provider-v1", "combine": "add-only", "consumer": "src/runtime/capability-router.js",
|
|
27
|
+
"referencedBy": [], "slice": "D", "template": "package-templates/capability-provider" },
|
|
28
|
+
{ "id": "intake-category", "versions": [1], "tier": "inert", "status": "open", "entry": "file",
|
|
29
|
+
"validator": "intake-category-v1", "combine": "add-only", "consumer": "src/runtime/intake/taxonomy.js",
|
|
30
|
+
"referencedBy": [], "slice": "136", "template": "package-templates/intake-category" }
|
|
31
|
+
],
|
|
32
|
+
"bundled": [
|
|
33
|
+
{ "id": "doflow", "dir": "core/registry/packages/doflow", "contentDigest": "4684bab1385564aef5e65100c789605895f3597c7fc23f340afa55333d11377b" }
|
|
34
|
+
]
|
|
35
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": 1,
|
|
3
|
+
"classes": {
|
|
4
|
+
"feature": {
|
|
5
|
+
"gate-0": { "autopilot": "approve", "predicates": ["markers-zero:requirement"] },
|
|
6
|
+
"gate-a": { "autopilot": "approve", "predicates": ["protected-paths", "plan-verification-absent", "plan-parses", "markers-zero:design", "markers-zero:plan", "needs-merged", "requires-reachable", "plan-within-write-set"] },
|
|
7
|
+
"gate-b": { "autopilot": "approve", "minSeats": 2, "predicates": ["protected-paths", "plan-verification-absent", "verify-pass-on-head", "findings-valid", "no-dropped-findings", "dispositions-backed", "blockers-zero"] }
|
|
8
|
+
},
|
|
9
|
+
"bug": { "gate-b": { "autopilot": "approve", "minSeats": 2, "predicates": ["protected-paths", "plan-verification-absent", "verify-pass-on-head", "findings-valid", "no-dropped-findings", "dispositions-backed", "blockers-zero"] } },
|
|
10
|
+
"refactor": { "gate-b": { "autopilot": "approve", "minSeats": 2, "predicates": ["protected-paths", "plan-verification-absent", "verify-pass-on-head", "findings-valid", "no-dropped-findings", "dispositions-backed", "blockers-zero"] } },
|
|
11
|
+
"review": {},
|
|
12
|
+
"research": {},
|
|
13
|
+
"documentation": { "gate-b": { "autopilot": "approve", "minSeats": 2, "predicates": ["protected-paths", "plan-verification-absent", "verify-pass-on-head", "findings-valid", "no-dropped-findings", "dispositions-backed", "blockers-zero"] } },
|
|
14
|
+
"dependency-change": {},
|
|
15
|
+
"operations": {},
|
|
16
|
+
"trivial-edit": { "gate-b": { "autopilot": "approve", "minSeats": 2, "predicates": ["protected-paths", "plan-verification-absent", "verify-pass-on-head", "findings-valid", "no-dropped-findings", "dispositions-backed", "blockers-zero"] } }
|
|
17
|
+
},
|
|
18
|
+
"protected": {
|
|
19
|
+
"paths": ["core/registry/gates.json", "src/runtime/roadmap/", "core/registry/verification.json", "src/runtime/workflow-orchestrator.js", "src/runtime/decision-register.js", "core/registry/settings.json", "core/harnesses/shared/hooks/policies/", ".github/workflows/"],
|
|
20
|
+
"guardDir": "test/guards/",
|
|
21
|
+
"packageJsonKeys": ["dependencies", "devDependencies", "peerDependencies", "optionalDependencies"]
|
|
22
|
+
},
|
|
23
|
+
"loop": { "maxSteps": 200, "wip": 2 },
|
|
24
|
+
"merge": { "staleLockSeconds": 120, "extraTrailers": [] },
|
|
25
|
+
"denyReasons": [
|
|
26
|
+
"no-policy", "policy-invalid", "policy-override-widens", "policy-override-invalid", "policy-never", "class-unsupported", "row-unknown", "row-proposed", "seed-typed-status",
|
|
27
|
+
"unresolved-clarifications", "markers-open", "protected-path", "plan-unparsable", "need-unmerged", "prerequisite-no-source", "capability-unreachable", "write-set-exceeded",
|
|
28
|
+
"verify-missing", "verify-not-pass", "verify-flaky", "findings-missing", "findings-invalid", "review-stale-head", "seats-too-few", "finding-dropped", "refuted-without-evidence", "accepted-without-user-decision", "user-accepted-needs-person", "fixed-not-ancestor", "blockers-open",
|
|
29
|
+
"lease-held", "lease-lost", "stage-not-performed", "plan-exit-refused", "report-changed", "pause-not-machine", "facts-unreadable", "autopilot-disabled",
|
|
30
|
+
"git-too-old", "merge-conflict", "develop-wrong-branch", "develop-dirty", "ff-running", "develop-moved", "head-moved", "no-develop-worktree", "plan-changed", "needs-person-tty", "needs-person-confirm"
|
|
31
|
+
]
|
|
32
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 1,
|
|
3
|
+
"description": "Vendor-documented size caps on always-loaded guidance, per harness. scope per-file-after-includes caps each projected always-on file after its includes are expanded; combined-chain caps everything a harness loads at startup together. cap_bytes is null when the vendor documents no byte cap; source_url is then the page checked. Never estimate a number. Read by test/guards/guidance-caps.test.ts (G74). agent_description_caps (row 131) is the same record for the combined name and description text of the shared agent specs, in tokens estimated at 4 characters each; agent_description_ratchet is a growth ceiling, not a vendor cap, that applies where no vendor documents one. Read by test/guards/skill-structure.test.ts (G75).",
|
|
4
|
+
"caps": [
|
|
5
|
+
{"harness": "claude", "cap_bytes": 4194304, "scope": "per-file-after-includes", "source_url": "https://code.claude.com/docs/en/memory", "verified_on": "2026-10-27",
|
|
6
|
+
"note": "4 MiB per CLAUDE.md file loaded at launch; a larger file is skipped entirely. The page's 200-line target is advice, not a cap."},
|
|
7
|
+
{"harness": "codex", "cap_bytes": 32768, "scope": "combined-chain", "source_url": "https://learn.chatgpt.com/docs/agent-configuration/agents-md", "verified_on": "2026-10-27",
|
|
8
|
+
"note": "project_doc_max_bytes, 32 KiB by default: Codex stops adding AGENTS.md files once the combined size reaches it."},
|
|
9
|
+
{"harness": "opencode", "cap_bytes": null, "scope": "combined-chain", "source_url": "https://opencode.ai/docs/rules", "verified_on": "2026-10-27",
|
|
10
|
+
"note": "No size cap documented."},
|
|
11
|
+
{"harness": "pi", "cap_bytes": null, "scope": "combined-chain", "source_url": "https://github.com/earendil-works/pi/blob/main/packages/coding-agent/docs/configuration.md", "verified_on": "2026-10-27",
|
|
12
|
+
"note": "No cap documented; the context-file loader reads each file whole."},
|
|
13
|
+
{"harness": "copilot", "cap_bytes": null, "scope": "per-file-after-includes", "source_url": "https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-custom-instructions", "verified_on": "2026-10-27",
|
|
14
|
+
"note": "No cap documented for the CLI. A 4,000-character limit for code review only is cited secondhand and is not in the current docs."},
|
|
15
|
+
{"harness": "kiro", "cap_bytes": null, "scope": "per-file-after-includes", "source_url": "https://kiro.dev/docs/steering/", "verified_on": "2026-10-27",
|
|
16
|
+
"note": "No size cap documented for steering files."},
|
|
17
|
+
{"harness": "antigravity", "cap_bytes": 24000, "scope": "per-file-after-includes", "source_url": "https://antigravity.google/docs/rules", "verified_on": "2026-10-27",
|
|
18
|
+
"note": "Antigravity truncates any single rule file over 24,000 bytes after expanding @[label](path) includes."},
|
|
19
|
+
{"harness": "antigravity", "cap_bytes": null, "scope": "combined-chain", "source_url": "https://antigravity.google/docs/rules", "verified_on": "2026-10-27",
|
|
20
|
+
"note": "All active global and always_on rules share a 20,000-token budget; over it the largest are demoted to pointers. Tokens, not bytes, so no byte cap is recorded."}
|
|
21
|
+
],
|
|
22
|
+
"agent_description_caps": [
|
|
23
|
+
{"harness": "claude", "cap_tokens": 15000, "source_url": "https://code.claude.com/docs/en/sub-agents", "verified_on": "2026-10-27",
|
|
24
|
+
"note": "When the combined descriptions of the subagents, built-in ones excepted, pass 15,000 tokens, Claude Code warns at startup and still loads every subagent. Each agent counts its name plus its description."},
|
|
25
|
+
{"harness": "codex", "cap_tokens": null, "source_url": "https://learn.chatgpt.com/docs/agent-configuration/subagents", "verified_on": "2026-10-27",
|
|
26
|
+
"note": "No description cap documented; the only cap is agents.max_concurrent_threads_per_session, a thread count."},
|
|
27
|
+
{"harness": "opencode", "cap_tokens": null, "source_url": "https://opencode.ai/docs/agents", "verified_on": "2026-10-27",
|
|
28
|
+
"note": "No cap documented; the page asks for a brief description."},
|
|
29
|
+
{"harness": "pi", "cap_tokens": null, "source_url": "https://github.com/earendil-works/pi", "verified_on": "2026-10-27",
|
|
30
|
+
"note": "Pi has no subagent surface (its README says it skips sub-agents), so nothing lists agent descriptions."},
|
|
31
|
+
{"harness": "copilot", "cap_tokens": null, "source_url": "https://docs.github.com/en/copilot/reference/custom-agents-configuration", "verified_on": "2026-10-27",
|
|
32
|
+
"note": "No description cap documented; the agent prompt body is capped at 30,000 characters."},
|
|
33
|
+
{"harness": "kiro", "cap_tokens": null, "source_url": "https://kiro.dev/docs/custom-agents/configuration-reference/", "verified_on": "2026-10-27",
|
|
34
|
+
"note": "No description cap documented."},
|
|
35
|
+
{"harness": "antigravity", "cap_tokens": null, "source_url": "https://antigravity.google/docs/subagents", "verified_on": "2026-10-27",
|
|
36
|
+
"note": "No description cap documented."}
|
|
37
|
+
],
|
|
38
|
+
"agent_description_ratchet": {"chars": 1040, "measured_on": "2026-10-27",
|
|
39
|
+
"note": "RATCHET, NOT A VENDOR CAP. The combined name and description characters of core/shared/agent-specs/*.md, measured at row 131. It holds the harnesses whose vendor documents no cap to the current size: raise it in its own commit with the new measurement when an added or longer description is deliberate."}
|
|
40
|
+
}
|