agentic-flow-kit 1.8.7 → 2.0.0
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 +113 -148
- package/bin/flow-kit.mjs +5 -2
- package/locales/en/installer.json +25 -0
- package/locales/en/overrides/.agents/commands/deploy.md +52 -0
- package/locales/en/overrides/.agents/commands/maintain.md +76 -0
- package/locales/en/overrides/.agents/commands/new-task.md +89 -0
- package/locales/en/overrides/.agents/commands/pipeline-run.md +56 -0
- package/locales/en/overrides/.agents/commands/pr-review.md +30 -0
- package/locales/en/overrides/.agents/commands/review.md +93 -0
- package/locales/en/overrides/.agents/commands/stages.md +256 -0
- package/locales/en/overrides/.agents/notes/pr-review-cost-discipline.md +48 -0
- package/locales/en/overrides/.agents/notes/process-order-rule.md +21 -0
- package/locales/en/overrides/.agents/notes/runtime-env.local.example.md +21 -0
- package/locales/en/overrides/.agents/pipelines/_TEMPLATE.md +75 -0
- package/locales/en/overrides/.agents/pipelines/pipeline-closing.md +28 -0
- package/locales/en/overrides/.agents/roles/implementer.md +28 -0
- package/locales/en/overrides/.agents/roles/independent-reviewer.md +39 -0
- package/locales/en/overrides/.agents/roles/pr-adjudicator.md +27 -0
- package/locales/en/overrides/.agents/roles/pr-finder.md +51 -0
- package/locales/en/overrides/.agents/roles/pr-verifier.md +44 -0
- package/locales/en/overrides/.agents/roles/ui-verifier.md +22 -0
- package/locales/en/overrides/.agents/roles/wiki-compiler.md +47 -0
- package/locales/en/overrides/.agents/skills/arena/SKILL.md +50 -0
- package/locales/en/overrides/.agents/skills/autonomous-run/SKILL.md +45 -0
- package/locales/en/overrides/.agents/skills/blast-radius/SKILL.md +53 -0
- package/locales/en/overrides/.agents/skills/csharp-quality-gates/SKILL.md +109 -0
- package/locales/en/overrides/.agents/skills/dev-tour/SKILL.md +98 -0
- package/locales/en/overrides/.agents/skills/dream/SKILL.md +63 -0
- package/locales/en/overrides/.agents/skills/eval/SKILL.md +42 -0
- package/locales/en/overrides/.agents/skills/interrogate/SKILL.md +49 -0
- package/locales/en/overrides/.agents/skills/number-vetting/SKILL.md +35 -0
- package/locales/en/overrides/.agents/skills/page-refactor/SKILL.md +192 -0
- package/locales/en/overrides/.agents/skills/papercut-fix/SKILL.md +92 -0
- package/locales/en/overrides/.agents/skills/pause-safely/SKILL.md +31 -0
- package/locales/en/overrides/.agents/skills/perf/SKILL.md +42 -0
- package/locales/en/overrides/.agents/skills/review-method/SKILL.md +92 -0
- package/locales/en/overrides/.agents/skills/session-resume/SKILL.md +69 -0
- package/locales/en/overrides/.agents/skills/shipyard-workflow-closeout/SKILL.md +109 -0
- package/locales/en/overrides/.agents/skills/show-me-your-work/SKILL.md +57 -0
- package/locales/en/overrides/.agents/skills/tfs-pr/SKILL.md +95 -0
- package/locales/en/overrides/.agents/skills/verify-ui/SKILL.md +116 -0
- package/locales/en/overrides/.agents/skills/visual-parity/SKILL.md +35 -0
- package/locales/en/overrides/.agents/skills/why/SKILL.md +56 -0
- package/locales/en/overrides/.agents/skills/wiki/SKILL.md +53 -0
- package/locales/en/overrides/.claude/agents/implementer.md +9 -0
- package/locales/en/overrides/.claude/agents/independent-reviewer.md +10 -0
- package/locales/en/overrides/.claude/agents/pr-adjudicator.md +10 -0
- package/locales/en/overrides/.claude/agents/pr-finder.md +10 -0
- package/locales/en/overrides/.claude/agents/pr-verifier.md +10 -0
- package/locales/en/overrides/.claude/agents/ui-verifier.md +10 -0
- package/locales/en/overrides/.claude/agents/wiki-compiler.md +10 -0
- package/locales/en/overrides/.claude/commands/wf-deploy.md +8 -0
- package/locales/en/overrides/.claude/commands/wf-maintain.md +8 -0
- package/locales/en/overrides/.claude/commands/wf-new-task.md +8 -0
- package/locales/en/overrides/.claude/commands/wf-pipeline-run.md +8 -0
- package/locales/en/overrides/.claude/commands/wf-pr-review.md +8 -0
- package/locales/en/overrides/.claude/commands/wf-review.md +8 -0
- package/locales/en/overrides/.claude/commands/wf-stages.md +8 -0
- package/locales/en/overrides/.cline/agents/implementer.yml +13 -0
- package/locales/en/overrides/.cline/agents/independent-reviewer.yml +11 -0
- package/locales/en/overrides/.cline/agents/pr-adjudicator.yml +11 -0
- package/locales/en/overrides/.cline/agents/pr-finder.yml +11 -0
- package/locales/en/overrides/.cline/agents/pr-verifier.yml +11 -0
- package/locales/en/overrides/.cline/agents/ui-verifier.yml +8 -0
- package/locales/en/overrides/.cline/agents/wiki-compiler.yml +14 -0
- package/locales/en/overrides/.cline/workflows/wf-deploy.md +8 -0
- package/locales/en/overrides/.cline/workflows/wf-maintain.md +8 -0
- package/locales/en/overrides/.cline/workflows/wf-new-task.md +8 -0
- package/locales/en/overrides/.cline/workflows/wf-pipeline-run.md +8 -0
- package/locales/en/overrides/.cline/workflows/wf-pr-review.md +8 -0
- package/locales/en/overrides/.cline/workflows/wf-review.md +8 -0
- package/locales/en/overrides/.cline/workflows/wf-stages.md +8 -0
- package/locales/en/overrides/.codebuddy/CODEBUDDY.md +7 -0
- package/locales/en/overrides/.codebuddy/agents/implementer.md +9 -0
- package/locales/en/overrides/.codebuddy/agents/independent-reviewer.md +10 -0
- package/locales/en/overrides/.codebuddy/agents/pr-adjudicator.md +10 -0
- package/locales/en/overrides/.codebuddy/agents/pr-finder.md +10 -0
- package/locales/en/overrides/.codebuddy/agents/pr-verifier.md +10 -0
- package/locales/en/overrides/.codebuddy/agents/ui-verifier.md +11 -0
- package/locales/en/overrides/.codebuddy/agents/wiki-compiler.md +10 -0
- package/locales/en/overrides/.codebuddy/commands/wf-deploy.md +8 -0
- package/locales/en/overrides/.codebuddy/commands/wf-maintain.md +8 -0
- package/locales/en/overrides/.codebuddy/commands/wf-new-task.md +8 -0
- package/locales/en/overrides/.codebuddy/commands/wf-pipeline-run.md +8 -0
- package/locales/en/overrides/.codebuddy/commands/wf-pr-review.md +8 -0
- package/locales/en/overrides/.codebuddy/commands/wf-review.md +8 -0
- package/locales/en/overrides/.codebuddy/commands/wf-stages.md +8 -0
- package/locales/en/overrides/.codebuddy/rules/backend-scope.md +5 -0
- package/locales/en/overrides/.codebuddy/rules/frontend-scope.md +5 -0
- package/locales/en/overrides/.codebuddy/skills/tfs-pr/SKILL.md +6 -0
- package/locales/en/overrides/.commandcode/agents/implementer.md +10 -0
- package/locales/en/overrides/.commandcode/agents/independent-reviewer.md +9 -0
- package/locales/en/overrides/.commandcode/agents/pr-adjudicator.md +9 -0
- package/locales/en/overrides/.commandcode/agents/pr-finder.md +9 -0
- package/locales/en/overrides/.commandcode/agents/pr-verifier.md +9 -0
- package/locales/en/overrides/.commandcode/agents/ui-verifier.md +10 -0
- package/locales/en/overrides/.commandcode/agents/wiki-compiler.md +10 -0
- package/locales/en/overrides/.commandcode/commands/wf-deploy.md +7 -0
- package/locales/en/overrides/.commandcode/commands/wf-maintain.md +7 -0
- package/locales/en/overrides/.commandcode/commands/wf-new-task.md +7 -0
- package/locales/en/overrides/.commandcode/commands/wf-pipeline-run.md +7 -0
- package/locales/en/overrides/.commandcode/commands/wf-pr-review.md +7 -0
- package/locales/en/overrides/.commandcode/commands/wf-review.md +7 -0
- package/locales/en/overrides/.commandcode/commands/wf-stages.md +7 -0
- package/locales/en/overrides/.opencode/agents/implementer.md +51 -0
- package/locales/en/overrides/.opencode/agents/independent-reviewer.md +18 -0
- package/locales/en/overrides/.opencode/agents/pr-adjudicator.md +18 -0
- package/locales/en/overrides/.opencode/agents/pr-finder.md +18 -0
- package/locales/en/overrides/.opencode/agents/pr-verifier.md +18 -0
- package/locales/en/overrides/.opencode/agents/ui-verifier.md +45 -0
- package/locales/en/overrides/.opencode/agents/wiki-compiler.md +51 -0
- package/locales/en/overrides/.opencode/commands/wf-deploy.md +7 -0
- package/locales/en/overrides/.opencode/commands/wf-maintain.md +7 -0
- package/locales/en/overrides/.opencode/commands/wf-new-task.md +7 -0
- package/locales/en/overrides/.opencode/commands/wf-pipeline-run.md +7 -0
- package/locales/en/overrides/.opencode/commands/wf-pr-review.md +7 -0
- package/locales/en/overrides/.opencode/commands/wf-review.md +7 -0
- package/locales/en/overrides/.opencode/commands/wf-stages.md +7 -0
- package/locales/en/overrides/.pi/agents/implementer.md +11 -0
- package/locales/en/overrides/.pi/agents/independent-reviewer.md +12 -0
- package/locales/en/overrides/.pi/agents/pr-adjudicator.md +12 -0
- package/locales/en/overrides/.pi/agents/pr-finder.md +11 -0
- package/locales/en/overrides/.pi/agents/pr-verifier.md +11 -0
- package/locales/en/overrides/.pi/agents/ui-verifier.md +11 -0
- package/locales/en/overrides/.pi/agents/wiki-compiler.md +11 -0
- package/locales/en/overrides/.qoder/agents/implementer.md +9 -0
- package/locales/en/overrides/.qoder/agents/independent-reviewer.md +10 -0
- package/locales/en/overrides/.qoder/agents/pr-adjudicator.md +10 -0
- package/locales/en/overrides/.qoder/agents/pr-finder.md +10 -0
- package/locales/en/overrides/.qoder/agents/pr-verifier.md +10 -0
- package/locales/en/overrides/.qoder/agents/ui-verifier.md +10 -0
- package/locales/en/overrides/.qoder/agents/wiki-compiler.md +10 -0
- package/locales/en/overrides/.qoder/commands/wf-deploy.md +8 -0
- package/locales/en/overrides/.qoder/commands/wf-maintain.md +8 -0
- package/locales/en/overrides/.qoder/commands/wf-new-task.md +8 -0
- package/locales/en/overrides/.qoder/commands/wf-pipeline-run.md +8 -0
- package/locales/en/overrides/.qoder/commands/wf-pr-review.md +8 -0
- package/locales/en/overrides/.qoder/commands/wf-review.md +8 -0
- package/locales/en/overrides/.qoder/commands/wf-stages.md +8 -0
- package/locales/en/overrides/.qwen/agents/implementer.md +10 -0
- package/locales/en/overrides/.qwen/agents/independent-reviewer.md +10 -0
- package/locales/en/overrides/.qwen/agents/pr-adjudicator.md +10 -0
- package/locales/en/overrides/.qwen/agents/pr-finder.md +10 -0
- package/locales/en/overrides/.qwen/agents/pr-verifier.md +10 -0
- package/locales/en/overrides/.qwen/agents/ui-verifier.md +10 -0
- package/locales/en/overrides/.qwen/agents/wiki-compiler.md +13 -0
- package/locales/en/overrides/.qwen/commands/wf-deploy.md +7 -0
- package/locales/en/overrides/.qwen/commands/wf-maintain.md +7 -0
- package/locales/en/overrides/.qwen/commands/wf-new-task.md +7 -0
- package/locales/en/overrides/.qwen/commands/wf-pipeline-run.md +7 -0
- package/locales/en/overrides/.qwen/commands/wf-pr-review.md +7 -0
- package/locales/en/overrides/.qwen/commands/wf-review.md +7 -0
- package/locales/en/overrides/.qwen/commands/wf-stages.md +7 -0
- package/locales/en/overrides/.trae/agents/implementer.md +9 -0
- package/locales/en/overrides/.trae/agents/independent-reviewer.md +10 -0
- package/locales/en/overrides/.trae/agents/pr-adjudicator.md +10 -0
- package/locales/en/overrides/.trae/agents/pr-finder.md +10 -0
- package/locales/en/overrides/.trae/agents/pr-verifier.md +10 -0
- package/locales/en/overrides/.trae/agents/ui-verifier.md +10 -0
- package/locales/en/overrides/.trae/agents/wiki-compiler.md +10 -0
- package/locales/en/overrides/.trae/commands/wf-deploy.md +8 -0
- package/locales/en/overrides/.trae/commands/wf-maintain.md +8 -0
- package/locales/en/overrides/.trae/commands/wf-new-task.md +8 -0
- package/locales/en/overrides/.trae/commands/wf-pipeline-run.md +8 -0
- package/locales/en/overrides/.trae/commands/wf-pr-review.md +8 -0
- package/locales/en/overrides/.trae/commands/wf-review.md +8 -0
- package/locales/en/overrides/.trae/commands/wf-stages.md +8 -0
- package/locales/en/overrides/.trae/rules/backend-scope.md +5 -0
- package/locales/en/overrides/.trae/rules/frontend-scope.md +5 -0
- package/locales/en/overrides/.zcode/agents/implementer.md +8 -0
- package/locales/en/overrides/.zcode/agents/independent-reviewer.md +8 -0
- package/locales/en/overrides/.zcode/agents/ui-verifier.md +8 -0
- package/locales/en/overrides/.zcode/agents/wiki-compiler.md +8 -0
- package/locales/en/overrides/AGENTS.md +52 -0
- package/locales/en/overrides/CLAUDE.md +20 -0
- package/locales/en/overrides/wiki/INDEX.md +33 -0
- package/locales/en/overrides/wiki/drafts-archive/README.md +6 -0
- package/locales/en/overrides/wiki//346/225/260/346/215/256/347/273/264/346/212/244/README.md +22 -0
- package/locales/en/overrides/wiki//347/237/245/350/257/206/346/262/211/346/267/200/346/200/273/350/247/210.html +230 -0
- package/locales/en/overrides/workflow/INDEX.md +13 -0
- package/locales/en/overrides/workflow/README.md +67 -0
- package/locales/en/overrides/workflow/archive/README.md +3 -0
- package/locales/en/overrides/workflow/delegations.md +4 -0
- package/locales/en/overrides/workflow/effective-policy.md +4 -0
- package/locales/en/overrides/workflow/gate-cost.md +4 -0
- package/locales/en/overrides/workflow/incidents/_TEMPLATE.md +49 -0
- package/locales/en/overrides/workflow/intents/_TEMPLATE.md +43 -0
- package/locales/en/overrides/workflow/metrics.md +4 -0
- package/locales/en/overrides/workflow/papercuts.md +3 -0
- package/locales/en/overrides/workflow/plans/_TEMPLATE.md +47 -0
- package/locales/en/overrides/workflow/regression-checklist.md +3 -0
- package/locales/en/overrides/workflow/specs/_TEMPLATE.md +86 -0
- package/locales/en/overrides/workflow/verify-evidence.md +4 -0
- package/locales/zh-CN/installer.json +25 -0
- package/package.json +23 -36
- package/schemas/install-manifest.schema.json +24 -0
- package/schemas/project-profile.schema.json +28 -0
- package/src/cli/args.mjs +41 -0
- package/src/cli/main.mjs +72 -0
- package/src/commands/add-host.mjs +29 -0
- package/src/commands/doctor.mjs +80 -0
- package/src/commands/install.mjs +149 -0
- package/src/commands/upgrade.mjs +30 -0
- package/src/git/config.mjs +61 -0
- package/src/hosts/registry.mjs +26 -0
- package/src/i18n.mjs +32 -0
- package/src/install/apply.mjs +124 -0
- package/src/install/manifest.mjs +40 -0
- package/src/install/plan.mjs +83 -0
- package/src/render/tokens.mjs +58 -0
- package/templates/engine/.agents/board/dev-tour.html +1940 -0
- package/templates/engine/.agents/board/index.html +835 -0
- package/templates/engine/.agents/commands/deploy.md +52 -0
- package/templates/engine/.agents/commands/maintain.md +76 -0
- package/templates/engine/.agents/commands/new-task.md +89 -0
- package/templates/engine/.agents/commands/pipeline-run.md +56 -0
- package/templates/engine/.agents/commands/pr-review.md +30 -0
- package/templates/engine/.agents/commands/review.md +93 -0
- package/templates/engine/.agents/commands/stages.md +256 -0
- package/templates/engine/.agents/config/commit-msg-rules.json +7 -0
- package/templates/engine/.agents/config/engine.json +11 -0
- package/templates/engine/.agents/config/gate-budgets.json +5 -0
- package/templates/engine/.agents/config/mechanism-registry.md +62 -0
- package/templates/engine/.agents/config/model-roles.json +26 -0
- package/templates/engine/.agents/config/model-roles.local.example.json +7 -0
- package/templates/engine/.agents/config/pr-review.json +67 -0
- package/templates/engine/.agents/config/principles.md +32 -0
- package/templates/engine/.agents/config/workflow-enums.txt +25 -0
- package/templates/engine/.agents/hooks/check-architecture.mjs +168 -0
- package/templates/engine/.agents/hooks/check-audit-fields.mjs +56 -0
- package/templates/engine/.agents/hooks/check-commit-plan-ref.mjs +84 -0
- package/templates/engine/.agents/hooks/check-confirm-order.mjs +281 -0
- package/templates/engine/.agents/hooks/check-delete-guard.mjs +63 -0
- package/templates/engine/.agents/hooks/check-notify-guard.mjs +55 -0
- package/templates/engine/.agents/hooks/commit-check.cjs +208 -0
- package/templates/engine/.agents/hooks/gates.json +33 -0
- package/templates/engine/.agents/hooks/local-pre-commit.mjs +27 -0
- package/templates/engine/.agents/hooks/pre-shell-check.cjs +361 -0
- package/templates/engine/.agents/hooks/pre-write-check.cjs +220 -0
- package/templates/engine/.agents/notes/gate-diet.md +75 -0
- package/templates/engine/.agents/notes/pr-review-cost-discipline.md +48 -0
- package/templates/engine/.agents/notes/process-order-rule.md +21 -0
- package/templates/engine/.agents/notes/runtime-env.local.example.md +21 -0
- package/templates/engine/.agents/pipelines/_TEMPLATE.md +75 -0
- package/templates/engine/.agents/pipelines/pipeline-closing.md +28 -0
- package/templates/engine/.agents/pipelines//347/244/272/344/276/213-/345/271/266/350/241/214/345/256/236/347/216/260/350/257/204/345/256/241.md +16 -0
- package/templates/engine/.agents/roles/implementer.md +28 -0
- package/templates/engine/.agents/roles/independent-reviewer.md +39 -0
- package/templates/engine/.agents/roles/pr-adjudicator.md +27 -0
- package/templates/engine/.agents/roles/pr-finder.md +51 -0
- package/templates/engine/.agents/roles/pr-verifier.md +44 -0
- package/templates/engine/.agents/roles/ui-verifier.md +22 -0
- package/templates/engine/.agents/roles/wiki-compiler.md +47 -0
- package/templates/engine/.agents/scripts/agg-delegations.mjs +439 -0
- package/templates/engine/.agents/scripts/agg-judgments.mjs +301 -0
- package/templates/engine/.agents/scripts/agg-kb-usage.mjs +196 -0
- package/templates/engine/.agents/scripts/append-compensation.mjs +109 -0
- package/templates/engine/.agents/scripts/archive-sweep.mjs +229 -0
- package/templates/engine/.agents/scripts/auto-tour.mjs +77 -0
- package/templates/engine/.agents/scripts/board-port.mjs +17 -0
- package/templates/engine/.agents/scripts/check-doc-body-drift.mjs +102 -0
- package/templates/engine/.agents/scripts/check-engine-artifacts.mjs +54 -0
- package/templates/engine/.agents/scripts/check-hook-wiring.mjs +75 -0
- package/templates/engine/.agents/scripts/check-lane-surface.mjs +393 -0
- package/templates/engine/.agents/scripts/check-ledger-doc-presence.mjs +71 -0
- package/templates/engine/.agents/scripts/check-ledger-invariant.mjs +873 -0
- package/templates/engine/.agents/scripts/check-local-gate-config.mjs +95 -0
- package/templates/engine/.agents/scripts/check-local-gates.mjs +248 -0
- package/templates/engine/.agents/scripts/check-loop-kit.mjs +550 -0
- package/templates/engine/.agents/scripts/check-loop-rev-semantics.mjs +59 -0
- package/templates/engine/.agents/scripts/check-loop-sections/s01-pairing.mjs +116 -0
- package/templates/engine/.agents/scripts/check-loop-sections/s03x-regr-evidence.mjs +38 -0
- package/templates/engine/.agents/scripts/check-loop-sections/s08-acceptance.mjs +130 -0
- package/templates/engine/.agents/scripts/check-loop-sections/s15-fingerprint.mjs +152 -0
- package/templates/engine/.agents/scripts/check-loop-sections/s23-convergence-audit.mjs +182 -0
- package/templates/engine/.agents/scripts/check-loop-sections/s29-regr-enforcer.mjs +69 -0
- package/templates/engine/.agents/scripts/check-loop.mjs +131 -0
- package/templates/engine/.agents/scripts/check-regression-consistency.mjs +252 -0
- package/templates/engine/.agents/scripts/check-schema-residue.mjs +144 -0
- package/templates/engine/.agents/scripts/check-scope-range.mjs +156 -0
- package/templates/engine/.agents/scripts/check-scope.mjs +121 -0
- package/templates/engine/.agents/scripts/check-scripts-syntax.mjs +138 -0
- package/templates/engine/.agents/scripts/check-secrets-lite.mjs +239 -0
- package/templates/engine/.agents/scripts/check-secrets.mjs +104 -0
- package/templates/engine/.agents/scripts/check-test-impact-map.mjs +107 -0
- package/templates/engine/.agents/scripts/ci-assert-frontend-deps.mjs +42 -0
- package/templates/engine/.agents/scripts/ci-commit-hygiene.mjs +86 -0
- package/templates/engine/.agents/scripts/ci-install-gitleaks.mjs +75 -0
- package/templates/engine/.agents/scripts/ci-push-before.mjs +49 -0
- package/templates/engine/.agents/scripts/closeout.mjs +127 -0
- package/templates/engine/.agents/scripts/compact-ledgers.mjs +70 -0
- package/templates/engine/.agents/scripts/confirm-doc.mjs +737 -0
- package/templates/engine/.agents/scripts/delegation-presence.mjs +38 -0
- package/templates/engine/.agents/scripts/dev-tour-model.mjs +1398 -0
- package/templates/engine/.agents/scripts/dream-run.mjs +283 -0
- package/templates/engine/.agents/scripts/ensure-board.mjs +187 -0
- package/templates/engine/.agents/scripts/failure-attribution.mjs +11 -0
- package/templates/engine/.agents/scripts/fill-intent.mjs +60 -0
- package/templates/engine/.agents/scripts/fill-plan.mjs +105 -0
- package/templates/engine/.agents/scripts/fill-spec.mjs +72 -0
- package/templates/engine/.agents/scripts/gen-dev-tour.mjs +191 -0
- package/templates/engine/.agents/scripts/gen-effective-policy.mjs +113 -0
- package/templates/engine/.agents/scripts/gen-engine-map.mjs +292 -0
- package/templates/engine/.agents/scripts/gen-narrative-claims.mjs +275 -0
- package/templates/engine/.agents/scripts/gen-verify-evidence.mjs +115 -0
- package/templates/engine/.agents/scripts/gen-wiki-board.mjs +221 -0
- package/templates/engine/.agents/scripts/gen-workflow-index.mjs +201 -0
- package/templates/engine/.agents/scripts/gen-workflow-metrics.mjs +692 -0
- package/templates/engine/.agents/scripts/git-merge-jsonl.mjs +62 -0
- package/templates/engine/.agents/scripts/judgment-ledger.mjs +68 -0
- package/templates/engine/.agents/scripts/kb-cache-evict.mjs +50 -0
- package/templates/engine/.agents/scripts/kb-search.mjs +423 -0
- package/templates/engine/.agents/scripts/lane-surface-audit.mjs +145 -0
- package/templates/engine/.agents/scripts/ledger-loader.mjs +77 -0
- package/templates/engine/.agents/scripts/ledger-shards.mjs +346 -0
- package/templates/engine/.agents/scripts/metrics-core.mjs +131 -0
- package/templates/engine/.agents/scripts/pipeline-run.mjs +964 -0
- package/templates/engine/.agents/scripts/policy.mjs +250 -0
- package/templates/engine/.agents/scripts/pr-create.mjs +54 -0
- package/templates/engine/.agents/scripts/pr-review.mjs +1551 -0
- package/templates/engine/.agents/scripts/quote-grounding.mjs +233 -0
- package/templates/engine/.agents/scripts/regen-ledgers.mjs +59 -0
- package/templates/engine/.agents/scripts/rewrite-file.mjs +135 -0
- package/templates/engine/.agents/scripts/rule-budget.mjs +246 -0
- package/templates/engine/.agents/scripts/stage-gates.mjs +812 -0
- package/templates/engine/.agents/scripts/test-impact-lib.mjs +451 -0
- package/templates/engine/.agents/scripts/test-impact.mjs +105 -0
- package/templates/engine/.agents/scripts/trust-mode.mjs +130 -0
- package/templates/engine/.agents/scripts/verify-scope.mjs +163 -0
- package/templates/engine/.agents/scripts/verify-wiki-consistency.mjs +264 -0
- package/templates/engine/.agents/scripts/verify.mjs +847 -0
- package/templates/engine/.agents/scripts/warn-format.mjs +57 -0
- package/templates/engine/.agents/scripts/wf-journal.mjs +230 -0
- package/templates/engine/.agents/scripts/workflow-board-server.mjs +696 -0
- package/templates/engine/.agents/scripts/workflow-enums.mjs +70 -0
- package/templates/engine/.agents/scripts/workflows-check.mjs +260 -0
- package/templates/engine/.agents/settings.json +33 -0
- package/templates/engine/.agents/skills/arena/SKILL.md +50 -0
- package/templates/engine/.agents/skills/autonomous-run/SKILL.md +45 -0
- package/templates/engine/.agents/skills/blast-radius/SKILL.md +53 -0
- package/templates/engine/.agents/skills/csharp-quality-gates/SKILL.md +109 -0
- package/templates/engine/.agents/skills/csharp-quality-gates/scripts/quality-gates.mjs +430 -0
- package/templates/engine/.agents/skills/dev-tour/SKILL.md +98 -0
- package/templates/engine/.agents/skills/dream/SKILL.md +63 -0
- package/templates/engine/.agents/skills/eval/SKILL.md +42 -0
- package/templates/engine/.agents/skills/eval/scripts/eval-score.mjs +59 -0
- package/templates/engine/.agents/skills/interrogate/SKILL.md +49 -0
- package/templates/engine/.agents/skills/interrogate/scripts/interrogate-plan.mjs +72 -0
- package/templates/engine/.agents/skills/number-vetting/SKILL.md +35 -0
- package/templates/engine/.agents/skills/page-refactor/SKILL.md +192 -0
- package/templates/engine/.agents/skills/page-refactor/references/templates.md +989 -0
- package/templates/engine/.agents/skills/papercut-fix/SKILL.md +92 -0
- package/templates/engine/.agents/skills/papercut-fix/references/response-template.md +81 -0
- package/templates/engine/.agents/skills/pause-safely/SKILL.md +31 -0
- package/templates/engine/.agents/skills/perf/SKILL.md +42 -0
- package/templates/engine/.agents/skills/review-method/SKILL.md +92 -0
- package/templates/engine/.agents/skills/review-method/golden-set.md +61 -0
- package/templates/engine/.agents/skills/session-resume/SKILL.md +69 -0
- package/templates/engine/.agents/skills/session-resume/scripts/worktree-audit.mjs +110 -0
- package/templates/engine/.agents/skills/shipyard-workflow-closeout/SKILL.md +109 -0
- package/templates/engine/.agents/skills/show-me-your-work/SKILL.md +57 -0
- package/templates/engine/.agents/skills/show-me-your-work/references/decision-log-template.tsv +1 -0
- package/templates/engine/.agents/skills/show-me-your-work/scripts/decision-log.mjs +24 -0
- package/templates/engine/.agents/skills/tfs-pr/SKILL.md +95 -0
- package/templates/engine/.agents/skills/tfs-pr/scripts/tfs-pr.mjs +947 -0
- package/templates/engine/.agents/skills/verify-ui/SKILL.md +116 -0
- package/templates/engine/.agents/skills/verify-ui/features/.gitkeep +0 -0
- package/templates/engine/.agents/skills/verify-ui/scripts/gen-verify-feature.mjs +114 -0
- package/templates/engine/.agents/skills/visual-parity/SKILL.md +35 -0
- package/templates/engine/.agents/skills/why/SKILL.md +56 -0
- package/templates/engine/.agents/skills/why/scripts/why-evidence.mjs +74 -0
- package/templates/engine/.agents/skills/wiki/SKILL.md +53 -0
- package/templates/engine/.agents/tests/auto-tour.test.mjs +82 -0
- package/templates/engine/.agents/tests/dev-tour-model.test.mjs +452 -0
- package/templates/engine/.agents/tests/fill-plan-lite.test.mjs +46 -0
- package/templates/engine/.agents/tests/fixtures/dev-tour/plan-bare-mid-path.md +14 -0
- package/templates/engine/.agents/tests/fixtures/dev-tour/plan-bare-mid-path.model.json +179 -0
- package/templates/engine/.agents/tests/fixtures/dev-tour/plan-fake-path-guard.md +21 -0
- package/templates/engine/.agents/tests/fixtures/dev-tour/plan-fake-path-guard.model.json +194 -0
- package/templates/engine/.agents/tests/fixtures/dev-tour/plan-h3-batches.md +20 -0
- package/templates/engine/.agents/tests/fixtures/dev-tour/plan-h3-batches.model.json +207 -0
- package/templates/engine/.agents/tests/fixtures/dev-tour/plan-issues.md +24 -0
- package/templates/engine/.agents/tests/fixtures/dev-tour/plan-issues.model.json +225 -0
- package/templates/engine/.agents/tests/fixtures/dev-tour/plan-l1-single-file.md +15 -0
- package/templates/engine/.agents/tests/fixtures/dev-tour/plan-l1-single-file.model.json +160 -0
- package/templates/engine/.agents/tests/fixtures/dev-tour/plan-layer-word-unique.md +29 -0
- package/templates/engine/.agents/tests/fixtures/dev-tour/plan-layer-word-unique.model.json +266 -0
- package/templates/engine/.agents/tests/fixtures/dev-tour/plan-layers-fallback.md +17 -0
- package/templates/engine/.agents/tests/fixtures/dev-tour/plan-layers-fallback.model.json +207 -0
- package/templates/engine/.agents/tests/fixtures/dev-tour/plan-numbered-steps.md +39 -0
- package/templates/engine/.agents/tests/fixtures/dev-tour/plan-numbered-steps.model.json +359 -0
- package/templates/engine/.agents/tests/fixtures/dev-tour/plan-path-guess.md +16 -0
- package/templates/engine/.agents/tests/fixtures/dev-tour/plan-path-guess.model.json +131 -0
- package/templates/engine/.agents/tests/fixtures/dev-tour/plan-table-rows.md +29 -0
- package/templates/engine/.agents/tests/fixtures/dev-tour/plan-table-rows.model.json +190 -0
- package/templates/engine/.agents/tests/fixtures/dev-tour/plan-task-checkboxes.md +39 -0
- package/templates/engine/.agents/tests/fixtures/dev-tour/plan-task-checkboxes.model.json +362 -0
- package/templates/engine/.agents/tests/fixtures/dev-tour/plan-union-label.md +24 -0
- package/templates/engine/.agents/tests/fixtures/dev-tour/plan-union-label.model.json +224 -0
- package/templates/engine/.agents/tests/tools/gen-synthetic-plan.mjs +108 -0
- package/templates/git/.gitattributes +22 -0
- package/templates/git/.githooks/commit-msg +72 -0
- package/templates/git/.githooks/post-commit +62 -0
- package/templates/git/.githooks/pre-commit +197 -0
- package/templates/git/.githooks/pre-merge-commit +28 -0
- package/templates/git/.githooks/pre-push +201 -0
- package/templates/git/.gitignore.engine +11 -0
- package/templates/hosts/claude/CLAUDE.md +55 -0
- package/templates/hosts/claude/agents/implementer.md +7 -0
- package/templates/hosts/claude/agents/independent-reviewer.md +8 -0
- package/templates/hosts/claude/agents/pr-adjudicator.md +8 -0
- package/templates/hosts/claude/agents/pr-finder.md +8 -0
- package/templates/hosts/claude/agents/pr-verifier.md +8 -0
- package/templates/hosts/claude/agents/ui-verifier.md +8 -0
- package/templates/hosts/claude/agents/wiki-compiler.md +8 -0
- package/templates/hosts/claude/commands/wf-deploy.md +10 -0
- package/templates/hosts/claude/commands/wf-maintain.md +10 -0
- package/templates/hosts/claude/commands/wf-new-task.md +10 -0
- package/templates/hosts/claude/commands/wf-pipeline-run.md +10 -0
- package/templates/hosts/claude/commands/wf-pr-review.md +10 -0
- package/templates/hosts/claude/commands/wf-review.md +10 -0
- package/templates/hosts/claude/commands/wf-stages.md +10 -0
- package/templates/hosts/claude/settings.json +57 -0
- package/templates/hosts/cline/agents/implementer.yml +15 -0
- package/templates/hosts/cline/agents/independent-reviewer.yml +20 -0
- package/templates/hosts/cline/agents/pr-adjudicator.yml +18 -0
- package/templates/hosts/cline/agents/pr-finder.yml +19 -0
- package/templates/hosts/cline/agents/pr-verifier.yml +18 -0
- package/templates/hosts/cline/agents/ui-verifier.yml +17 -0
- package/templates/hosts/cline/agents/wiki-compiler.yml +20 -0
- package/templates/hosts/cline/hooks/PreToolUse.cjs +260 -0
- package/templates/hosts/cline/workflows/wf-deploy.md +8 -0
- package/templates/hosts/cline/workflows/wf-maintain.md +8 -0
- package/templates/hosts/cline/workflows/wf-new-task.md +8 -0
- package/templates/hosts/cline/workflows/wf-pipeline-run.md +8 -0
- package/templates/hosts/cline/workflows/wf-pr-review.md +8 -0
- package/templates/hosts/cline/workflows/wf-review.md +8 -0
- package/templates/hosts/cline/workflows/wf-stages.md +8 -0
- package/templates/hosts/codebuddy/CODEBUDDY.md +7 -0
- package/templates/hosts/codebuddy/agents/implementer.md +9 -0
- package/templates/hosts/codebuddy/agents/independent-reviewer.md +10 -0
- package/templates/hosts/codebuddy/agents/pr-adjudicator.md +10 -0
- package/templates/hosts/codebuddy/agents/pr-finder.md +10 -0
- package/templates/hosts/codebuddy/agents/pr-verifier.md +10 -0
- package/templates/hosts/codebuddy/agents/ui-verifier.md +11 -0
- package/templates/hosts/codebuddy/agents/wiki-compiler.md +10 -0
- package/templates/hosts/codebuddy/commands/wf-deploy.md +10 -0
- package/templates/hosts/codebuddy/commands/wf-maintain.md +10 -0
- package/templates/hosts/codebuddy/commands/wf-new-task.md +10 -0
- package/templates/hosts/codebuddy/commands/wf-pipeline-run.md +10 -0
- package/templates/hosts/codebuddy/commands/wf-pr-review.md +10 -0
- package/templates/hosts/codebuddy/commands/wf-review.md +10 -0
- package/templates/hosts/codebuddy/commands/wf-stages.md +10 -0
- package/templates/hosts/codebuddy/rules/backend-scope.md +5 -0
- package/templates/hosts/codebuddy/rules/frontend-scope.md +5 -0
- package/templates/hosts/codebuddy/settings.json +31 -0
- package/templates/hosts/codebuddy/skills/tfs-pr/SKILL.md +6 -0
- package/templates/hosts/commandcode/agents/implementer.md +10 -0
- package/templates/hosts/commandcode/agents/independent-reviewer.md +9 -0
- package/templates/hosts/commandcode/agents/pr-adjudicator.md +9 -0
- package/templates/hosts/commandcode/agents/pr-finder.md +9 -0
- package/templates/hosts/commandcode/agents/pr-verifier.md +9 -0
- package/templates/hosts/commandcode/agents/ui-verifier.md +11 -0
- package/templates/hosts/commandcode/agents/wiki-compiler.md +10 -0
- package/templates/hosts/commandcode/commands/wf-deploy.md +9 -0
- package/templates/hosts/commandcode/commands/wf-maintain.md +9 -0
- package/templates/hosts/commandcode/commands/wf-new-task.md +9 -0
- package/templates/hosts/commandcode/commands/wf-pipeline-run.md +9 -0
- package/templates/hosts/commandcode/commands/wf-pr-review.md +9 -0
- package/templates/hosts/commandcode/commands/wf-review.md +9 -0
- package/templates/hosts/commandcode/commands/wf-stages.md +9 -0
- package/templates/hosts/commandcode/settings.json +59 -0
- package/templates/hosts/opencode/agents/implementer.md +51 -0
- package/templates/hosts/opencode/agents/independent-reviewer.md +18 -0
- package/templates/hosts/opencode/agents/pr-adjudicator.md +18 -0
- package/templates/hosts/opencode/agents/pr-finder.md +18 -0
- package/templates/hosts/opencode/agents/pr-verifier.md +18 -0
- package/templates/hosts/opencode/agents/ui-verifier.md +45 -0
- package/templates/hosts/opencode/agents/wiki-compiler.md +51 -0
- package/templates/hosts/opencode/commands/wf-deploy.md +7 -0
- package/templates/hosts/opencode/commands/wf-maintain.md +7 -0
- package/templates/hosts/opencode/commands/wf-new-task.md +7 -0
- package/templates/hosts/opencode/commands/wf-pipeline-run.md +7 -0
- package/templates/hosts/opencode/commands/wf-pr-review.md +7 -0
- package/templates/hosts/opencode/commands/wf-review.md +7 -0
- package/templates/hosts/opencode/commands/wf-stages.md +7 -0
- package/templates/hosts/pi/agents/implementer.md +10 -0
- package/templates/hosts/pi/agents/independent-reviewer.md +11 -0
- package/templates/hosts/pi/agents/pr-adjudicator.md +11 -0
- package/templates/hosts/pi/agents/pr-finder.md +10 -0
- package/templates/hosts/pi/agents/pr-verifier.md +10 -0
- package/templates/hosts/pi/agents/ui-verifier.md +10 -0
- package/templates/hosts/pi/agents/wiki-compiler.md +10 -0
- package/templates/hosts/pi/extensions/lib/gates-core.cjs +196 -0
- package/templates/hosts/pi/extensions/shipyard-gates.ts +95 -0
- package/templates/hosts/pi/settings.json +5 -0
- package/templates/hosts/qoder/agents/implementer.md +9 -0
- package/templates/hosts/qoder/agents/independent-reviewer.md +10 -0
- package/templates/hosts/qoder/agents/pr-adjudicator.md +10 -0
- package/templates/hosts/qoder/agents/pr-finder.md +10 -0
- package/templates/hosts/qoder/agents/pr-verifier.md +10 -0
- package/templates/hosts/qoder/agents/ui-verifier.md +10 -0
- package/templates/hosts/qoder/agents/wiki-compiler.md +10 -0
- package/templates/hosts/qoder/commands/wf-deploy.md +8 -0
- package/templates/hosts/qoder/commands/wf-maintain.md +8 -0
- package/templates/hosts/qoder/commands/wf-new-task.md +8 -0
- package/templates/hosts/qoder/commands/wf-pipeline-run.md +8 -0
- package/templates/hosts/qoder/commands/wf-pr-review.md +8 -0
- package/templates/hosts/qoder/commands/wf-review.md +8 -0
- package/templates/hosts/qoder/commands/wf-stages.md +8 -0
- package/templates/hosts/qoder/settings.json +63 -0
- package/templates/hosts/qwen/agents/implementer.md +8 -0
- package/templates/hosts/qwen/agents/independent-reviewer.md +8 -0
- package/templates/hosts/qwen/agents/pr-adjudicator.md +8 -0
- package/templates/hosts/qwen/agents/pr-finder.md +8 -0
- package/templates/hosts/qwen/agents/pr-verifier.md +8 -0
- package/templates/hosts/qwen/agents/ui-verifier.md +8 -0
- package/templates/hosts/qwen/agents/wiki-compiler.md +11 -0
- package/templates/hosts/qwen/commands/wf-deploy.md +9 -0
- package/templates/hosts/qwen/commands/wf-maintain.md +9 -0
- package/templates/hosts/qwen/commands/wf-new-task.md +9 -0
- package/templates/hosts/qwen/commands/wf-pipeline-run.md +9 -0
- package/templates/hosts/qwen/commands/wf-pr-review.md +9 -0
- package/templates/hosts/qwen/commands/wf-review.md +9 -0
- package/templates/hosts/qwen/commands/wf-stages.md +9 -0
- package/templates/hosts/qwen/settings.json +59 -0
- package/templates/hosts/trae/agents/implementer.md +9 -0
- package/templates/hosts/trae/agents/independent-reviewer.md +10 -0
- package/templates/hosts/trae/agents/pr-adjudicator.md +10 -0
- package/templates/hosts/trae/agents/pr-finder.md +10 -0
- package/templates/hosts/trae/agents/pr-verifier.md +10 -0
- package/templates/hosts/trae/agents/ui-verifier.md +10 -0
- package/templates/hosts/trae/agents/wiki-compiler.md +10 -0
- package/templates/hosts/trae/commands/wf-deploy.md +8 -0
- package/templates/hosts/trae/commands/wf-maintain.md +8 -0
- package/templates/hosts/trae/commands/wf-new-task.md +8 -0
- package/templates/hosts/trae/commands/wf-pipeline-run.md +8 -0
- package/templates/hosts/trae/commands/wf-pr-review.md +8 -0
- package/templates/hosts/trae/commands/wf-review.md +8 -0
- package/templates/hosts/trae/commands/wf-stages.md +8 -0
- package/templates/hosts/trae/hooks.json +17 -0
- package/templates/hosts/trae/rules/backend-scope.md +5 -0
- package/templates/hosts/trae/rules/frontend-scope.md +5 -0
- package/templates/hosts/zcode/agents/implementer.md +8 -0
- package/templates/hosts/zcode/agents/independent-reviewer.md +8 -0
- package/templates/hosts/zcode/agents/ui-verifier.md +8 -0
- package/templates/hosts/zcode/agents/wiki-compiler.md +8 -0
- package/templates/hosts/zcode/config.json +31 -0
- package/templates/hosts/zcode/workflows/code-review.dwf.ts +428 -0
- package/templates/hosts/zcode/workflows/fullchain-flow-test.dwf.ts +898 -0
- package/templates/profiles/dotnet/.agents/config/lane-surfaces.txt +33 -0
- package/templates/profiles/dotnet/.agents/config/rule-budgets.txt +84 -0
- package/templates/profiles/dotnet/.agents/config/test-impact-map.json +590 -0
- package/templates/profiles/dotnet/.agents/config/workflow-modules.txt +18 -0
- package/templates/profiles/dotnet/.agents/hooks/commit-check.config.json +18 -0
- package/templates/profiles/dotnet/.agents/hooks/delete-guard-allowlist.txt +28 -0
- package/templates/profiles/dotnet/.agents/notes/runtime-env.md +178 -0
- package/templates/profiles/dotnet/AGENTS.md +52 -0
- package/templates/profiles/empty/.agents/config/lane-surfaces.txt +12 -0
- package/templates/profiles/empty/.agents/config/rule-budgets.txt +3 -0
- package/templates/profiles/empty/.agents/config/test-impact-map.json +8 -0
- package/templates/profiles/empty/.agents/config/workflow-modules.txt +2 -0
- package/templates/profiles/empty/.agents/hooks/commit-check.config.json +5 -0
- package/templates/profiles/empty/.agents/hooks/delete-guard-allowlist.txt +2 -0
- package/templates/profiles/empty/.agents/notes/runtime-env.md +44 -0
- package/templates/profiles/empty/AGENTS.md +52 -0
- package/templates/profiles/node/.agents/config/lane-surfaces.txt +12 -0
- package/templates/profiles/node/.agents/config/rule-budgets.txt +3 -0
- package/templates/profiles/node/.agents/config/test-impact-map.json +8 -0
- package/templates/profiles/node/.agents/config/workflow-modules.txt +2 -0
- package/templates/profiles/node/.agents/hooks/commit-check.config.json +5 -0
- package/templates/profiles/node/.agents/hooks/delete-guard-allowlist.txt +2 -0
- package/templates/profiles/node/.agents/notes/runtime-env.md +44 -0
- package/templates/profiles/node/AGENTS.md +52 -0
- package/templates/scaffold/wiki/INDEX.md +33 -0
- package/templates/scaffold/wiki/drafts-archive/README.md +7 -0
- package/templates/scaffold/wiki//344/272/247/345/223/201/351/234/200/346/261/202/.gitkeep +0 -0
- package/templates/scaffold/wiki//345/274/200/345/217/221/346/226/271/346/241/210/.gitkeep +0 -0
- package/templates/scaffold/wiki//346/225/260/346/215/256/347/273/264/346/212/244/README.md +22 -0
- package/templates/scaffold/wiki//346/265/213/350/257/225/346/212/245/345/221/212/.gitkeep +0 -0
- package/templates/scaffold/wiki//347/224/250/346/210/267/345/212/237/350/203/275/.gitkeep +0 -0
- package/templates/scaffold/wiki//347/237/245/350/257/206/346/262/211/346/267/200/346/200/273/350/247/210.html +230 -0
- package/templates/scaffold/wiki//351/241/271/347/233/256/350/247/204/350/214/203/.gitkeep +0 -0
- package/templates/scaffold/workflow/INDEX.md +13 -0
- package/templates/scaffold/workflow/README.md +67 -0
- package/templates/scaffold/workflow/archive/README.md +3 -0
- package/templates/scaffold/workflow/delegations.d/.gitkeep +0 -0
- package/templates/scaffold/workflow/delegations.md +4 -0
- package/templates/scaffold/workflow/effective-policy.md +4 -0
- package/templates/scaffold/workflow/evidence/.gitkeep +0 -0
- package/templates/scaffold/workflow/gate-cost.md +4 -0
- package/templates/scaffold/workflow/gate-metrics.d/.gitkeep +0 -0
- package/templates/scaffold/workflow/incidents/_TEMPLATE.md +49 -0
- package/templates/scaffold/workflow/intents/_TEMPLATE.md +43 -0
- package/templates/scaffold/workflow/metrics.md +4 -0
- package/templates/scaffold/workflow/papercuts.d/.gitkeep +0 -0
- package/templates/scaffold/workflow/papercuts.md +3 -0
- package/templates/scaffold/workflow/plans/_TEMPLATE.md +47 -0
- package/templates/scaffold/workflow/regression-checklist.d/.gitkeep +0 -0
- package/templates/scaffold/workflow/regression-checklist.md +3 -0
- package/templates/scaffold/workflow/research/.gitkeep +0 -0
- package/templates/scaffold/workflow/reviews.d/.gitkeep +0 -0
- package/templates/scaffold/workflow/specs/_TEMPLATE.md +87 -0
- package/templates/scaffold/workflow/verify-evidence/.gitkeep +0 -0
- package/templates/scaffold/workflow/verify-evidence.md +4 -0
- package/LICENSE +0 -21
- package/modules/gates/README.md +0 -25
- package/modules/gates/dotnet-ca/README.md +0 -24
- package/modules/gates/dotnet-ca/check-architecture.sh +0 -150
- package/modules/gates/dotnet-ca/local-pre-commit.line +0 -1
- package/modules/gates/generated-readonly/README.md +0 -13
- package/modules/gates/generated-readonly/check-generated.mjs +0 -61
- package/modules/gates/generated-readonly/local-pre-commit.line +0 -1
- package/modules/gates/node-layer/README.md +0 -9
- package/modules/gates/node-layer/check-node-layer.mjs +0 -29
- package/modules/gates/node-layer/local-pre-commit.line +0 -1
- package/modules/gates/py-import/README.md +0 -9
- package/modules/gates/py-import/check-py-import.mjs +0 -30
- package/modules/gates/py-import/local-pre-commit.line +0 -1
- package/modules/gates/test-protect/README.md +0 -23
- package/modules/gates/test-protect/check-test-protect.mjs +0 -64
- package/modules/gates/test-protect/local-pre-commit.line +0 -1
- package/modules/hosts/README.md +0 -57
- package/modules/hosts/claude/agents/implementer.md +0 -51
- package/modules/hosts/claude/agents/independent-reviewer.md +0 -49
- package/modules/hosts/claude/agents/ui-verifier.md +0 -48
- package/modules/hosts/claude/commands/wf-build.md +0 -69
- package/modules/hosts/claude/commands/wf-deploy.md +0 -58
- package/modules/hosts/claude/commands/wf-design.md +0 -49
- package/modules/hosts/claude/commands/wf-gate-checklist.md +0 -77
- package/modules/hosts/claude/commands/wf-maintain.md +0 -76
- package/modules/hosts/claude/commands/wf-new-task.md +0 -102
- package/modules/hosts/claude/commands/wf-pipeline-run.md +0 -35
- package/modules/hosts/claude/commands/wf-plan.md +0 -40
- package/modules/hosts/claude/commands/wf-review.md +0 -49
- package/modules/hosts/claude/commands/wf-sync-hosts.md +0 -64
- package/modules/hosts/claude/commands/wf-test.md +0 -68
- package/modules/hosts/codex/agents/implementer.md +0 -51
- package/modules/hosts/codex/agents/independent-reviewer.md +0 -49
- package/modules/hosts/codex/agents/ui-verifier.md +0 -48
- package/modules/hosts/codex/commands/wf-build.md +0 -69
- package/modules/hosts/codex/commands/wf-deploy.md +0 -58
- package/modules/hosts/codex/commands/wf-design.md +0 -49
- package/modules/hosts/codex/commands/wf-gate-checklist.md +0 -77
- package/modules/hosts/codex/commands/wf-maintain.md +0 -76
- package/modules/hosts/codex/commands/wf-new-task.md +0 -102
- package/modules/hosts/codex/commands/wf-pipeline-run.md +0 -35
- package/modules/hosts/codex/commands/wf-plan.md +0 -40
- package/modules/hosts/codex/commands/wf-review.md +0 -49
- package/modules/hosts/codex/commands/wf-sync-hosts.md +0 -64
- package/modules/hosts/codex/commands/wf-test.md +0 -68
- package/modules/hosts/codex/skills/flow-kit/SKILL.md +0 -14
- package/modules/hosts/cursor/agents/implementer.md +0 -51
- package/modules/hosts/cursor/agents/independent-reviewer.md +0 -49
- package/modules/hosts/cursor/agents/ui-verifier.md +0 -48
- package/modules/hosts/cursor/commands/wf-build.md +0 -69
- package/modules/hosts/cursor/commands/wf-deploy.md +0 -58
- package/modules/hosts/cursor/commands/wf-design.md +0 -49
- package/modules/hosts/cursor/commands/wf-gate-checklist.md +0 -77
- package/modules/hosts/cursor/commands/wf-maintain.md +0 -76
- package/modules/hosts/cursor/commands/wf-new-task.md +0 -102
- package/modules/hosts/cursor/commands/wf-pipeline-run.md +0 -35
- package/modules/hosts/cursor/commands/wf-plan.md +0 -40
- package/modules/hosts/cursor/commands/wf-review.md +0 -49
- package/modules/hosts/cursor/commands/wf-sync-hosts.md +0 -64
- package/modules/hosts/cursor/commands/wf-test.md +0 -68
- package/modules/hosts/omp/agents/implementer.md +0 -52
- package/modules/hosts/omp/agents/independent-reviewer.md +0 -50
- package/modules/hosts/omp/agents/ui-verifier.md +0 -49
- package/modules/hosts/opencode/agents/implementer.md +0 -59
- package/modules/hosts/opencode/agents/independent-reviewer.md +0 -53
- package/modules/hosts/opencode/agents/ui-verifier.md +0 -52
- package/modules/hosts/opencode/commands/wf-build.md +0 -69
- package/modules/hosts/opencode/commands/wf-deploy.md +0 -58
- package/modules/hosts/opencode/commands/wf-design.md +0 -49
- package/modules/hosts/opencode/commands/wf-gate-checklist.md +0 -77
- package/modules/hosts/opencode/commands/wf-maintain.md +0 -76
- package/modules/hosts/opencode/commands/wf-new-task.md +0 -102
- package/modules/hosts/opencode/commands/wf-pipeline-run.md +0 -35
- package/modules/hosts/opencode/commands/wf-plan.md +0 -40
- package/modules/hosts/opencode/commands/wf-review.md +0 -49
- package/modules/hosts/opencode/commands/wf-sync-hosts.md +0 -64
- package/modules/hosts/opencode/commands/wf-test.md +0 -68
- package/modules/hosts/trae/agents/implementer.md +0 -52
- package/modules/hosts/trae/agents/independent-reviewer.md +0 -51
- package/modules/hosts/trae/agents/ui-verifier.md +0 -50
- package/modules/hosts/trae/commands/wf-build.md +0 -70
- package/modules/hosts/trae/commands/wf-deploy.md +0 -59
- package/modules/hosts/trae/commands/wf-design.md +0 -50
- package/modules/hosts/trae/commands/wf-gate-checklist.md +0 -78
- package/modules/hosts/trae/commands/wf-maintain.md +0 -77
- package/modules/hosts/trae/commands/wf-new-task.md +0 -103
- package/modules/hosts/trae/commands/wf-pipeline-run.md +0 -36
- package/modules/hosts/trae/commands/wf-plan.md +0 -41
- package/modules/hosts/trae/commands/wf-review.md +0 -50
- package/modules/hosts/trae/commands/wf-sync-hosts.md +0 -65
- package/modules/hosts/trae/commands/wf-test.md +0 -69
- package/modules/hosts/trae/hooks/post-edit-check.cjs +0 -98
- package/modules/hosts/trae/hooks/pre-shell-check.cjs +0 -192
- package/modules/hosts/trae/hooks/resolve-shell.cjs +0 -30
- package/modules/hosts/trae/hooks.json +0 -29
- package/modules/hosts/trae/rules/beautify-input-chinese.md +0 -6
- package/modules/hosts/trae/rules/git-commit-message.md +0 -10
- package/modules/hosts/trae/rules/project-workflow.md +0 -14
- package/modules/hosts/zcode/agents/implementer.md +0 -51
- package/modules/hosts/zcode/agents/independent-reviewer.md +0 -49
- package/modules/hosts/zcode/agents/ui-verifier.md +0 -48
- package/src/add-gate.mjs +0 -116
- package/src/add-gate.test.mjs +0 -103
- package/src/add-host.mjs +0 -68
- package/src/cli.mjs +0 -169
- package/src/doctor.mjs +0 -629
- package/src/executor.mjs +0 -262
- package/src/executor.test.mjs +0 -295
- package/src/fresh-init.test.mjs +0 -64
- package/src/gate-dotnet-ca.test.mjs +0 -124
- package/src/gates.test.mjs +0 -143
- package/src/init.mjs +0 -382
- package/src/init.test.mjs +0 -163
- package/src/instance-ref.test.mjs +0 -62
- package/src/jscpd-drift.test.mjs +0 -145
- package/src/pack.test.mjs +0 -24
- package/src/profiles.mjs +0 -183
- package/src/render.mjs +0 -132
- package/src/rule-budget.test.mjs +0 -103
- package/src/run-tests.mjs +0 -56
- package/src/stack-profile.test.mjs +0 -95
- package/src/sync-hosts.mjs +0 -257
- package/src/sync-hosts.test.mjs +0 -291
- package/src/sync.mjs +0 -228
- package/src/sync.test.mjs +0 -452
- package/src/trae-hooks.test.mjs +0 -127
- package/src/validate.mjs +0 -77
- package/src/validate.test.mjs +0 -95
- package/templates/.gitattributes +0 -17
- package/templates/AGENTS.md +0 -58
- package/templates/_agents/board/index.html +0 -676
- package/templates/_agents/commands/build.md +0 -84
- package/templates/_agents/commands/deploy.md +0 -66
- package/templates/_agents/commands/design.md +0 -63
- package/templates/_agents/commands/gate-checklist.md +0 -91
- package/templates/_agents/commands/maintain.md +0 -90
- package/templates/_agents/commands/new-task.md +0 -110
- package/templates/_agents/commands/pipeline-run.md +0 -43
- package/templates/_agents/commands/plan.md +0 -48
- package/templates/_agents/commands/review.md +0 -62
- package/templates/_agents/commands/sync-hosts.md +0 -77
- package/templates/_agents/commands/test.md +0 -87
- package/templates/_agents/control-surfaces.txt +0 -53
- package/templates/_agents/engine-lock.json +0 -342
- package/templates/_agents/hooks/check-index-incremental.mjs +0 -48
- package/templates/_agents/hooks/check-pairing-incremental.mjs +0 -66
- package/templates/_agents/hooks/check-wiki-ledger.mjs +0 -30
- package/templates/_agents/hooks/commit-check.cjs +0 -193
- package/templates/_agents/hooks/local-pre-commit +0 -6
- package/templates/_agents/lane-surfaces.txt +0 -17
- package/templates/_agents/level-hints.txt +0 -30
- package/templates/_agents/loop/papercut-debt/DESIGN.md +0 -112
- package/templates/_agents/mechanism-registry.md +0 -35
- package/templates/_agents/metric-claims.txt +0 -81
- package/templates/_agents/notes/engine-internals.md +0 -17
- package/templates/_agents/notes/runtime-env.md +0 -18
- package/templates/_agents/roles/implementer.md +0 -47
- package/templates/_agents/roles/independent-reviewer.md +0 -45
- package/templates/_agents/roles/ui-verifier.md +0 -44
- package/templates/_agents/rule-budgets.txt +0 -20
- package/templates/_agents/scripts/agg-delegations.cjs +0 -302
- package/templates/_agents/scripts/agg-delegations.test.mjs +0 -282
- package/templates/_agents/scripts/agg-gate-stats.mjs +0 -113
- package/templates/_agents/scripts/agg-gate-stats.test.mjs +0 -95
- package/templates/_agents/scripts/agg-judgments.mjs +0 -156
- package/templates/_agents/scripts/agg-judgments.test.mjs +0 -93
- package/templates/_agents/scripts/archive-sweep.mjs +0 -235
- package/templates/_agents/scripts/archive-sweep.test.mjs +0 -129
- package/templates/_agents/scripts/check-attribution.mjs +0 -37
- package/templates/_agents/scripts/check-convergence.mjs +0 -124
- package/templates/_agents/scripts/check-engine-integrity.mjs +0 -220
- package/templates/_agents/scripts/check-engine-integrity.test.mjs +0 -215
- package/templates/_agents/scripts/check-funnel.mjs +0 -56
- package/templates/_agents/scripts/check-hygiene.mjs +0 -167
- package/templates/_agents/scripts/check-hygiene.test.mjs +0 -182
- package/templates/_agents/scripts/check-index-incremental.test.mjs +0 -73
- package/templates/_agents/scripts/check-lane-surface.mjs +0 -238
- package/templates/_agents/scripts/check-lane-surface.test.mjs +0 -302
- package/templates/_agents/scripts/check-ledger-invariant.mjs +0 -586
- package/templates/_agents/scripts/check-ledger-invariant.test.mjs +0 -639
- package/templates/_agents/scripts/check-loop-rev.test.mjs +0 -336
- package/templates/_agents/scripts/check-loop-unit.test.mjs +0 -103
- package/templates/_agents/scripts/check-loop.mjs +0 -1987
- package/templates/_agents/scripts/check-loop.sh +0 -6
- package/templates/_agents/scripts/check-loop.test.mjs +0 -3912
- package/templates/_agents/scripts/check-metric-claims.mjs +0 -277
- package/templates/_agents/scripts/check-prejudgment.mjs +0 -64
- package/templates/_agents/scripts/check-registry.mjs +0 -45
- package/templates/_agents/scripts/check-scope.mjs +0 -96
- package/templates/_agents/scripts/check-scope.test.mjs +0 -99
- package/templates/_agents/scripts/check-scripts-syntax.mjs +0 -84
- package/templates/_agents/scripts/check-scripts-syntax.test.mjs +0 -72
- package/templates/_agents/scripts/check-spec-verif.mjs +0 -47
- package/templates/_agents/scripts/check-stage-index.mjs +0 -40
- package/templates/_agents/scripts/check-stage-index.test.mjs +0 -77
- package/templates/_agents/scripts/closeout-l1.mjs +0 -217
- package/templates/_agents/scripts/closeout-l1.test.mjs +0 -105
- package/templates/_agents/scripts/commit-check-trigger.test.mjs +0 -205
- package/templates/_agents/scripts/compact-ledgers.mjs +0 -97
- package/templates/_agents/scripts/compact-ledgers.test.mjs +0 -162
- package/templates/_agents/scripts/confirm-doc.mjs +0 -610
- package/templates/_agents/scripts/confirm-doc.test.mjs +0 -1119
- package/templates/_agents/scripts/doctor.test.mjs +0 -770
- package/templates/_agents/scripts/draft-sediment.mjs +0 -178
- package/templates/_agents/scripts/draft-sediment.test.mjs +0 -272
- package/templates/_agents/scripts/edit-face-check.mjs +0 -109
- package/templates/_agents/scripts/edit-face-check.test.mjs +0 -99
- package/templates/_agents/scripts/ensure-board.mjs +0 -185
- package/templates/_agents/scripts/fill-intent.mjs +0 -91
- package/templates/_agents/scripts/fill-intent.test.mjs +0 -113
- package/templates/_agents/scripts/fill-plan.mjs +0 -79
- package/templates/_agents/scripts/fill-plan.test.mjs +0 -224
- package/templates/_agents/scripts/fill-spec.mjs +0 -70
- package/templates/_agents/scripts/fill-spec.test.mjs +0 -266
- package/templates/_agents/scripts/fixture-scripts.mjs +0 -153
- package/templates/_agents/scripts/fixture-scripts.test.mjs +0 -112
- package/templates/_agents/scripts/gate-checklist.mjs +0 -209
- package/templates/_agents/scripts/gate-checklist.test.mjs +0 -201
- package/templates/_agents/scripts/gate-seg.mjs +0 -54
- package/templates/_agents/scripts/gate-seg.test.mjs +0 -112
- package/templates/_agents/scripts/gen-effective-policy.mjs +0 -107
- package/templates/_agents/scripts/gen-effective-policy.test.mjs +0 -100
- package/templates/_agents/scripts/gen-verify-evidence.mjs +0 -107
- package/templates/_agents/scripts/gen-verify-evidence.test.mjs +0 -84
- package/templates/_agents/scripts/gen-wiki-board.mjs +0 -276
- package/templates/_agents/scripts/gen-wiki-board.test.mjs +0 -249
- package/templates/_agents/scripts/gen-workflow-dashboard.mjs +0 -251
- package/templates/_agents/scripts/gen-workflow-dashboard.test.mjs +0 -188
- package/templates/_agents/scripts/gen-workflow-index.mjs +0 -201
- package/templates/_agents/scripts/gen-workflow-index.test.mjs +0 -152
- package/templates/_agents/scripts/gen-workflow-metrics.mjs +0 -466
- package/templates/_agents/scripts/gen-workflow-metrics.test.mjs +0 -343
- package/templates/_agents/scripts/git-merge-jsonl.mjs +0 -63
- package/templates/_agents/scripts/git-merge-jsonl.test.mjs +0 -125
- package/templates/_agents/scripts/judgment-ledger.mjs +0 -65
- package/templates/_agents/scripts/judgment-ledger.test.mjs +0 -129
- package/templates/_agents/scripts/kb-cache-evict.mjs +0 -50
- package/templates/_agents/scripts/kb-cache-evict.test.mjs +0 -104
- package/templates/_agents/scripts/kb-search.mjs +0 -413
- package/templates/_agents/scripts/kb-search.test.mjs +0 -299
- package/templates/_agents/scripts/lane-surface-audit.mjs +0 -143
- package/templates/_agents/scripts/lane-surface-audit.test.mjs +0 -93
- package/templates/_agents/scripts/ledger-doc-chain.test.mjs +0 -166
- package/templates/_agents/scripts/ledger-loader.mjs +0 -108
- package/templates/_agents/scripts/ledger-loader.test.mjs +0 -131
- package/templates/_agents/scripts/ledger-prune.mjs +0 -96
- package/templates/_agents/scripts/ledger-prune.test.mjs +0 -120
- package/templates/_agents/scripts/ledger-shards.mjs +0 -344
- package/templates/_agents/scripts/ledger-shards.test.mjs +0 -356
- package/templates/_agents/scripts/ledger-ts-monotonic.test.mjs +0 -135
- package/templates/_agents/scripts/level-criteria.mjs +0 -231
- package/templates/_agents/scripts/level-criteria.test.mjs +0 -281
- package/templates/_agents/scripts/mechanism-retire-watch.mjs +0 -183
- package/templates/_agents/scripts/mechanism-retire-watch.test.mjs +0 -114
- package/templates/_agents/scripts/papercut-debt-controller.mjs +0 -141
- package/templates/_agents/scripts/papercut-debt-controller.test.mjs +0 -127
- package/templates/_agents/scripts/papercut-debt-sensor.mjs +0 -170
- package/templates/_agents/scripts/papercut-debt-sensor.test.mjs +0 -146
- package/templates/_agents/scripts/pipeline-run-docs.mjs +0 -76
- package/templates/_agents/scripts/pipeline-run-run.mjs +0 -63
- package/templates/_agents/scripts/pipeline-run.mjs +0 -867
- package/templates/_agents/scripts/pipeline-run.test.mjs +0 -517
- package/templates/_agents/scripts/policy.mjs +0 -281
- package/templates/_agents/scripts/pre-push.test.mjs +0 -105
- package/templates/_agents/scripts/resolve-merge-conflicts.mjs +0 -110
- package/templates/_agents/scripts/resolve-merge-conflicts.test.mjs +0 -87
- package/templates/_agents/scripts/rewrite-file.mjs +0 -133
- package/templates/_agents/scripts/rewrite-file.test.mjs +0 -148
- package/templates/_agents/scripts/rule-budget.mjs +0 -96
- package/templates/_agents/scripts/rule-budget.test.mjs +0 -118
- package/templates/_agents/scripts/run-tests.mjs +0 -99
- package/templates/_agents/scripts/run-tests.test.mjs +0 -105
- package/templates/_agents/scripts/solidify-task.mjs +0 -109
- package/templates/_agents/scripts/solidify-task.test.mjs +0 -129
- package/templates/_agents/scripts/stage-gates.mjs +0 -343
- package/templates/_agents/scripts/stage-gates.test.mjs +0 -105
- package/templates/_agents/scripts/trust-mode.mjs +0 -67
- package/templates/_agents/scripts/trust-mode.test.mjs +0 -110
- package/templates/_agents/scripts/verify-wiki-consistency.mjs +0 -253
- package/templates/_agents/scripts/verify-wiki-consistency.test.mjs +0 -123
- package/templates/_agents/scripts/verify.mjs +0 -345
- package/templates/_agents/scripts/verify.test.mjs +0 -373
- package/templates/_agents/scripts/wf-journal.mjs +0 -231
- package/templates/_agents/scripts/wf-journal.test.mjs +0 -216
- package/templates/_agents/scripts/wiki-search.mjs +0 -19
- package/templates/_agents/scripts/wiki-search.test.mjs +0 -57
- package/templates/_agents/scripts/workflow-board-server.mjs +0 -393
- package/templates/_agents/scripts/workflow-board-server.test.mjs +0 -201
- package/templates/_agents/scripts/workflow-enums.mjs +0 -70
- package/templates/_agents/scripts/workflow-enums.test.mjs +0 -118
- package/templates/_agents/scripts/workflows-check.mjs +0 -260
- package/templates/_agents/scripts/workflows-check.test.mjs +0 -278
- package/templates/_agents/scripts-test-exempt.txt +0 -16
- package/templates/_agents/skills/papercut-fix/SKILL.md +0 -60
- package/templates/_agents/skills/papercut-fix/references/response-template.md +0 -81
- package/templates/_agents/skills/review-method/SKILL.md +0 -58
- package/templates/_agents/skills/verify-ui/SKILL.md +0 -61
- package/templates/_agents/skills/wiki/SKILL.md +0 -106
- package/templates/_agents/workflow-enums.txt +0 -26
- package/templates/_agents/workflow-modules.txt +0 -11
- package/templates/_agents/workflows/_TEMPLATE.md +0 -75
- package/templates/_agents/workflows/pipeline-closing.md +0 -28
- package/templates/_agents/workflows//347/244/272/344/276/213-/345/271/266/350/241/214/345/256/236/347/216/260/350/257/204/345/256/241.md +0 -16
- package/templates/_githooks/commit-msg +0 -17
- package/templates/_githooks/post-commit +0 -10
- package/templates/_githooks/pre-commit +0 -126
- package/templates/_githooks/pre-merge-commit +0 -29
- package/templates/_githooks/pre-push +0 -136
- package/templates/_github/workflows/kit-ci.yml +0 -49
- package/templates/wiki/INDEX.md +0 -73
- package/templates/wiki/drafts-archive/README.md +0 -3
- package/templates/wiki//344/272/247/345/223/201/351/234/200/346/261/202/README.md +0 -3
- package/templates/wiki//345/274/200/345/217/221/346/226/271/346/241/210/README.md +0 -3
- package/templates/wiki//346/225/260/346/215/256/347/273/264/346/212/244/README.md +0 -3
- package/templates/wiki//346/265/213/350/257/225/346/212/245/345/221/212/README.md +0 -3
- package/templates/wiki//347/224/250/346/210/267/345/212/237/350/203/275/README.md +0 -3
- package/templates/wiki//347/237/245/350/257/206/346/262/211/346/267/200/346/200/273/350/247/210.html +0 -77
- package/templates/wiki//351/241/271/347/233/256/350/247/204/350/214/203/README.md +0 -3
- package/templates/wiki//351/241/271/347/233/256/350/256/241/345/210/222/README.md +0 -3
- package/templates/workflow/README.md +0 -91
- package/templates/workflow/delegations.md +0 -29
- package/templates/workflow/incidents/_TEMPLATE.md +0 -51
- package/templates/workflow/intents/_TEMPLATE.md +0 -51
- package/templates/workflow/papercuts.md +0 -9
- package/templates/workflow/plans/_TEMPLATE.md +0 -47
- package/templates/workflow/regression-checklist.md +0 -23
- package/templates/workflow/specs/_TEMPLATE.md +0 -80
- /package/templates/{_agents → engine/.agents}/board/marked.min.js +0 -0
- /package/templates/{_agents/workflows → engine/.agents/pipelines}/steps//347/244/272/344/276/213-/351/203/250/347/275/262/351/252/214/350/257/201.md" +0 -0
- /package/templates/{_agents → engine/.agents}/scripts/git-core.mjs +0 -0
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
// workflow/INDEX.md 漂移(增量硬拦,2026-10-12,Shipyard.Material 参考实现回灌)。
|
|
3
|
-
// 检查 11 只在 check-loop --hygiene 里 WARN。关单提交不跑卫生段,索引会继续把已 closed/done 的文档列成在跑。
|
|
4
|
-
// 本脚本:暂存触及 workflow 四目录、归档或 INDEX.md 时,跑生成器 --check;不一致即拒提交。
|
|
5
|
-
// 未触及这些路径则跳过(引擎面提交不因陈旧索引被拦)。修复:node .agents/scripts/gen-workflow-index.mjs 后把 INDEX.md 一并暂存。
|
|
6
|
-
import { spawnSync } from 'node:child_process';
|
|
7
|
-
import path from 'node:path';
|
|
8
|
-
import process from 'node:process';
|
|
9
|
-
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
10
|
-
|
|
11
|
-
const INDEX_SRC = /^(?:workflow\/(?:intents|specs|plans|incidents|archive)\/.+\.md|workflow\/INDEX\.md)$/;
|
|
12
|
-
|
|
13
|
-
export function stagedTouchesIndex(files) {
|
|
14
|
-
return files.some((f) => INDEX_SRC.test(String(f).replace(/\\/g, '/')));
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
function main() {
|
|
18
|
-
const git = (args) => {
|
|
19
|
-
const r = spawnSync('git', args, { encoding: 'utf8' });
|
|
20
|
-
return { ok: !r.error && r.status === 0, out: (r.stdout || '').replace(/\r/g, '') };
|
|
21
|
-
};
|
|
22
|
-
const root = git(['rev-parse', '--show-toplevel']);
|
|
23
|
-
if (!root.ok || !root.out.trim()) {
|
|
24
|
-
console.error('索引漂移(增量): 无法定位仓库根,提交已阻止');
|
|
25
|
-
process.exit(1);
|
|
26
|
-
}
|
|
27
|
-
const top = root.out.trim();
|
|
28
|
-
process.chdir(top);
|
|
29
|
-
const touched = git(['-c', 'core.quotepath=off', 'diff', '--cached', '--name-only']);
|
|
30
|
-
if (!touched.ok) {
|
|
31
|
-
console.error('索引漂移(增量): 读暂存列表失败,提交已阻止');
|
|
32
|
-
process.exit(1);
|
|
33
|
-
}
|
|
34
|
-
const files = touched.out.split('\n').filter(Boolean);
|
|
35
|
-
if (!stagedTouchesIndex(files)) process.exit(0);
|
|
36
|
-
|
|
37
|
-
const gen = path.join(path.dirname(fileURLToPath(import.meta.url)), '..', 'scripts', 'gen-workflow-index.mjs');
|
|
38
|
-
const r = spawnSync(process.execPath, [gen, '--check'], { cwd: top, stdio: 'inherit' });
|
|
39
|
-
if (r.status !== 0) {
|
|
40
|
-
console.error('索引漂移(增量)— BLOCK:');
|
|
41
|
-
console.error(' 先跑 node .agents/scripts/gen-workflow-index.mjs,把 workflow/INDEX.md 一并暂存,再提交');
|
|
42
|
-
process.exit(r.status === null ? 1 : r.status);
|
|
43
|
-
}
|
|
44
|
-
process.exit(0);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
const isMain = process.argv[1] && import.meta.url === pathToFileURL(process.argv[1]).href;
|
|
48
|
-
if (isMain) main();
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
// 闭环配对(增量版):本次暂存的 intents/ incidents/ 入口文档必须已有同名 plan(L2/L3 另须同名 spec)
|
|
3
|
-
// 目的:把 check-loop「配对断裂」hard-block 的发现时机从 pre-push 提前到 commit
|
|
4
|
-
// (papercut 2026-09-15:maintain.md 只写「incident≡intent 免另立 intent」,未把配 plan 写成显式步骤,
|
|
5
|
-
// 按文档字面执行三次 commit 全绿、push 才爆红,只能后补;
|
|
6
|
-
// 2026-09-27 audit-gate-hardening 补齐 spec 档——此前只查 plan,L2/L3 缺 spec 仍要拖到 push 才爆红)
|
|
7
|
-
// 口径与 check-loop 检查 1 同款分档:入口文档(intents/ incidents/ 直下 .md)↔ workflow/plans/ 同名,
|
|
8
|
-
// L2/L3 级别另须 workflow/specs/ 同名;同 commit 携带 plan/spec 合法(检查的是工作区文件存在,staged 新建同样命中)。
|
|
9
|
-
// 自 sh 版移植 node(2026-10-08 门禁去 sh 化第二批;2026-10-13 自 Shipyard.Material 参考实现回灌)——语义逐条对齐。
|
|
10
|
-
// 已知边界(沿 sh 版):legacy 豁免与级别读取均基于工作区文件而非暂存 blob——add 后又改工作区时
|
|
11
|
-
// 可能误豁免/误拦(逐文件取 blob 的 fork 成本大于收益,接受)。
|
|
12
|
-
// git 调用带 `-c core.quotepath=off`:quotepath 默认 true 时非 ASCII 路径被引号转义,
|
|
13
|
-
// workflow/ 前缀匹配失配 → 门禁静默跳过(2026-09-27 gate-coverage 教训)。
|
|
14
|
-
import { spawnSync } from 'node:child_process';
|
|
15
|
-
import fs from 'node:fs';
|
|
16
|
-
import path from 'node:path';
|
|
17
|
-
import process from 'node:process';
|
|
18
|
-
|
|
19
|
-
const git = (args) => {
|
|
20
|
-
const r = spawnSync('git', args, { encoding: 'utf8' });
|
|
21
|
-
return { ok: !r.error && r.status === 0, out: (r.stdout || '').trim() };
|
|
22
|
-
};
|
|
23
|
-
const root = git(['rev-parse', '--show-toplevel']);
|
|
24
|
-
if (!root.ok) process.exit(1);
|
|
25
|
-
process.chdir(root.out);
|
|
26
|
-
|
|
27
|
-
const staged = git(['-c', 'core.quotepath=off', 'diff', '--cached', '--name-only', '--diff-filter=ACMR']);
|
|
28
|
-
if (!staged.ok) process.exit(1);
|
|
29
|
-
const entries = staged.out.split('\n').filter((f) => /^workflow\/(intents|incidents)\/[^/]+\.md$/.test(f) && !f.endsWith('_TEMPLATE.md'));
|
|
30
|
-
|
|
31
|
-
let fail = 0;
|
|
32
|
-
const block = (lines) => { console.log('闭环配对(增量)— BLOCK:'); for (const l of lines) console.log(' ' + l); fail = 1; };
|
|
33
|
-
|
|
34
|
-
for (const f of entries) {
|
|
35
|
-
// 闭环引擎启用前的回填件带「流程: legacy」豁免配对检查(与 check-loop 同口径)
|
|
36
|
-
let legacy = false, lvl = '';
|
|
37
|
-
try {
|
|
38
|
-
for (const line of fs.readFileSync(f, 'utf8').split(/\r?\n/)) {
|
|
39
|
-
if (line.startsWith('流程: legacy')) legacy = true;
|
|
40
|
-
const m = /^级别:\s*(.*)$/.exec(line);
|
|
41
|
-
if (m && lvl === '') lvl = m[1].trim();
|
|
42
|
-
if (legacy && lvl !== '') break;
|
|
43
|
-
}
|
|
44
|
-
} catch { /* 读不到按未豁免处理(沿 sh 版 grep 失败即不豁免的语义) */ }
|
|
45
|
-
if (legacy) continue;
|
|
46
|
-
const base = path.basename(f, '.md');
|
|
47
|
-
if (!fs.existsSync(path.join('workflow', 'plans', `${base}.md`))) {
|
|
48
|
-
block([
|
|
49
|
-
`入口缺同名 plan: ${f}(应在 workflow/plans/${base}.md)`,
|
|
50
|
-
'L1 用 fill-plan.mjs --level L1(入口/改动方案/约束与风险/验证计划/验收标准),不另立 intent',
|
|
51
|
-
]);
|
|
52
|
-
}
|
|
53
|
-
if (lvl === 'L2' || lvl === 'L3') {
|
|
54
|
-
if (!fs.existsSync(path.join('workflow', 'specs', `${base}.md`))) {
|
|
55
|
-
block([
|
|
56
|
-
`入口缺同名 spec: ${f}(级别 ${lvl} 须三件套,应在 workflow/specs/${base}.md)`,
|
|
57
|
-
'与 pre-push check-loop 检查 1 同口径——先起草 spec 走 design.md,再提交',
|
|
58
|
-
]);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
if (fail !== 0) {
|
|
64
|
-
console.error('pre-commit: 入口文档配对不全(plan / L2-L3 spec),提交已阻止(与 pre-push check-loop 同口径,发现时机提前到 commit)');
|
|
65
|
-
}
|
|
66
|
-
process.exit(fail);
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
// wiki 台账一致性(增量版):本次暂存触及 wiki/ 时跑 verify 三方校验(磁盘 ↔ INDEX ↔ 看板 DATA)
|
|
3
|
-
// 目的:给「登记动作」装触发点——verify 此前无任何钩子调用,只能靠「触及 wiki 时手跑」的文字纪律
|
|
4
|
-
// (incident 2026-09-16-wiki-drift-and-verifier-gaps 认定的根因);本脚本把发现时机提前到 commit。
|
|
5
|
-
// 口径与 .agents/scripts/verify-wiki-consistency.mjs 一致:活层新增/删除/移动未登记、数据维护批次目录未入台账即拦。
|
|
6
|
-
// 自 sh 版移植 node(2026-10-08 门禁去 sh 化第二批;2026-10-13 自 Shipyard.Material 参考实现回灌)——语义逐条对齐。
|
|
7
|
-
// 注意 git 调用带 `-c core.quotepath=off`:quotepath 默认 true 时中文路径被转义加引号,^wiki/ 前缀
|
|
8
|
-
// 匹配失配 → 门禁静默跳过(2026-09-27 gate-coverage 教训)。
|
|
9
|
-
import { spawnSync } from 'node:child_process';
|
|
10
|
-
import path from 'node:path';
|
|
11
|
-
import process from 'node:process';
|
|
12
|
-
|
|
13
|
-
const git = (args) => {
|
|
14
|
-
const r = spawnSync('git', args, { encoding: 'utf8' });
|
|
15
|
-
return { ok: !r.error && r.status === 0, out: (r.stdout || '').trim() };
|
|
16
|
-
};
|
|
17
|
-
const root = git(['rev-parse', '--show-toplevel']);
|
|
18
|
-
if (!root.ok) process.exit(1);
|
|
19
|
-
process.chdir(root.out);
|
|
20
|
-
|
|
21
|
-
const touched = git(['-c', 'core.quotepath=off', 'diff', '--cached', '--name-only']);
|
|
22
|
-
if (!touched.ok || !touched.out.split('\n').some((f) => f.startsWith('wiki/'))) process.exit(0);
|
|
23
|
-
|
|
24
|
-
const r = spawnSync(process.execPath, [path.join('.agents', 'scripts', 'verify-wiki-consistency.mjs')], { stdio: 'inherit' });
|
|
25
|
-
if (r.status !== 0) {
|
|
26
|
-
console.log('wiki 台账(增量)— BLOCK:');
|
|
27
|
-
console.log(' 先跑 node .agents/scripts/gen-wiki-board.mjs 补 INDEX/看板(或补 wiki/数据维护/README.md 登记行),再原路重试提交');
|
|
28
|
-
process.exit(1);
|
|
29
|
-
}
|
|
30
|
-
process.exit(0);
|
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
// commit-check: git commit 前置验证(agentic-flow-kit 通用版)
|
|
2
|
-
// 1) 敏感信息扫描(暂存区新增行含疑似密钥 -> BLOCK)
|
|
3
|
-
// 2) 条件构建验证(按 .agents/hooks/commit-check.config.json 的 builds 配置;--full 不做 ext/prefix 裁剪,仍尊重 when)
|
|
4
|
-
// 3) 质量检测(config.checks:lint / 类型检查 / vet 等秒级确定性检查;--full 不做 ext/prefix 裁剪,仍尊重 when)
|
|
5
|
-
// 旗标(2026-10-16 构建门后移 pre-push,自源仓 2ff869a9 回灌):
|
|
6
|
-
// --no-build:跳过段 2 条件构建——pre-commit 常规提交用(提交内环提速);构建在 pre-push 按推送范围
|
|
7
|
-
// 执法,合并提交仍走 --full 全量构建(合并结果是没人验证过的新状态)。
|
|
8
|
-
// --range <old> <new>:推送范围模式(pre-push 用)——文件面取 git diff --name-only old new;
|
|
9
|
-
// old 为全零 sha(新分支首推)= 全量匹配语义(等价 --full 的构建面);段 1 敏感扫描跳过
|
|
10
|
-
// (逐提交时刻 pre-commit 已扫,范围重扫无增量价值)。默认(无旗标)暂存区模式行为不变。
|
|
11
|
-
// config 由 flow-kit init 按技术栈生成初值,项目可自行增改;缺失或无 builds/checks 时跳过对应段。
|
|
12
|
-
// 配置示例(.agents/hooks/commit-check.config.json):
|
|
13
|
-
// {
|
|
14
|
-
// "knownPatterns": ["admin\\/123", "my-project-seed"], // 项目已知种子/代码标识符白名单(正则源,i 标志)
|
|
15
|
-
// "builds": [
|
|
16
|
-
// { "name": "backend", "command": "dotnet build", "ext": [".cs", ".sln", ".csproj"] },
|
|
17
|
-
// { "name": "frontend", "command": "npm run build", "ext": [".ts", ".tsx", ".vue", ".js", ".jsx"],
|
|
18
|
-
// "cwd": "frontend",
|
|
19
|
-
// "lockPattern": "MSB3026|MSB3027", // 可选:命中时按 lockHint 提示(文件锁类「与代码无关」失败)
|
|
20
|
-
// "lockHint": "构建被文件锁拦下——本地运行中的进程正占用产物,停进程后重试" },
|
|
21
|
-
// { "name": "docs-site", "command": "npm run build", "prefix": "docs/", "cwd": "docs" } // prefix 可选:路径前缀触发
|
|
22
|
-
// ],
|
|
23
|
-
// "checks": [
|
|
24
|
-
// { "name": "typecheck", "command": "npx tsc --noEmit", "ext": [".ts", ".tsx"], "when": ["tsconfig.json"] },
|
|
25
|
-
// { "name": "lint", "command": "npx eslint .", "ext": [".ts", ".js"], "when": ["eslint.config.js", ".eslintrc.json"] }
|
|
26
|
-
// ]
|
|
27
|
-
// }
|
|
28
|
-
// builds/checks 触发判定(对暂存文件,.agents/ 与 .githooks/ 自身变更不计):`ext 任一匹配 OR prefix 前缀命中`。
|
|
29
|
-
// - 只有 ext:按扩展名全局触发(跨目录,适合语言型触发——仓库里该扩展名基本只属于该构建);
|
|
30
|
-
// - 只有 prefix:该前缀下任何文件触发(目录型触发——如 monorepo 子包,仓库其他位置的相同扩展名不触发);
|
|
31
|
-
// - 两者同配为 OR 并集而非 AND 交集——要「前缀内的特定扩展名」请只配 prefix(目录内文档变更多跑一次构建,方向安全)。
|
|
32
|
-
// when(builds 与 checks 共用):数组任一满足才启用,无 when 字段 = 无条件启用。
|
|
33
|
-
// - 路径或尾部 * 一层通配(如 "*.sln"):相对仓库根做存在性判断;
|
|
34
|
-
// - pkg:<点分路径>(如 pkg:scripts.build):读该项 cwd(缺省仓库根)的 package.json,
|
|
35
|
-
// 沿路径取值,非空字符串才算满足。
|
|
36
|
-
// 没有对应配置的项目自动跳过并提示,不 fail-closed 误拦。--full 同样尊重 when。
|
|
37
|
-
const { execSync } = require('child_process');
|
|
38
|
-
const path = require('path');
|
|
39
|
-
const fs = require('fs');
|
|
40
|
-
|
|
41
|
-
process.chdir(path.resolve(__dirname, '../..'));
|
|
42
|
-
|
|
43
|
-
function sh(cmd, cwd) {
|
|
44
|
-
try {
|
|
45
|
-
execSync(cmd, { stdio: 'pipe', encoding: 'utf8', cwd: cwd || undefined });
|
|
46
|
-
return { ok: true, out: '' };
|
|
47
|
-
} catch (e) {
|
|
48
|
-
return { ok: false, out: String((e.stdout || '') + (e.stderr || '')) };
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
// --- 模式旗标(2026-10-16 构建门后移 pre-push;sha 经 git 管道来仍做白名单校验——信任边界) ---
|
|
53
|
-
const NO_BUILD = process.argv.includes('--no-build');
|
|
54
|
-
const rangeIdx = process.argv.indexOf('--range');
|
|
55
|
-
const RANGE = rangeIdx >= 0 ? process.argv.slice(rangeIdx + 1, rangeIdx + 3) : null;
|
|
56
|
-
if (RANGE && (RANGE.length < 2 || !/^[0-9a-f]{4,40}$/i.test(RANGE[0]) || !/^[0-9a-f]{4,40}$/i.test(RANGE[1]))) {
|
|
57
|
-
console.log(`BLOCK: --range 参数须为两个 git sha(现「${(RANGE || []).join(' ')}」)`);
|
|
58
|
-
process.exit(1);
|
|
59
|
-
}
|
|
60
|
-
// 全零 old = 新分支首推:git diff 对全零 sha 无从执行,且本就取全量匹配语义——文件面置空即可
|
|
61
|
-
const RANGE_ZERO_OLD = RANGE !== null && /^0+$/.test(RANGE[0]);
|
|
62
|
-
|
|
63
|
-
let staged = [];
|
|
64
|
-
try {
|
|
65
|
-
const listCmd = !RANGE ? 'git diff --cached --name-only'
|
|
66
|
-
: RANGE_ZERO_OLD ? null
|
|
67
|
-
: `git diff --name-only ${RANGE[0]} ${RANGE[1]}`;
|
|
68
|
-
staged = listCmd === null ? []
|
|
69
|
-
: execSync(listCmd, { encoding: 'utf8', stdio: ['ignore', 'pipe', 'ignore'] })
|
|
70
|
-
.split('\n').map(s => s.trim()).filter(Boolean);
|
|
71
|
-
} catch (e) {
|
|
72
|
-
console.log('BLOCK: 无法读取变更文件面(git diff 失败)');
|
|
73
|
-
process.exit(1);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
// --- 0) 项目配置(可选) ---
|
|
77
|
-
let config = { knownPatterns: [], builds: [] };
|
|
78
|
-
try {
|
|
79
|
-
const raw = JSON.parse(fs.readFileSync('.agents/hooks/commit-check.config.json', 'utf8'));
|
|
80
|
-
config = { ...config, ...raw };
|
|
81
|
-
} catch (e) { /* 无配置 = 敏感扫描用基线白名单 + 跳过构建验证 */ }
|
|
82
|
-
|
|
83
|
-
// --- 1) 敏感信息扫描:暂存区新增行是否含疑似密钥(只认带引号的字符串字面量;排除类型/空值关键字) ---
|
|
84
|
-
const SECRET = /(password|passwd|pwd|secret|token|apikey|api[_ -]?key|connectionstring|server=|bearer)["']?\s*[:=]\s*["'](?!["']?(string|number|boolean|unknown|any|never|void|object|null|undefined|true|false)\b)[^"'\r\n]{6,}["']/i;
|
|
85
|
-
// 判据/白名单自身的定义行长得就像密钥赋值,须自豁免
|
|
86
|
-
const SELF = /const (SECRET|KNOWN) = \//i;
|
|
87
|
-
// KNOWN:项目已知种子与代码标识符白名单(config.knownPatterns 注入;本文件基线为空——通用包不带项目种子)
|
|
88
|
-
let KNOWN = null;
|
|
89
|
-
if (Array.isArray(config.knownPatterns) && config.knownPatterns.length) {
|
|
90
|
-
KNOWN = new RegExp(config.knownPatterns.join('|'), 'i');
|
|
91
|
-
}
|
|
92
|
-
let diffText = '';
|
|
93
|
-
try {
|
|
94
|
-
diffText = execSync('git diff --cached', { encoding: 'utf8', stdio: ['ignore', 'pipe', 'ignore'] });
|
|
95
|
-
} catch (e) { /* 空暂存 */ }
|
|
96
|
-
const added = diffText.split('\n').filter(l => l.startsWith('+') && !l.startsWith('+++'));
|
|
97
|
-
const hits = added.filter(l => SECRET.test(l) && !(KNOWN && KNOWN.test(l)) && !SELF.test(l));
|
|
98
|
-
if (hits.length) {
|
|
99
|
-
console.log('BLOCK: 暂存区疑似包含敏感信息(密钥/连接串/令牌),请检查:\n' + hits.slice(0, 5).join('\n'));
|
|
100
|
-
process.exit(1);
|
|
101
|
-
}
|
|
102
|
-
if (RANGE) console.log('SKIP: --range 模式跳过敏感扫描(逐提交时刻 pre-commit 已扫,2026-10-16 构建门后移)');
|
|
103
|
-
|
|
104
|
-
// --- 2) 条件构建验证 ---
|
|
105
|
-
// --full:合并提交(pre-merge-commit / 冲突解决后手动 commit)使用——合并结果是没人验证过的新状态,
|
|
106
|
-
// 按 ext/prefix 裁剪可能漏掉需要重跑的一侧,故不做路径裁剪。when 仍生效:没有对应能力就不跑。
|
|
107
|
-
// --range 全零 old sha(新分支首推)同取全量匹配语义。
|
|
108
|
-
// 引擎自身文件(.agents/、.githooks/)不参与构建匹配——工作流引擎不是项目构建产物。
|
|
109
|
-
const FULL = process.argv.includes('--full') || RANGE_ZERO_OLD;
|
|
110
|
-
const stagedForBuild = staged.filter(f => !f.startsWith('.agents/') && !f.startsWith('.githooks/'));
|
|
111
|
-
|
|
112
|
-
// whenSatisfied:任一谓词满足即启用。pkg: 读 cwd 下的 package.json;其余谓词相对仓库根。
|
|
113
|
-
function whenItem(w, cwd) {
|
|
114
|
-
if (typeof w === 'string' && w.startsWith('pkg:')) {
|
|
115
|
-
const keys = w.slice(4).split('.').filter(Boolean);
|
|
116
|
-
if (!keys.length) return false;
|
|
117
|
-
const pkgPath = path.join(cwd || '.', 'package.json');
|
|
118
|
-
let pkg;
|
|
119
|
-
try { pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8')); } catch (e) { return false; }
|
|
120
|
-
let cur = pkg;
|
|
121
|
-
for (const k of keys) {
|
|
122
|
-
if (cur == null || typeof cur !== 'object' || !Object.prototype.hasOwnProperty.call(cur, k)) return false;
|
|
123
|
-
cur = cur[k];
|
|
124
|
-
}
|
|
125
|
-
return typeof cur === 'string' && cur.trim() !== '';
|
|
126
|
-
}
|
|
127
|
-
const star = String(w).indexOf('*');
|
|
128
|
-
if (star < 0) return fs.existsSync(w);
|
|
129
|
-
const suffix = w.slice(star + 1);
|
|
130
|
-
const dir = path.dirname(w.slice(0, star)) || '.';
|
|
131
|
-
try { return fs.readdirSync(dir).some((f) => f.endsWith(suffix)); } catch (e) { return false; }
|
|
132
|
-
}
|
|
133
|
-
function whenSatisfied(when, cwd) {
|
|
134
|
-
if (!when) return true;
|
|
135
|
-
const list = Array.isArray(when) ? when : [when];
|
|
136
|
-
return list.some((w) => whenItem(w, cwd));
|
|
137
|
-
}
|
|
138
|
-
function skipWhen(kind, item) {
|
|
139
|
-
const shown = Array.isArray(item.when) ? item.when.join(' / ') : item.when;
|
|
140
|
-
console.log(`SKIP: ${item.name}(未找到 ${shown},跳过${kind}——配置好后自动启用)`);
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
if (NO_BUILD) {
|
|
144
|
-
console.log('SKIP: --no-build(2026-10-16 构建门后移 pre-push——常规提交不再构建,推送时按范围执法)');
|
|
145
|
-
} else {
|
|
146
|
-
let consideredBuild = false;
|
|
147
|
-
for (const b of (config.builds || [])) {
|
|
148
|
-
if (!b || !b.command) continue;
|
|
149
|
-
const exts = Array.isArray(b.ext) ? b.ext : [];
|
|
150
|
-
const match = FULL || stagedForBuild.some(f => exts.some(e => f.endsWith(e)) || (b.prefix ? f.startsWith(b.prefix) : false));
|
|
151
|
-
if (!match) continue;
|
|
152
|
-
consideredBuild = true;
|
|
153
|
-
if (!whenSatisfied(b.when, b.cwd)) { skipWhen('构建', b); continue; }
|
|
154
|
-
const r = sh(b.command, b.cwd);
|
|
155
|
-
if (!r.ok) {
|
|
156
|
-
if (b.lockPattern && new RegExp(b.lockPattern).test(r.out)) {
|
|
157
|
-
console.log(`BLOCK: ${b.name} 构建被文件锁拦下(与代码无关)。${b.lockHint || '停掉占用进程后原路重试'}\n` +
|
|
158
|
-
'锁冲突行:\n' + r.out.split(/\r?\n/).filter(l => new RegExp(b.lockPattern).test(l)).slice(0, 3).join('\n'));
|
|
159
|
-
} else {
|
|
160
|
-
console.log(`BLOCK: ${b.name} 构建失败(${b.command})\n` + r.out.slice(0, 1500));
|
|
161
|
-
}
|
|
162
|
-
process.exit(1);
|
|
163
|
-
}
|
|
164
|
-
console.log(`OK: ${b.name} 构建通过(${b.command})`);
|
|
165
|
-
}
|
|
166
|
-
if (!consideredBuild) {
|
|
167
|
-
console.log(config.builds && config.builds.length
|
|
168
|
-
? 'SKIP: 无匹配的源码变更,跳过构建验证'
|
|
169
|
-
: 'SKIP: 未配置 builds(.agents/hooks/commit-check.config.json),跳过构建验证');
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
// --- 3) 质量检测(checks:lint / 类型检查 / vet 等秒级确定性检查;测试不放这里——关单在 test.md 阶段门) ---
|
|
174
|
-
let ranCheck = false;
|
|
175
|
-
for (const c of (config.checks || [])) {
|
|
176
|
-
if (!c || !c.command) continue;
|
|
177
|
-
const exts = Array.isArray(c.ext) ? c.ext : [];
|
|
178
|
-
const match = FULL || stagedForBuild.some(f => exts.some(e => f.endsWith(e)) || (c.prefix ? f.startsWith(c.prefix) : false));
|
|
179
|
-
if (!match) continue;
|
|
180
|
-
ranCheck = true;
|
|
181
|
-
if (!whenSatisfied(c.when, c.cwd)) { skipWhen('质量检查', c); continue; }
|
|
182
|
-
const r = sh(c.command, c.cwd);
|
|
183
|
-
if (!r.ok) {
|
|
184
|
-
console.log(`BLOCK: ${c.name} 质量检查未通过(${c.command})\n` + r.out.slice(0, 1200));
|
|
185
|
-
process.exit(1);
|
|
186
|
-
}
|
|
187
|
-
console.log(`OK: ${c.name} 质量检查通过(${c.command})`);
|
|
188
|
-
}
|
|
189
|
-
if (!ranCheck && config.checks && config.checks.length) {
|
|
190
|
-
console.log('SKIP: 无匹配的源码变更,跳过质量检测');
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
console.log('COMMIT_CHECK_OK');
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# L2 触达面清单(单源:本文件——check-lane-surface.mjs 检查 A 共读,pre-commit「泳道完整性」门禁)
|
|
2
|
-
# 格式:每行一条 ERE(grep -E 兼容),匹配暂存文件的仓库相对路径(/ 分隔)。
|
|
3
|
-
# # 注释与空行忽略;本文件缺失或清单为空 = 检查跳过(装户无感升级)。
|
|
4
|
-
# 正则语法错误行 → 门禁 fail-closed 阻断(防静默空洞,修配置后重试)。
|
|
5
|
-
# 语义:命中任一模式 = 本次改动触及「一处定义、多处消费」的契约 / 规则面(L2 触达面,
|
|
6
|
-
# 判据单源见 .agents/scripts/level-criteria.mjs 的 L2_SURFACES)。此时须有活跃(draft/approved / open/fixed)
|
|
7
|
-
# L2/L3 入口罩着;活跃入口全为 L1 会被 pre-commit「触达面判低」拦截(三选修法见门禁消息)。
|
|
8
|
-
# 无任何活跃入口时仅 advisory——docs / bootstrap 豁免类改动(new-task.md §intent 豁免)不受阻。
|
|
9
|
-
# 漏登面审计:node .agents/scripts/lane-surface-audit.mjs(advisory,恒 exit 0)——近窗口(默认 30 天)
|
|
10
|
-
# L2/L3 任务反复触及(≥3 个不同入口文档)却无文件被本清单命中的目录 = 候选漏登面,供人工评估补登;
|
|
11
|
-
# 月度手跑,改共享契约频繁期可随时跑(候选 ≠ 必登——高频触及 ≠ 契约面,机器不猜语义)。
|
|
12
|
-
# 本仓默认面(引擎 / 契约面,行为承载目录——commands/roles 纯提示文本属 docs 级不列入;按项目自行改):
|
|
13
|
-
^templates/
|
|
14
|
-
^\.agents/(scripts|hooks)/
|
|
15
|
-
^\.githooks/
|
|
16
|
-
^bin/
|
|
17
|
-
^modules/
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
# 风险级别路径提示清单(单源消费方:templates/_agents/scripts/level-criteria.mjs)
|
|
2
|
-
#
|
|
3
|
-
# 用途:登记「哪些路径一碰就**至少**是 L2 / L3」。定级是**意图面**的语义判定(「一处定义、多处消费」),
|
|
4
|
-
# 机器判不了语义;但「路径下限」可以登记,避免明显高风险的改动被拍脑袋判成 L1。
|
|
5
|
-
# 与 lane-surfaces.txt 的分工:那是**提交面**的触达判据(改这些面须有活跃 L2/L3 入口),
|
|
6
|
-
# 本文件是**意图面**的档位提示(改这些面就该按更高档走)。两者不同档,各司其职。
|
|
7
|
-
#
|
|
8
|
-
# 格式:每行一条 `<档位> <ERE>`,ERE 为 grep -E 兼容正则,匹配仓库相对路径(/ 分隔)。
|
|
9
|
-
# 档位**只收 L2 / L3**:本清单登记的是「一碰就至少是中/高风险面」的下限。L1 不构成门槛(L0 已退役),
|
|
10
|
-
# 登记了只会让提交面判低门(L2 触达面门)对无关改动出手——那正是要避免的噪声。
|
|
11
|
-
# **ERE 与注释必须分两行**:写 `L3 ^a\.sql$ # 迁移 SQL` 会把 `# 迁移 SQL` 编进正则,
|
|
12
|
-
# 若含 $ 锚点该条就永不命中,且不报任何错(路径下限与提交面兜底同时静默失效)。
|
|
13
|
-
# 确需匹配路径里的 # 时写 \#。非法档位 / 行内注释 / 正则语法错 → **fail-loud 抛错**
|
|
14
|
-
# (写错配置比没配置危险:没配置会提示补,写错会误判)。
|
|
15
|
-
# # 注释与空行忽略;本文件缺失或清单为空 = 纯语义定级(判据面全程静默,不阻断)。
|
|
16
|
-
#
|
|
17
|
-
# 默认留空(刻意):本清单内容是**项目私有**的——按你自己的代码布局登记,照抄别人的清单等于没登记。
|
|
18
|
-
# 建议起步:从「改什么几乎必然是 L2/L3」的高频面挑 3~5 条先登记,跑一段时间再补。
|
|
19
|
-
#
|
|
20
|
-
# ---- 示例(取消注释并按项目实际路径改写;本仓为 node 包源,下例仅示意形态)----
|
|
21
|
-
# # 迁移 SQL(注释单独成行,不要接在 ERE 后面)
|
|
22
|
-
# L3 ^src/db/migrations/.*\.sql$
|
|
23
|
-
# # schema 定义
|
|
24
|
-
# L3 ^src/db/schema/
|
|
25
|
-
# # 认证与中间件管线 / DI 链
|
|
26
|
-
# L3 ^(src/(auth|middleware)/|src/.*\.(auth|di)\.(ts|js)$)
|
|
27
|
-
# # 共享契约(DTO / 接口签名)
|
|
28
|
-
# L2 ^src/contracts/
|
|
29
|
-
# # 编码权威(取号 / 命名规则生成器)
|
|
30
|
-
# L2 ^src/coding/
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
# papercut-debt 控制回路 — 设计(2026-10-07 拍板;B10a 自 Shipyard.Material 回灌)
|
|
2
|
-
|
|
3
|
-
> 本文件是回路的**设计单一真相源**。传感器 / 控制器 / 执行器技能 / 记忆文件均按此实现,改设计先改本文件。
|
|
4
|
-
> 范围:把 `workflow/papercuts.md` 的未升级存量债驱动到 0。执行器为**对话内手动触发**(kit 不为回路接线 CI/定时)。
|
|
5
|
-
|
|
6
|
-
## 1. 设定点(Set point)
|
|
7
|
-
|
|
8
|
-
**`workflow/papercuts.md` 中未消债条目数 → 0。**
|
|
9
|
-
|
|
10
|
-
- **判定口径(单源,本文件)**:
|
|
11
|
-
- **已消债(settled)** = 该行含 `✅`(真修完)**或** 含 `⏸ 暂缓(日期):理由`(人读过、判失效)。
|
|
12
|
-
- **未消债(debt)** = 其余,即 `debt = 总数 − settled`。
|
|
13
|
-
- `⏸ 暂缓` **无理由者仍计债** —— 堵"标个符号清零"的路,迫使人真读一遍。
|
|
14
|
-
- **环境约束类(`[env]` 前缀)**:「位置」列以 `[env]` 开头(外层可带反引号包裹,传感器兼容)的行**不进债池**(`scan()` 不返回,控制器 import 债池数组天然不选),单列 `envPending`(仅未 settled 的)。清账两路径:环境前提复测消失 → `⏸ 暂缓(日期):前提已消失`;定性实为代码缺陷 → 去前缀转正回债池。理由:环境自愈不该由回路轮询发现(源仓首轮实证:pypi 恢复后自愈的环境条目,却占 debt 名额等人工定性一轮——留痕在包源仓 git 历史与 CHANGELOG)。
|
|
15
|
-
- 两类分开计数(`resolved` / `deferredReasoned`),避免"暂缓"冒充"修完"。
|
|
16
|
-
- 终态:全部条目 settled。**"暂缓"是合法终态,但必须有人写理由。**
|
|
17
|
-
- 基线:装户首次跑传感器时的 `debt` 读数即基线,随后每轮 `debt` 恰好 -1。装户侧不预填数字。
|
|
18
|
-
|
|
19
|
-
> **首轮修正(设计教训,单源保留)**:初版口径只有 `✅` 判债、`⏸` 不消债。后果是执行器走"判失效"分支(写 `⏸`)后 `debt` 不减,完成判据"debt 恰好 -1"永远达不到,且控制器下一轮仍选中同一条 → **回路空转**。现口径按上表,`settled` 由传感器单源判定、控制器 import 复用(两处各判一次必然漂移,见 §3 末)。
|
|
20
|
-
|
|
21
|
-
为什么选它(三条依据):
|
|
22
|
-
|
|
23
|
-
1. **计数客观**:`papercuts.md` 是人写的自由文本表格,但"是否已升级"是二值事实,解析成本低、复跑稳定。
|
|
24
|
-
2. **改动面天然是文档**:每条 papercut 的"拟修"列指向的多是 `.agents/commands/`、`.agents/skills/`、`.githooks/` 下的提示文本与脚本 —— 与回路执行器边界(文档面)**天然对齐**,不需人为收窄。
|
|
25
|
-
3. **不撞人工门**:`papercuts.md` 是普通台账,**不走 `confirm-doc` 状态机**(不同于 intent/spec/plan),所以回路可以无人值守跑而不会卡在人工确认点。
|
|
26
|
-
|
|
27
|
-
不选的候选与理由属**装户实测数据**(源仓实例:回归清单未勾项、常驻面体积瘦身、check-loop 存量 warning——留痕在包源仓 git 历史与 CHANGELOG)。装户立回路时按同原则自评:单轮以小时计的、改 AI 行为指令的、性价比最低的候选不进本回路。
|
|
28
|
-
|
|
29
|
-
## 2. 传感器(Sensor)
|
|
30
|
-
|
|
31
|
-
**脚本**:`.agents/scripts/papercut-debt-sensor.mjs`
|
|
32
|
-
**输出**:`--json` 时给结构化 JSON;默认给人读的中文摘要。退出码恒 0(**测量失败不该阻断回路**,但会显式打印 ERROR 行)。
|
|
33
|
-
|
|
34
|
-
测量口径:
|
|
35
|
-
|
|
36
|
-
| 字段 | 含义 |
|
|
37
|
-
|---|---|
|
|
38
|
-
| `unresolved` | 未升级条目数组,每项含 `line` / `date` / `location` / `symptom` / `proposedFix` / `hits`(scope 由控制器 §3 判定,不在此列) |
|
|
39
|
-
| `resolved` | 已升级条目数 |
|
|
40
|
-
| `total` | 台账数据行总数(排除表头与分隔行) |
|
|
41
|
-
| `debt` | `unresolved.length` —— 设定点的当前误差 |
|
|
42
|
-
|
|
43
|
-
关键设计约束:
|
|
44
|
-
|
|
45
|
-
- **零子进程**。不 spawn git / node。理由(源仓实测,留痕在包源仓 git 历史与 CHANGELOG):曾有托管 Node 环境 `spawnSync` 对**任意**可执行文件(含 node 自身)返回 `EBUSY`,任何依赖 git 历史的传感器在该环境不可用——已有 `check-loop.mjs` 就是这么崩的。零子进程设计保留:传感器不依赖子进程比依赖更稳,且免受环境回退影响。
|
|
46
|
-
- **CRLF 容忍**。台账检出为 CRLF(全局 `core.autocrlf=true`),按 `split(/\r?\n/)` 切行,**禁止依赖行尾格式**。
|
|
47
|
-
- **管道符安全**。单元格内可能含 `|`(代码片段),按"切分后多于 6 段则把中间段并回症状列"处理,取前 3 列 + 末列。
|
|
48
|
-
- **失效路径不阻塞**。对每条的"位置"列抽出形如 `.agents/…` / `wiki/…` 的路径并检查存在性;不存在只标 `stale: true`,不排除该条 —— 台账记的是历史事实,路径后来被重命名/删除是常态,不等于债已消。
|
|
49
|
-
- **分片感知**(kit 侧随 ledger-shards 落地):读侧走 `readLedgerText(root,'papercuts')`(主台账 ∪ `workflow/papercuts.d/*.md`),无分片时等价原读法——传感器零额外逻辑,口径不变。
|
|
50
|
-
|
|
51
|
-
## 3. 控制器(Controller)
|
|
52
|
-
|
|
53
|
-
**脚本**:`.agents/scripts/papercut-debt-controller.mjs`
|
|
54
|
-
**输入**:`papercut-debt-sensor.mjs --json` 的输出(或自己调传感器)。
|
|
55
|
-
**输出**:本轮唯一目标(top-1),markdown 片段,直接拼进执行器提示词。
|
|
56
|
-
|
|
57
|
-
排序键(**确定性,无随机、无 LLM 判断**):
|
|
58
|
-
|
|
59
|
-
1. **命中次数降序** —— 台账文件头自己的规则:"同一文件命中第 2 次或用户点名时,升级为 docs 修复 commit"。`第 N 次命中` 从症状/拟修文本中正则抽取。
|
|
60
|
-
2. **日期降序** —— 同命中次数下,日期新的优先(近期痛点更可能仍成立)。
|
|
61
|
-
3. **原行序升序** —— 完全平手时按台账原始顺序,保证结果可复现。
|
|
62
|
-
|
|
63
|
-
**Scope gate(出选前过滤)**:`拟修` 明确指向 `backend/` `frontend/` `tests/` `wiki/` `sqlcmd` `db_tool`,或文本含 `数据库` / `DDL` / `DROP` 的条目,本轮跳过并列为 `skipped-out-of-scope`。记入输出,由用户决定是否授权。执行器只改文档面。指向业务代码或连库的条目超出授权。
|
|
64
|
-
|
|
65
|
-
**单轮只取 1 条。** L2/L3 要求独立复核,控制器不得一次给出 3 条。
|
|
66
|
-
|
|
67
|
-
**口径复用(硬约束)**:控制器**不得复制** `✅` / `⏸` / `hits` / `stale` 的任何判定正则,一律 `import { scan } from './papercut-debt-sensor.mjs'`。控制器只负责排序与 scope gate。理由(源仓首轮实证,留痕在包源仓 git 历史与 CHANGELOG):两处各判一次必然漂移——初版传感器按 `✅` 判债、控制器也按 `✅` 选目标,导致已 `⏸` 的条目被反复选中。
|
|
68
|
-
|
|
69
|
-
## 4. 执行器(Actuator)
|
|
70
|
-
|
|
71
|
-
**技能**:`.agents/skills/papercut-fix/SKILL.md`(装副本随 `.agents/skills/` 分发)。
|
|
72
|
-
**触发**:你说"跑一轮 papercut 回路"。
|
|
73
|
-
**验证门**(改动后必跑,全部零 spawn 或纯本地):
|
|
74
|
-
|
|
75
|
-
```bash
|
|
76
|
-
node .agents/scripts/check-loop.mjs # 闭环骨架(实证留痕在包源仓 git 历史与 CHANGELOG)
|
|
77
|
-
node .agents/scripts/papercut-debt-sensor.mjs --json # debt 应恰好 -1
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
> **注意**:`verify.mjs` 默认不在本回路跑 —— 回路只动台账与技能文件(文档面),`verify.mjs` 含构建/测试(源码面,按装户技术栈),与 papercut 回路边界无关,回路收尾以传感器计数核验为准。需要关单凭证时直跑 `node .agents/scripts/verify.mjs`(全绿自动落 verifications.jsonl)。
|
|
81
|
-
|
|
82
|
-
**金样(golden patterns)**,已固化进技能:
|
|
83
|
-
|
|
84
|
-
- 台账写入**一律用 Edit 工具**(源仓实证 papercut:`node -e` 批量 replace 遇 CRLF 静默无操作、假落账——留痕在包源仓 git 历史与 CHANGELOG)。
|
|
85
|
-
- 写后**必 grep 回读验证**再报成功。
|
|
86
|
-
- 标 ✅ 时**追加**升级记录(日期 + commit),不删原"拟修"文本 —— 原文本是复发时的对照物。
|
|
87
|
-
- 改动 `.agents/commands/` 后必看 `.agents/rule-budgets.txt` 的体积上限(常驻面只增不减,一进一出;机器门 `node .agents/scripts/rule-budget.mjs --staged`)。
|
|
88
|
-
|
|
89
|
-
## 5. 扰动与阻尼器(Disturbances / Dampener)
|
|
90
|
-
|
|
91
|
-
**扰动源**(通用形态):
|
|
92
|
-
|
|
93
|
-
- 用户并发提交:回路运行期间,用户可能修改同一文件。
|
|
94
|
-
- 生成物漂移 —— `workflow/INDEX.md`、`workflow/metrics.md`、`gen-wiki-board` 产物会随任何状态变更而重生成。
|
|
95
|
-
- 工具链升级 —— kit bump 会重写 `.agents/` 装副本,台账里的"拟修"可能已失效。
|
|
96
|
-
|
|
97
|
-
**阻尼器(已存在,不另建)**:`.githooks/pre-commit` 门禁(常驻面体积预算 `rule-budget --staged` 硬拦等)+ `pre-push` 的 `check-loop` hard-block。**新条目带 `⏸ 暂缓` 而无理由**、或同一行被并发改写压行,都会在这两道门上现形。回路**不新增任何门禁** —— 现有门禁已足够挡住"回路把台账改坏"。
|
|
98
|
-
|
|
99
|
-
## 6. 人在环上(Human on the loop)
|
|
100
|
-
|
|
101
|
-
- **记忆文件**:装户自持(owned 面参考 `.agents/notes/`)——常驻反馈(永久范围排除、已知失效区、reviewer 意见)。每轮在控制器之后、提示词之前注入。**只写耐久规则,不写单轮日志**。
|
|
102
|
-
- **人工放行**:回路不自动 commit、不 push。产出 diff 后停止,等待用户明确放行。
|
|
103
|
-
- **`/iterate` 不实现**。追加范围或暂缓须由用户在对话中逐条给出,例如「修第 3 条」或「这条暂缓,理由 X」。
|
|
104
|
-
|
|
105
|
-
## 7. 流控(Flow control)
|
|
106
|
-
|
|
107
|
-
**在途判据**:工作区存在本回路产生的未提交 diff。手动触发时同一工作区只跑一轮,不另绑远端评审流。`--dry-run` 只输出目标清单,不改文件。
|
|
108
|
-
|
|
109
|
-
## 8. 历史阻塞与豁免(源仓实证,单源保留结论)
|
|
110
|
-
|
|
111
|
-
1. **回路脚本落 `.agents/scripts/` 是否命中 L2 触达面**:不命中——`check-lane-surface.mjs` 在无活跃 L2/L3 入口时只出 advisory、exit 0 放行(**规则**:无活跃入口即放行)。**结论:不必为回路另立 intent**;若日后 `.agents/scripts/` 确有 L2 语义改动被拦,再按 `new-task.md` 立入口。实测过程留痕在包源仓 git 历史与 CHANGELOG。
|
|
112
|
-
2. **依赖 git 历史的传感器在本机必崩**(EBUSY):以零子进程设计规避(§2),不做环境假设。源仓后来环境升级后该崩溃消失,但零子进程约束不回退——传感器不依赖子进程比依赖更稳。
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
# 机制使用量台账 (Mechanism Usage Registry)
|
|
2
|
-
|
|
3
|
-
> 门禁棘轮的出口:每个门禁机制的「触发统计口径 + 退役阈值 + 状态」单源登记于此。
|
|
4
|
-
> **台账的目的不是记录而是强制处置**:新增门禁机制须登记一行(一进一出,并点名它替代/合并的
|
|
5
|
-
> 既有机制,无替代则说明增量理由);机制退役时状态改「已退役」并在最近触发列留档;
|
|
6
|
-
> 低频机制按退役阈值降级。
|
|
7
|
-
> 列序固定:机制 | 门禁位置 | 触发统计口径 | 退役阈值 | 最近触发 | 状态 | 处置期限。
|
|
8
|
-
> 本表归装户自持运营(sync 永不覆盖,同 metric-claims.txt 口径);kit 引擎做 WARN 级格式校验
|
|
9
|
-
> (check-loop 检查 22:列数 / 状态枚举 / 待退役处置期限——advisory 不阻断,永不 hard),
|
|
10
|
-
> 对账纪律靠下方「维护纪律」人工执行;判定数据面由 check-loop 每次真实运行自动落账到
|
|
11
|
-
> `.agents/judgments.jsonl`(judgment-ledger,本地 gitignore),月度聚合经 agg-judgments.mjs 查账。
|
|
12
|
-
|
|
13
|
-
| 机制 | 门禁位置 | 触发统计口径 | 退役阈值 | 最近触发 | 状态 | 处置期限 |
|
|
14
|
-
|---|---|---|---|---|---|---|
|
|
15
|
-
| 确认指纹对账(示例行) | check-loop 检查 15 | hard「指纹不配对/确认内容漂移」计数(月,经 agg-judgments 查判定流水) | 不退役(防伪造确认主干) | 示例:建门留档见包源仓 git 历史与 CHANGELOG | 现役 | — |
|
|
16
|
-
| 触达面判低门(示例行) | check-lane-surface(pre-commit/CI 泳道完整性) | hard「触达面判低/产品契约面」计数(月) | 不退役(级别闭环主干) | 示例:在用 | 现役 | — |
|
|
17
|
-
| 复核效果台账(示例行) | workflow/reviews.d/ 意见级处置(采纳/拒绝/误报)→ gen-workflow-metrics.mjs 月度聚合 | metrics.md「复核效果」表(采纳率/误报率;区分「门禁制造返工 vs 拦下问题」的意见级信号源) | 连续 6 个有数据月零记录且 delegations 复核采纳行恒 0 → 评估退役(数据面非门禁) | 示例:随 1.8.3 分发,建账口径见 review.md 落账子项 | 现役 | — |
|
|
18
|
-
|
|
19
|
-
> 以上两行为**示例行**,只示范登记口径,不参与装户对账;装户按自有机制增删行,
|
|
20
|
-
> 首次对账时可将示例行替换为真实运营数据。
|
|
21
|
-
|
|
22
|
-
## 维护纪律
|
|
23
|
-
|
|
24
|
-
- **一进一出**:新增门禁机制必须同时在本表登记,并点名它替代/合并的既有机制(无替代则说明增量理由)。
|
|
25
|
-
- **月度对账**:每月初按「触发统计口径」列刷新计数(半自动:`node .agents/scripts/agg-judgments.mjs`
|
|
26
|
-
查判定流水 `.agents/judgments.jsonl`——check-loop 每次真实运行自动落账,替代人工 grep 输出;
|
|
27
|
-
git log 统计口径不变);达到阈值的行改「待退役」并填处置期限。
|
|
28
|
-
- **数据面机制的「现役」≠「有数据」**:复核效果台账 / 评审黄金集校准类数据面机制登记后,月度对账须区分两件事:① 资产是否存在(建账即存在);② 本月是否产生数据并写进留痕面——未产生 → 该月记「无跑数」,连续 6 个**有数据月**零记录才走退役阈值,缺月不算零命中(**年轻遥测不得制造假候选**,口径同 `agg-judgments --retire-candidates`)。
|
|
29
|
-
- **退役动作**:状态改「已退役」当日删除机制代码 + 其测试 + 本表更新,同一提交完成(不留死代码)。
|
|
30
|
-
- **模型代际触发**:每个机制都是对当前模型能力边界的假设(外部实证:harness 组件随模型代际逐件移动),既有退役阈值只有使用维度、缺代际维度——主力模型**代际变更**(主版本号或模型家族更换,如 GLM-4.x → 5.x;小版本/推理档变更不算)后的**下一次月度对账**须按下面分组逐件重评去留,结论写各机制「最近触发」列;重评本身不改状态列(退役仍走既有阈值)。首次对账时把本表现有机制按下组归类(此后新增机制在登记时即注明组别;本节用列表不用表格——防管道行被误当机制行解析):
|
|
31
|
-
- **A · 纪律假设**(假设:无机器检查时模型会跳步/声称未做之事,如配对完整性、留痕、占位符残留类检查)——重评动作:观察新代际下 WARN/hard 是否加速归零(是 → 按既有退役阈值自然走);**不因代际主动拆门**——判据已机器化、边际成本 ≈ 0,拆门收益低于一次漏拦。
|
|
32
|
-
- **B · 能力边界假设**(假设:机制强度绑在当前模型能力短板上,代际升级后假设可能失效,**须主动重评**,如常驻面体积预算、复核上下文独立性、判低逃逸类检查)——只重定阈值不轻拆门;其中信任边界/安全主干(凭据扫描、确认防伪类)**代际不撤门**,只重评执行成本。
|
|
33
|
-
- **C · 机器判据**(纯确定性检查,与模型能力无关——格式/枚举/漂移/同步类)——代际免评。
|
|
34
|
-
- **D · 宿主生态**(跟宿主软件版本走,不跟模型代际;宿主升级时随 Adapter 检查顺带过)。
|
|
35
|
-
- **E · 测量自举**(数据面,代际只影响测量结论的解释、不改机制本身;跨代际比较月度指标先读委派/复核台账的模型代际基线注)——如门禁耗时、复核效果台账、退役催办。
|