@rpamis/comet 0.4.0-beta.3 → 0.4.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +15 -1
- package/assets/manifest.json +2 -1
- package/assets/skills/comet/SKILL.md +54 -28
- package/assets/skills/comet/reference/auto-transition.md +1 -1
- package/assets/skills/comet/reference/comet-yaml-fields.md +11 -6
- package/assets/skills/comet/reference/context-recovery.md +12 -2
- package/assets/skills/comet/reference/decision-point.md +11 -0
- package/assets/skills/comet/reference/scripts.md +47 -15
- package/assets/skills/comet/reference/subagent-dispatch.md +6 -5
- package/assets/skills/comet/rules/comet-phase-guard.en.md +31 -28
- package/assets/skills/comet/rules/comet-phase-guard.md +31 -29
- package/assets/skills/comet/scripts/comet-resume-probe.mjs +3 -0
- package/assets/skills/comet/scripts/comet-runtime.mjs +1568 -476
- package/assets/skills/comet-any/SKILL.md +1 -1
- package/assets/skills/comet-any/reference/authored-zone-example.md +10 -5
- package/assets/skills/comet-any/reference/subagents/pause-points-author.md +14 -11
- package/assets/skills/comet-any/reference/subagents/skill-reviewer.md +2 -0
- package/assets/skills/comet-any/reference/subagents/workflow-entry-author.md +5 -4
- package/assets/skills/comet-archive/SKILL.md +52 -18
- package/assets/skills/comet-build/SKILL.md +64 -45
- package/assets/skills/comet-design/SKILL.md +24 -22
- package/assets/skills/comet-hotfix/SKILL.md +37 -34
- package/assets/skills/comet-open/SKILL.md +106 -57
- package/assets/skills/comet-tweak/SKILL.md +23 -18
- package/assets/skills/comet-verify/SKILL.md +57 -72
- package/assets/skills-zh/comet/SKILL.md +54 -28
- package/assets/skills-zh/comet/reference/auto-transition.md +1 -1
- package/assets/skills-zh/comet/reference/comet-yaml-fields.md +11 -6
- package/assets/skills-zh/comet/reference/context-recovery.md +12 -2
- package/assets/skills-zh/comet/reference/decision-point.md +11 -0
- package/assets/skills-zh/comet/reference/scripts.md +47 -15
- package/assets/skills-zh/comet/reference/subagent-dispatch.md +6 -5
- package/assets/skills-zh/comet-any/SKILL.md +1 -1
- package/assets/skills-zh/comet-any/reference/authored-zone-example.md +10 -5
- package/assets/skills-zh/comet-any/reference/subagents/pause-points-author.md +14 -12
- package/assets/skills-zh/comet-any/reference/subagents/skill-reviewer.md +2 -0
- package/assets/skills-zh/comet-any/reference/subagents/workflow-entry-author.md +5 -4
- package/assets/skills-zh/comet-archive/SKILL.md +52 -18
- package/assets/skills-zh/comet-build/SKILL.md +64 -45
- package/assets/skills-zh/comet-design/SKILL.md +24 -22
- package/assets/skills-zh/comet-hotfix/SKILL.md +36 -33
- package/assets/skills-zh/comet-open/SKILL.md +105 -56
- package/assets/skills-zh/comet-tweak/SKILL.md +22 -17
- package/assets/skills-zh/comet-verify/SKILL.md +57 -72
- package/dist/app/cli/comet-banner.d.ts +25 -0
- package/dist/app/cli/comet-banner.d.ts.map +1 -0
- package/dist/app/cli/comet-banner.js +265 -0
- package/dist/app/cli/comet-banner.js.map +1 -0
- package/dist/app/cli/index.js +36 -2
- package/dist/app/cli/index.js.map +1 -1
- package/dist/app/commands/classic.d.ts +4 -0
- package/dist/app/commands/classic.d.ts.map +1 -0
- package/dist/app/commands/classic.js +11 -0
- package/dist/app/commands/classic.js.map +1 -0
- package/dist/app/commands/doctor.d.ts.map +1 -1
- package/dist/app/commands/doctor.js +99 -37
- package/dist/app/commands/doctor.js.map +1 -1
- package/dist/app/commands/eval.d.ts.map +1 -1
- package/dist/app/commands/eval.js +57 -20
- package/dist/app/commands/eval.js.map +1 -1
- package/dist/app/commands/i18n.d.ts +1 -1
- package/dist/app/commands/i18n.d.ts.map +1 -1
- package/dist/app/commands/i18n.js +12 -4
- package/dist/app/commands/i18n.js.map +1 -1
- package/dist/app/commands/init.d.ts +1 -1
- package/dist/app/commands/init.d.ts.map +1 -1
- package/dist/app/commands/init.js +72 -25
- package/dist/app/commands/init.js.map +1 -1
- package/dist/app/commands/project-scope-selection.d.ts +13 -0
- package/dist/app/commands/project-scope-selection.d.ts.map +1 -0
- package/dist/app/commands/project-scope-selection.js +33 -0
- package/dist/app/commands/project-scope-selection.js.map +1 -0
- package/dist/app/commands/resume-probe.d.ts +11 -0
- package/dist/app/commands/resume-probe.d.ts.map +1 -0
- package/dist/app/commands/resume-probe.js +63 -0
- package/dist/app/commands/resume-probe.js.map +1 -0
- package/dist/app/commands/status.d.ts +31 -0
- package/dist/app/commands/status.d.ts.map +1 -1
- package/dist/app/commands/status.js +109 -20
- package/dist/app/commands/status.js.map +1 -1
- package/dist/app/commands/uninstall.d.ts +5 -0
- package/dist/app/commands/uninstall.d.ts.map +1 -1
- package/dist/app/commands/uninstall.js +264 -53
- package/dist/app/commands/uninstall.js.map +1 -1
- package/dist/app/commands/update.d.ts +6 -0
- package/dist/app/commands/update.d.ts.map +1 -1
- package/dist/app/commands/update.js +558 -86
- package/dist/app/commands/update.js.map +1 -1
- package/dist/config/repository-layout.json +4 -2
- package/dist/domains/bundle/bundle-platform.d.ts +1 -0
- package/dist/domains/bundle/bundle-platform.d.ts.map +1 -1
- package/dist/domains/bundle/bundle-platform.js +9 -3
- package/dist/domains/bundle/bundle-platform.js.map +1 -1
- package/dist/domains/bundle/eval-manifest-runtime.d.ts +6 -0
- package/dist/domains/bundle/eval-manifest-runtime.d.ts.map +1 -0
- package/dist/domains/bundle/eval-manifest-runtime.js +58 -0
- package/dist/domains/bundle/eval-manifest-runtime.js.map +1 -0
- package/dist/domains/bundle/types.d.ts +1 -1
- package/dist/domains/bundle/types.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-archive.d.ts +1 -0
- package/dist/domains/comet-classic/classic-archive.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-archive.js +35 -38
- package/dist/domains/comet-classic/classic-archive.js.map +1 -1
- package/dist/domains/comet-classic/classic-cli.d.ts +1 -1
- package/dist/domains/comet-classic/classic-cli.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-cli.js +3 -0
- package/dist/domains/comet-classic/classic-cli.js.map +1 -1
- package/dist/domains/comet-classic/classic-command-checks.d.ts +20 -0
- package/dist/domains/comet-classic/classic-command-checks.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-command-checks.js +97 -0
- package/dist/domains/comet-classic/classic-command-checks.js.map +1 -0
- package/dist/domains/comet-classic/classic-current-change.d.ts +19 -0
- package/dist/domains/comet-classic/classic-current-change.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-current-change.js +132 -0
- package/dist/domains/comet-classic/classic-current-change.js.map +1 -0
- package/dist/domains/comet-classic/classic-diagnostics.d.ts +2 -1
- package/dist/domains/comet-classic/classic-diagnostics.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-diagnostics.js +54 -1
- package/dist/domains/comet-classic/classic-diagnostics.js.map +1 -1
- package/dist/domains/comet-classic/classic-evidence.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-evidence.js +4 -0
- package/dist/domains/comet-classic/classic-evidence.js.map +1 -1
- package/dist/domains/comet-classic/classic-guard.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-guard.js +83 -80
- package/dist/domains/comet-classic/classic-guard.js.map +1 -1
- package/dist/domains/comet-classic/classic-hook-guard.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-hook-guard.js +179 -42
- package/dist/domains/comet-classic/classic-hook-guard.js.map +1 -1
- package/dist/domains/comet-classic/classic-project-config.d.ts +16 -0
- package/dist/domains/comet-classic/classic-project-config.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-project-config.js +40 -0
- package/dist/domains/comet-classic/classic-project-config.js.map +1 -0
- package/dist/domains/comet-classic/classic-resolver.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-resolver.js +4 -4
- package/dist/domains/comet-classic/classic-resolver.js.map +1 -1
- package/dist/domains/comet-classic/classic-resume-probe-command.d.ts +3 -0
- package/dist/domains/comet-classic/classic-resume-probe-command.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-resume-probe-command.js +58 -0
- package/dist/domains/comet-classic/classic-resume-probe-command.js.map +1 -0
- package/dist/domains/comet-classic/classic-resume-probe-entry.d.ts +2 -0
- package/dist/domains/comet-classic/classic-resume-probe-entry.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-resume-probe-entry.js +4 -0
- package/dist/domains/comet-classic/classic-resume-probe-entry.js.map +1 -0
- package/dist/domains/comet-classic/classic-resume-probe.d.ts +29 -0
- package/dist/domains/comet-classic/classic-resume-probe.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-resume-probe.js +386 -0
- package/dist/domains/comet-classic/classic-resume-probe.js.map +1 -0
- package/dist/domains/comet-classic/classic-runtime-run.d.ts +2 -1
- package/dist/domains/comet-classic/classic-runtime-run.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-runtime-run.js +38 -0
- package/dist/domains/comet-classic/classic-runtime-run.js.map +1 -1
- package/dist/domains/comet-classic/classic-state-command.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-state-command.js +150 -25
- package/dist/domains/comet-classic/classic-state-command.js.map +1 -1
- package/dist/domains/comet-classic/classic-state.d.ts +5 -2
- package/dist/domains/comet-classic/classic-state.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-state.js +17 -1
- package/dist/domains/comet-classic/classic-state.js.map +1 -1
- package/dist/domains/comet-classic/classic-store.d.ts +4 -1
- package/dist/domains/comet-classic/classic-store.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-store.js +4 -3
- package/dist/domains/comet-classic/classic-store.js.map +1 -1
- package/dist/domains/comet-classic/classic-transitions.d.ts +1 -1
- package/dist/domains/comet-classic/classic-transitions.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-transitions.js +36 -3
- package/dist/domains/comet-classic/classic-transitions.js.map +1 -1
- package/dist/domains/comet-classic/classic-validate-command.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-validate-command.js +8 -1
- package/dist/domains/comet-classic/classic-validate-command.js.map +1 -1
- package/dist/domains/comet-classic/index.d.ts +3 -0
- package/dist/domains/comet-classic/index.d.ts.map +1 -1
- package/dist/domains/comet-classic/index.js +3 -0
- package/dist/domains/comet-classic/index.js.map +1 -1
- package/dist/domains/dashboard/collector.js +10 -2
- package/dist/domains/dashboard/collector.js.map +1 -1
- package/dist/domains/dashboard/web/assets/_commonjsHelpers-CqkleIqs.js +1 -0
- package/dist/domains/dashboard/web/assets/arc-TGVUG2WN.js +1 -0
- package/dist/domains/dashboard/web/assets/architectureDiagram-3BPJPVTR-ASHmiHoP.js +36 -0
- package/dist/domains/dashboard/web/assets/blockDiagram-GPEHLZMM-CwASxBKe.js +132 -0
- package/dist/domains/dashboard/web/assets/c4Diagram-AAUBKEIU-BU8z_WNk.js +10 -0
- package/dist/domains/dashboard/web/assets/channel-kp6Ng2JJ.js +1 -0
- package/dist/domains/dashboard/web/assets/chunk-2J33WTMH-CBGlUx4_.js +1 -0
- package/dist/domains/dashboard/web/assets/chunk-4BX2VUAB-CS-iGcFz.js +1 -0
- package/dist/domains/dashboard/web/assets/chunk-55IACEB6-BUtCVJat.js +1 -0
- package/dist/domains/dashboard/web/assets/chunk-727SXJPM-C94tj_pf.js +206 -0
- package/dist/domains/dashboard/web/assets/chunk-AQP2D5EJ-BFOKcpdG.js +231 -0
- package/dist/domains/dashboard/web/assets/chunk-FMBD7UC4-Dmx8B-st.js +15 -0
- package/dist/domains/dashboard/web/assets/chunk-ND2GUHAM-DYV00CNn.js +1 -0
- package/dist/domains/dashboard/web/assets/chunk-QZHKN3VN-DMJJyQnw.js +1 -0
- package/dist/domains/dashboard/web/assets/classDiagram-4FO5ZUOK-yBDjgMY_.js +1 -0
- package/dist/domains/dashboard/web/assets/classDiagram-v2-Q7XG4LA2-yBDjgMY_.js +1 -0
- package/dist/domains/dashboard/web/assets/cose-bilkent-S5V4N54A-P4nE2rea.js +1 -0
- package/dist/domains/dashboard/web/assets/cynefin-VYW2F7L2-C-R1HXDv.js +166 -0
- package/dist/domains/dashboard/web/assets/cytoscape.esm-D3_iZ_3b.js +321 -0
- package/dist/domains/dashboard/web/assets/dagre-BM42HDAG-BH8d-C9z.js +4 -0
- package/dist/domains/dashboard/web/assets/defaultLocale-DX6XiGOO.js +1 -0
- package/dist/domains/dashboard/web/assets/diagram-2AECGRRQ-DpXTgQIH.js +43 -0
- package/dist/domains/dashboard/web/assets/diagram-5GNKFQAL-DSiFJzSw.js +10 -0
- package/dist/domains/dashboard/web/assets/diagram-KO2AKTUF-DULMkben.js +3 -0
- package/dist/domains/dashboard/web/assets/diagram-LMA3HP47-Pi8m_NO9.js +24 -0
- package/dist/domains/dashboard/web/assets/diagram-OG6HWLK6-BSe6bCWm.js +24 -0
- package/dist/domains/dashboard/web/assets/erDiagram-TEJ5UH35-zb-FEcbq.js +85 -0
- package/dist/domains/dashboard/web/assets/flowDiagram-I6XJVG4X-Dr-Gk0z2.js +162 -0
- package/dist/domains/dashboard/web/assets/ganttDiagram-6RSMTGT7-qs6Zb2A6.js +292 -0
- package/dist/domains/dashboard/web/assets/gitGraphDiagram-PVQCEYII-BQ314orT.js +106 -0
- package/dist/domains/dashboard/web/assets/graph--OzhPTMs.js +1 -0
- package/dist/domains/dashboard/web/assets/index-BLAfkNTu.css +1 -0
- package/dist/domains/dashboard/web/assets/index-DlSYK56b.js +139 -0
- package/dist/domains/dashboard/web/assets/index-DtLUOcAW.js +24 -0
- package/dist/domains/dashboard/web/assets/index-QO0z6F4w.js +10 -0
- package/dist/domains/dashboard/web/assets/infoDiagram-5YYISTIA-O0bQp98A.js +2 -0
- package/dist/domains/dashboard/web/assets/init-Gi6I4Gst.js +1 -0
- package/dist/domains/dashboard/web/assets/ishikawaDiagram-YF4QCWOH-BPC7wbKh.js +70 -0
- package/dist/domains/dashboard/web/assets/journeyDiagram-JHISSGLW-ohViOd4b.js +139 -0
- package/dist/domains/dashboard/web/assets/kanban-definition-UN3LZRKU-CHleNdbG.js +89 -0
- package/dist/domains/dashboard/web/assets/katex-HP8lGamR.js +257 -0
- package/dist/domains/dashboard/web/assets/layout-SsrduOYp.js +1 -0
- package/dist/domains/dashboard/web/assets/linear-CyqiW--Q.js +1 -0
- package/dist/domains/dashboard/web/assets/marked.esm-DECB3bxB.js +64 -0
- package/dist/domains/dashboard/web/assets/mermaid.core-qS9XvtaK.js +301 -0
- package/dist/domains/dashboard/web/assets/mindmap-definition-RKZ34NQL-oaGkqO9l.js +96 -0
- package/dist/domains/dashboard/web/assets/ordinal-Cboi1Yqb.js +1 -0
- package/dist/domains/dashboard/web/assets/pieDiagram-4H26LBE5-CPcB-AFh.js +30 -0
- package/dist/domains/dashboard/web/assets/purify.es-VaSPOPhr.js +3 -0
- package/dist/domains/dashboard/web/assets/quadrantDiagram-W4KKPZXB-LFy52Qtj.js +7 -0
- package/dist/domains/dashboard/web/assets/requirementDiagram-4Y6WPE33-BdjeaYP_.js +84 -0
- package/dist/domains/dashboard/web/assets/sankeyDiagram-5OEKKPKP-DDJ4styL.js +40 -0
- package/dist/domains/dashboard/web/assets/sequenceDiagram-3UESZ5HK-BL5bFNoz.js +162 -0
- package/dist/domains/dashboard/web/assets/stateDiagram-AJRCARHV-BNUfikui.js +1 -0
- package/dist/domains/dashboard/web/assets/stateDiagram-v2-BHNVJYJU-DGrsmWts.js +1 -0
- package/dist/domains/dashboard/web/assets/timeline-definition-PNZ67QCA--ps2uu6L.js +120 -0
- package/dist/domains/dashboard/web/assets/vennDiagram-CIIHVFJN-C2q8q26c.js +34 -0
- package/dist/domains/dashboard/web/assets/wardleyDiagram-YWT4CUSO-BUH9gXqd.js +78 -0
- package/dist/domains/dashboard/web/assets/xychartDiagram-2RQKCTM6-B-DielEy.js +7 -0
- package/dist/domains/dashboard/web/index.html +16 -16
- package/dist/domains/engine/types.d.ts +1 -1
- package/dist/domains/engine/types.d.ts.map +1 -1
- package/dist/domains/factory/package.d.ts.map +1 -1
- package/dist/domains/factory/package.js +20 -6
- package/dist/domains/factory/package.js.map +1 -1
- package/dist/domains/integrations/openspec.d.ts +4 -1
- package/dist/domains/integrations/openspec.d.ts.map +1 -1
- package/dist/domains/integrations/openspec.js +62 -10
- package/dist/domains/integrations/openspec.js.map +1 -1
- package/dist/domains/skill/find.d.ts.map +1 -1
- package/dist/domains/skill/find.js +1 -6
- package/dist/domains/skill/find.js.map +1 -1
- package/dist/domains/skill/json-object.d.ts +13 -0
- package/dist/domains/skill/json-object.d.ts.map +1 -0
- package/dist/domains/skill/json-object.js +24 -0
- package/dist/domains/skill/json-object.js.map +1 -0
- package/dist/domains/skill/managed-markdown.d.ts +14 -0
- package/dist/domains/skill/managed-markdown.d.ts.map +1 -0
- package/dist/domains/skill/managed-markdown.js +126 -0
- package/dist/domains/skill/managed-markdown.js.map +1 -0
- package/dist/domains/skill/platform-inspect.d.ts +9 -0
- package/dist/domains/skill/platform-inspect.d.ts.map +1 -0
- package/dist/domains/skill/platform-inspect.js +149 -0
- package/dist/domains/skill/platform-inspect.js.map +1 -0
- package/dist/domains/skill/platform-install.d.ts +20 -9
- package/dist/domains/skill/platform-install.d.ts.map +1 -1
- package/dist/domains/skill/platform-install.js +356 -153
- package/dist/domains/skill/platform-install.js.map +1 -1
- package/dist/domains/skill/project-instructions.d.ts +22 -0
- package/dist/domains/skill/project-instructions.d.ts.map +1 -0
- package/dist/domains/skill/project-instructions.js +61 -0
- package/dist/domains/skill/project-instructions.js.map +1 -0
- package/dist/domains/skill/uninstall.d.ts +3 -1
- package/dist/domains/skill/uninstall.d.ts.map +1 -1
- package/dist/domains/skill/uninstall.js +259 -149
- package/dist/domains/skill/uninstall.js.map +1 -1
- package/dist/platform/fs/file-system.d.ts +3 -3
- package/dist/platform/fs/file-system.d.ts.map +1 -1
- package/dist/platform/fs/file-system.js +21 -11
- package/dist/platform/fs/file-system.js.map +1 -1
- package/dist/platform/install/detect.d.ts +2 -1
- package/dist/platform/install/detect.d.ts.map +1 -1
- package/dist/platform/install/detect.js +10 -1
- package/dist/platform/install/detect.js.map +1 -1
- package/dist/platform/install/platforms.d.ts +9 -1
- package/dist/platform/install/platforms.d.ts.map +1 -1
- package/dist/platform/install/platforms.js +23 -4
- package/dist/platform/install/platforms.js.map +1 -1
- package/dist/platform/install/project-registry.d.ts +38 -0
- package/dist/platform/install/project-registry.d.ts.map +1 -0
- package/dist/platform/install/project-registry.js +213 -0
- package/dist/platform/install/project-registry.js.map +1 -0
- package/dist/platform/install/skill-root-owner.d.ts +15 -0
- package/dist/platform/install/skill-root-owner.d.ts.map +1 -0
- package/dist/platform/install/skill-root-owner.js +68 -0
- package/dist/platform/install/skill-root-owner.js.map +1 -0
- package/eval/.env.example +52 -0
- package/eval/CLAUDE.md +43 -0
- package/eval/README.md +538 -0
- package/eval/langsmith/.env.example +16 -0
- package/eval/langsmith/README.md +93 -0
- package/eval/langsmith/skills/README.md +5 -0
- package/eval/langsmith/tasks/README.md +5 -0
- package/eval/langsmith/tests/conftest.py +187 -0
- package/eval/langsmith/tests/tasks/test_tasks.py +287 -0
- package/eval/langsmith/treatments/README.md +5 -0
- package/eval/local/README.md +80 -0
- package/eval/local/regression_baseline.json +13 -0
- package/eval/local/report-style-demo-assets/quality_cost.en.svg +41 -0
- package/eval/local/report-style-demo-assets/quality_cost.zh.svg +41 -0
- package/eval/local/report-style-demo-assets/rubric_delta.en.svg +56 -0
- package/eval/local/report-style-demo-assets/rubric_delta.zh.svg +56 -0
- package/eval/local/report-style-demo-assets/task_outcomes.en.svg +46 -0
- package/eval/local/report-style-demo-assets/task_outcomes.zh.svg +46 -0
- package/eval/local/report-style-demo.html +867 -0
- package/eval/local/scripts/compare_baselines.py +1018 -0
- package/eval/local/scripts/generate_report_style_demo_charts.py +322 -0
- package/eval/local/scripts/regression_check.py +171 -0
- package/eval/local/scripts/render_readme_benchmark_figures.py +416 -0
- package/eval/local/scripts/rescore_rubric.py +120 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/SKILL.md +282 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/reference/auto-transition.md +27 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/reference/comet-yaml-fields.md +68 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/reference/context-recovery.md +35 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/reference/debug-gate.md +17 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/reference/decision-point.md +20 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/reference/dirty-worktree.md +59 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/reference/file-structure.md +28 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/reference/subagent-dispatch.md +113 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/rules/comet-phase-guard.md +125 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-archive.sh +311 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-env.sh +110 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-guard.sh +778 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-handoff.sh +390 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-hook-guard.sh +336 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-state.sh +1338 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-yaml-validate.sh +225 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039-archive/SKILL.md +100 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039-build/SKILL.md +304 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039-design/SKILL.md +263 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039-hotfix/SKILL.md +204 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039-open/SKILL.md +220 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039-tweak/SKILL.md +180 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039-verify/SKILL.md +234 -0
- package/eval/local/skills/benchmarks/040-beta/comet/SKILL.md +261 -0
- package/eval/local/skills/benchmarks/040-beta/comet/reference/auto-transition.md +27 -0
- package/eval/local/skills/benchmarks/040-beta/comet/reference/comet-yaml-fields.md +73 -0
- package/eval/local/skills/benchmarks/040-beta/comet/reference/context-recovery.md +45 -0
- package/eval/local/skills/benchmarks/040-beta/comet/reference/debug-gate.md +33 -0
- package/eval/local/skills/benchmarks/040-beta/comet/reference/decision-point.md +31 -0
- package/eval/local/skills/benchmarks/040-beta/comet/reference/dirty-worktree.md +59 -0
- package/eval/local/skills/benchmarks/040-beta/comet/reference/file-structure.md +28 -0
- package/eval/local/skills/benchmarks/040-beta/comet/reference/intent-frame.md +74 -0
- package/eval/local/skills/benchmarks/040-beta/comet/reference/scripts.md +69 -0
- package/eval/local/skills/benchmarks/040-beta/comet/reference/subagent-dispatch.md +169 -0
- package/eval/local/skills/benchmarks/040-beta/comet/rules/comet-phase-guard.md +130 -0
- package/eval/local/skills/benchmarks/040-beta/comet/runtime/classic/checks.yaml +6 -0
- package/eval/local/skills/benchmarks/040-beta/comet/runtime/classic/guardrails.yaml +13 -0
- package/eval/local/skills/benchmarks/040-beta/comet/runtime/classic/skill.yaml +122 -0
- package/eval/local/skills/benchmarks/040-beta/comet/scripts/comet-archive.mjs +9515 -0
- package/eval/local/skills/benchmarks/040-beta/comet/scripts/comet-env.mjs +15 -0
- package/eval/local/skills/benchmarks/040-beta/comet/scripts/comet-guard.mjs +10173 -0
- package/eval/local/skills/benchmarks/040-beta/comet/scripts/comet-handoff.mjs +9491 -0
- package/eval/local/skills/benchmarks/040-beta/comet/scripts/comet-hook-guard.mjs +9175 -0
- package/eval/local/skills/benchmarks/040-beta/comet/scripts/comet-intent.mjs +404 -0
- package/eval/local/skills/benchmarks/040-beta/comet/scripts/comet-state.mjs +9273 -0
- package/eval/local/skills/benchmarks/040-beta/comet/scripts/comet-yaml-validate.mjs +7627 -0
- package/eval/local/skills/benchmarks/040-beta/comet-archive/SKILL.md +110 -0
- package/eval/local/skills/benchmarks/040-beta/comet-build/SKILL.md +315 -0
- package/eval/local/skills/benchmarks/040-beta/comet-design/SKILL.md +260 -0
- package/eval/local/skills/benchmarks/040-beta/comet-hotfix/SKILL.md +190 -0
- package/eval/local/skills/benchmarks/040-beta/comet-open/SKILL.md +210 -0
- package/eval/local/skills/benchmarks/040-beta/comet-tweak/SKILL.md +183 -0
- package/eval/local/skills/benchmarks/040-beta/comet-verify/SKILL.md +230 -0
- package/eval/local/skills/benchmarks/dependency/claude-md/comet-workflow/CLAUDE.md +12 -0
- package/eval/local/skills/benchmarks/dependency/openspec/openspec-apply-change/SKILL.md +156 -0
- package/eval/local/skills/benchmarks/dependency/openspec/openspec-archive-change/SKILL.md +114 -0
- package/eval/local/skills/benchmarks/dependency/openspec/openspec-bulk-archive-change/SKILL.md +246 -0
- package/eval/local/skills/benchmarks/dependency/openspec/openspec-continue-change/SKILL.md +118 -0
- package/eval/local/skills/benchmarks/dependency/openspec/openspec-explore/SKILL.md +288 -0
- package/eval/local/skills/benchmarks/dependency/openspec/openspec-ff-change/SKILL.md +101 -0
- package/eval/local/skills/benchmarks/dependency/openspec/openspec-new-change/SKILL.md +74 -0
- package/eval/local/skills/benchmarks/dependency/openspec/openspec-onboard/SKILL.md +554 -0
- package/eval/local/skills/benchmarks/dependency/openspec/openspec-propose/SKILL.md +110 -0
- package/eval/local/skills/benchmarks/dependency/openspec/openspec-sync-specs/SKILL.md +138 -0
- package/eval/local/skills/benchmarks/dependency/openspec/openspec-verify-change/SKILL.md +168 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/brainstorming/SKILL.md +159 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/brainstorming/scripts/frame-template.html +213 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/brainstorming/scripts/helper.js +167 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/brainstorming/scripts/server.cjs +723 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/brainstorming/scripts/start-server.sh +209 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/brainstorming/scripts/stop-server.sh +120 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/brainstorming/spec-document-reviewer-prompt.md +49 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/brainstorming/visual-companion.md +291 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/dispatching-parallel-agents/SKILL.md +185 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/executing-plans/SKILL.md +70 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/finishing-a-development-branch/SKILL.md +241 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/receiving-code-review/SKILL.md +213 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/requesting-code-review/SKILL.md +103 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/requesting-code-review/code-reviewer.md +172 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/subagent-driven-development/SKILL.md +418 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/subagent-driven-development/implementer-prompt.md +139 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/subagent-driven-development/scripts/review-package +44 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/subagent-driven-development/scripts/sdd-workspace +22 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/subagent-driven-development/scripts/task-brief +40 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/subagent-driven-development/task-reviewer-prompt.md +188 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/CREATION-LOG.md +119 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/SKILL.md +296 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/condition-based-waiting.md +115 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/defense-in-depth.md +122 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/find-polluter.sh +63 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/root-cause-tracing.md +169 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/test-academic.md +14 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/test-pressure-1.md +58 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/test-pressure-2.md +68 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/test-pressure-3.md +69 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/test-driven-development/SKILL.md +371 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/test-driven-development/testing-anti-patterns.md +299 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/using-git-worktrees/SKILL.md +202 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/verification-before-completion/SKILL.md +139 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/writing-plans/SKILL.md +174 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/writing-plans/plan-document-reviewer-prompt.md +49 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/writing-skills/SKILL.md +689 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/writing-skills/anthropic-best-practices.md +1150 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/writing-skills/graphviz-conventions.dot +172 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/writing-skills/persuasion-principles.md +187 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/writing-skills/render-graphs.js +168 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/writing-skills/testing-skills-with-subagents.md +384 -0
- package/eval/local/tasks/authoring-skill-smoke/environment/Dockerfile +2 -0
- package/eval/local/tasks/authoring-skill-smoke/instruction.md +4 -0
- package/eval/local/tasks/authoring-skill-smoke/task.toml +21 -0
- package/eval/local/tasks/authoring-skill-smoke/validation/test_authoring_skill_smoke.py +54 -0
- package/eval/local/tasks/comet-agent-memory-routing/environment/Dockerfile +28 -0
- package/eval/local/tasks/comet-agent-memory-routing/environment/agent_system.py +40 -0
- package/eval/local/tasks/comet-agent-memory-routing/environment/test_agent_system.py +29 -0
- package/eval/local/tasks/comet-agent-memory-routing/instruction.md +20 -0
- package/eval/local/tasks/comet-agent-memory-routing/task.toml +24 -0
- package/eval/local/tasks/comet-agent-memory-routing/validation/test_agent_memory_routing.py +24 -0
- package/eval/local/tasks/comet-api-cache-ttl/environment/Dockerfile +39 -0
- package/eval/local/tasks/comet-api-cache-ttl/environment/cache.py +39 -0
- package/eval/local/tasks/comet-api-cache-ttl/environment/test_cache.py +81 -0
- package/eval/local/tasks/comet-api-cache-ttl/instruction.md +33 -0
- package/eval/local/tasks/comet-api-cache-ttl/task.toml +24 -0
- package/eval/local/tasks/comet-api-cache-ttl/validation/test_api_cache_ttl.py +58 -0
- package/eval/local/tasks/comet-cross-file-refactor/environment/Dockerfile +15 -0
- package/eval/local/tasks/comet-cross-file-refactor/environment/cli.py +13 -0
- package/eval/local/tasks/comet-cross-file-refactor/environment/counting.py +13 -0
- package/eval/local/tasks/comet-cross-file-refactor/environment/test_textkit.py +21 -0
- package/eval/local/tasks/comet-cross-file-refactor/instruction.md +16 -0
- package/eval/local/tasks/comet-cross-file-refactor/task.toml +20 -0
- package/eval/local/tasks/comet-cross-file-refactor/validation/test_cross_file_refactor.py +20 -0
- package/eval/local/tasks/comet-dependency-confusion/environment/Dockerfile +28 -0
- package/eval/local/tasks/comet-dependency-confusion/environment/app.py +8 -0
- package/eval/local/tasks/comet-dependency-confusion/environment/settings_loader.py +14 -0
- package/eval/local/tasks/comet-dependency-confusion/environment/test_settings_service.py +19 -0
- package/eval/local/tasks/comet-dependency-confusion/instruction.md +18 -0
- package/eval/local/tasks/comet-dependency-confusion/task.toml +24 -0
- package/eval/local/tasks/comet-dependency-confusion/validation/test_dependency_confusion.py +24 -0
- package/eval/local/tasks/comet-fix-median/environment/Dockerfile +50 -0
- package/eval/local/tasks/comet-fix-median/environment/stats.py +54 -0
- package/eval/local/tasks/comet-fix-median/environment/test_stats.py +68 -0
- package/eval/local/tasks/comet-fix-median/instruction.md +25 -0
- package/eval/local/tasks/comet-fix-median/task.toml +24 -0
- package/eval/local/tasks/comet-fix-median/validation/test_fix_median.py +60 -0
- package/eval/local/tasks/comet-framework-selection/environment/Dockerfile +28 -0
- package/eval/local/tasks/comet-framework-selection/environment/architecture.py +12 -0
- package/eval/local/tasks/comet-framework-selection/environment/test_architecture.py +30 -0
- package/eval/local/tasks/comet-framework-selection/instruction.md +22 -0
- package/eval/local/tasks/comet-framework-selection/task.toml +24 -0
- package/eval/local/tasks/comet-framework-selection/validation/test_framework_selection.py +24 -0
- package/eval/local/tasks/comet-full-workflow/environment/Dockerfile +53 -0
- package/eval/local/tasks/comet-full-workflow/environment/test_wordcount.py +29 -0
- package/eval/local/tasks/comet-full-workflow/environment/wordcount.py +40 -0
- package/eval/local/tasks/comet-full-workflow/instruction.md +18 -0
- package/eval/local/tasks/comet-full-workflow/task.toml +24 -0
- package/eval/local/tasks/comet-full-workflow/validation/test_full_workflow.py +171 -0
- package/eval/local/tasks/comet-graph-execution-review/environment/Dockerfile +28 -0
- package/eval/local/tasks/comet-graph-execution-review/environment/pipeline.py +19 -0
- package/eval/local/tasks/comet-graph-execution-review/environment/test_pipeline.py +53 -0
- package/eval/local/tasks/comet-graph-execution-review/instruction.md +21 -0
- package/eval/local/tasks/comet-graph-execution-review/task.toml +24 -0
- package/eval/local/tasks/comet-graph-execution-review/validation/test_graph_execution_review.py +24 -0
- package/eval/local/tasks/comet-human-approval-flow/environment/Dockerfile +15 -0
- package/eval/local/tasks/comet-human-approval-flow/environment/approvals.py +17 -0
- package/eval/local/tasks/comet-human-approval-flow/environment/test_approvals.py +30 -0
- package/eval/local/tasks/comet-human-approval-flow/instruction.md +15 -0
- package/eval/local/tasks/comet-human-approval-flow/task.toml +20 -0
- package/eval/local/tasks/comet-human-approval-flow/validation/test_human_approval_flow.py +20 -0
- package/eval/local/tasks/comet-layered-streaming-fix/environment/Dockerfile +20 -0
- package/eval/local/tasks/comet-layered-streaming-fix/environment/chat_app.py +19 -0
- package/eval/local/tasks/comet-layered-streaming-fix/environment/test_chat_app.py +15 -0
- package/eval/local/tasks/comet-layered-streaming-fix/instruction.md +14 -0
- package/eval/local/tasks/comet-layered-streaming-fix/task.toml +20 -0
- package/eval/local/tasks/comet-layered-streaming-fix/validation/test_layered_streaming_fix.py +20 -0
- package/eval/local/tasks/comet-noise-distractor/environment/Dockerfile +15 -0
- package/eval/local/tasks/comet-noise-distractor/environment/distractor.md +4 -0
- package/eval/local/tasks/comet-noise-distractor/environment/invoice.py +5 -0
- package/eval/local/tasks/comet-noise-distractor/environment/test_invoice.py +18 -0
- package/eval/local/tasks/comet-noise-distractor/instruction.md +17 -0
- package/eval/local/tasks/comet-noise-distractor/task.toml +20 -0
- package/eval/local/tasks/comet-noise-distractor/validation/test_noise_distractor.py +20 -0
- package/eval/local/tasks/comet-observability-env-template/environment/Dockerfile +15 -0
- package/eval/local/tasks/comet-observability-env-template/environment/env_writer.py +17 -0
- package/eval/local/tasks/comet-observability-env-template/environment/test_env_writer.py +17 -0
- package/eval/local/tasks/comet-observability-env-template/instruction.md +20 -0
- package/eval/local/tasks/comet-observability-env-template/task.toml +20 -0
- package/eval/local/tasks/comet-observability-env-template/validation/test_observability_env_template.py +46 -0
- package/eval/local/tasks/comet-perf-dedupe/environment/Dockerfile +39 -0
- package/eval/local/tasks/comet-perf-dedupe/environment/dedupe.py +22 -0
- package/eval/local/tasks/comet-perf-dedupe/environment/test_dedupe.py +43 -0
- package/eval/local/tasks/comet-perf-dedupe/instruction.md +25 -0
- package/eval/local/tasks/comet-perf-dedupe/task.toml +24 -0
- package/eval/local/tasks/comet-perf-dedupe/validation/test_perf_dedupe.py +40 -0
- package/eval/local/tasks/comet-persistence-threading/environment/Dockerfile +15 -0
- package/eval/local/tasks/comet-persistence-threading/environment/session_store.py +15 -0
- package/eval/local/tasks/comet-persistence-threading/environment/test_session_store.py +21 -0
- package/eval/local/tasks/comet-persistence-threading/instruction.md +14 -0
- package/eval/local/tasks/comet-persistence-threading/task.toml +20 -0
- package/eval/local/tasks/comet-persistence-threading/validation/test_persistence_threading.py +20 -0
- package/eval/local/tasks/comet-refactor-counter/environment/Dockerfile +39 -0
- package/eval/local/tasks/comet-refactor-counter/environment/test_text_processor.py +57 -0
- package/eval/local/tasks/comet-refactor-counter/environment/text_processor.py +49 -0
- package/eval/local/tasks/comet-refactor-counter/instruction.md +31 -0
- package/eval/local/tasks/comet-refactor-counter/task.toml +24 -0
- package/eval/local/tasks/comet-refactor-counter/validation/test_refactor_counter.py +75 -0
- package/eval/local/tasks/comet-robust-config/environment/Dockerfile +39 -0
- package/eval/local/tasks/comet-robust-config/environment/config_loader.py +56 -0
- package/eval/local/tasks/comet-robust-config/environment/test_config_loader.py +72 -0
- package/eval/local/tasks/comet-robust-config/instruction.md +30 -0
- package/eval/local/tasks/comet-robust-config/task.toml +24 -0
- package/eval/local/tasks/comet-robust-config/validation/test_robust_config.py +37 -0
- package/eval/local/tasks/generic-skill-smoke/environment/Dockerfile +2 -0
- package/eval/local/tasks/generic-skill-smoke/instruction.md +7 -0
- package/eval/local/tasks/generic-skill-smoke/task.toml +21 -0
- package/eval/local/tasks/generic-skill-smoke/validation/test_generic_skill_smoke.py +36 -0
- package/eval/local/tasks/index.yaml +155 -0
- package/eval/local/tasks/workflow-overlay-contract/environment/Dockerfile +5 -0
- package/eval/local/tasks/workflow-overlay-contract/instruction.md +5 -0
- package/eval/local/tasks/workflow-overlay-contract/task.toml +21 -0
- package/eval/local/tasks/workflow-overlay-contract/validation/test_workflow_overlay_contract.py +235 -0
- package/eval/local/tasks/workflow-route-conformance/environment/Dockerfile +2 -0
- package/eval/local/tasks/workflow-route-conformance/instruction.md +5 -0
- package/eval/local/tasks/workflow-route-conformance/task.toml +21 -0
- package/eval/local/tasks/workflow-route-conformance/validation/test_workflow_route_conformance.py +84 -0
- package/eval/local/tests/conftest.py +1148 -0
- package/eval/local/tests/scaffold/test_attribution.py +48 -0
- package/eval/local/tests/scaffold/test_compare_baselines.py +999 -0
- package/eval/local/tests/scaffold/test_conftest_helpers.py +534 -0
- package/eval/local/tests/scaffold/test_evidence.py +15 -0
- package/eval/local/tests/scaffold/test_langsmith_conftest.py +244 -0
- package/eval/local/tests/scaffold/test_logging.py +243 -0
- package/eval/local/tests/scaffold/test_manifests.py +132 -0
- package/eval/local/tests/scaffold/test_profiles.py +866 -0
- package/eval/local/tests/scaffold/test_regression_check.py +19 -0
- package/eval/local/tests/scaffold/test_report_style_demo_charts.py +45 -0
- package/eval/local/tests/scaffold/test_sample_quality.py +211 -0
- package/eval/local/tests/scaffold/test_tasks.py +168 -0
- package/eval/local/tests/scaffold/test_treatments.py +244 -0
- package/eval/local/tests/scaffold/test_utils.py +139 -0
- package/eval/local/tests/tasks/test_tasks.py +445 -0
- package/eval/local/tests/tasks/test_validation_scripts.py +143 -0
- package/eval/local/treatments/comet/comet_full_039.yaml +141 -0
- package/eval/local/treatments/comet/comet_full_040_beta.yaml +140 -0
- package/eval/local/treatments/common/control.yaml +4 -0
- package/eval/pyproject.toml +41 -0
- package/eval/report-html-config.json +6 -0
- package/eval/scaffold/__init__.py +67 -0
- package/eval/scaffold/python/__init__.py +95 -0
- package/eval/scaffold/python/attribution.py +43 -0
- package/eval/scaffold/python/evidence.py +38 -0
- package/eval/scaffold/python/external_data_handler.py +18 -0
- package/eval/scaffold/python/generic_llm_judge.py +235 -0
- package/eval/scaffold/python/judge_config.py +168 -0
- package/eval/scaffold/python/llm_judge.py +191 -0
- package/eval/scaffold/python/logging.py +705 -0
- package/eval/scaffold/python/manifests.py +129 -0
- package/eval/scaffold/python/paper_charts.py +25 -0
- package/eval/scaffold/python/pass_at_k.py +107 -0
- package/eval/scaffold/python/paths.py +56 -0
- package/eval/scaffold/python/profiles.py +127 -0
- package/eval/scaffold/python/report_outputs.py +1391 -0
- package/eval/scaffold/python/sample_quality.py +339 -0
- package/eval/scaffold/python/schema.py +39 -0
- package/eval/scaffold/python/skill_parser.py +469 -0
- package/eval/scaffold/python/tasks.py +330 -0
- package/eval/scaffold/python/treatments.py +271 -0
- package/eval/scaffold/python/utils.py +366 -0
- package/eval/scaffold/python/validation/__init__.py +21 -0
- package/eval/scaffold/python/validation/authoring_rubric.py +326 -0
- package/eval/scaffold/python/validation/comet_workflow.py +187 -0
- package/eval/scaffold/python/validation/core.py +264 -0
- package/eval/scaffold/python/validation/dataset.py +337 -0
- package/eval/scaffold/python/validation/docker.py +106 -0
- package/eval/scaffold/python/validation/evaluator.py +549 -0
- package/eval/scaffold/python/validation/generic_rubric.py +169 -0
- package/eval/scaffold/python/validation/rubric.py +740 -0
- package/eval/scaffold/python/validation/runner.py +237 -0
- package/eval/scaffold/python/validation/scripts.py +58 -0
- package/eval/scaffold/python/validation/tracing.py +313 -0
- package/eval/scaffold/shell/common.sh +126 -0
- package/eval/scaffold/shell/docker.sh +482 -0
- package/eval/scaffold/shell/run-claude-loop.sh +181 -0
- package/eval/scaffold/shell/setup.sh +259 -0
- package/eval/simulator-instruction.md +9 -0
- package/package.json +29 -2
- package/dist/domains/dashboard/web/assets/index-BcO3_QlT.css +0 -1
- package/dist/domains/dashboard/web/assets/index-CjU3VXVu.js +0 -22
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# 脚本定位与命令
|
|
2
|
+
|
|
3
|
+
规范路径:`comet/reference/scripts.md`
|
|
4
|
+
|
|
5
|
+
本文件是 Comet 脚本定位和 state/guard/handoff/archive 命令面的单一事实来源。每会话加载一次,然后复用缓存的环境变量。
|
|
6
|
+
|
|
7
|
+
## 引导(每会话运行一次)
|
|
8
|
+
|
|
9
|
+
Comet 脚本随 skill 包分发在 `comet/scripts/` 下。**不硬编码路径** — 定位一次,缓存到环境变量。子 Skill 可以直接引用本节,只有需要完全自包含执行时才内联此块;修改时以本文件为单一事实源:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
COMET_ENV="${COMET_ENV:-$(find . "$HOME"/.*/skills "$HOME/.config" "$HOME/.gemini" -path '*/comet/scripts/comet-env.mjs' -type f -print -quit 2>/dev/null)}"
|
|
13
|
+
if [ -z "$COMET_ENV" ]; then
|
|
14
|
+
echo "ERROR: comet-env.mjs not found. Ensure the comet skill is installed." >&2
|
|
15
|
+
return 1
|
|
16
|
+
fi
|
|
17
|
+
COMET_SCRIPTS_DIR="$(node "$COMET_ENV")"
|
|
18
|
+
COMET_STATE="$COMET_SCRIPTS_DIR/comet-state.mjs"
|
|
19
|
+
COMET_GUARD="$COMET_SCRIPTS_DIR/comet-guard.mjs"
|
|
20
|
+
COMET_HANDOFF="$COMET_SCRIPTS_DIR/comet-handoff.mjs"
|
|
21
|
+
COMET_ARCHIVE="$COMET_SCRIPTS_DIR/comet-archive.mjs"
|
|
22
|
+
COMET_INTENT="$COMET_SCRIPTS_DIR/comet-intent.mjs"
|
|
23
|
+
|
|
24
|
+
# 脚本定位失败时停止流程
|
|
25
|
+
if [ -z "$COMET_SCRIPTS_DIR" ]; then
|
|
26
|
+
echo "ERROR: Comet scripts not found. Ensure the comet skill is installed." >&2
|
|
27
|
+
return 1
|
|
28
|
+
fi
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
加载 comet 后,agent 应执行以上变量赋值一次,后续全程复用 `$COMET_GUARD`、`$COMET_STATE`、`$COMET_HANDOFF`、`$COMET_ARCHIVE`、`$COMET_INTENT`。
|
|
32
|
+
|
|
33
|
+
## 自动状态更新
|
|
34
|
+
|
|
35
|
+
guard 支持 `--apply` 参数,验证通过后自动更新 `.comet.yaml` 状态字段:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
node "$COMET_GUARD" <change-name> <phase> --apply
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
`--apply` 内部委托给 `comet-state transition`。需要直接表达状态事件时使用:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
node "$COMET_STATE" transition <change-name> open-complete
|
|
45
|
+
node "$COMET_STATE" transition <change-name> design-complete
|
|
46
|
+
node "$COMET_STATE" transition <change-name> build-complete
|
|
47
|
+
node "$COMET_STATE" transition <change-name> verify-pass
|
|
48
|
+
node "$COMET_STATE" transition <change-name> verify-fail
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
归档完成由 `node "$COMET_ARCHIVE" <change-name>` 负责;OpenSpec 会把 change 移到带日期前缀的归档目录,不要手动 transition 一个 `<archive-name>`。
|
|
52
|
+
|
|
53
|
+
## 解析下一步
|
|
54
|
+
|
|
55
|
+
阶段守卫推进 phase 后,用 `next` 子命令解析是否自动调用下一个 skill:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
node "$COMET_STATE" next <change-name>
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
输出 `NEXT: auto|manual|done` + `SKILL: <skill-name>`(`done` 时省略)+ `HINT`(仅 `manual` 时)。`auto_transition: false` 时输出 `manual`,只暂停下一 skill 调用,不影响已发生的 phase 推进。
|
|
62
|
+
|
|
63
|
+
## 归档脚本
|
|
64
|
+
|
|
65
|
+
一键完成归档全部步骤:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
node "$COMET_ARCHIVE" <change-name>
|
|
69
|
+
```
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
# Subagent 驱动开发的 Comet 扩展
|
|
2
|
+
|
|
3
|
+
规范路径:`comet/reference/subagent-dispatch.md`
|
|
4
|
+
|
|
5
|
+
本文档提供在 Superpowers `subagent-driven-development` 技能**之上**应用的 Comet 专属扩展。Superpowers `subagent-driven-development` 技能提供基础连续派发循环(每个 task 派发全新 implementer,并包含默认 task reviewer 节点)并强制连续执行。本文档添加 Comet 特有的真实后台调度、任务追踪、状态验证、上下文恢复,以及审查/修复预算;Comet 的 `review_mode` 接管 reviewer 阶段,决定哪些任务需要 reviewer、需要几轮修复和最终审查。若 Superpowers 技能与本文档发生冲突时,以本文档中更具体的 Comet 约束为准。
|
|
6
|
+
|
|
7
|
+
> **⚠️ 关键约束 — 任务之间禁止暂停**
|
|
8
|
+
>
|
|
9
|
+
> 当一个 task 按 `review_mode` 完成验收并被勾选后,**立即派发下一个 task**,不得停止、总结或询问用户是否继续。用户期望所有 task 按顺序自动执行,无需手动干预。任务之间暂停会中断工作流,导致用户每次都需要手动恢复。
|
|
10
|
+
>
|
|
11
|
+
> 仅在以下情况才停止并等待用户输入:
|
|
12
|
+
> - 任务处于 **BLOCKED** 状态(`review_mode: standard` 下风险任务 1 轮 review-fix 或最终轻量复查仍未通过,或 `review_mode: thorough` 下任务级/最终审查 2 轮审查-修复仍未通过)
|
|
13
|
+
> - 存在无法从仓库、计划或既有上下文消除的真实歧义
|
|
14
|
+
> - 平台没有真实后台 agent 调度能力,需要用户改选 `executing-plans`
|
|
15
|
+
> - 用户**明确**要求暂停
|
|
16
|
+
>
|
|
17
|
+
> 此规则适用于整个派发循环,而非单个任务。
|
|
18
|
+
|
|
19
|
+
## 开始前
|
|
20
|
+
|
|
21
|
+
1. 派发第一个 task 前,必须完成 Superpowers `subagent-driven-development` 技能的预检计划审查:扫描 plan 和全局约束中是否存在互相矛盾的要求,或 plan 明确要求但 reviewer 会判为缺陷的内容。若发现问题,实施前一次性向用户提出成组问题并附上冲突的 plan 原文;若没有问题,直接继续。
|
|
22
|
+
2. 读取计划一次,按顺序提取所有未勾选 task 的完整文本。
|
|
23
|
+
3. 为每个 task 保存唯一标识:plan 中 checkbox 后的完整任务文本,以及它映射的 OpenSpec task 完整文本(若存在)。若文本不唯一,停止并先修正计划,禁止依赖"第一个匹配项"。
|
|
24
|
+
4. 尊重依赖关系;依赖尚未完成的 task 不得提前派发。
|
|
25
|
+
|
|
26
|
+
## 每个 Task 的 Comet 扩展
|
|
27
|
+
|
|
28
|
+
在每个 task 上应用这些扩展,叠加在 Superpowers 技能的派发循环之上:
|
|
29
|
+
|
|
30
|
+
### 0. 派发强制约束(关键)
|
|
31
|
+
|
|
32
|
+
主会话**仅负责协调**,禁止直接执行 task。主会话禁止修改源代码。协调者唯一允许的文件修改是 plan、OpenSpec task 和 subagent 进度检查点的持久化更新。不得把多个 task 打包给同一个 agent。每个 task 派发一个全新的后台 implementer agent;当 `review_mode` 需要审查或修复时,task reviewer、修复 agent 和 final reviewer 也必须分别使用全新的后台 agent:
|
|
33
|
+
|
|
34
|
+
- **Claude Code**:对每个 implementer,以及 `review_mode` 要求的 task reviewer、修复 agent 和 final reviewer 使用 `Agent` 工具并设置 `run_in_background: true`。禁止内联执行 task,禁止错误进入需要预先创建 team 的团队模式。
|
|
35
|
+
- **其他平台**:使用平台等效的后台 agent / Task / 多 agent 派发机制。
|
|
36
|
+
- **禁止**跨 task 或角色复用 implementer、reviewer 或修复 agent。每个 agent 拥有全新的隔离上下文,并且只接收当前角色所需的单个 task 上下文。
|
|
37
|
+
- 若平台无真实后台派发能力,不得继续;暂停并等待用户改选 `build_mode: executing-plans`。
|
|
38
|
+
|
|
39
|
+
### 1. 派发 Prompt 与回报契约
|
|
40
|
+
|
|
41
|
+
每个 implementer 或修复 agent prompt 必须包含:
|
|
42
|
+
|
|
43
|
+
- 当前单个 task 的需求、架构背景和依赖上下文
|
|
44
|
+
- `Language: 使用触发本次工作流的用户请求语言输出`
|
|
45
|
+
- 允许修改的文件范围和禁止修改的范围
|
|
46
|
+
- 必须执行的测试命令和提交要求
|
|
47
|
+
- 修复 agent 还必须收到对应 reviewer 的完整反馈
|
|
48
|
+
|
|
49
|
+
大型 task 文本、实现报告和审查材料必须通过已加载的 Superpowers `subagent-driven-development` 技能提供的文件交接机制传递,不得整段粘贴进主会话。派发 prompt 应指向这些交接产物,同时保留角色、允许范围、必跑测试、报告契约和 Comet 特有约束。Comet 可以记录 agent 回传的产物路径或短摘要用于恢复,但不得依赖这些产物的内部名称或目录布局。
|
|
50
|
+
|
|
51
|
+
agent 回报状态必须为 `DONE | DONE_WITH_CONCERNS | BLOCKED | NEEDS_CONTEXT`,并包含或指向实现内容、测试结果、提交哈希、变更文件和顾虑。**implementer/修复 agent 还必须回报本任务是否命中任一风险信号**(见下方清单),命中则逐条列出;这是 `review_mode: standard` 下是否派发每任务 reviewer 的第一信号源。进入审查前,主会话必须确认提交和文件在当前工作树可见;若平台使用隔离副本,先拉取或合并变更。
|
|
52
|
+
|
|
53
|
+
**风险信号清单**(命中任一即视为风险任务):
|
|
54
|
+
|
|
55
|
+
- 跨模块/跨子系统协调改动
|
|
56
|
+
- 安全敏感面:认证、授权、加解密、SQL、外部输入处理、密钥/凭证
|
|
57
|
+
- 并发、锁、共享可变状态
|
|
58
|
+
- 数据或 schema 迁移
|
|
59
|
+
- 公共 API 契约或对外接口变更
|
|
60
|
+
- implementer 返回 `DONE_WITH_CONCERNS`
|
|
61
|
+
- 单任务 diff 超过 200 行
|
|
62
|
+
|
|
63
|
+
当 `review_mode` 需要 reviewer 时,每个 reviewer prompt 必须包含或指向完整 task 需求、实现提交或差异以及 RED/GREEN 证据(`tdd_mode: tdd` 时)。reviewer 不得只依据 implementer 的总结进行审查。
|
|
64
|
+
|
|
65
|
+
reviewer prompt 必须保持中立:
|
|
66
|
+
|
|
67
|
+
- 不得要求 reviewer 重新运行 implementer 已经运行并报告的同一批测试;reviewer 负责核验已报告的证据和代码/diff。
|
|
68
|
+
- 不得在 reviewer prompt 中预判、压低或禁止报告某个发现。若某个可能发现与 plan 冲突,让 reviewer 先报告,再询问用户以哪个要求为准。
|
|
69
|
+
- 不得把之前 task 的累计历史粘贴进后续派发。只提供当前 task、相关接口/约束,以及已加载的 Superpowers `subagent-driven-development` 技能暴露的交接产物。
|
|
70
|
+
|
|
71
|
+
**Model 选择(强制)**:每次派发必须显式指定 model,省略会静默继承会话最贵 model,拖慢执行并抬高成本。遵循 Superpowers `subagent-driven-development` 的 Model Selection 规则:
|
|
72
|
+
|
|
73
|
+
- **implementer / 修复 agent**:用 prose 描述的实现任务至少使用中档;多文件集成、需要模式匹配或调试 → 中档;需要设计判断或广泛理解代码库 → 高档。只有当 plan 文本已含完整待写代码(转写+测试),或只是单文件机械修复时,才用最便宜档。
|
|
74
|
+
- **reviewer(任务级/最终)**:按 diff 大小、复杂度和风险缩放。小机械 diff 不需要最高档;微妙并发改动才上高档。
|
|
75
|
+
- **final whole-branch review**:使用可用的最高档 model,不用会话默认档。
|
|
76
|
+
|
|
77
|
+
省略 model 等于让它跑会话最贵 model,直接违背本节目标。
|
|
78
|
+
|
|
79
|
+
### 2. Implementer 范围限制
|
|
80
|
+
|
|
81
|
+
implementer 只负责实现、测试和提交代码。**implementer 不得勾选 plan 或 OpenSpec task**,也不得只更新内置 Todo 或对话 checklist。
|
|
82
|
+
|
|
83
|
+
### 3. TDD 硬约束
|
|
84
|
+
|
|
85
|
+
若 `tdd_mode: tdd`,每个 implementer 和修复 agent 必须先使用 Skill 工具加载 Superpowers `test-driven-development` 技能,并在 prompt 中同时注入:
|
|
86
|
+
|
|
87
|
+
```text
|
|
88
|
+
You MUST follow TDD: write a failing test first, watch it fail, then write minimal code to pass. No production code without a failing test first.
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
implementer 或修复 agent 回报必须提供 **RED 失败命令与失败摘要**、**GREEN 通过命令与通过摘要**;缺少任一证据不得进入审查。当 `review_mode` 需要 task reviewer 时,该 reviewer 必须核验 RED/GREEN 证据与测试覆盖,并同时检查 spec compliance 与 code quality。
|
|
92
|
+
|
|
93
|
+
### 4. 持久进度检查点
|
|
94
|
+
|
|
95
|
+
主会话必须维护 `openspec/changes/<name>/.comet/subagent-progress.md`,并在每次派发、agent 回报、审查结果、修复轮次变化和 task 勾选后立即更新。检查点至少记录:
|
|
96
|
+
|
|
97
|
+
- 当前 plan task 唯一文本及映射的 OpenSpec task 文本
|
|
98
|
+
- 当前阶段:`implementing | task-review | checkoff | done | blocked | final-review | final-fix`
|
|
99
|
+
- 实现提交哈希、变更文件和 RED/GREEN 证据
|
|
100
|
+
- 已选择的 `review_mode`
|
|
101
|
+
- 已通过的审查阶段及尚未解决的 reviewer 反馈
|
|
102
|
+
- 当前 task 或 final review 的审查-修复轮次(`standard` 最多 1 轮,`thorough` 最多 2 轮,`off` 为 0 轮)
|
|
103
|
+
- `review_mode: standard` 时,本 task 是否已触发风险任务级 review 及命中的风险信号(恢复时不得重复派发已完成的任务级 review)
|
|
104
|
+
|
|
105
|
+
该文件只保存恢复所需的协调状态,不替代 plan 或 OpenSpec checkbox。当前 task 完成后保留其最终记录,开始下一个 task 时用下一 task 的记录替换。
|
|
106
|
+
|
|
107
|
+
Comet 不读取、不写入、也不要求任何 Superpowers `subagent-driven-development` 内部脚本或工作区路径。如果当前安装的 Superpowers `subagent-driven-development` 技能维护自己的临时产物、审查材料、任务需求文件或进度记录,这些都由 Superpowers 自行管理。Comet 的持久事实来源只限于 Comet workflow 状态、plan/OpenSpec checkbox 和本协调检查点。
|
|
108
|
+
|
|
109
|
+
### 5. 代码审查模式与轮次限制
|
|
110
|
+
|
|
111
|
+
> **⚠️ CRITICAL — review_mode 接管 Superpowers 默认流程,禁止双重审查**
|
|
112
|
+
>
|
|
113
|
+
> Superpowers `subagent-driven-development` 的 Process 流程图把"每个 task 后派发 task reviewer"设为必经节点。**Comet 的 `review_mode` 接管这一环节,决定哪些任务派发每任务 reviewer**(见下表每任务 reviewer 列)。**不得在 review_mode 已规定的每任务 reviewer 之外,额外按 Superpowers 默认派发 reviewer**。未派发 reviewer 的任务(`off` 全部、`standard` 非风险任务)必须直接进入 task 勾选与下一个 task 的派发。
|
|
114
|
+
>
|
|
115
|
+
> 一个 change 的审查次数由下表唯一决定,不得自行追加。
|
|
116
|
+
|
|
117
|
+
**build 阶段审查次数预算**(仅这些,不得额外增加)。本表只覆盖 build 阶段;verify 阶段有自己的审查处理(见下方说明):
|
|
118
|
+
|
|
119
|
+
| `review_mode` | build 阶段每任务 reviewer | build 阶段最终审查 |
|
|
120
|
+
|---------------|--------------------------|-------------------|
|
|
121
|
+
| `off` | 0 | 0 |
|
|
122
|
+
| `standard` | 仅风险任务(见下方规则) | 1(轻量) |
|
|
123
|
+
| `thorough` | 每个任务(spec + quality) | 1(完整) |
|
|
124
|
+
|
|
125
|
+
**verify 阶段的审查不在此表内。** verify 阶段的审查由 `verify_mode`(light/full)驱动规模,`review_mode` 只决定是否触发自动代码审查(`off` 跳过;`standard`/`thorough` 在轻量验证下做一次轻量代码审查,在全量验证下依赖 `openspec-verify-change`)。verify 阶段没有按 `review_mode` 区分的独立"完整"代码审查——verify 阶段的权威行为见 `comet-verify`。
|
|
126
|
+
|
|
127
|
+
当 `review_mode: standard` 时,默认不为每个 task 派发 reviewer,而是按**风险触发**决定:implementer 自测、提交并回报证据(含风险信号自报)后,协调者读取自报信号并复核该 task 的 diff。**仅当 implementer 自报命中任一风险信号、或协调者复核 diff 发现命中任一风险信号时**,为该 task 单独派发一个每任务 reviewer,同时检查 spec compliance 与 code quality,发现 CRITICAL/IMPORTANT 问题进入一轮 review-fix(最多 1 轮),复查未通过则标记 **BLOCKED**。未命中风险信号的 task 直接做定向勾选验证后放行。所有 task 完成后仍派发一次最终轻量 code reviewer(范围:正确性、安全、边界)。若最终轻量审查发现 CRITICAL 或 IMPORTANT 问题,最多自动派发一轮修复 agent 并复查一次;复查仍未通过时标记 **BLOCKED**,暂停并把反馈交给用户。非 CRITICAL 发现可记录接受理由后继续。
|
|
128
|
+
|
|
129
|
+
当 `review_mode: thorough` 时,**每个 task 派发一个每任务 reviewer,同时检查 spec compliance 与 code quality**:implementer 自测、提交并回报证据后,协调者为该 task 派发一个全新后台 reviewer。reviewer 发现 CRITICAL/IMPORTANT 问题进入审查-修复(最多 2 轮),仍未通过则标记 **BLOCKED**,暂停并把反馈交给用户。所有 task 完成后再派发一次最终完整 reviewer。thorough 不做批次合并审查——高风险 change 要求每个任务即时、专注的审查,等批次边界才抓到问题代价过大。
|
|
130
|
+
|
|
131
|
+
当 reviewer 返回无法仅从审查材料验证的发现时,协调者必须在 task 勾选前自行核对。若直接检查仓库后确认是真实缺口,按失败的 spec/quality review 处理,进入对应修复与复查流程;若该项已由未改动代码或跨任务约束满足,在检查点记录理由后继续。
|
|
132
|
+
|
|
133
|
+
当 `review_mode: off` 时,不自动派发 task reviewer、final reviewer 或审查修复 agent。任务完成依据 implementer 的测试/构建证据、当前工作树确认、任务唯一文本勾选验证和用户显式要求。若执行过程中出现测试失败、构建失败或异常行为,仍必须按异常调试协议处理,不得用 `off` 跳过真实问题。
|
|
134
|
+
|
|
135
|
+
### 6. Task 勾选与验证
|
|
136
|
+
|
|
137
|
+
**按 `review_mode` 完成验收后**,主会话:
|
|
138
|
+
|
|
139
|
+
1. 将 plan 中保存的唯一 task 文本从 `- [ ]` 改为 `- [x]`
|
|
140
|
+
2. 若存在映射,再同步勾选 OpenSpec task
|
|
141
|
+
3. 提交这次进度更新
|
|
142
|
+
4. 运行定向验证:
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
node "$COMET_STATE" task-checkoff "$PLAN_FILE" "$PLAN_TASK_TEXT"
|
|
146
|
+
node "$COMET_STATE" task-checkoff "openspec/changes/<name>/tasks.md" "$OPENSPEC_TASK_TEXT"
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
仅在对应映射存在时运行第二条。脚本会要求任务文本恰好出现一次且该项已勾选;验证失败时不得进入下一个 task。
|
|
150
|
+
|
|
151
|
+
## 收尾
|
|
152
|
+
|
|
153
|
+
- **自动继续**:按 `review_mode` 完成验收并勾选 task 后,立即派发下一个未勾选的 task。禁止总结、禁止询问用户是否继续、禁止在任务之间等待用户输入。这是不可协商的 —— Superpowers 技能强制连续执行,文档顶部的关键约束进一步强化此规则。
|
|
154
|
+
- 所有 task 完成后,若 `review_mode: standard`,将检查点切换为 `final-review`,只派发一次最终轻量 code reviewer。CRITICAL 或 IMPORTANT 问题最多自动修复和复查一轮;仍未通过则暂停交给用户。通过或接受非 CRITICAL 发现后继续返回 `comet-build`。
|
|
155
|
+
- 所有 task 完成后,若 `review_mode: thorough`,将检查点切换为 `final-review`,派发一次最终完整 reviewer。CRITICAL 或 IMPORTANT 问题最多自动修复和复查两轮;仍未通过则暂停交给用户。通过或接受非 CRITICAL 发现后继续返回 `comet-build`。
|
|
156
|
+
- 所有 task 完成后,若 `review_mode: off`,不进入 `final-review` 或 `final-fix`,但必须在持久产物中记录跳过自动代码审查的原因,然后返回 `comet-build`。
|
|
157
|
+
- final review 通过后,结束的只是 subagent 派发循环,不是 Comet workflow。不得加载 `finishing-a-development-branch`,不得停下来询问用户下一步;必须返回 `comet-build` 继续执行退出条件、阶段守卫和后续阶段衔接。
|
|
158
|
+
|
|
159
|
+
## 上下文恢复
|
|
160
|
+
|
|
161
|
+
重新加载 Superpowers `subagent-driven-development` 技能并重新阅读本文档。先读取 `openspec/changes/<name>/.comet/subagent-progress.md`,再与第一个未勾选 task 和当前工作树核对:
|
|
162
|
+
|
|
163
|
+
- 检查点与未勾选 task 匹配时,从记录的精确阶段恢复,保留实现提交、RED/GREEN 证据、`review_mode`、已通过的审查阶段、未解决反馈和当前审查-修复轮次;不得重置轮次或重复已经通过的阶段。
|
|
164
|
+
- 若已加载的 Superpowers `subagent-driven-development` 技能通过自己的进度记录报告某个 task 已完成,先对照 git 历史和 Comet plan/OpenSpec checkbox 完成恢复判断。若提交和任务身份匹配,更新 Comet 检查点/勾选状态,不得重复派发已完成工作。
|
|
165
|
+
- 检查点缺失或与未勾选 task 不匹配时,为第一个未勾选 task 创建新检查点并从 implementer 派发开始。
|
|
166
|
+
- 检查点中的提交或文件在当前工作树不可见时,先拉取、合并或恢复对应变更;不得假定实现已存在。
|
|
167
|
+
- 所有 task 已勾选且检查点处于 `final-review` 或 `final-fix` 时,从最终审查的精确阶段恢复,并保留最终反馈和审查-修复轮次;不得重新进入已完成的 task。
|
|
168
|
+
|
|
169
|
+
已提交但未按 `review_mode` 完成验收的 task 保持未勾选,并按检查点重新进入对应的验证、审查或修复流程。
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# Comet 阶段感知(防漂移规则)
|
|
2
|
+
|
|
3
|
+
> 此规则每轮注入,防止长上下文时遗忘 Comet 流程状态。
|
|
4
|
+
> Hook 平台额外执行 `comet-hook-guard.mjs` 进行硬性拦截;
|
|
5
|
+
> 此 Rule 是所有平台通用的软性防线。
|
|
6
|
+
|
|
7
|
+
## 全局规则
|
|
8
|
+
|
|
9
|
+
### 阶段感知(最高优先级)
|
|
10
|
+
|
|
11
|
+
有活跃 comet change 时(`openspec/changes/<name>/.comet.yaml` 存在),**每次开始执行操作前**必须读取 `phase` 字段确认当前阶段。
|
|
12
|
+
|
|
13
|
+
**阶段与允许操作:**
|
|
14
|
+
|
|
15
|
+
| 阶段 | 允许 | 禁止 |
|
|
16
|
+
|------|------|------|
|
|
17
|
+
| `open` | 创建 proposal/design/tasks, 运行 guard | 写源代码 |
|
|
18
|
+
| `design` | brainstorming, 创建 Design Doc, 运行 guard | 写源代码 |
|
|
19
|
+
| `build` | 写源代码、测试、执行计划 | 跳过用户确认点 |
|
|
20
|
+
| `verify` | 验证、branch handling | 跳过失败处理 |
|
|
21
|
+
| `archive` | 确认归档、运行归档脚本 | 写源代码 |
|
|
22
|
+
|
|
23
|
+
### 阶段进入自洽性校验(写源代码前必查)
|
|
24
|
+
|
|
25
|
+
仅看 `phase` 字段不够——还必须确认"是如何到达这个阶段的"。每次准备写源代码前,先用下表自检 `.comet.yaml` 是否处于**非法空跳**状态(绕过了前置阶段)。命中任一行,立即停止写源代码,按动作回到对应阶段补齐产物,不得信任 `phase` 字段直接续跑。
|
|
26
|
+
|
|
27
|
+
| 检测到 | 判定 | 动作 |
|
|
28
|
+
|--------|------|------|
|
|
29
|
+
| `phase: build` + `workflow: full` + `design_doc` 为空/null | 绕过 design 空跳 | 停止写源代码,运行 `/comet-design` 补 Design Doc 并过 guard |
|
|
30
|
+
| `phase: build` + proposal/design/tasks 任一缺失或为空 | 绕过 open 空跳 | 回 `/comet-open` 补齐三件套 |
|
|
31
|
+
| `phase: archive` + `verify_result` ≠ `pass` | 绕过 verify 空跳 | 回 `/comet-verify` 完成验证 |
|
|
32
|
+
|
|
33
|
+
> 说明:上表只覆盖 hook 硬门实际检测的范围(`design_doc` 空跳在 build 阶段;proposal/design/tasks 三件套完整性在 open→build 的 guard 退出时校验)。`verify` 阶段不在此写源码自洽门内——若 verify 发现产物缺失,按下方「Verify 阶段专项」的 verify-fail 回退处理。
|
|
34
|
+
|
|
35
|
+
预设例外:`workflow: hotfix/tweak` 本就跳过 design,`design_doc` 为空属正常,不算非法。
|
|
36
|
+
|
|
37
|
+
升级态说明:预设(hotfix/tweak)命中升级信号并经用户确认升级后,通过 `comet-state transition <name> preset-escalate` 合法地变为 `workflow: full` + `phase: design` + `design_doc: null`。此时 `phase: design` + `design_doc` 为空**属正常升级前置态**,不是非法空跳——agent 应进入 `/comet-design` 补 Design Doc。该终态不命中上表「绕过 design 空跳」行(该行仅检测 `phase: build`)。
|
|
38
|
+
|
|
39
|
+
### Skill 调用(不可用普通对话替代)
|
|
40
|
+
|
|
41
|
+
以下操作必须通过 Skill 工具加载,Skill 不可用时应停止流程并提示安装:
|
|
42
|
+
|
|
43
|
+
- **brainstorming** — design 阶段、build 阶段中等规模 spec 变更
|
|
44
|
+
- **writing-plans** — build 阶段创建实现计划
|
|
45
|
+
- **executing-plans** / **subagent-driven-development** — build 阶段执行
|
|
46
|
+
- **test-driven-development** — `executing-plans` 由主会话在第一个 task 前加载;`subagent-driven-development` 由每个后台 implementer 和修复 agent 加载
|
|
47
|
+
- **systematic-debugging** — 遇到崩溃/测试失败/构建失败时
|
|
48
|
+
- **verification-before-completion** — verify 阶段
|
|
49
|
+
- **using-git-worktrees** — build 阶段选择 worktree 隔离时
|
|
50
|
+
|
|
51
|
+
### 脚本执行(不可跳过)
|
|
52
|
+
|
|
53
|
+
- **阶段退出**: `comet-guard <name> <phase> --apply`(必须看到 ALL CHECKS PASSED)
|
|
54
|
+
- **压缩恢复**: `comet-state check <name> <phase> --recover`
|
|
55
|
+
- **状态更新**: 关键操作后通过 `comet-state set` 更新字段,禁止手工编辑 .comet.yaml
|
|
56
|
+
- **阶段推进只能经 guard/transition**: 禁止用 `comet-state set <name> phase <值>` 手动跳阶段(会绕过证据校验,脚本已硬拦截);确需修复畸形状态时才用 `COMET_FORCE_PHASE=1` 逃生阀。预设(hotfix/tweak)升级到 full 必须用 `comet-state transition <name> preset-escalate`——这是唯一能合法回退 phase 到 design 并同步 workflow/classic_profile 的通道,直接 `set phase design` 和 `set classic_profile` 都会被硬拦截
|
|
57
|
+
- **handoff 生成**: `comet-handoff <name> design --write`(禁止手写摘要)
|
|
58
|
+
|
|
59
|
+
### 用户确认(不可自动跳过)
|
|
60
|
+
|
|
61
|
+
以下决策点必须暂停等待用户明确选择,不得根据推荐规则自动填写:
|
|
62
|
+
|
|
63
|
+
- **open**: 需求澄清完成确认、artifact 评审确认
|
|
64
|
+
- **design**: brainstorming 方案确认(确认前不得创建 Design Doc)
|
|
65
|
+
- **build**: plan-ready 暂停、`isolation` / `build_mode` / `tdd_mode` / `review_mode` 四项选择(工作区隔离、执行方式、TDD 模式、代码审查模式)、spec 大规模变更确认、预设(hotfix/tweak)升级判定二选一(命中质变信号或文件数 tripwire 时,交用户决定继续预设流程还是升级 full)
|
|
66
|
+
- **verify**: 验证失败处理策略、branch handling 选择
|
|
67
|
+
- **archive**: 归档前最终确认
|
|
68
|
+
|
|
69
|
+
## Design 阶段专项
|
|
70
|
+
|
|
71
|
+
1. 第一个脚本操作 = `comet-handoff <name> design --write`(未生成 handoff 禁止加载 brainstorming)
|
|
72
|
+
2. brainstorming in progress: incrementally update brainstorm-summary.md(每轮澄清或方案迭代后增量更新恢复检查点,未确认内容标注为待确认/候选)
|
|
73
|
+
3. brainstorming 完成后下一步 = brainstorm-summary.md 定稿 → Design Doc → guard
|
|
74
|
+
4. active compaction gate: brainstorm-summary.md 定稿后、创建 Design Doc 前,优先触发宿主平台原生上下文压缩;无法程序化触发时暂停提示用户手动压缩或确认继续
|
|
75
|
+
5. **绝对不能直接开始写实现代码** — 必须先创建 Design Doc 并通过 guard
|
|
76
|
+
|
|
77
|
+
## Build 阶段专项
|
|
78
|
+
|
|
79
|
+
1. plan 创建后必须询问用户选择继续或暂停(`build_pause` 机制)
|
|
80
|
+
2. 每个 task 验收后必须: tasks.md 打勾 → git commit(不得积攒)。`subagent-driven-development` 必须按当前 `review_mode` 完成验收,再由协调者按任务唯一文本定向勾选和验证;不得用未完成任务总表代替当前任务验证
|
|
81
|
+
3. 遇到失败必须加载 **systematic-debugging** skill,根因未定位前不得提出源码修复
|
|
82
|
+
4. spec 变更分级: 小改直接编辑 | 中改加载 brainstorming | 大改暂停等用户确认拆分
|
|
83
|
+
|
|
84
|
+
## Verify 阶段专项
|
|
85
|
+
|
|
86
|
+
1. 第一步运行 `comet-state scale <name>` 确定验证级别
|
|
87
|
+
2. 验证失败后列出失败项等用户选择,CRITICAL 必须修
|
|
88
|
+
3. 连续 3 次失败后必须让用户选择接受偏差或继续修
|
|
89
|
+
4. 用户选择修复时运行 `comet-state transition <name> verify-fail`:该转移会把 `phase` 回退到 `build`(不是停在 verify),随后进入 `/comet-build` 修复,修完重新过 build→verify guard
|
|
90
|
+
|
|
91
|
+
## 上下文压缩恢复
|
|
92
|
+
|
|
93
|
+
如果怀疑发生上下文压缩(之前对话被摘要、找不到之前讨论的内容),立即运行:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
node "$COMET_STATE" check <name> <phase> --recover
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
按脚本输出的 **Recovery action** 决定下一步。
|
|
100
|
+
|
|
101
|
+
恢复后必须先用「阶段进入自洽性校验」表复查一遍:若发现 `phase` 与产物不自洽(design_doc/三件套/verify_result 任一不匹配),按非法空跳处理,回对应阶段补齐,不得信任 `phase` 字段直接续跑。
|
|
102
|
+
|
|
103
|
+
**特别注意 `build_mode`**:若恢复脚本输出 `build_mode: subagent-driven-development`,你是协调者,不是执行者。必须:
|
|
104
|
+
1. 使用 Skill 工具重新加载 Superpowers `subagent-driven-development` 技能 (Use the Skill tool to reload the Superpowers `subagent-driven-development` skill)
|
|
105
|
+
2. 读取 `comet/reference/subagent-dispatch.md` 获取 Comet 专属扩展 (re-read `comet/reference/subagent-dispatch.md` for Comet-specific extensions)
|
|
106
|
+
3. 读取 `openspec/changes/<name>/.comet/subagent-progress.md` 恢复精确阶段、证据和审查-修复轮次 (Read `openspec/changes/<name>/.comet/subagent-progress.md` to recover the exact stage, evidence, and review-fix round)
|
|
107
|
+
4. 禁止在主会话中直接执行 task (Do not execute the pending task directly in the main window)
|
|
108
|
+
5. 按检查点恢复;缺失或不匹配时才从第一个未勾选 task 开始
|
|
109
|
+
6. 已提交但未按 `review_mode` 完成验收的 task 保持未勾选,继续对应的验证/审查/修复循环
|
|
110
|
+
7. task 按 `review_mode` 完成验收并通过定向勾选验证后立即继续下一个 task,不得总结或询问是否继续
|
|
111
|
+
|
|
112
|
+
## 阶段退出后自动过渡
|
|
113
|
+
|
|
114
|
+
guard `--apply` 成功后,不得在本规则中硬编码下一阶段 skill。必须先运行:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
comet-state next <change-name>
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
若已通过 `comet-env.mjs` 定位脚本,等价运行:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
node "$COMET_STATE" next <change-name>
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
按脚本输出决定下一步:
|
|
127
|
+
|
|
128
|
+
- `NEXT: auto` → 使用 Skill 工具加载 `SKILL` 指向的 skill
|
|
129
|
+
- `NEXT: manual` → 不加载下一 skill,按 `HINT` 提示用户手动继续
|
|
130
|
+
- `NEXT: done` → 流程已完成,无需继续
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
apiVersion: comet/v1alpha1
|
|
2
|
+
kind: Skill
|
|
3
|
+
metadata:
|
|
4
|
+
name: comet-classic
|
|
5
|
+
version: "1"
|
|
6
|
+
description: Comet 经典 full、hotfix、tweak 工作流的内部兼容编排
|
|
7
|
+
goal:
|
|
8
|
+
statement: 在不改变用户命令面的前提下稳定推进或恢复经典 Comet Run
|
|
9
|
+
inputs:
|
|
10
|
+
- name: classic-state
|
|
11
|
+
description: 已校验且与 Run 投影一致的 ClassicState
|
|
12
|
+
required: true
|
|
13
|
+
- name: evidence
|
|
14
|
+
description: Classic Evidence 收集器生成的结构化证据
|
|
15
|
+
required: true
|
|
16
|
+
outputs:
|
|
17
|
+
- name: run-state
|
|
18
|
+
description: 原子同步后的 Classic 与 Run 状态
|
|
19
|
+
required: true
|
|
20
|
+
success:
|
|
21
|
+
- 旧字段与 Run 字段保持一致
|
|
22
|
+
- 每个步骤只调用声明的公开 Comet Skill
|
|
23
|
+
- completed 状态通过 completion eval
|
|
24
|
+
orchestration:
|
|
25
|
+
mode: deterministic
|
|
26
|
+
entry: full.open
|
|
27
|
+
steps:
|
|
28
|
+
- id: full.open
|
|
29
|
+
action: { type: invoke_skill, ref: comet-open }
|
|
30
|
+
next: full.design.handoff
|
|
31
|
+
- id: full.design.handoff
|
|
32
|
+
action: { type: invoke_skill, ref: comet-design }
|
|
33
|
+
next: full.design.document
|
|
34
|
+
- id: full.design.document
|
|
35
|
+
action: { type: invoke_skill, ref: comet-design }
|
|
36
|
+
next: full.build.plan
|
|
37
|
+
- id: full.build.plan
|
|
38
|
+
action: { type: invoke_skill, ref: comet-build }
|
|
39
|
+
next: full.build.plan-ready
|
|
40
|
+
- id: full.build.plan-ready
|
|
41
|
+
action: { type: invoke_skill, ref: comet-build }
|
|
42
|
+
next: full.build.configure
|
|
43
|
+
- id: full.build.configure
|
|
44
|
+
action: { type: invoke_skill, ref: comet-build }
|
|
45
|
+
next: full.build.execute
|
|
46
|
+
- id: full.build.execute
|
|
47
|
+
action: { type: invoke_skill, ref: comet-build }
|
|
48
|
+
next: full.build.complete
|
|
49
|
+
- id: full.build.complete
|
|
50
|
+
action: { type: invoke_skill, ref: comet-build }
|
|
51
|
+
next: full.verify.run
|
|
52
|
+
- id: full.build.fix
|
|
53
|
+
action: { type: invoke_skill, ref: comet-build }
|
|
54
|
+
next: full.build.execute
|
|
55
|
+
- id: full.verify.run
|
|
56
|
+
action: { type: invoke_skill, ref: comet-verify }
|
|
57
|
+
next: full.verify.branch
|
|
58
|
+
- id: full.verify.branch
|
|
59
|
+
action: { type: invoke_skill, ref: comet-verify }
|
|
60
|
+
next: full.archive.confirm
|
|
61
|
+
- id: full.archive.confirm
|
|
62
|
+
action: { type: invoke_skill, ref: comet-archive }
|
|
63
|
+
next: full.archive.execute
|
|
64
|
+
- id: full.archive.execute
|
|
65
|
+
action: { type: invoke_skill, ref: comet-archive }
|
|
66
|
+
next: completed
|
|
67
|
+
- id: hotfix.open
|
|
68
|
+
action: { type: invoke_skill, ref: comet-hotfix }
|
|
69
|
+
next: hotfix.build.execute
|
|
70
|
+
- id: hotfix.build.execute
|
|
71
|
+
action: { type: invoke_skill, ref: comet-build }
|
|
72
|
+
next: hotfix.build.complete
|
|
73
|
+
- id: hotfix.build.complete
|
|
74
|
+
action: { type: invoke_skill, ref: comet-build }
|
|
75
|
+
next: hotfix.verify.run
|
|
76
|
+
- id: hotfix.verify.run
|
|
77
|
+
action: { type: invoke_skill, ref: comet-verify }
|
|
78
|
+
next: hotfix.verify.branch
|
|
79
|
+
- id: hotfix.verify.branch
|
|
80
|
+
action: { type: invoke_skill, ref: comet-verify }
|
|
81
|
+
next: hotfix.archive.confirm
|
|
82
|
+
- id: hotfix.archive.confirm
|
|
83
|
+
action: { type: invoke_skill, ref: comet-archive }
|
|
84
|
+
next: hotfix.archive.execute
|
|
85
|
+
- id: hotfix.archive.execute
|
|
86
|
+
action: { type: invoke_skill, ref: comet-archive }
|
|
87
|
+
next: completed
|
|
88
|
+
- id: tweak.open
|
|
89
|
+
action: { type: invoke_skill, ref: comet-tweak }
|
|
90
|
+
next: tweak.build.execute
|
|
91
|
+
- id: tweak.build.execute
|
|
92
|
+
action: { type: invoke_skill, ref: comet-build }
|
|
93
|
+
next: tweak.build.complete
|
|
94
|
+
- id: tweak.build.complete
|
|
95
|
+
action: { type: invoke_skill, ref: comet-build }
|
|
96
|
+
next: tweak.verify.run
|
|
97
|
+
- id: tweak.verify.run
|
|
98
|
+
action: { type: invoke_skill, ref: comet-verify }
|
|
99
|
+
next: tweak.verify.branch
|
|
100
|
+
- id: tweak.verify.branch
|
|
101
|
+
action: { type: invoke_skill, ref: comet-verify }
|
|
102
|
+
next: tweak.archive.confirm
|
|
103
|
+
- id: tweak.archive.confirm
|
|
104
|
+
action: { type: invoke_skill, ref: comet-archive }
|
|
105
|
+
next: tweak.archive.execute
|
|
106
|
+
- id: tweak.archive.execute
|
|
107
|
+
action: { type: invoke_skill, ref: comet-archive }
|
|
108
|
+
next: completed
|
|
109
|
+
- id: completed
|
|
110
|
+
action: { type: checkpoint }
|
|
111
|
+
completionEvals:
|
|
112
|
+
- classic-completed
|
|
113
|
+
skills:
|
|
114
|
+
- id: comet-open
|
|
115
|
+
- id: comet-design
|
|
116
|
+
- id: comet-build
|
|
117
|
+
- id: comet-verify
|
|
118
|
+
- id: comet-archive
|
|
119
|
+
- id: comet-hotfix
|
|
120
|
+
- id: comet-tweak
|
|
121
|
+
agents: []
|
|
122
|
+
tools: []
|