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
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// eval-score.mjs — 盲评 A/B 计分器(2026-10-22 pstack /eval 借鉴)
|
|
3
|
+
// 用法:node .agents/skills/eval/scripts/eval-score.mjs <results.tsv> [--json]
|
|
4
|
+
// TSV 表头:task expected a b
|
|
5
|
+
// a/b = pass|fail(或 1/0/true/false/y/n);空 = 未跑,跳过。
|
|
6
|
+
// 输出:A 命中率 / B 命中率 / Δ(百分点)/ 翻转任务(a≠b)。
|
|
7
|
+
// 退出:0 正常;2 文件缺失/无有效行。
|
|
8
|
+
import fs from 'node:fs';
|
|
9
|
+
|
|
10
|
+
const argv = process.argv.slice(2);
|
|
11
|
+
const file = argv.find((a) => !a.startsWith('--'));
|
|
12
|
+
const asJson = argv.includes('--json');
|
|
13
|
+
if (!file) {
|
|
14
|
+
console.error('用法:node .agents/skills/eval/scripts/eval-score.mjs <results.tsv> [--json]');
|
|
15
|
+
process.exit(2);
|
|
16
|
+
}
|
|
17
|
+
if (!fs.existsSync(file)) {
|
|
18
|
+
console.error(`eval-score: 文件不存在 ${file}`);
|
|
19
|
+
process.exit(2);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const norm = (v) => {
|
|
23
|
+
const s = String(v || '').trim().toLowerCase();
|
|
24
|
+
if (['pass', '1', 'true', 'y', 'yes'].includes(s)) return true;
|
|
25
|
+
if (['fail', '0', 'false', 'n', 'no'].includes(s)) return false;
|
|
26
|
+
return null;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const rows = [];
|
|
30
|
+
for (const line of fs.readFileSync(file, 'utf8').split(/\r?\n/)) {
|
|
31
|
+
if (!line.trim() || line.trim().startsWith('#')) continue;
|
|
32
|
+
const cells = line.split('\t').map((c) => c.trim());
|
|
33
|
+
if (cells[0] === 'task') continue;
|
|
34
|
+
const [task, expected, a, b] = cells;
|
|
35
|
+
const av = norm(a);
|
|
36
|
+
const bv = norm(b);
|
|
37
|
+
if (!task || av === null || bv === null) continue;
|
|
38
|
+
rows.push({ task, expected, a: av, b: bv });
|
|
39
|
+
}
|
|
40
|
+
if (!rows.length) {
|
|
41
|
+
console.error('eval-score: 无有效行(需要 task/expected/a/b,a/b 为 pass|fail)');
|
|
42
|
+
process.exit(2);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
const total = rows.length;
|
|
46
|
+
const aPass = rows.filter((r) => r.a).length;
|
|
47
|
+
const bPass = rows.filter((r) => r.b).length;
|
|
48
|
+
const aRate = (aPass / total) * 100;
|
|
49
|
+
const bRate = (bPass / total) * 100;
|
|
50
|
+
const deltaPp = aRate - bRate;
|
|
51
|
+
const flips = rows.filter((r) => r.a !== r.b).map((r) => r.task);
|
|
52
|
+
|
|
53
|
+
if (asJson) {
|
|
54
|
+
console.log(JSON.stringify({ total, a: { pass: aPass, rate: aRate }, b: { pass: bPass, rate: bRate }, deltaPp, flips }, null, 2));
|
|
55
|
+
process.exit(0);
|
|
56
|
+
}
|
|
57
|
+
console.log(`A 命中 ${aPass}/${total} (${aRate.toFixed(1)}%)|B 命中 ${bPass}/${total} (${bRate.toFixed(1)}%)|Δ ${deltaPp >= 0 ? '+' : ''}${deltaPp.toFixed(1)}pp|翻转 ${flips.length}`);
|
|
58
|
+
if (flips.length) console.log(`翻转任务:${flips.join('、')}`);
|
|
59
|
+
if (Math.abs(deltaPp) < 20) console.log('提示:Δ < 20pp,小 N 噪声内,不要宣称有效。');
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: interrogate
|
|
3
|
+
description: 多模型多镜头对抗复核——不同模型/不同视角独立拆同一 diff,再聚合去重;供高风险 PR、L2/L3 复核、或单模型复核不放心时使用。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# interrogate — 多镜对抗复核
|
|
7
|
+
|
|
8
|
+
## 触发
|
|
9
|
+
|
|
10
|
+
- 高风险 diff(跨边界、并发、鉴权、数据迁移、公共接口)。
|
|
11
|
+
- L2/L3 独立复核之外还想加一道。
|
|
12
|
+
- 单模型复核结论「看起来没问题」,但你不放心。
|
|
13
|
+
|
|
14
|
+
## 核心
|
|
15
|
+
|
|
16
|
+
**不是再跑一遍单模型 review。** 是让不同模型、不同镜头**独立**拆同一 diff,再聚合去重。不同模型抓不同的真 bug;同一模型换镜头也能抓单镜漏掉的面。
|
|
17
|
+
|
|
18
|
+
## 步骤
|
|
19
|
+
|
|
20
|
+
1. **固定目标**:base/head、spec 路径、风险级别。目标不固定不开始。
|
|
21
|
+
2. **生成计划**:`node .agents/skills/interrogate/scripts/interrogate-plan.mjs --base <ref> --head <ref> [--spec <path>]`。输出六个镜头(correctness / security / quality / performance / tests / spec)及每个镜头的文件切片与提示词。
|
|
22
|
+
3. **并行派发**:每个镜头一个子代理,独立读 diff,互不共享结论。
|
|
23
|
+
- 模型:按 `.agents/config/model-roles.json` 的 `review` 角色(`heterogeneous: true`);宿主支持模型覆盖时用不同模型,不支持时用不同 agent 人格(`reviewer` / `security-reviewer` / `code-simplifier` / `caveman-reviewer`)。
|
|
24
|
+
- 每个子代理只拿自己的镜头提示词 + 文件切片,不拿其他镜头的结论(防锚定)。
|
|
25
|
+
4. **聚合**:按 `file:line + 问题` 去重;分 P0/P1/P2;确认的与推测的分开;噪声逐条给「为什么不是问题」。
|
|
26
|
+
5. **输出**:一张合并表 + 「合入前必须修」+ 「已排除」+ 「未覆盖」。
|
|
27
|
+
|
|
28
|
+
## 输出格式
|
|
29
|
+
|
|
30
|
+
| 严重度 | 位置 | 问题 | 证据 | 修法 | 来源镜头 |
|
|
31
|
+
|---|---|---|---|---|---|
|
|
32
|
+
| P0 | `file:line` | … | … | … | security |
|
|
33
|
+
|
|
34
|
+
- **合入前必须修**:P0 全部 + P1 中确认的。
|
|
35
|
+
- **已排除**:看起来像问题但查过不是的,逐条给理由。
|
|
36
|
+
- **未覆盖**:没有镜头覆盖到的面(如运行时行为、外部服务),明确写出来。
|
|
37
|
+
|
|
38
|
+
## 本仓落点
|
|
39
|
+
|
|
40
|
+
- `review.md` 执行流程:L2/L3 高风险 diff 叠加本技能。
|
|
41
|
+
- `review-method`:Standards×Spec 双轴 + 坏味道走查仍是单镜基线;本技能是并行补充。
|
|
42
|
+
- `independent-reviewer`:单一独立复核不替代;本技能是多模型补充。
|
|
43
|
+
- 机器门禁:不替代 `verify` / `check-loop`;本技能只出清单,定性仍人放行。
|
|
44
|
+
|
|
45
|
+
## 边界
|
|
46
|
+
|
|
47
|
+
- 多模型一致同意是高信号,不是证明;仍要 `blast-radius` 证明关键安全事实。
|
|
48
|
+
- 不把「另一个模型也这么说」当证据;证据仍是 `file:line` / 跑过的代码。
|
|
49
|
+
- 子代理结论必须自己复核,不直接透传。
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// interrogate-plan.mjs — /interrogate 的复核计划生成器(2026-10-22 pstack 借鉴)
|
|
3
|
+
// 用法:node .agents/skills/interrogate/scripts/interrogate-plan.mjs [--base <ref>] [--head <ref>] [--spec <path>] [--json]
|
|
4
|
+
// 输出:变更文件 + 镜头(correctness/security/quality/performance/tests/spec)+ 每个镜头的文件切片与提示词。
|
|
5
|
+
// 不做复核——复核由子代理按镜头独立做;本脚本只保证镜头覆盖一致、可复跑、可对质。
|
|
6
|
+
import { spawnSync } from 'node:child_process';
|
|
7
|
+
|
|
8
|
+
const argv = process.argv.slice(2);
|
|
9
|
+
const argOf = (k) => {
|
|
10
|
+
const i = argv.indexOf(k);
|
|
11
|
+
return i >= 0 && i + 1 < argv.length ? argv[i + 1] : '';
|
|
12
|
+
};
|
|
13
|
+
const base = argOf('--base') || 'origin/main';
|
|
14
|
+
const head = argOf('--head') || 'HEAD';
|
|
15
|
+
const spec = argOf('--spec') || '';
|
|
16
|
+
const asJson = argv.includes('--json');
|
|
17
|
+
|
|
18
|
+
const root = spawnSync('git', ['rev-parse', '--show-toplevel'], { encoding: 'utf8' });
|
|
19
|
+
if (root.status !== 0 || !root.stdout.trim()) {
|
|
20
|
+
console.error('interrogate-plan: 不在 git 仓库');
|
|
21
|
+
process.exit(2);
|
|
22
|
+
}
|
|
23
|
+
process.chdir(root.stdout.trim());
|
|
24
|
+
const git = (args) => spawnSync('git', args, { encoding: 'utf8' });
|
|
25
|
+
if (git(['rev-parse', '--verify', `${base}^{commit}`]).status !== 0) {
|
|
26
|
+
console.error(`interrogate-plan: 基线 ${base} 不存在(先 git fetch origin,或用 --base 指定)`);
|
|
27
|
+
process.exit(2);
|
|
28
|
+
}
|
|
29
|
+
if (git(['rev-parse', '--verify', `${head}^{commit}`]).status !== 0) {
|
|
30
|
+
console.error(`interrogate-plan: head ${head} 不存在`);
|
|
31
|
+
process.exit(2);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const files = String(git(['-c', 'core.quotepath=off', 'diff', '--name-only', '--no-renames', `${base}...${head}`]).stdout || '')
|
|
35
|
+
.split(/\r?\n/).map((s) => s.trim()).filter(Boolean);
|
|
36
|
+
if (!files.length) {
|
|
37
|
+
console.error(`interrogate-plan: ${base}...${head} 无变更——没有可复核的 diff`);
|
|
38
|
+
process.exit(2);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const match = (re) => files.filter((f) => re.test(f));
|
|
42
|
+
const security = match(/auth|token|secret|password|crypto|sql|query|upload|import|export|api|controller|middleware|permission|role/i);
|
|
43
|
+
const performance = match(/service|repository|query|sql|index|list|table|render|computed|watch|effect|loop|batch/i);
|
|
44
|
+
const tests = match(/(^|\/)(tests?|__tests__)\/|\.(test|spec)\.[a-z]+$/i);
|
|
45
|
+
|
|
46
|
+
const lenses = [
|
|
47
|
+
{ id: 'correctness', focus: '逻辑、边界、错误路径、状态转换、并发交错', files },
|
|
48
|
+
{ id: 'security', focus: '信任边界、注入、鉴权、越权、敏感数据、输入解析', files: security.length ? security : files, note: security.length ? '' : '无显式安全敏感文件——仍按全量文件扫信任边界' },
|
|
49
|
+
{ id: 'quality', focus: '死代码、重复、命名、注释、抽象层数、可维护性', files },
|
|
50
|
+
{ id: 'performance', focus: '查询/循环/渲染/内存/并发资源', files: performance.length ? performance : files, note: performance.length ? '' : '无显式性能敏感文件——仍按全量文件扫热点' },
|
|
51
|
+
{ id: 'tests', focus: '行为断言、边界覆盖、测试是否会在实现全返回 undefined 时仍通过', files: tests.length ? tests : files, note: tests.length ? '' : '无测试文件变更——检查是否缺测试' },
|
|
52
|
+
{ id: 'spec', focus: spec ? `对照 spec ${spec} 的验收标准与契约` : '对照 workflow/specs 与契约面(未指定 --spec 时按变更面找同名 spec)', files },
|
|
53
|
+
];
|
|
54
|
+
|
|
55
|
+
const promptOf = (l) => [
|
|
56
|
+
`镜头:${l.id}——${l.focus}`,
|
|
57
|
+
`目标:${base}...${head}`,
|
|
58
|
+
spec ? `spec:${spec}` : '',
|
|
59
|
+
`文件(${l.files.length}):`,
|
|
60
|
+
...l.files.map((f) => `- ${f}`),
|
|
61
|
+
l.note ? `注:${l.note}` : '',
|
|
62
|
+
'输出:每条 finding = 严重度(P0/P1/P2)+ file:line + 证据 + 修法;确认的与推测的分开;无发现写「无」。',
|
|
63
|
+
].filter(Boolean).join('\n');
|
|
64
|
+
|
|
65
|
+
if (asJson) {
|
|
66
|
+
console.log(JSON.stringify({ base, head, spec: spec || null, files, lenses: lenses.map((l) => ({ ...l, prompt: promptOf(l) })) }, null, 2));
|
|
67
|
+
process.exit(0);
|
|
68
|
+
}
|
|
69
|
+
console.log(`# interrogate plan:${base}...${head}(${files.length} 文件)\n`);
|
|
70
|
+
for (const l of lenses) {
|
|
71
|
+
console.log(`## ${l.id}(${l.files.length} 文件)\n${l.focus}${l.note ? `\n注:${l.note}` : ''}\n`);
|
|
72
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: number-vetting
|
|
3
|
+
description: 数字体检——报告、引用或据此决策任何测量值(耗时/命中率/覆盖率/规模)前的五问;供主智能体写 metrics、门禁成本、复核效果与性能结论时使用。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# number-vetting — 数字体检(五问)
|
|
7
|
+
|
|
8
|
+
任何数字进 `workflow/metrics.md`、`verifications.jsonl` 解读、PR 正文或方案结论前,逐问过一遍。任一问答不上 → 标「存疑」,不得作为决策依据。
|
|
9
|
+
|
|
10
|
+
## 五问
|
|
11
|
+
|
|
12
|
+
| # | 问 | 不合格信号 |
|
|
13
|
+
|---|---|---|
|
|
14
|
+
| 1 | **限制因素**:这个数被什么卡住? | 说不清瓶颈;把串行等待算进单项耗时 |
|
|
15
|
+
| 2 | **调参/环境**:热缓存、并行度、机器负载造成的? | 冷/热跑混算;换机器不复现 |
|
|
16
|
+
| 3 | **误差/噪声**:方差多大?复跑分布? | 单次样本;差值与噪声同量级 |
|
|
17
|
+
| 4 | **口径/窗口**:样本 n、时间窗、排除项与上次一致? | 口径悄悄换了;跨模型代际直接比 |
|
|
18
|
+
| 5 | **端到端相关性**:测的是用户感知的那段? | 微基准涨了,端到端没动 |
|
|
19
|
+
|
|
20
|
+
## 判定与落账
|
|
21
|
+
|
|
22
|
+
- 三档:**可信**(五问全过)/ **存疑**(缺 1–2 项,补测后复核)/ **不可用**(限制因素不明或口径漂移)。
|
|
23
|
+
- 落账格式:`值(样本 n / 窗口 / 口径 / 复跑 k 次)`;缺项写「未测」,不写 0。
|
|
24
|
+
- `{{指标名}}` 签名由取数器填实时值(check16),不手填。
|
|
25
|
+
|
|
26
|
+
## 本仓既有口径(先读,别另立)
|
|
27
|
+
|
|
28
|
+
- 峰值 % 的读法:`workflow/metrics.md` 文首「数字体检」注——静息态 ≈93% 是构造使然,判压力看回填速率,不看峰值。
|
|
29
|
+
- 跨模型代际比较:先读 `workflow/delegations.md`「模型代际基线」;旧月快照不重算。
|
|
30
|
+
- 门禁耗时:用 `verifications.jsonl` 的 `wallMs`;2026-10-16 前绿行无该键、回退各门之和,两种口径不混比。
|
|
31
|
+
|
|
32
|
+
## 红线
|
|
33
|
+
|
|
34
|
+
- 不把「门禁变快」写成「质量提升」。
|
|
35
|
+
- 不用单次运行证明性能;不用均值掩盖长尾(最慢门单列)。
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: page-refactor
|
|
3
|
+
description: 业务功能页面改造执行器——按采购订单(PO)样板沉淀的模式改造任意业务页面/模块:形态盘点 → 目标形态与表格选型 → 按 references/templates.md 施工(列表页 + 新建/查看/编辑整模块,支持 Drawer → 覆盖层详情跃迁)→ 全套断言实测。当用户要求「改造某页面 / 对齐采购订单页面 / 整模块 UI 改造 / 列表页改造 / 详情页改造」时使用。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# page-refactor — 业务模块改造(PO 样板模式)
|
|
7
|
+
|
|
8
|
+
## 定位
|
|
9
|
+
|
|
10
|
+
- **改造范围 = 整个功能模块**:列表页 + 新建 + 查看 + 编辑一起改造,不是只做布局微调。目标形态 = PO / supplier 页面现在的样子;当前形态离目标远的(如 Drawer 编辑型),走「形态跃迁」路径补齐。
|
|
11
|
+
- **施工权威在** `references/templates.md`(S1–S12)。本文件只留盘点、红线和验收;进入施工步再读模板,不在盘点阶段整篇加载。类名(`xx-detail`/`xx-list`)按目标页面替换,字段/按钮/动作集按目标页面业务替换,布局骨架与机制逐字保留。
|
|
12
|
+
- **贴合目标项目现状**:表格技术、共享组件、基建按目标项目实际情况选型(见「表格技术选型」与「基建依赖与降级表」),不强制引入新依赖。
|
|
13
|
+
- **溯源**:模板沉淀自本仓库采购订单(purchaseOrder)与供应商(supplier)页面改造(2026-10,本仓库 commit `e6f33915` 起系列迭代),经该系列多轮 L1 plan 全套断言实测验证。
|
|
14
|
+
- **样板参照(可选)**:若目标分支存在已改造的样板页(`frontend/src/views/purchase/purchaseOrder/index.vue`、`detail.vue`、`shared.ts`(列表/详情共享常量)、`frontend/src/views/baseData/supplier/detail.vue`),可对照参考;**样板不存在或与模板冲突时,以 `references/templates.md` 为准并向用户报告差异**——禁止拿旧版样板推翻模板。
|
|
15
|
+
- **回填义务(防漂移)**:本仓库样板页面后续演进时须回填 `references/templates.md` 对应片段;发现脱节,先记 `workflow/papercuts.md` 一行,不当场顺手改。
|
|
16
|
+
- **跨分支/跨仓库携带**:复制本文件和 `references/templates.md` 两份。只复制本文件没有施工模板。**权威源 = 本仓库这两份**,携出副本不回流、漂移自负。**本仓库例外**:宿主适配目录(`.trae/`、`.opencode/`、`.codebuddy/`)按仓库纪律只放指针壳,禁放全文副本。
|
|
17
|
+
- 本 skill 是**改造模式知识 + 硬约束层**:在本仓库使用时仍走项目工作流(L1 plan → 确认门 → build → UI 实测 → 关单);其他仓库按「基建依赖与降级表」处理。
|
|
18
|
+
|
|
19
|
+
## 第 0 步:形态盘点(强制,跳过即违规)
|
|
20
|
+
|
|
21
|
+
1. 读目标页面 `index.vue` / `detail.vue`(如有)/ Drawer 组件(如有),盘点:
|
|
22
|
+
- **目标形态**(看业务结构,不看当前实现):实体有明细行/关联单据 → **A 主子表**;实体纯表单无明细 → **B 纯表单**;只读无编辑无详情 → **D 纯查询**。
|
|
23
|
+
- **当前形态**:已有覆盖层详情组件 → 布局重排路径;Drawer 编辑(新建/编辑/查看在 Drawer 里)→ **形态跃迁路径**(见「形态跃迁施工流程」)。
|
|
24
|
+
- **表格技术现状**:目标项目是否已用 AG Grid(查 package.json / 既有页面 import);未用 → 列入 **S12 一次性接入项**(随本次改造一起做,非可选决策)。
|
|
25
|
+
- **基建现状**:对照「基建依赖与降级表」逐项探测。
|
|
26
|
+
2. 产出**改造项清单 + 选型/降级决策 + 存疑点**(如该页无批量操作、明细表是否值得 tab 化)→ AskUserQuestion 让用户确认范围。
|
|
27
|
+
3. 用户确认后才立 plan 进入施工。**禁止跳过盘点直接套模板。**
|
|
28
|
+
|
|
29
|
+
### 形态适配矩阵(目标形态 × 当前形态)
|
|
30
|
+
|
|
31
|
+
| 目标形态 | 业务特征 | 当前已是覆盖层详情 | 当前是 Drawer 型(跃迁) |
|
|
32
|
+
| --------------------------- | ------------------------- | ------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
|
|
33
|
+
| **A 主子表**(PO 型) | 实体有明细行(±关联单据) | 直接套 D-1~D-7 全套 | 走「形态跃迁施工流程」→ 新建 detail.vue(A 骨架)+ Drawer 业务迁移下线 |
|
|
34
|
+
| **B 纯表单**(supplier 型) | 实体纯表单无明细 | 直接套 D-1 + D-8;**禁套上下半区 tab / 高度模型**(无明细表,套了必翻车) | 走「形态跃迁施工流程」→ 新建 detail.vue(B 骨架)+ Drawer 业务迁移下线 |
|
|
35
|
+
| **D 纯查询** | 只读列表,无编辑无详情 | 不适用 | 不适用——只做列表页改造 |
|
|
36
|
+
|
|
37
|
+
> **混合形态**(查看 = 覆盖层、编辑/新增 = Drawer,如 4d363c4 基线的采购订单页):按「当前是 Drawer 型」列判——走跃迁路径;既有查看态覆盖层内容一并搬进新 detail.vue 的查看态(D-2 只读栅格承载),旧查看态代码随原 Drawer 同批下线——同实体禁双详情入口并存。
|
|
38
|
+
|
|
39
|
+
## 表格技术(列表页,统一 AG Grid)
|
|
40
|
+
|
|
41
|
+
**效果口径(断言门按此验收)**:
|
|
42
|
+
1. 列序 = 定义顺序(复选框 → 序号 → 单号…),视觉顺序零错乱
|
|
43
|
+
2. 列宽自适应:主干文本列吃剩余宽度、列头零 `...` 截断;窄列固定宽
|
|
44
|
+
3. 行操作 hover 浮层替代固定操作列(省下 280px 级别的操作列宽)
|
|
45
|
+
4. 行滚动收在表体内部,外层零滚动条;分页页脚钉底
|
|
46
|
+
|
|
47
|
+
**选型规则**:
|
|
48
|
+
- 目标项目**已用 AG Grid** → 直接按 S5-S8 施工。
|
|
49
|
+
- 目标项目**未用 AG Grid** → **直接按 S12 一次性接入**(依赖 + license 注入 + 全局视觉 + 中文 locale + 页面级组件模板全套迁移),随后按 S5-S8 施工。**禁止用 a-table 模拟等效效果**——效果不可达且引入第二套表格口径,属错误路径。
|
|
50
|
+
|
|
51
|
+
## 列表页改造模式(4 式)
|
|
52
|
+
|
|
53
|
+
| # | 模式 | 要点 |
|
|
54
|
+
| --- | ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
55
|
+
| L-1 | 工具栏左右分组 | 左组单据级(新增/导出);右组复选框联动的批量按钮,`margin-left:auto` 靠右 + 竖线分隔;批量资格三处同源(行内按钮/批量集合/复选框可选,守卫同口径) |
|
|
56
|
+
| L-2 | 列序与列宽自适应 | 效果口径见「表格技术」;实现见 S7(连续前导列可左固定,其余不 pin;主干列 flex、窄列固定宽) |
|
|
57
|
+
| L-3 | 行操作 hover 浮层 | 删固定操作列;不满足资格的动作不渲染,零动作行不浮出;浮层跟随 hover 行右缘内侧;DOM 事件委托(S6)+ 动作集(S12);确认用居中 Modal.confirm |
|
|
58
|
+
| L-4 | 高度链与分页页脚 | 根容器钉满内容区 + 表格卡 `flex:1` 吃剩余 + 页脚钉底;行滚动收在 grid 内部,外层不出滚动条(S8) |
|
|
59
|
+
|
|
60
|
+
## 详情页改造模式(8 式,目标形态 A 全套 / 目标形态 B 仅第 1、8 式)
|
|
61
|
+
|
|
62
|
+
| # | 模式 | 要点 |
|
|
63
|
+
| --- | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
64
|
+
| D-1 | 顶行合并 | `DetailPageHeader`:返回按钮 + `#meta`(单号/状态 tag)+ `#extra`(操作按钮)同一行;禁独立操作行 |
|
|
65
|
+
| D-2 | 上半区基础信息 tab | 查看态 `a-descriptions` → `a-form` 只读栅格(`info-grid`),与编辑态统一:4 列(`lg:6`)/ label 左右 106px / 紧凑间距 / 长文本 span 24 |
|
|
66
|
+
| D-3 | 下半区多 tab | 明细表 + 关联单据各一 tab(`v-model:activeKey`);原标题块删除(tab 名承载) |
|
|
67
|
+
| D-4 | 高度模型 | 上半区纯内容高(`flex: 0 0 auto`);下半区 `min-height: calc(var(--layer-h)/2)` + `grow` 撑满;`--layer-h` 由 ResizeObserver 注入(CSS 百分比在可撑开容器下失效);超一屏由外层 `.detail-layer` 滚动承接 |
|
|
68
|
+
| D-5 | 工具栏并入页签行 | 明细操作按钮放 `#rightExtra` 的 `.tab-extra-row`(自带 flex 容器)+ 最大化按钮;省一整行 |
|
|
69
|
+
| D-6 | 下半区最大化 | `is-maximized`(下半 `height:auto` 吃满)+ 上半 `is-hidden-by-max`(display:none);开关两态共用,关闭详情自动重置 |
|
|
70
|
+
| D-7 | 表内滚动 | 外层无滚动条;flex 链逐层 `min-height:0` 直到 `.ant-table-content`(`overflow-y:auto !important`) |
|
|
71
|
+
| D-8 | 纯表单型钉底 | 目标形态 B:`.detail-layer` 白底(`--bg-container`)+ 详情根 `min-height:100%; flex column` + 卡片 `flex:1` + footer `sticky bottom:0` 白底不透明 |
|
|
72
|
+
|
|
73
|
+
## 形态跃迁施工流程(Drawer 型 → 覆盖层详情,新建/查看/编辑整模块上覆盖层)
|
|
74
|
+
|
|
75
|
+
跃迁触发:目标页面当前是 Drawer 编辑型,且用户要求的改造范围含新建/查看/编辑(整模块改造默认含)。
|
|
76
|
+
|
|
77
|
+
1. **读透 Drawer 现状**:表单字段绑定、校验规则、保存流(API 调用与成功后行为)、查看态内容源——跃迁是**搬家不是重写**,业务逻辑逐字迁移。混合形态下「查看态内容源」= index.vue 里既有覆盖层查看态代码(它就是查看态的搬家源,同样读透搬走)。
|
|
78
|
+
2. **新建 `detail.vue`**:目标形态 A 用 S1-S4 骨架(上下半区 tab),目标形态 B 用 S9 骨架(表单卡 + sticky footer)+ S11 头部组件;三态入口 `props.mode: 'create' | 'edit' | 'view'`:
|
|
79
|
+
- 编辑/新增态:字段绑定、rules、保存 handler、API import 从 Drawer **逐字搬移**(禁顺手改语义);提交载荷与原 Drawer 逐字段一致。
|
|
80
|
+
- 查看态:只读栅格(D-2)承载原查看内容;操作按钮进 `#extra`。
|
|
81
|
+
3. **列表页挂覆盖层**:`.detail-layer` + Transition(S8 CSS);原「新增 / 编辑 / 查看」入口全部改为开覆盖层(`detailState = { mode, id }`)。
|
|
82
|
+
4. **原 Drawer 下线删除**:同一实体的编辑能力**禁双入口并存**——Drawer 残留会造成两处提交载荷日后漂移(对账死角);确认无其他引用后整段删除。混合形态下既有查看态覆盖层代码同批下线(查看能力已并入新 detail.vue,禁双详情入口)。
|
|
83
|
+
5. **对账红线**:跃迁不改契约——API 契约、查询参数、提交载荷逐字段不变;保存成功后的列表刷新与关闭行为对齐既有口径;资格判据三处同源口径不变。
|
|
84
|
+
|
|
85
|
+
## 基建依赖与降级表(开工前探测,按可用性裁剪改造项)
|
|
86
|
+
|
|
87
|
+
| 改造能力 | 依赖 | 目标仓库缺失时的降级 |
|
|
88
|
+
| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
89
|
+
| D-1~D-7 详情页布局 | 无外部依赖(antd 即可) | 无需降级,全量适用 |
|
|
90
|
+
| D-8 纯表单型钉底 | 无外部依赖 | 无需降级 |
|
|
91
|
+
| DetailPageHeader 共享头部 | 该组件存在 | 缺失则按 S11 全文直接创建(69 行,必填 props + 插槽契约) |
|
|
92
|
+
| L-1 工具栏分组 / L-4 高度链 | 无外部依赖 | 无需降级 |
|
|
93
|
+
| L-2/L-3 表格效果(AG Grid) | `ag-grid-community` + `ag-grid-vue3` + `ag-grid-enterprise`(本仓库 ^35.3.1);中文 locale 模块;license key(运行时注入) | **直接接入,无降级**:按 S12 全套迁移(依赖 / main.ts 注册 / license 注入机制 / 全局视觉 CSS / locale / 组件模板),装好配置好与样板效果一致 |
|
|
94
|
+
| 行操作按钮组 | 页面级 RowActions 类组件 | 按目标页面动作集自建按钮组(「动作资格判据同源」原则不变) |
|
|
95
|
+
| 全套断言实测 | 本仓库 `scripts/verify/e2e/harness.mjs`(技术单源) | 缺失则按 S10 骨架自写最小 node CDP 探针——断言清单一项不减 |
|
|
96
|
+
| 工作流(plan/确认门/关单) | 本仓库 `AGENTS.md` + `workflow/` | 底线条款兜住:改造方案经用户确认再动手 + 全套断言实测 + 证据截图留档 |
|
|
97
|
+
| 提示守卫 / URL 态 / 其他规范 | 本仓库 `utils/notify.ts` / `utils/listUrlQuery.ts` 等 | 守目标仓库既有口径;本仓库口径(G-3/LP-1/BC-1/BC-2/BC-4)仅在对应基建在场时强制 |
|
|
98
|
+
|
|
99
|
+
**AG Grid 接入**(目标项目未用时):完整接入步骤与全部配置模板见 S12——依赖三件套、main.ts 模块注册、license key 运行时注入机制(key 明文不入仓库)、全局视觉 CSS、中文 locale 获取方式、CustomTooltip / 空态 / 单号链接 / 行动作集组件模板,装好配置好与样板效果一致。
|
|
100
|
+
|
|
101
|
+
## 触发条件
|
|
102
|
+
|
|
103
|
+
- 用户要求改造某业务功能页面/模块(列表页、新建/查看/编辑、布局重排),或「对齐采购订单页面的样子」。
|
|
104
|
+
|
|
105
|
+
## 施工模板
|
|
106
|
+
|
|
107
|
+
S1–S12 在 `references/templates.md`。进入施工步时再读,不要在盘点阶段整篇加载。
|
|
108
|
+
盘点、硬红线、验证门以本文件为准。模板与样板页面源码冲突时,以模板为准,先记 `workflow/papercuts.md`,不当场改模板。
|
|
109
|
+
|
|
110
|
+
## antd 陷阱清单(施工前必读,每条均已实证)
|
|
111
|
+
|
|
112
|
+
| # | 陷阱 | 解法(见 S 片段) |
|
|
113
|
+
| --- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
|
|
114
|
+
| T1 | a-spin 根实为 `.ant-spin-nested-loading`,组件上的自定义 class **不落根**——按类选择全链失效、整区塌 0 | 按 antd 结构类选择(S1) |
|
|
115
|
+
| T2 | `.ant-tabs-extra-content` 默认非 flex,块级按钮组把最大化按钮挤到第二行 | `#rightExtra` 里自带 `.tab-extra-row` flex 容器(S1/S4) |
|
|
116
|
+
| T3 | tabs 内容区默认非 flex,链断一层整区塌 0 | `.ant-tabs / content-holder / content / tabpane-active` 逐层 `min-height:0`(S1) |
|
|
117
|
+
| T4 | 容器高度不定(可撑开)时子项百分比 min-height/height 解析失效 | ResizeObserver 注入 `--layer-h` 变量,绝对像素计算(S2) |
|
|
118
|
+
| T5 | a-table 内部另有一层 spin(wrapper > spin > container > table),漏一层 `.ant-table` 的 flex:1 就失效、表体压成 0 高 | 表内滚动链把 `.ant-table-wrapper` 与两层 spin 全补进(S1) |
|
|
119
|
+
| T6 | antd 纯横向滚动会内联 `overflow-y:hidden`,表体纵滚失效 | `.ant-table-content` 上 `overflow-y:auto !important`(S1) |
|
|
120
|
+
| T7 | `a-row :gutter` 负外边距(每侧 -4px)撑出面板横向空白 | 上半区容器显式 `overflow:hidden`(S1) |
|
|
121
|
+
| T8 | antd 小屏(<576px)让 label 撑满整行变竖排 | label 强制横排口径 `width/flex/padding !important`(S1) |
|
|
122
|
+
| T9 | a-tag 胶囊被「基准归零拉满」铺满整列变整列色块 | 拉满选择器 `:not(.ant-tag)` 排除(S1) |
|
|
123
|
+
| T10 | AG Grid `rowMouseEnter` 回调实测不触发(真实/synthetic 鼠标均无) | DOM 事件委托 mouseover/mouseout(S6) |
|
|
124
|
+
| T11 | AG Grid pinned-left 容器渲染在最前,把中间列或操作列 pin 到左侧会打乱「复选框→序号→单号」视觉顺序 | 只左固定定义顺序上的连续前导列;多选列走 selectionColumnDef;其余不 pin(S7) |
|
|
125
|
+
| T12 | Chrome 对浮层移出 DOM 后露出的行补发 mouseover,进详情后浮层重建遮挡 | 浮层显示入口处详情层打开即熔断(S6) |
|
|
126
|
+
| T13 | 浮层不在滚动视口内、卡片 overflow:hidden,滚轮落空 | 浮层 wheel 手动转发 `.ag-body-viewport`(S6) |
|
|
127
|
+
| T14 | 全局样式 `.ant-card-body` 带 `!important` 内边距,页脚钉底失效 | 高特异性 `padding:0 !important` 覆盖(S8) |
|
|
128
|
+
| T15 | Vue reactive Proxy 干扰 AG Grid 内部状态 | gridOptions 用普通对象(S7) |
|
|
129
|
+
| T16 | 详情页明细 a-table 不设 `:scroll.y` 时表体默认不纵滚,「表内滚动」静默失效 | CSS 强制链 `.ant-table-content { overflow-y:auto !important }`(S1) |
|
|
130
|
+
|
|
131
|
+
## 硬红线(禁改清单,违反即返工)
|
|
132
|
+
|
|
133
|
+
1. **不动覆盖层机制**:`.detail-layer` 的 `position:absolute; inset:0; overflow-y:auto` 与「列表实例保持存活」口径逐字保留。
|
|
134
|
+
2. **契约零改动**:API 契约、查询参数、提交载荷逐字段不变(形态跃迁 = 搬家不重写,迁移前后提交载荷逐字段对账);行内按钮/批量资格/复选框可选三处同源同步;后端错误消息原样展示。
|
|
135
|
+
3. **禁双编辑入口**:跃迁完成后原 Drawer 必须下线删除——同实体编辑能力双入口并存会造成提交载荷日后漂移(对账死角)。
|
|
136
|
+
4. **两态同链必测**:查看态与编辑/新增态共用高度链时,**两态都必须实测**,只测一态不算过。
|
|
137
|
+
5. **最小改动**:只动目标模块文件 + 共享组件插槽级增量;禁顺手重构、禁格式化无关代码、禁修无关 Lint 警告;模板搬移时 handler 逐字不动。
|
|
138
|
+
6. **机制注释同步**:改布局须同步更新文件内既有机制注释(高度模型/链路注释),防注释与代码脱节;本文片段内机制注释落地时逐字保留。
|
|
139
|
+
7. **提示与列表态**:目标仓库若有统一提示守卫 / URL 态管理等基建则一律走基建(如本仓库 `utils/notify.ts` / `utils/listUrlQuery.ts`),禁绕过。
|
|
140
|
+
|
|
141
|
+
## 验证门(全套断言实测,缺项不算过)
|
|
142
|
+
|
|
143
|
+
静态门:`cd frontend && npm run build`(或目标仓库等价的严格类型构建门)。
|
|
144
|
+
|
|
145
|
+
UI 实测:headless Chrome CDP 探针——本仓库技术细节 import `scripts/verify/e2e/harness.mjs` 单源(勿手写等价逻辑);目标仓库无此基建时按 S10 骨架自写。一次性探针放**仓库外 gitignore 区**(本仓库 `tmp/e2e/`),截图证据留档;只读探针不留脏数据(跃迁保存流测试产生的数据按响应 ID 精确删除);结束关净自启进程。按改造项勾选对应断言组:
|
|
146
|
+
|
|
147
|
+
**详情页(目标形态 A,D-1~D-7 全改时)**
|
|
148
|
+
- [ ] 高度链:上半区纯内容高(高视口 `topH < half`、`clientH == scrollH`);下半区 `≥ half`;`top+bottom == layerH`(整页填满无底部空白)
|
|
149
|
+
- [ ] 外层无滚动条:`.detail-layer` `scrollHeight == clientHeight`(常规视口)
|
|
150
|
+
- [ ] 表内滚动承接:表体 `overflowY == auto`;压缩视口(如 1440×520)反向分支——上半纯内容撑开、下半锁半屏、外层滚动接管
|
|
151
|
+
- [ ] 最大化态:上半 `display:none`、`bottomH == layerH` 铺满,还原后模型复原
|
|
152
|
+
- [ ] 工具栏并位:按钮组中心线与 tab nav 中心线对齐、页签行未增高、按钮在最大化按钮左侧且位于 `.ant-tabs-extra-content` 内
|
|
153
|
+
- [ ] 两态回归:查看态 + 编辑/新增态同口径各跑一遍;编辑态操作按钮功能不回归(handler 绑定不变)
|
|
154
|
+
- [ ] tab 切换:各 tab 表头在场、切换互不串数据
|
|
155
|
+
|
|
156
|
+
**详情页(目标形态 B,D-1/D-8)**
|
|
157
|
+
- [ ] 白底铺满(含列表不足一屏场景);按钮贴底(不足一屏)+ sticky 钉底(超一屏滚动两位置 footer.bottom 恒定、不透明)
|
|
158
|
+
|
|
159
|
+
**形态跃迁专项(Drawer → 覆盖层)**
|
|
160
|
+
- [ ] 三态可进:列表「新增」→ create 态覆盖层、「编辑」→ edit 态、「查看」→ view 态,渲染正确
|
|
161
|
+
- [ ] 保存流不回归:新建/编辑保存的提交载荷与原 Drawer 逐字段一致(网络报文对比);保存成功后列表刷新与关闭行为对齐既有口径
|
|
162
|
+
- [ ] 原 Drawer 已下线:页面无残留 Drawer 挂载、旧入口按钮不触发旧交互
|
|
163
|
+
- [ ] 表单校验不回归:必填项校验、后端 400 消息原样展示同原口径
|
|
164
|
+
|
|
165
|
+
**列表页(L-1~L-4)**
|
|
166
|
+
- [ ] 列序:复选框 → 序号 → 单号…视觉顺序即定义顺序(左固定只发生在这段连续前导列上),列头无 `...` 截断
|
|
167
|
+
- [ ] 工具栏:左组/右组各在一侧、批量按钮 disabled 与选中联动、计数正确
|
|
168
|
+
- [ ] hover 浮层:有可用动作的行 hover 浮出且垂直居中该行、零动作行不浮出、换行刷新、移出延时隐藏、浮层自身 hover 不消失、浮层滚轮可滚表格、进详情层后浮层不重建(真实鼠标路径)
|
|
169
|
+
- [ ] 行滚动收在 grid 内部,外层与页面无滚动条;分页页脚钉底
|
|
170
|
+
|
|
171
|
+
**通用**
|
|
172
|
+
- [ ] 控制台异常清零(AG Grid license key 已注入则无试用 banner;未注入时 banner 属已知噪声,排除)
|
|
173
|
+
- [ ] 关闭详情层后列表状态回归(滚动位置/筛选不丢——覆盖层机制验证)
|
|
174
|
+
|
|
175
|
+
探针产出 `N PASS / M FAIL` 汇总与证据截图路径,回填任务验收标准后走关单流程(本仓库 `.agents/commands/stages.md` Test 章)。
|
|
176
|
+
|
|
177
|
+
## 执行流程总览
|
|
178
|
+
|
|
179
|
+
```
|
|
180
|
+
触发本 skill
|
|
181
|
+
→ 第 0 步:读目标页面盘点(目标形态 A/B/D × 当前形态)+ AG Grid 接入探测 + 基建降级探测
|
|
182
|
+
→ 产出改造项清单 + 降级/存疑决策 → 用户确认范围(AskUserQuestion)
|
|
183
|
+
→ 立 plan(本仓库 L1;跃迁含新建组件时改动清单按文件逐列)→ 方案确认门
|
|
184
|
+
→ 施工前读 references/templates.md(S1–S12)
|
|
185
|
+
→ 施工:
|
|
186
|
+
表格基建:目标项目未用 AG Grid → 先按 S12 一次性接入(依赖/license/视觉/locale/组件模板)
|
|
187
|
+
列表页:S5-S8(工具栏分组 / 列序列宽 / hover 浮层 / 高度链页脚)
|
|
188
|
+
详情页:已是覆盖层 → S1-S4 重排;Drawer 型 → 「形态跃迁施工流程」+ S1-S4/S9 骨架新建
|
|
189
|
+
→ 陷阱清单 T1-T16 逐条自查
|
|
190
|
+
→ 验证门:构建静态门 + 全套断言实测(含跃迁专项)→ PASS/FAIL 汇总 + 截图证据
|
|
191
|
+
→ 关单(回填验收证据);样板/skill 漂移记 papercuts(本仓库)
|
|
192
|
+
```
|