@rpamis/comet 0.3.9 → 0.4.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +371 -222
- package/assets/manifest.json +33 -12
- package/assets/skills/comet/SKILL.md +87 -102
- package/assets/skills/comet/reference/auto-transition.md +1 -1
- package/assets/skills/comet/reference/comet-yaml-fields.md +11 -4
- package/assets/skills/comet/reference/context-recovery.md +12 -2
- package/assets/skills/comet/reference/debug-gate.md +17 -1
- package/assets/skills/comet/reference/decision-point.md +13 -2
- package/assets/skills/comet/reference/intent-frame.md +74 -0
- package/assets/skills/comet/reference/scripts.md +69 -0
- package/assets/skills/comet/reference/subagent-dispatch.md +79 -23
- package/assets/skills/comet/rules/comet-phase-guard.en.md +18 -10
- package/assets/skills/comet/rules/comet-phase-guard.md +17 -10
- package/assets/skills/comet/runtime/classic/checks.yaml +6 -0
- package/assets/skills/comet/runtime/classic/guardrails.yaml +13 -0
- package/assets/skills/comet/runtime/classic/skill.yaml +122 -0
- package/assets/skills/comet/scripts/comet-archive.mjs +3 -0
- package/assets/skills/comet/scripts/comet-env.mjs +15 -0
- package/assets/skills/comet/scripts/comet-guard.mjs +3 -0
- package/assets/skills/comet/scripts/comet-handoff.mjs +3 -0
- package/assets/skills/comet/scripts/comet-hook-guard.mjs +3 -0
- package/assets/skills/comet/scripts/comet-intent.mjs +3 -0
- package/assets/skills/comet/scripts/comet-runtime.mjs +12857 -0
- package/assets/skills/comet/scripts/comet-state.mjs +3 -0
- package/assets/skills/comet/scripts/comet-yaml-validate.mjs +3 -0
- package/assets/skills/comet-any/SKILL.md +118 -0
- package/assets/skills/comet-any/reference/authored-zone-example.md +100 -0
- package/assets/skills/comet-any/reference/authoring-protocol.json +91 -0
- package/assets/skills/comet-any/reference/authoring-subagents.md +102 -0
- package/assets/skills/comet-any/reference/bundle-authoring.md +166 -0
- package/assets/skills/comet-any/reference/eval-provider.md +83 -0
- package/assets/skills/comet-any/reference/subagents/pause-points-author.md +75 -0
- package/assets/skills/comet-any/reference/subagents/reference-author.md +77 -0
- package/assets/skills/comet-any/reference/subagents/script-author.md +81 -0
- package/assets/skills/comet-any/reference/subagents/skill-core-author.md +129 -0
- package/assets/skills/comet-any/reference/subagents/skill-reviewer.md +124 -0
- package/assets/skills/comet-any/reference/subagents/workflow-entry-author.md +100 -0
- package/assets/skills/comet-archive/SKILL.md +25 -15
- package/assets/skills/comet-build/SKILL.md +51 -40
- package/assets/skills/comet-design/SKILL.md +14 -18
- package/assets/skills/comet-hotfix/SKILL.md +33 -43
- package/assets/skills/comet-open/SKILL.md +10 -20
- package/assets/skills/comet-tweak/SKILL.md +71 -65
- package/assets/skills/comet-verify/SKILL.md +31 -35
- package/assets/skills-zh/comet/SKILL.md +87 -101
- package/assets/skills-zh/comet/reference/auto-transition.md +3 -3
- package/assets/skills-zh/comet/reference/comet-yaml-fields.md +8 -4
- package/assets/skills-zh/comet/reference/context-recovery.md +11 -1
- package/assets/skills-zh/comet/reference/debug-gate.md +17 -1
- package/assets/skills-zh/comet/reference/decision-point.md +13 -2
- package/assets/skills-zh/comet/reference/intent-frame.md +74 -0
- package/assets/skills-zh/comet/reference/scripts.md +69 -0
- package/assets/skills-zh/comet/reference/subagent-dispatch.md +67 -18
- package/assets/skills-zh/comet/runtime/classic/checks.yaml +6 -0
- package/assets/skills-zh/comet/runtime/classic/guardrails.yaml +13 -0
- package/assets/skills-zh/comet/runtime/classic/skill.yaml +122 -0
- package/assets/skills-zh/comet-any/SKILL.md +118 -0
- package/assets/skills-zh/comet-any/reference/authored-zone-example.md +100 -0
- package/assets/skills-zh/comet-any/reference/authoring-protocol.json +91 -0
- package/assets/skills-zh/comet-any/reference/authoring-subagents.md +107 -0
- package/assets/skills-zh/comet-any/reference/bundle-authoring.md +166 -0
- package/assets/skills-zh/comet-any/reference/eval-provider.md +66 -0
- package/assets/skills-zh/comet-any/reference/subagents/pause-points-author.md +79 -0
- package/assets/skills-zh/comet-any/reference/subagents/reference-author.md +81 -0
- package/assets/skills-zh/comet-any/reference/subagents/script-author.md +84 -0
- package/assets/skills-zh/comet-any/reference/subagents/skill-core-author.md +129 -0
- package/assets/skills-zh/comet-any/reference/subagents/skill-reviewer.md +124 -0
- package/assets/skills-zh/comet-any/reference/subagents/workflow-entry-author.md +98 -0
- package/assets/skills-zh/comet-archive/SKILL.md +25 -15
- package/assets/skills-zh/comet-build/SKILL.md +41 -43
- package/assets/skills-zh/comet-design/SKILL.md +14 -18
- package/assets/skills-zh/comet-hotfix/SKILL.md +37 -47
- package/assets/skills-zh/comet-open/SKILL.md +12 -22
- package/assets/skills-zh/comet-tweak/SKILL.md +70 -63
- package/assets/skills-zh/comet-verify/SKILL.md +28 -30
- package/bin/comet.js +1 -1
- package/dist/{cli → app/cli}/index.d.ts.map +1 -1
- package/dist/app/cli/index.js +430 -0
- package/dist/app/cli/index.js.map +1 -0
- package/dist/app/commands/bundle.d.ts +51 -0
- package/dist/app/commands/bundle.d.ts.map +1 -0
- package/dist/app/commands/bundle.js +387 -0
- package/dist/app/commands/bundle.js.map +1 -0
- package/dist/app/commands/creator.d.ts +14 -0
- package/dist/app/commands/creator.d.ts.map +1 -0
- package/dist/app/commands/creator.js +82 -0
- package/dist/app/commands/creator.js.map +1 -0
- package/dist/app/commands/dashboard.d.ts +16 -0
- package/dist/app/commands/dashboard.d.ts.map +1 -0
- package/dist/app/commands/dashboard.js +53 -0
- package/dist/app/commands/dashboard.js.map +1 -0
- package/dist/{commands → app/commands}/doctor.d.ts +1 -1
- package/dist/app/commands/doctor.d.ts.map +1 -0
- package/dist/{commands → app/commands}/doctor.js +110 -60
- package/dist/app/commands/doctor.js.map +1 -0
- package/dist/app/commands/eval.d.ts +17 -0
- package/dist/app/commands/eval.d.ts.map +1 -0
- package/dist/app/commands/eval.js +169 -0
- package/dist/app/commands/eval.js.map +1 -0
- package/dist/app/commands/i18n.d.ts +4 -0
- package/dist/app/commands/i18n.d.ts.map +1 -0
- package/dist/{commands → app/commands}/i18n.js +22 -2
- package/dist/app/commands/i18n.js.map +1 -0
- package/dist/{commands → app/commands}/init.d.ts +3 -1
- package/dist/app/commands/init.d.ts.map +1 -0
- package/dist/{commands → app/commands}/init.js +81 -31
- package/dist/app/commands/init.js.map +1 -0
- package/dist/app/commands/platform-select-prompt.d.ts +38 -0
- package/dist/app/commands/platform-select-prompt.d.ts.map +1 -0
- package/dist/app/commands/platform-select-prompt.js +141 -0
- package/dist/app/commands/platform-select-prompt.js.map +1 -0
- package/dist/app/commands/publish.d.ts +7 -0
- package/dist/app/commands/publish.d.ts.map +1 -0
- package/dist/app/commands/publish.js +14 -0
- package/dist/app/commands/publish.js.map +1 -0
- package/dist/app/commands/skill.d.ts +23 -0
- package/dist/app/commands/skill.d.ts.map +1 -0
- package/dist/app/commands/skill.js +208 -0
- package/dist/app/commands/skill.js.map +1 -0
- package/dist/app/commands/status.d.ts.map +1 -0
- package/dist/app/commands/status.js +159 -0
- package/dist/app/commands/status.js.map +1 -0
- package/dist/{commands → app/commands}/uninstall.d.ts +1 -1
- package/dist/app/commands/uninstall.d.ts.map +1 -0
- package/dist/{commands → app/commands}/uninstall.js +3 -3
- package/dist/app/commands/uninstall.js.map +1 -0
- package/dist/{commands → app/commands}/update.d.ts +4 -3
- package/dist/app/commands/update.d.ts.map +1 -0
- package/dist/{commands → app/commands}/update.js +33 -10
- package/dist/app/commands/update.js.map +1 -0
- package/dist/config/repository-layout.json +98 -0
- package/dist/domains/bundle/authoring.d.ts +82 -0
- package/dist/domains/bundle/authoring.d.ts.map +1 -0
- package/dist/domains/bundle/authoring.js +185 -0
- package/dist/domains/bundle/authoring.js.map +1 -0
- package/dist/domains/bundle/bundle-platform.d.ts +39 -0
- package/dist/domains/bundle/bundle-platform.d.ts.map +1 -0
- package/dist/domains/bundle/bundle-platform.js +287 -0
- package/dist/domains/bundle/bundle-platform.js.map +1 -0
- package/dist/domains/bundle/candidates.d.ts +29 -0
- package/dist/domains/bundle/candidates.d.ts.map +1 -0
- package/dist/domains/bundle/candidates.js +37 -0
- package/dist/domains/bundle/candidates.js.map +1 -0
- package/dist/domains/bundle/compatibility-benchmark.d.ts +12 -0
- package/dist/domains/bundle/compatibility-benchmark.d.ts.map +1 -0
- package/dist/domains/bundle/compatibility-benchmark.js +224 -0
- package/dist/domains/bundle/compatibility-benchmark.js.map +1 -0
- package/dist/domains/bundle/compiler.d.ts +5 -0
- package/dist/domains/bundle/compiler.d.ts.map +1 -0
- package/dist/domains/bundle/compiler.js +106 -0
- package/dist/domains/bundle/compiler.js.map +1 -0
- package/dist/domains/bundle/distribute.d.ts +33 -0
- package/dist/domains/bundle/distribute.d.ts.map +1 -0
- package/dist/domains/bundle/distribute.js +166 -0
- package/dist/domains/bundle/distribute.js.map +1 -0
- package/dist/domains/bundle/draft.d.ts +19 -0
- package/dist/domains/bundle/draft.d.ts.map +1 -0
- package/dist/domains/bundle/draft.js +82 -0
- package/dist/domains/bundle/draft.js.map +1 -0
- package/dist/domains/bundle/eval.d.ts +36 -0
- package/dist/domains/bundle/eval.d.ts.map +1 -0
- package/dist/domains/bundle/eval.js +501 -0
- package/dist/domains/bundle/eval.js.map +1 -0
- package/dist/domains/bundle/factory-compose.d.ts +12 -0
- package/dist/domains/bundle/factory-compose.d.ts.map +1 -0
- package/dist/domains/bundle/factory-compose.js +309 -0
- package/dist/domains/bundle/factory-compose.js.map +1 -0
- package/dist/domains/bundle/factory-guide.d.ts +37 -0
- package/dist/domains/bundle/factory-guide.d.ts.map +1 -0
- package/dist/domains/bundle/factory-guide.js +96 -0
- package/dist/domains/bundle/factory-guide.js.map +1 -0
- package/dist/domains/bundle/factory-plan.d.ts +48 -0
- package/dist/domains/bundle/factory-plan.d.ts.map +1 -0
- package/dist/domains/bundle/factory-plan.js +172 -0
- package/dist/domains/bundle/factory-plan.js.map +1 -0
- package/dist/domains/bundle/factory-proposal.d.ts +31 -0
- package/dist/domains/bundle/factory-proposal.d.ts.map +1 -0
- package/dist/domains/bundle/factory-proposal.js +225 -0
- package/dist/domains/bundle/factory-proposal.js.map +1 -0
- package/dist/domains/bundle/factory-resolve.d.ts +11 -0
- package/dist/domains/bundle/factory-resolve.d.ts.map +1 -0
- package/dist/domains/bundle/factory-resolve.js +121 -0
- package/dist/domains/bundle/factory-resolve.js.map +1 -0
- package/dist/domains/bundle/factory.d.ts +17 -0
- package/dist/domains/bundle/factory.d.ts.map +1 -0
- package/dist/domains/bundle/factory.js +511 -0
- package/dist/domains/bundle/factory.js.map +1 -0
- package/dist/domains/bundle/hash.d.ts +3 -0
- package/dist/domains/bundle/hash.d.ts.map +1 -0
- package/dist/domains/bundle/hash.js +72 -0
- package/dist/domains/bundle/hash.js.map +1 -0
- package/dist/domains/bundle/load.d.ts +4 -0
- package/dist/domains/bundle/load.d.ts.map +1 -0
- package/dist/domains/bundle/load.js +355 -0
- package/dist/domains/bundle/load.js.map +1 -0
- package/dist/domains/bundle/next-action.d.ts +37 -0
- package/dist/domains/bundle/next-action.d.ts.map +1 -0
- package/dist/domains/bundle/next-action.js +185 -0
- package/dist/domains/bundle/next-action.js.map +1 -0
- package/dist/domains/bundle/platform.d.ts +21 -0
- package/dist/domains/bundle/platform.d.ts.map +1 -0
- package/dist/domains/bundle/platform.js +170 -0
- package/dist/domains/bundle/platform.js.map +1 -0
- package/dist/domains/bundle/preferences.d.ts +11 -0
- package/dist/domains/bundle/preferences.d.ts.map +1 -0
- package/dist/domains/bundle/preferences.js +17 -0
- package/dist/domains/bundle/preferences.js.map +1 -0
- package/dist/domains/bundle/publish.d.ts +14 -0
- package/dist/domains/bundle/publish.d.ts.map +1 -0
- package/dist/domains/bundle/publish.js +159 -0
- package/dist/domains/bundle/publish.js.map +1 -0
- package/dist/domains/bundle/readiness-user-summary.d.ts +25 -0
- package/dist/domains/bundle/readiness-user-summary.d.ts.map +1 -0
- package/dist/domains/bundle/readiness-user-summary.js +186 -0
- package/dist/domains/bundle/readiness-user-summary.js.map +1 -0
- package/dist/domains/bundle/review-summary.d.ts +36 -0
- package/dist/domains/bundle/review-summary.d.ts.map +1 -0
- package/dist/domains/bundle/review-summary.js +348 -0
- package/dist/domains/bundle/review-summary.js.map +1 -0
- package/dist/domains/bundle/state.d.ts +7 -0
- package/dist/domains/bundle/state.d.ts.map +1 -0
- package/dist/domains/bundle/state.js +132 -0
- package/dist/domains/bundle/state.js.map +1 -0
- package/dist/domains/bundle/types.d.ts +347 -0
- package/dist/domains/bundle/types.d.ts.map +1 -0
- package/dist/domains/bundle/types.js.map +1 -0
- package/dist/domains/bundle/user-facing.d.ts +48 -0
- package/dist/domains/bundle/user-facing.d.ts.map +1 -0
- package/dist/domains/bundle/user-facing.js +73 -0
- package/dist/domains/bundle/user-facing.js.map +1 -0
- package/dist/domains/bundle/validate.d.ts +5 -0
- package/dist/domains/bundle/validate.d.ts.map +1 -0
- package/dist/domains/bundle/validate.js +292 -0
- package/dist/domains/bundle/validate.js.map +1 -0
- package/dist/domains/comet-classic/classic-archive-entry.d.ts +2 -0
- package/dist/domains/comet-classic/classic-archive-entry.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-archive-entry.js +4 -0
- package/dist/domains/comet-classic/classic-archive-entry.js.map +1 -0
- package/dist/domains/comet-classic/classic-archive.d.ts +3 -0
- package/dist/domains/comet-classic/classic-archive.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-archive.js +392 -0
- package/dist/domains/comet-classic/classic-archive.js.map +1 -0
- package/dist/domains/comet-classic/classic-cli.d.ts +15 -0
- package/dist/domains/comet-classic/classic-cli.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-cli.js +94 -0
- package/dist/domains/comet-classic/classic-cli.js.map +1 -0
- package/dist/domains/comet-classic/classic-diagnostics.d.ts +16 -0
- package/dist/domains/comet-classic/classic-diagnostics.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-diagnostics.js +57 -0
- package/dist/domains/comet-classic/classic-diagnostics.js.map +1 -0
- package/dist/domains/comet-classic/classic-evidence.d.ts +10 -0
- package/dist/domains/comet-classic/classic-evidence.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-evidence.js +114 -0
- package/dist/domains/comet-classic/classic-evidence.js.map +1 -0
- package/dist/domains/comet-classic/classic-guard-entry.d.ts +2 -0
- package/dist/domains/comet-classic/classic-guard-entry.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-guard-entry.js +4 -0
- package/dist/domains/comet-classic/classic-guard-entry.js.map +1 -0
- package/dist/domains/comet-classic/classic-guard.d.ts +3 -0
- package/dist/domains/comet-classic/classic-guard.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-guard.js +833 -0
- package/dist/domains/comet-classic/classic-guard.js.map +1 -0
- package/dist/domains/comet-classic/classic-handoff-entry.d.ts +2 -0
- package/dist/domains/comet-classic/classic-handoff-entry.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-handoff-entry.js +4 -0
- package/dist/domains/comet-classic/classic-handoff-entry.js.map +1 -0
- package/dist/domains/comet-classic/classic-handoff.d.ts +3 -0
- package/dist/domains/comet-classic/classic-handoff.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-handoff.js +478 -0
- package/dist/domains/comet-classic/classic-handoff.js.map +1 -0
- package/dist/domains/comet-classic/classic-hook-guard-entry.d.ts +2 -0
- package/dist/domains/comet-classic/classic-hook-guard-entry.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-hook-guard-entry.js +4 -0
- package/dist/domains/comet-classic/classic-hook-guard-entry.js.map +1 -0
- package/dist/domains/comet-classic/classic-hook-guard.d.ts +3 -0
- package/dist/domains/comet-classic/classic-hook-guard.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-hook-guard.js +302 -0
- package/dist/domains/comet-classic/classic-hook-guard.js.map +1 -0
- package/dist/domains/comet-classic/classic-intent-command.d.ts +3 -0
- package/dist/domains/comet-classic/classic-intent-command.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-intent-command.js +40 -0
- package/dist/domains/comet-classic/classic-intent-command.js.map +1 -0
- package/dist/domains/comet-classic/classic-intent-entry.d.ts +2 -0
- package/dist/domains/comet-classic/classic-intent-entry.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-intent-entry.js +4 -0
- package/dist/domains/comet-classic/classic-intent-entry.js.map +1 -0
- package/dist/domains/comet-classic/classic-intent.d.ts +79 -0
- package/dist/domains/comet-classic/classic-intent.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-intent.js +307 -0
- package/dist/domains/comet-classic/classic-intent.js.map +1 -0
- package/dist/domains/comet-classic/classic-migrate.d.ts +18 -0
- package/dist/domains/comet-classic/classic-migrate.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-migrate.js +184 -0
- package/dist/domains/comet-classic/classic-migrate.js.map +1 -0
- package/dist/domains/comet-classic/classic-paths.d.ts +8 -0
- package/dist/domains/comet-classic/classic-paths.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-paths.js +61 -0
- package/dist/domains/comet-classic/classic-paths.js.map +1 -0
- package/dist/domains/comet-classic/classic-resolver.d.ts +10 -0
- package/dist/domains/comet-classic/classic-resolver.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-resolver.js +89 -0
- package/dist/domains/comet-classic/classic-resolver.js.map +1 -0
- package/dist/domains/comet-classic/classic-runtime-evals.d.ts +9 -0
- package/dist/domains/comet-classic/classic-runtime-evals.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-runtime-evals.js +45 -0
- package/dist/domains/comet-classic/classic-runtime-evals.js.map +1 -0
- package/dist/domains/comet-classic/classic-runtime-run.d.ts +7 -0
- package/dist/domains/comet-classic/classic-runtime-run.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-runtime-run.js +105 -0
- package/dist/domains/comet-classic/classic-runtime-run.js.map +1 -0
- package/dist/domains/comet-classic/classic-script-entry.d.ts +3 -0
- package/dist/domains/comet-classic/classic-script-entry.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-script-entry.js +31 -0
- package/dist/domains/comet-classic/classic-script-entry.js.map +1 -0
- package/dist/domains/comet-classic/classic-state-command.d.ts +3 -0
- package/dist/domains/comet-classic/classic-state-command.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-state-command.js +984 -0
- package/dist/domains/comet-classic/classic-state-command.js.map +1 -0
- package/dist/domains/comet-classic/classic-state-entry.d.ts +2 -0
- package/dist/domains/comet-classic/classic-state-entry.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-state-entry.js +4 -0
- package/dist/domains/comet-classic/classic-state-entry.js.map +1 -0
- package/dist/domains/comet-classic/classic-state-events.d.ts +18 -0
- package/dist/domains/comet-classic/classic-state-events.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-state-events.js +15 -0
- package/dist/domains/comet-classic/classic-state-events.js.map +1 -0
- package/dist/domains/comet-classic/classic-state.d.ts +69 -0
- package/dist/domains/comet-classic/classic-state.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-state.js +238 -0
- package/dist/domains/comet-classic/classic-state.js.map +1 -0
- package/dist/domains/comet-classic/classic-store.d.ts +7 -0
- package/dist/domains/comet-classic/classic-store.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-store.js +127 -0
- package/dist/domains/comet-classic/classic-store.js.map +1 -0
- package/dist/domains/comet-classic/classic-transitions.d.ts +24 -0
- package/dist/domains/comet-classic/classic-transitions.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-transitions.js +124 -0
- package/dist/domains/comet-classic/classic-transitions.js.map +1 -0
- package/dist/domains/comet-classic/classic-validate-command.d.ts +3 -0
- package/dist/domains/comet-classic/classic-validate-command.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-validate-command.js +154 -0
- package/dist/domains/comet-classic/classic-validate-command.js.map +1 -0
- package/dist/domains/comet-classic/classic-validate-entry.d.ts +2 -0
- package/dist/domains/comet-classic/classic-validate-entry.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-validate-entry.js +4 -0
- package/dist/domains/comet-classic/classic-validate-entry.js.map +1 -0
- package/dist/domains/comet-classic/index.d.ts +20 -0
- package/dist/domains/comet-classic/index.d.ts.map +1 -0
- package/dist/domains/comet-classic/index.js +20 -0
- package/dist/domains/comet-classic/index.js.map +1 -0
- package/dist/domains/dashboard/collector.d.ts +12 -0
- package/dist/domains/dashboard/collector.d.ts.map +1 -0
- package/dist/domains/dashboard/collector.js +475 -0
- package/dist/domains/dashboard/collector.js.map +1 -0
- package/dist/domains/dashboard/git.d.ts +8 -0
- package/dist/domains/dashboard/git.d.ts.map +1 -0
- package/dist/domains/dashboard/git.js +69 -0
- package/dist/domains/dashboard/git.js.map +1 -0
- package/dist/domains/dashboard/next-action.d.ts +17 -0
- package/dist/domains/dashboard/next-action.d.ts.map +1 -0
- package/dist/domains/dashboard/next-action.js +83 -0
- package/dist/domains/dashboard/next-action.js.map +1 -0
- package/dist/domains/dashboard/open-browser.d.ts +9 -0
- package/dist/domains/dashboard/open-browser.d.ts.map +1 -0
- package/dist/domains/dashboard/open-browser.js +40 -0
- package/dist/domains/dashboard/open-browser.js.map +1 -0
- package/dist/domains/dashboard/risk.d.ts +24 -0
- package/dist/domains/dashboard/risk.d.ts.map +1 -0
- package/dist/domains/dashboard/risk.js +97 -0
- package/dist/domains/dashboard/risk.js.map +1 -0
- package/dist/domains/dashboard/server.d.ts +21 -0
- package/dist/domains/dashboard/server.d.ts.map +1 -0
- package/dist/domains/dashboard/server.js +149 -0
- package/dist/domains/dashboard/server.js.map +1 -0
- package/dist/domains/dashboard/task-parser.d.ts +13 -0
- package/dist/domains/dashboard/task-parser.d.ts.map +1 -0
- package/dist/domains/dashboard/task-parser.js +82 -0
- package/dist/domains/dashboard/task-parser.js.map +1 -0
- package/dist/domains/dashboard/types.d.ts +122 -0
- package/dist/domains/dashboard/types.d.ts.map +1 -0
- package/dist/domains/dashboard/types.js +10 -0
- package/dist/domains/dashboard/types.js.map +1 -0
- package/dist/domains/dashboard/verify-parser.d.ts +18 -0
- package/dist/domains/dashboard/verify-parser.d.ts.map +1 -0
- package/dist/domains/dashboard/verify-parser.js +94 -0
- package/dist/domains/dashboard/verify-parser.js.map +1 -0
- package/dist/domains/dashboard/web/assets/demo-DQyfozbi.js +1 -0
- package/dist/domains/dashboard/web/assets/index-BcO3_QlT.css +1 -0
- package/dist/domains/dashboard/web/assets/index-CjU3VXVu.js +22 -0
- package/dist/domains/dashboard/web/favicon.png +0 -0
- package/dist/domains/dashboard/web/index.html +16 -0
- package/dist/domains/dashboard/yaml.d.ts +13 -0
- package/dist/domains/dashboard/yaml.d.ts.map +1 -0
- package/dist/domains/dashboard/yaml.js +61 -0
- package/dist/domains/dashboard/yaml.js.map +1 -0
- package/dist/domains/engine/evals.d.ts +4 -0
- package/dist/domains/engine/evals.d.ts.map +1 -0
- package/dist/domains/engine/evals.js +25 -0
- package/dist/domains/engine/evals.js.map +1 -0
- package/dist/domains/engine/guardrails.d.ts +10 -0
- package/dist/domains/engine/guardrails.d.ts.map +1 -0
- package/dist/domains/engine/guardrails.js +25 -0
- package/dist/domains/engine/guardrails.js.map +1 -0
- package/dist/domains/engine/loop.d.ts +15 -0
- package/dist/domains/engine/loop.d.ts.map +1 -0
- package/dist/domains/engine/loop.js +126 -0
- package/dist/domains/engine/loop.js.map +1 -0
- package/dist/domains/engine/manual-run.d.ts +30 -0
- package/dist/domains/engine/manual-run.d.ts.map +1 -0
- package/dist/domains/engine/manual-run.js +184 -0
- package/dist/domains/engine/manual-run.js.map +1 -0
- package/dist/domains/engine/resolver.d.ts +20 -0
- package/dist/domains/engine/resolver.d.ts.map +1 -0
- package/dist/domains/engine/resolver.js +36 -0
- package/dist/domains/engine/resolver.js.map +1 -0
- package/dist/domains/engine/run-store.d.ts +13 -0
- package/dist/domains/engine/run-store.d.ts.map +1 -0
- package/dist/domains/engine/run-store.js +100 -0
- package/dist/domains/engine/run-store.js.map +1 -0
- package/dist/domains/engine/runtime-types.d.ts +11 -0
- package/dist/domains/engine/runtime-types.d.ts.map +1 -0
- package/dist/domains/engine/runtime-types.js +2 -0
- package/dist/domains/engine/runtime-types.js.map +1 -0
- package/dist/domains/engine/standalone-run.d.ts +13 -0
- package/dist/domains/engine/standalone-run.d.ts.map +1 -0
- package/dist/domains/engine/standalone-run.js +27 -0
- package/dist/domains/engine/standalone-run.js.map +1 -0
- package/dist/domains/engine/state.d.ts +10 -0
- package/dist/domains/engine/state.d.ts.map +1 -0
- package/dist/domains/engine/state.js +160 -0
- package/dist/domains/engine/state.js.map +1 -0
- package/dist/domains/engine/types.d.ts +51 -0
- package/dist/domains/engine/types.d.ts.map +1 -0
- package/dist/domains/engine/types.js +2 -0
- package/dist/domains/engine/types.js.map +1 -0
- package/dist/domains/eval/index.d.ts +7 -0
- package/dist/domains/eval/index.d.ts.map +1 -0
- package/dist/domains/eval/index.js +11 -0
- package/dist/domains/eval/index.js.map +1 -0
- package/dist/domains/eval/repository-benchmarks.d.ts +6 -0
- package/dist/domains/eval/repository-benchmarks.d.ts.map +1 -0
- package/dist/domains/eval/repository-benchmarks.js +10 -0
- package/dist/domains/eval/repository-benchmarks.js.map +1 -0
- package/dist/domains/factory/artifacts.d.ts +53 -0
- package/dist/domains/factory/artifacts.d.ts.map +1 -0
- package/dist/domains/factory/artifacts.js +8 -0
- package/dist/domains/factory/artifacts.js.map +1 -0
- package/dist/domains/factory/package.d.ts +7 -0
- package/dist/domains/factory/package.d.ts.map +1 -0
- package/dist/domains/factory/package.js +1511 -0
- package/dist/domains/factory/package.js.map +1 -0
- package/dist/domains/factory/types.d.ts +127 -0
- package/dist/domains/factory/types.d.ts.map +1 -0
- package/dist/domains/factory/types.js +2 -0
- package/dist/domains/factory/types.js.map +1 -0
- package/dist/{core → domains/integrations}/codegraph.d.ts +1 -1
- package/dist/domains/integrations/codegraph.d.ts.map +1 -0
- package/dist/{core → domains/integrations}/codegraph.js +1 -1
- package/dist/domains/integrations/codegraph.js.map +1 -0
- package/dist/domains/integrations/openspec.d.ts +18 -0
- package/dist/domains/integrations/openspec.d.ts.map +1 -0
- package/dist/{core → domains/integrations}/openspec.js +102 -25
- package/dist/domains/integrations/openspec.js.map +1 -0
- package/dist/{core → domains/integrations}/superpowers.d.ts +10 -2
- package/dist/domains/integrations/superpowers.d.ts.map +1 -0
- package/dist/{core → domains/integrations}/superpowers.js +59 -13
- package/dist/domains/integrations/superpowers.js.map +1 -0
- package/dist/domains/skill/discovery.d.ts +17 -0
- package/dist/domains/skill/discovery.d.ts.map +1 -0
- package/dist/domains/skill/discovery.js +80 -0
- package/dist/domains/skill/discovery.js.map +1 -0
- package/dist/domains/skill/find.d.ts +41 -0
- package/dist/domains/skill/find.d.ts.map +1 -0
- package/dist/domains/skill/find.js +251 -0
- package/dist/domains/skill/find.js.map +1 -0
- package/dist/domains/skill/install.d.ts +11 -0
- package/dist/domains/skill/install.d.ts.map +1 -0
- package/dist/domains/skill/install.js +82 -0
- package/dist/domains/skill/install.js.map +1 -0
- package/dist/domains/skill/inventory.d.ts +19 -0
- package/dist/domains/skill/inventory.d.ts.map +1 -0
- package/dist/domains/skill/inventory.js +64 -0
- package/dist/domains/skill/inventory.js.map +1 -0
- package/dist/domains/skill/languages.d.ts +19 -0
- package/dist/domains/skill/languages.d.ts.map +1 -0
- package/dist/domains/skill/languages.js +21 -0
- package/dist/domains/skill/languages.js.map +1 -0
- package/dist/domains/skill/load.d.ts +5 -0
- package/dist/domains/skill/load.d.ts.map +1 -0
- package/dist/domains/skill/load.js +313 -0
- package/dist/domains/skill/load.js.map +1 -0
- package/dist/domains/skill/platform-install.d.ts +87 -0
- package/dist/domains/skill/platform-install.d.ts.map +1 -0
- package/dist/{core/skills.js → domains/skill/platform-install.js} +243 -51
- package/dist/domains/skill/platform-install.js.map +1 -0
- package/dist/domains/skill/preferences.d.ts +42 -0
- package/dist/domains/skill/preferences.d.ts.map +1 -0
- package/dist/domains/skill/preferences.js +118 -0
- package/dist/domains/skill/preferences.js.map +1 -0
- package/dist/domains/skill/snapshot.d.ts +8 -0
- package/dist/domains/skill/snapshot.d.ts.map +1 -0
- package/dist/domains/skill/snapshot.js +184 -0
- package/dist/domains/skill/snapshot.js.map +1 -0
- package/dist/domains/skill/types.d.ts +85 -0
- package/dist/domains/skill/types.d.ts.map +1 -0
- package/dist/domains/skill/types.js +2 -0
- package/dist/{core → domains/skill}/types.js.map +1 -1
- package/dist/{core → domains/skill}/uninstall.d.ts +2 -18
- package/dist/domains/skill/uninstall.d.ts.map +1 -0
- package/dist/{core → domains/skill}/uninstall.js +15 -66
- package/dist/domains/skill/uninstall.js.map +1 -0
- package/dist/domains/skill/validate.d.ts +3 -0
- package/dist/domains/skill/validate.d.ts.map +1 -0
- package/dist/domains/skill/validate.js +81 -0
- package/dist/domains/skill/validate.js.map +1 -0
- package/dist/domains/workflow-contract/builtins.d.ts +8 -0
- package/dist/domains/workflow-contract/builtins.d.ts.map +1 -0
- package/dist/domains/workflow-contract/builtins.js +229 -0
- package/dist/domains/workflow-contract/builtins.js.map +1 -0
- package/dist/domains/workflow-contract/hash.d.ts +3 -0
- package/dist/domains/workflow-contract/hash.d.ts.map +1 -0
- package/dist/domains/workflow-contract/hash.js +16 -0
- package/dist/domains/workflow-contract/hash.js.map +1 -0
- package/dist/domains/workflow-contract/index.d.ts +6 -0
- package/dist/domains/workflow-contract/index.d.ts.map +1 -0
- package/dist/domains/workflow-contract/index.js +5 -0
- package/dist/domains/workflow-contract/index.js.map +1 -0
- package/dist/domains/workflow-contract/normalize.d.ts +3 -0
- package/dist/domains/workflow-contract/normalize.d.ts.map +1 -0
- package/dist/domains/workflow-contract/normalize.js +146 -0
- package/dist/domains/workflow-contract/normalize.js.map +1 -0
- package/dist/domains/workflow-contract/types.d.ts +128 -0
- package/dist/domains/workflow-contract/types.d.ts.map +1 -0
- package/dist/domains/workflow-contract/types.js +2 -0
- package/dist/domains/workflow-contract/types.js.map +1 -0
- package/dist/domains/workflow-contract/validation.d.ts +3 -0
- package/dist/domains/workflow-contract/validation.d.ts.map +1 -0
- package/dist/domains/workflow-contract/validation.js +180 -0
- package/dist/domains/workflow-contract/validation.js.map +1 -0
- package/dist/platform/fs/file-system.d.ts.map +1 -0
- package/dist/platform/fs/file-system.js.map +1 -0
- package/dist/platform/install/detect.d.ts.map +1 -0
- package/dist/{core → platform/install}/detect.js +4 -3
- package/dist/platform/install/detect.js.map +1 -0
- package/dist/platform/install/platforms.d.ts.map +1 -0
- package/dist/{core → platform/install}/platforms.js +41 -0
- package/dist/platform/install/platforms.js.map +1 -0
- package/dist/platform/install/types.d.ts +3 -0
- package/dist/platform/install/types.d.ts.map +1 -0
- package/dist/platform/install/types.js +2 -0
- package/dist/platform/install/types.js.map +1 -0
- package/dist/platform/paths/repository-layout.d.ts +22 -0
- package/dist/platform/paths/repository-layout.d.ts.map +1 -0
- package/dist/platform/paths/repository-layout.js +11 -0
- package/dist/platform/paths/repository-layout.js.map +1 -0
- package/dist/platform/process/command-error.d.ts.map +1 -0
- package/dist/platform/process/command-error.js.map +1 -0
- package/dist/platform/process/shell-quote.d.ts +22 -0
- package/dist/platform/process/shell-quote.d.ts.map +1 -0
- package/dist/platform/process/shell-quote.js +34 -0
- package/dist/platform/process/shell-quote.js.map +1 -0
- package/dist/platform/version/version.d.ts.map +1 -0
- package/dist/{core → platform/version}/version.js +16 -3
- package/dist/platform/version/version.js.map +1 -0
- package/package.json +39 -13
- package/assets/skills/comet/scripts/comet-archive.sh +0 -311
- package/assets/skills/comet/scripts/comet-env.sh +0 -110
- package/assets/skills/comet/scripts/comet-guard.sh +0 -778
- package/assets/skills/comet/scripts/comet-handoff.sh +0 -390
- package/assets/skills/comet/scripts/comet-hook-guard.sh +0 -336
- package/assets/skills/comet/scripts/comet-state.sh +0 -1338
- package/assets/skills/comet/scripts/comet-yaml-validate.sh +0 -225
- package/dist/cli/index.js +0 -84
- package/dist/cli/index.js.map +0 -1
- package/dist/commands/doctor.d.ts.map +0 -1
- package/dist/commands/doctor.js.map +0 -1
- package/dist/commands/i18n.d.ts +0 -4
- package/dist/commands/i18n.d.ts.map +0 -1
- package/dist/commands/i18n.js.map +0 -1
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/status.d.ts.map +0 -1
- package/dist/commands/status.js +0 -108
- package/dist/commands/status.js.map +0 -1
- package/dist/commands/uninstall.d.ts.map +0 -1
- package/dist/commands/uninstall.js.map +0 -1
- package/dist/commands/update.d.ts.map +0 -1
- package/dist/commands/update.js.map +0 -1
- package/dist/core/codegraph.d.ts.map +0 -1
- package/dist/core/codegraph.js.map +0 -1
- package/dist/core/command-error.d.ts.map +0 -1
- package/dist/core/command-error.js.map +0 -1
- package/dist/core/detect.d.ts.map +0 -1
- package/dist/core/detect.js.map +0 -1
- package/dist/core/openspec.d.ts +0 -11
- package/dist/core/openspec.d.ts.map +0 -1
- package/dist/core/openspec.js.map +0 -1
- package/dist/core/platforms.d.ts.map +0 -1
- package/dist/core/platforms.js.map +0 -1
- package/dist/core/skills.d.ts +0 -58
- package/dist/core/skills.d.ts.map +0 -1
- package/dist/core/skills.js.map +0 -1
- package/dist/core/superpowers.d.ts.map +0 -1
- package/dist/core/superpowers.js.map +0 -1
- package/dist/core/types.d.ts +0 -2
- package/dist/core/types.d.ts.map +0 -1
- package/dist/core/uninstall.d.ts.map +0 -1
- package/dist/core/uninstall.js.map +0 -1
- package/dist/core/version.d.ts.map +0 -1
- package/dist/core/version.js.map +0 -1
- package/dist/utils/file-system.d.ts.map +0 -1
- package/dist/utils/file-system.js.map +0 -1
- /package/dist/{cli → app/cli}/index.d.ts +0 -0
- /package/dist/{commands → app/commands}/status.d.ts +0 -0
- /package/dist/{core → domains/bundle}/types.js +0 -0
- /package/dist/{utils → platform/fs}/file-system.d.ts +0 -0
- /package/dist/{utils → platform/fs}/file-system.js +0 -0
- /package/dist/{core → platform/install}/detect.d.ts +0 -0
- /package/dist/{core → platform/install}/platforms.d.ts +0 -0
- /package/dist/{core → platform/process}/command-error.d.ts +0 -0
- /package/dist/{core → platform/process}/command-error.js +0 -0
- /package/dist/{core → platform/version}/version.d.ts +0 -0
- /package/scripts/{postinstall.js → install/postinstall.js} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: comet-build
|
|
3
|
-
description: "Comet
|
|
3
|
+
description: "Use when full Comet change 已完成 design 阶段,需要创建/恢复实施计划、选择执行方式或继续 build 阶段任务。"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Comet 阶段 3:计划与构建(Build)
|
|
@@ -14,16 +14,10 @@ description: "Comet 阶段 3:计划与构建。用 /comet-build 调用。制
|
|
|
14
14
|
|
|
15
15
|
### 0. 入口状态验证(Entry Check)
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
按 `comet/reference/scripts.md` 定位脚本(定位 `comet-env.mjs`),然后执行入口验证;从任意入口恢复时先按 `comet/reference/context-recovery.md` 运行恢复检查:
|
|
18
18
|
|
|
19
19
|
```bash
|
|
20
|
-
|
|
21
|
-
if [ -z "$COMET_ENV" ]; then
|
|
22
|
-
echo "ERROR: comet-env.sh not found. Ensure the comet skill is installed." >&2
|
|
23
|
-
return 1
|
|
24
|
-
fi
|
|
25
|
-
. "$COMET_ENV"
|
|
26
|
-
"$COMET_BASH" "$COMET_STATE" check <name> build
|
|
20
|
+
node "$COMET_STATE" check <name> build
|
|
27
21
|
```
|
|
28
22
|
|
|
29
23
|
验证通过后继续 Step 1。验证失败时脚本会输出具体失败原因。
|
|
@@ -32,13 +26,13 @@ fi
|
|
|
32
26
|
|
|
33
27
|
### 1. 制定计划(Subagent Offload)
|
|
34
28
|
|
|
35
|
-
通过 subagent 创建实施计划,避免 planning skill 占用主 session
|
|
29
|
+
通过 subagent 创建实施计划,避免 planning skill 占用主 session 上下文。计划文件和执行反馈必须使用 `"$COMET_BASH" "$COMET_STATE" get <name> language` 读取到的 Comet 配置产物语言。
|
|
36
30
|
|
|
37
31
|
**Subagent 指令**:
|
|
38
32
|
|
|
39
33
|
你是实施计划专家。基于以下输入创建实施计划:
|
|
40
34
|
|
|
41
|
-
1. **立即执行:** 使用 Skill 工具加载 Superpowers `writing-plans` 技能。禁止跳过此步骤。技能加载后,ARGUMENTS 必须包含:`Language:
|
|
35
|
+
1. **立即执行:** 使用 Skill 工具加载 Superpowers `writing-plans` 技能。禁止跳过此步骤。技能加载后,ARGUMENTS 必须包含:`Language: 使用 "$COMET_BASH" "$COMET_STATE" get <name> language 读取到的 Comet 配置产物语言输出`
|
|
42
36
|
2. 读取 Design Doc(`docs/superpowers/specs/` 下的技术设计文档)
|
|
43
37
|
3. 读取 `openspec/changes/<name>/tasks.md`(任务边界)
|
|
44
38
|
4. 按技能指引创建计划
|
|
@@ -75,7 +69,7 @@ Subagent 完成后:
|
|
|
75
69
|
先记录 plan 路径:
|
|
76
70
|
|
|
77
71
|
```bash
|
|
78
|
-
|
|
72
|
+
node "$COMET_STATE" set <name> plan docs/superpowers/plans/YYYY-MM-DD-feature.md
|
|
79
73
|
```
|
|
80
74
|
|
|
81
75
|
无需手动更新 phase,阶段守卫(guard `--apply`)会在退出条件满足后推进 `phase` 字段。
|
|
@@ -84,7 +78,7 @@ Subagent 完成后:
|
|
|
84
78
|
|
|
85
79
|
| 选项 | 行为 | 说明 |
|
|
86
80
|
|------|------|------|
|
|
87
|
-
| A | 继续执行 | 保持在当前模型中,进入 Step 3
|
|
81
|
+
| A | 继续执行 | 保持在当前模型中,进入 Step 3 选择工作区隔离、执行方式、TDD 模式和代码审查模式 |
|
|
88
82
|
| B | 暂停切换模型 | 记录 `build_pause: plan-ready`,本次 `/comet-build` 停止,用户稍后可从 `/comet` 或 `/comet-build` 恢复 |
|
|
89
83
|
|
|
90
84
|
这是用户决策点。**必须按 `comet/reference/decision-point.md` 的协议暂停并等待用户明确选择**,不得自动继续,也不得把暂停写入 `build_mode`。
|
|
@@ -92,13 +86,13 @@ Subagent 完成后:
|
|
|
92
86
|
用户选择继续时:
|
|
93
87
|
|
|
94
88
|
```bash
|
|
95
|
-
|
|
89
|
+
node "$COMET_STATE" set <name> build_pause null
|
|
96
90
|
```
|
|
97
91
|
|
|
98
92
|
用户选择暂停时:
|
|
99
93
|
|
|
100
94
|
```bash
|
|
101
|
-
|
|
95
|
+
node "$COMET_STATE" set <name> build_pause plan-ready
|
|
102
96
|
```
|
|
103
97
|
|
|
104
98
|
设置 `build_pause: plan-ready` 后,当前调用停止。不要选择 `isolation` 或 `build_mode`,不要加载执行技能。
|
|
@@ -108,10 +102,10 @@ Subagent 完成后:
|
|
|
108
102
|
如果恢复时检测到 `build_pause: plan-ready` 且 `plan` 文件存在,不要重新运行 `writing-plans`。先告知用户当前停在 plan-ready 暂停点;用户确认继续后,设置:
|
|
109
103
|
|
|
110
104
|
```bash
|
|
111
|
-
|
|
105
|
+
node "$COMET_STATE" set <name> build_pause null
|
|
112
106
|
```
|
|
113
107
|
|
|
114
|
-
|
|
108
|
+
然后继续本步骤选择工作区隔离、执行方式、TDD 模式和代码审查模式。
|
|
115
109
|
|
|
116
110
|
计划已写入当前分支。在开始执行前,**一次性询问用户**选择工作区隔离方式、执行方式、TDD 模式和代码审查模式:
|
|
117
111
|
|
|
@@ -130,7 +124,7 @@ Subagent 完成后:
|
|
|
130
124
|
|
|
131
125
|
| 选项 | 技能 | 适用场景 |
|
|
132
126
|
|------|------|---------|
|
|
133
|
-
| A | Superpowers `subagent-driven-development` |
|
|
127
|
+
| A | Superpowers `subagent-driven-development` | 任务独立、复杂度高;每个任务在隔离的 implementer subagent 中执行,审查由 `review_mode` 驱动 |
|
|
134
128
|
| B | Superpowers `executing-plans` | 任务简单、无子agent环境、轻量快速 |
|
|
135
129
|
|
|
136
130
|
**执行方式推荐规则**:
|
|
@@ -143,11 +137,11 @@ Subagent 完成后:
|
|
|
143
137
|
用户选择后,更新 `isolation`、执行方式、TDD 模式和代码审查模式相关字段:
|
|
144
138
|
|
|
145
139
|
```bash
|
|
146
|
-
|
|
140
|
+
node "$COMET_STATE" set <name> isolation <branch|worktree>
|
|
147
141
|
```
|
|
148
142
|
|
|
149
|
-
- 若用户选择 `executing-plans`:运行 `
|
|
150
|
-
- 若用户选择 `subagent-driven-development`:先确认当前平台存在可调用的真实后台 subagent / Task / multi-agent 调度能力;确认后先运行 `
|
|
143
|
+
- 若用户选择 `executing-plans`:运行 `node "$COMET_STATE" set <name> subagent_dispatch null`,再运行 `node "$COMET_STATE" set <name> build_mode executing-plans`
|
|
144
|
+
- 若用户选择 `subagent-driven-development`:先确认当前平台存在可调用的真实后台 subagent / Task / multi-agent 调度能力;确认后先运行 `node "$COMET_STATE" set <name> subagent_dispatch confirmed`,再运行 `node "$COMET_STATE" set <name> build_mode subagent-driven-development`
|
|
151
145
|
- 若无法确认真实后台调度能力,不得写入 `build_mode: subagent-driven-development`;必须暂停等待用户改选 `executing-plans`
|
|
152
146
|
|
|
153
147
|
**TDD 模式**:
|
|
@@ -155,33 +149,33 @@ Subagent 完成后:
|
|
|
155
149
|
| 选项 | 含义 | 适用场景 |
|
|
156
150
|
|------|------|---------|
|
|
157
151
|
| `tdd` | 每个任务先写失败测试再写实现 | 推荐。变更涉及业务逻辑、新功能、API |
|
|
158
|
-
| `direct` | 直接实现,不强制 TDD 流程 | 变更不需要测试覆盖,或用户选择跳过测试直接写代码。hotfix/tweak
|
|
152
|
+
| `direct` | 直接实现,不强制 TDD 流程 | 变更不需要测试覆盖,或用户选择跳过测试直接写代码。hotfix/tweak 预设默认使用 `direct` |
|
|
159
153
|
|
|
160
|
-
运行 `
|
|
154
|
+
运行 `node "$COMET_STATE" set <name> tdd_mode <tdd|direct>`
|
|
161
155
|
|
|
162
156
|
**代码审查模式**:
|
|
163
157
|
|
|
164
158
|
| 选项 | 含义 | 适用场景 |
|
|
165
159
|
|------|------|---------|
|
|
166
160
|
| `off` | 不自动派发代码审查 | 文档、配置、文案、小范围低风险任务 |
|
|
167
|
-
| `standard` |
|
|
168
|
-
| `thorough` |
|
|
161
|
+
| `standard` | 默认不为每任务派发 reviewer,仅当任务命中风险信号时派发每任务 reviewer,外加一次最终轻量代码审查 | 默认推荐,适合大多数普通改动 |
|
|
162
|
+
| `thorough` | 为每个任务派发每任务 reviewer(spec + quality),外加一次最终完整审查 | 高风险、多模块、架构或安全相关改动 |
|
|
169
163
|
|
|
170
|
-
运行 `
|
|
164
|
+
运行 `node "$COMET_STATE" set <name> review_mode <off|standard|thorough>`
|
|
171
165
|
|
|
172
166
|
`isolation` 是脚本级硬约束。full workflow 初始化时可以为 `null`,但只允许存在到本步骤之前。若保持 `null`,`build → verify` 的 guard 和 `comet-state transition build-complete` 都会失败。
|
|
173
167
|
|
|
174
|
-
`subagent_dispatch` 是脚本级硬约束。`build_mode: subagent-driven-development` 离开 build 阶段前必须同时满足 `subagent_dispatch: confirmed`,否则 `comet-guard.
|
|
168
|
+
`subagent_dispatch` 是脚本级硬约束。`build_mode: subagent-driven-development` 离开 build 阶段前必须同时满足 `subagent_dispatch: confirmed`,否则 `comet-guard.mjs build --apply` 和 `comet-state transition build-complete` 都会失败。
|
|
175
169
|
|
|
176
|
-
`tdd_mode` 是脚本级硬约束。full workflow 离开 build 阶段前 `tdd_mode` 必须已选择为 `tdd` 或 `direct`,否则 `comet-guard.
|
|
170
|
+
`tdd_mode` 是脚本级硬约束。full workflow 离开 build 阶段前 `tdd_mode` 必须已选择为 `tdd` 或 `direct`,否则 `comet-guard.mjs build --apply` 和 `comet-state transition build-complete` 都会失败。
|
|
177
171
|
|
|
178
|
-
`review_mode` 是脚本级硬约束。新建 full workflow 离开 build 阶段前 `review_mode` 必须已选择为 `off`、`standard` 或 `thorough`,否则 `comet-guard.
|
|
172
|
+
`review_mode` 是脚本级硬约束。新建 full workflow 离开 build 阶段前 `review_mode` 必须已选择为 `off`、`standard` 或 `thorough`,否则 `comet-guard.mjs build --apply` 和 `comet-state transition build-complete` 都会失败。旧状态文件若没有该字段,按兼容路径继续,但恢复时应补写该字段。
|
|
179
173
|
|
|
180
|
-
`build_mode` 默认仅 hotfix/tweak
|
|
174
|
+
`build_mode` 默认仅 hotfix/tweak 预设使用 `direct`。full workflow 不得默认使用 `direct`。只有用户明确要求跳过计划执行技能,且你已记录显式 override 时,才允许:
|
|
181
175
|
|
|
182
176
|
```bash
|
|
183
|
-
|
|
184
|
-
|
|
177
|
+
node "$COMET_STATE" set <name> direct_override true
|
|
178
|
+
node "$COMET_STATE" set <name> build_mode direct
|
|
185
179
|
```
|
|
186
180
|
|
|
187
181
|
没有 `direct_override: true` 时,full workflow 的 `build_mode=direct` 会被 guard 和状态转换同时拦截。
|
|
@@ -212,9 +206,9 @@ git commit -m "chore: add implementation plan"
|
|
|
212
206
|
|
|
213
207
|
**执行计划**:必须按 `build_mode` 的真实运行位置处理。
|
|
214
208
|
|
|
215
|
-
- `build_mode: executing-plans`:**立即执行:** 使用 Skill 工具加载 Superpowers `executing-plans` 技能。禁止跳过此步骤。若该技能不可用,停止流程并提示安装或启用对应技能,不要用普通对话替代该步骤。技能加载后,ARGUMENTS 必须包含与 Step 1 相同的 Language 约束:`Language:
|
|
209
|
+
- `build_mode: executing-plans`:**立即执行:** 使用 Skill 工具加载 Superpowers `executing-plans` 技能。禁止跳过此步骤。若该技能不可用,停止流程并提示安装或启用对应技能,不要用普通对话替代该步骤。技能加载后,ARGUMENTS 必须包含与 Step 1 相同的 Language 约束:`Language: 使用 "$COMET_BASH" "$COMET_STATE" get <name> language 读取到的 Comet 配置产物语言输出`。按计划执行。
|
|
216
210
|
- `build_mode: subagent-driven-development`:主会话只负责协调,禁止直接编写实现代码。**立即执行:** 使用 Skill 工具加载 Superpowers `subagent-driven-development` 技能。技能加载后,读取 `comet/reference/subagent-dispatch.md` 获取 Comet 专属扩展(真实后台调度、任务隔离、勾选验证、TDD 约束、连续执行、上下文恢复),与技能工作流配合应用。若两者发生冲突,以更具体的 Comet 扩展为准。
|
|
217
|
-
- 如果当前平台没有真实后台 agent 调度能力,必须暂停并等待用户选择改用主窗口执行。用户选择改用主窗口执行后,必须先运行 `
|
|
211
|
+
- 如果当前平台没有真实后台 agent 调度能力,必须暂停并等待用户选择改用主窗口执行。用户选择改用主窗口执行后,必须先运行 `node "$COMET_STATE" set <name> build_mode executing-plans`,再按 `build_mode: executing-plans` 分支加载 Superpowers `executing-plans` 技能。用户未明确选择前,不得继续执行任务。
|
|
218
212
|
|
|
219
213
|
**TDD 模式执行约束**:
|
|
220
214
|
|
|
@@ -226,10 +220,14 @@ git commit -m "chore: add implementation plan"
|
|
|
226
220
|
|
|
227
221
|
**`executing-plans` review gate**:
|
|
228
222
|
|
|
229
|
-
|
|
223
|
+
在 `executing-plans` 下,主会话直接执行任务(没有隔离的 implementer subagent),因此不存在 `subagent-driven-development` 那样的每任务 reviewer。代码审查针对已完成的 diff 进行,并按 `review_mode` 分级:
|
|
230
224
|
|
|
231
|
-
|
|
232
|
-
- `requesting-code-review`
|
|
225
|
+
- **`review_mode: off`**:不自动代码审查。不加载 `requesting-code-review`。在验证报告草稿或 tasks.md 中记录跳过原因。
|
|
226
|
+
- **`review_mode: standard`**:在所有计划任务完成后、运行 build → verify 阶段守卫前,使用 Skill 工具加载 Superpowers `requesting-code-review` 技能一次,请求一次轻量代码审查(正确性、安全、边界),范围覆盖整个 change。
|
|
227
|
+
- **`review_mode: thorough`**:除最终那次审查外,按任务分段每 3 个任务请求一次分段代码审查(范围限于该段的 diff)。若总任务数 ≤ 3,跳过执行中分段,只做最终审查。每次分段审查用 `requesting-code-review` 针对该段的提交区间进行。这是 `executing-plans` 下最接近 `subagent-driven-development` 每任务审查的等价物,因为它没有隔离的 implementer 可供逐任务审查。
|
|
228
|
+
|
|
229
|
+
要求(适用于 `standard` 和 `thorough`):
|
|
230
|
+
- `requesting-code-review` 技能必须在 `node "$COMET_GUARD" <change-name> build --apply` 之前加载
|
|
233
231
|
- 若 `requesting-code-review` 技能不可用,跳过 review gate 但必须在 tasks.md 中记录 `<!-- review skipped: skill unavailable -->`,并继续 guard 流转
|
|
234
232
|
- CRITICAL review 发现(安全漏洞、数据丢失风险、构建/测试失败)必须先修复,不得带入 verify
|
|
235
233
|
- 非 CRITICAL review 发现如选择接受,必须在 tasks.md、commit body、验证报告草稿或其他持久产物中记录接受原因和影响范围
|
|
@@ -268,7 +266,7 @@ git commit -m "chore: add implementation plan"
|
|
|
268
266
|
|
|
269
267
|
Build 是最长阶段,可能跨越大量任务。为支持上下文压缩后断点恢复:
|
|
270
268
|
|
|
271
|
-
- **每完成一个 task**:按当前执行分支和 `review_mode` 完成验收后再勾选对应任务并提交。`subagent-driven-development` 在 `
|
|
269
|
+
- **每完成一个 task**:按当前执行分支和 `review_mode` 完成验收后再勾选对应任务并提交。`subagent-driven-development` 在 `off` 时不派发每任务 reviewer;`standard` 下仅当任务命中风险信号时派发;`thorough` 下每个任务都派发每任务 reviewer。所有模式都必须按任务唯一文本完成定向检查。可用 `grep -c '\- \[ \]' tasks.md` 检查剩余未勾选数,无需重新读取整个文件
|
|
272
270
|
- **上下文压缩后恢复**:按 `comet/reference/context-recovery.md` 执行,phase 参数为 `build`。
|
|
273
271
|
- **用户手动修改恢复**:按 `comet/reference/dirty-worktree.md` 协议处理未提交改动。该协议定义了检查步骤、归因分类和禁令。build 阶段的特殊处理:
|
|
274
272
|
1. 归因后,若 diff 暗示计划或 spec 已变化,按 Step 4「Spec 增量更新」分级处理
|
|
@@ -283,8 +281,8 @@ Build 是最长阶段,可能跨越大量任务。为支持上下文压缩后
|
|
|
283
281
|
- `build_mode` 已写为 `subagent-driven-development`、`executing-plans` 或带显式 override 的 `direct`;若为 `subagent-driven-development`,`subagent_dispatch` 必须为 `confirmed`
|
|
284
282
|
- `tdd_mode` 已写为 `tdd` 或 `direct`
|
|
285
283
|
- `review_mode` 已写为 `off`、`standard` 或 `thorough`
|
|
286
|
-
-
|
|
287
|
-
- **阶段守卫**:运行 `
|
|
284
|
+
- 已按所选 `review_mode` 完成"执行计划"章节中 executing-plans review gate 规定的代码审查:`standard` 或 `thorough` 下已请求代码审查且 CRITICAL review 发现已修复、非 CRITICAL review 发现已记录接受理由;`review_mode: off` 下已在持久产物中记录跳过自动代码审查的原因
|
|
285
|
+
- **阶段守卫**:运行 `node "$COMET_GUARD" <change-name> build --apply`,全部 PASS 后由守卫推进到 `phase: verify`(此步骤更新 `phase` 字段,与 `auto_transition` 无关)
|
|
288
286
|
|
|
289
287
|
Guard 会优先读取项目配置中的命令:
|
|
290
288
|
|
|
@@ -294,12 +292,12 @@ verify_command: <verify command>
|
|
|
294
292
|
```
|
|
295
293
|
|
|
296
294
|
配置位置可为 change 的 `.comet.yaml`,也可为仓库根目录的 `.comet.yaml` / `comet.yaml` / `.comet.yml` / `comet.yml`。
|
|
297
|
-
|
|
295
|
+
配置命令使用受限 shell 语法:允许命令词、引号、路径和用 `&&` 串联的顺序步骤;拒绝 `;`、管道、裸 `&`、`$` 和反引号。未配置时才回退到 `npm run build`、Maven 或 Cargo 的默认探测。构建失败时 guard 会打印失败命令输出,作为排查证据。
|
|
298
296
|
|
|
299
297
|
退出前运行阶段守卫推进 phase(此步骤与 `auto_transition` 无关):
|
|
300
298
|
|
|
301
299
|
```bash
|
|
302
|
-
|
|
300
|
+
node "$COMET_GUARD" <change-name> build --apply
|
|
303
301
|
```
|
|
304
302
|
|
|
305
303
|
状态文件自动更新为 `phase: verify`、`verify_result: pending`。
|
|
@@ -309,7 +307,7 @@ verify_command: <verify command>
|
|
|
309
307
|
按 `comet/reference/auto-transition.md` 执行。关键命令:
|
|
310
308
|
|
|
311
309
|
```bash
|
|
312
|
-
|
|
310
|
+
node "$COMET_STATE" next <change-name>
|
|
313
311
|
```
|
|
314
312
|
|
|
315
313
|
- `NEXT: auto` → 调用 `SKILL` 指向的 skill 进入下一阶段
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: comet-design
|
|
3
|
-
description: "Comet
|
|
3
|
+
description: "Use when full Comet change 已完成 open 阶段但缺少 Superpowers Design Doc,或 design 阶段需要从 OpenSpec 交接包恢复。"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Comet 阶段 2:深度设计(Design)
|
|
@@ -10,20 +10,16 @@ description: "Comet 阶段 2:深度设计。用 /comet-design 调用。通过
|
|
|
10
10
|
- 活跃 change 已存在(proposal.md、design.md、tasks.md)
|
|
11
11
|
- 无 Design Doc(`docs/superpowers/specs/` 下无对应文件)
|
|
12
12
|
|
|
13
|
+
> 职责边界:open 阶段的 `design.md` 给出**高层方案框架**(架构决策方向、方案选型、数据流);design 阶段的 Design Doc 是对它的**深度技术细化**(详细实现设计、技术风险、测试策略、边界条件),是深化而非替代或重写。
|
|
14
|
+
|
|
13
15
|
## 步骤
|
|
14
16
|
|
|
15
17
|
### 0. 入口状态验证(Entry Check)
|
|
16
18
|
|
|
17
|
-
|
|
19
|
+
按 `comet/reference/scripts.md` 定位脚本(定位 `comet-env.mjs`),然后执行入口验证;从任意入口恢复时先按 `comet/reference/context-recovery.md` 运行恢复检查:
|
|
18
20
|
|
|
19
21
|
```bash
|
|
20
|
-
|
|
21
|
-
if [ -z "$COMET_ENV" ]; then
|
|
22
|
-
echo "ERROR: comet-env.sh not found. Ensure the comet skill is installed." >&2
|
|
23
|
-
return 1
|
|
24
|
-
fi
|
|
25
|
-
. "$COMET_ENV"
|
|
26
|
-
"$COMET_BASH" "$COMET_STATE" check <name> design
|
|
22
|
+
node "$COMET_STATE" check <name> design
|
|
27
23
|
```
|
|
28
24
|
|
|
29
25
|
验证通过后继续 Step 1。验证失败时脚本会输出具体失败原因。
|
|
@@ -35,7 +31,7 @@ fi
|
|
|
35
31
|
**必须由脚本生成,不允许 agent 临场手写 summary 代替。**
|
|
36
32
|
|
|
37
33
|
```bash
|
|
38
|
-
|
|
34
|
+
node "$COMET_HANDOFF" <change-name> design --write
|
|
39
35
|
```
|
|
40
36
|
|
|
41
37
|
脚本会根据 change `.comet.yaml` 的 `context_compression` 快照生成并记录交接包。
|
|
@@ -74,7 +70,7 @@ beta 交接包是 **结构化 spec projection**,用于减少 OpenSpec 原文 t
|
|
|
74
70
|
如确实需要全文上下文,可显式运行:
|
|
75
71
|
|
|
76
72
|
```bash
|
|
77
|
-
|
|
73
|
+
node "$COMET_HANDOFF" <change-name> design --write --full
|
|
78
74
|
```
|
|
79
75
|
|
|
80
76
|
交接包来源来自 OpenSpec open 阶段产物:
|
|
@@ -90,7 +86,7 @@ beta 交接包是 **结构化 spec projection**,用于减少 OpenSpec 原文 t
|
|
|
90
86
|
技能加载时,ARGUMENTS 必须包含:
|
|
91
87
|
|
|
92
88
|
```text
|
|
93
|
-
Language:
|
|
89
|
+
Language: 使用 `"$COMET_BASH" "$COMET_STATE" get <name> language` 读取到的 Comet 配置产物语言输出
|
|
94
90
|
```
|
|
95
91
|
|
|
96
92
|
技能加载后,按其指引使用以下上下文:
|
|
@@ -218,13 +214,13 @@ canonical_spec: openspec
|
|
|
218
214
|
|
|
219
215
|
```bash
|
|
220
216
|
# 记录 design_doc 路径
|
|
221
|
-
|
|
217
|
+
node "$COMET_STATE" set <name> design_doc docs/superpowers/specs/YYYY-MM-DD-topic-design.md
|
|
222
218
|
|
|
223
219
|
# 如有 delta spec 变更,重新生成 handoff(更新 hash)
|
|
224
|
-
|
|
220
|
+
node "$COMET_HANDOFF" <change-name> design --write
|
|
225
221
|
|
|
226
222
|
# 阶段守卫推进 phase 到下一阶段
|
|
227
|
-
|
|
223
|
+
node "$COMET_GUARD" <change-name> design --apply
|
|
228
224
|
```
|
|
229
225
|
|
|
230
226
|
如果没有 delta spec 变更,跳过 handoff 重新生成步骤。状态文件自动更新,无需手动编辑其他字段。
|
|
@@ -239,12 +235,12 @@ canonical_spec: openspec
|
|
|
239
235
|
- beta 模式下,`spec-context.json` 必须结构合法且引用当前源文件(由 guard 强制校验)
|
|
240
236
|
- 如有新能力或补充验收场景,OpenSpec delta spec 已创建/更新
|
|
241
237
|
- `design_doc` 已写入 `.comet.yaml`
|
|
242
|
-
- **阶段守卫**:运行 `
|
|
238
|
+
- **阶段守卫**:运行 `node "$COMET_GUARD" <change-name> design --apply`,全部 PASS 后由守卫推进到 `phase: build`(此步骤更新 `phase` 字段,与 `auto_transition` 无关)
|
|
243
239
|
|
|
244
240
|
退出前必须使用 `--apply`:
|
|
245
241
|
|
|
246
242
|
```bash
|
|
247
|
-
|
|
243
|
+
node "$COMET_GUARD" <change-name> design --apply
|
|
248
244
|
```
|
|
249
245
|
|
|
250
246
|
## 上下文压缩恢复
|
|
@@ -256,7 +252,7 @@ canonical_spec: openspec
|
|
|
256
252
|
按 `comet/reference/auto-transition.md` 执行。关键命令:
|
|
257
253
|
|
|
258
254
|
```bash
|
|
259
|
-
|
|
255
|
+
node "$COMET_STATE" next <change-name>
|
|
260
256
|
```
|
|
261
257
|
|
|
262
258
|
- `NEXT: auto` → 调用 `SKILL` 指向的 skill 进入下一阶段
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: comet-hotfix
|
|
3
|
-
description: "
|
|
3
|
+
description: "Use when 用户要修复已有行为 bug,且不新增 capability、不需要完整设计;也用于恢复 hotfix workflow。"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Comet 预设路径:Hotfix
|
|
@@ -10,32 +10,23 @@ description: "Comet 预设路径:Bug fix / 热修复。跳过 brainstorming,
|
|
|
10
10
|
**适用条件**(必须全部满足):
|
|
11
11
|
1. 修复已有功能的 bug,不新增 capability
|
|
12
12
|
2. 不涉及接口变更或架构调整
|
|
13
|
-
3.
|
|
13
|
+
3. 改动范围可预估(文件数仅作提示,不作为硬性升级条件,见下方升级判定)
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
**不适用**:如修复过程命中质变信号(见「升级判定」章节),由用户决定是否升级为完整 `/comet` 流程。
|
|
16
16
|
|
|
17
17
|
---
|
|
18
18
|
|
|
19
|
-
##
|
|
19
|
+
## 流程(预设流程,6 步)
|
|
20
20
|
|
|
21
21
|
### 0. 输出语言约束
|
|
22
22
|
|
|
23
|
-
精简版 OpenSpec
|
|
23
|
+
精简版 OpenSpec 产物必须使用 Comet 配置产物语言。`.comet.yaml` 尚不存在时读取 `.comet/config.yaml` 的 `language`,初始化后使用 `"$COMET_BASH" "$COMET_STATE" get <name> language` 读取。
|
|
24
24
|
|
|
25
25
|
执行链路:open → build → verify → archive。Hotfix 为每个阶段提供默认决策:精简开启、直接构建、按规模验证、验证通过后进入归档前最终确认。
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
开始前按 `comet/reference/scripts.md` 定位 Comet 脚本(定位 `comet-env.mjs`);从任意入口恢复时先按 `comet/reference/context-recovery.md` 确认 phase/workflow。
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
COMET_ENV="${COMET_ENV:-$(find . "$HOME"/.*/skills "$HOME/.config" "$HOME/.gemini" -path '*/comet/scripts/comet-env.sh' -type f -print -quit 2>/dev/null)}"
|
|
31
|
-
if [ -z "$COMET_ENV" ]; then
|
|
32
|
-
echo "ERROR: comet-env.sh not found. Ensure the comet skill is installed." >&2
|
|
33
|
-
return 1
|
|
34
|
-
fi
|
|
35
|
-
. "$COMET_ENV"
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
### 1. 快速开启(preset open)
|
|
29
|
+
### 1. 快速开启(预设 open)
|
|
39
30
|
|
|
40
31
|
复用 Comet open 能力创建 change,但使用 hotfix 默认值:不执行 `openspec-explore` 长探索,直接进入精简 change 创建。
|
|
41
32
|
|
|
@@ -50,35 +41,35 @@ fi
|
|
|
50
41
|
初始化 Comet 状态文件:
|
|
51
42
|
|
|
52
43
|
```bash
|
|
53
|
-
|
|
44
|
+
node "$COMET_STATE" init <name> hotfix
|
|
54
45
|
```
|
|
55
46
|
|
|
56
47
|
初始化后验证状态:
|
|
57
48
|
|
|
58
49
|
```bash
|
|
59
|
-
|
|
50
|
+
node "$COMET_STATE" check <name> open
|
|
60
51
|
```
|
|
61
52
|
|
|
62
53
|
阶段守卫完成 open → build 过渡:
|
|
63
54
|
|
|
64
55
|
```bash
|
|
65
|
-
|
|
56
|
+
node "$COMET_GUARD" <change-name> open --apply
|
|
66
57
|
```
|
|
67
58
|
|
|
68
59
|
检查 `auto_transition` 决定是否继续:
|
|
69
60
|
|
|
70
61
|
```bash
|
|
71
|
-
|
|
62
|
+
node "$COMET_STATE" next <name>
|
|
72
63
|
```
|
|
73
64
|
|
|
74
65
|
- `NEXT: auto` → 继续 Step 2
|
|
75
66
|
- `NEXT: manual` → 暂停,按 `HINT` 提示用户手动运行 `/<SKILL>`
|
|
76
67
|
|
|
77
|
-
### 2.
|
|
68
|
+
### 2. 直接构建(预设 build)
|
|
78
69
|
|
|
79
|
-
使用 hotfix 默认值:`build_mode: direct
|
|
70
|
+
使用 hotfix 默认值:`build_mode: direct`,`review_mode: off`(hotfix/tweak 跳过 review_mode 选择——guard 不要求预设工作流选择此项)。跳过 Superpowers `brainstorming` 和 `writing-plans`(除非任务 > 3 个;若超过 3 个任务,转入 `/comet-build` 的计划与执行方式选择——注意这不触发 full workflow 升级,仅切换执行方式)。
|
|
80
71
|
|
|
81
|
-
继续或开始修改前,按 `comet/reference/dirty-worktree.md`
|
|
72
|
+
继续或开始修改前,按 `comet/reference/dirty-worktree.md` 协议处理未提交改动。若归因后发现修复命中质变信号或文件数 tripwire,按本文件「升级判定」处理。
|
|
82
73
|
|
|
83
74
|
**立即执行:** 按 tasks.md 逐个执行任务:
|
|
84
75
|
|
|
@@ -107,29 +98,29 @@ fi
|
|
|
107
98
|
2. 搜索验证问题代码不再存在
|
|
108
99
|
3. 如根因未消除,回到 Step 2 继续修复(此时仍在 build 阶段,无需状态回退)
|
|
109
100
|
|
|
110
|
-
|
|
111
|
-
- 根因消除检查发现深层架构问题 →
|
|
112
|
-
- 修复需要额外接口变更 →
|
|
101
|
+
**升级判定信号**:
|
|
102
|
+
- 根因消除检查发现深层架构问题 → 命中质变信号,按「升级判定」章节暂停交用户决定
|
|
103
|
+
- 修复需要额外接口变更 → 命中质变信号(引入新的 public API),按「升级判定」章节暂停交用户决定
|
|
113
104
|
|
|
114
105
|
根因确认消除后,运行阶段守卫完成 build → verify 过渡:
|
|
115
106
|
|
|
116
107
|
```bash
|
|
117
|
-
|
|
108
|
+
node "$COMET_GUARD" <change-name> build --apply
|
|
118
109
|
```
|
|
119
110
|
|
|
120
111
|
状态文件自动更新为 `phase: verify`、`verify_result: pending`,然后进入验证。
|
|
121
112
|
|
|
122
|
-
### 4.
|
|
113
|
+
### 4. 验证(预设 verify)
|
|
123
114
|
|
|
124
115
|
复用 `/comet-verify`,由 comet-verify 的规模评估决定轻量或完整验证。
|
|
125
116
|
|
|
126
117
|
**立即执行:** 使用 Skill 工具加载 `comet-verify` 技能。禁止跳过此步骤。
|
|
127
118
|
|
|
128
|
-
无 delta spec 的小范围 hotfix 通常满足轻量验证条件(≤ 3 tasks
|
|
119
|
+
无 delta spec 的小范围 hotfix 通常满足轻量验证条件(≤ 3 tasks、改动文件数低于 scale 阈值),comet-verify 的规模评估会选择轻量验证路径(6 项快速检查;默认 `review_mode: off` 时不自动派发代码审查)。若用户希望增加审查,可在验证前运行 `node "$COMET_STATE" set <name> review_mode standard` 或 `thorough`。若 hotfix 创建了 delta spec,则根据 comet-verify 的规模评估规则进入完整验证路径。
|
|
129
120
|
|
|
130
121
|
验证通过后,按 `/comet-verify` 的规则将 `.comet.yaml` 的 `verify_result` 记录为 `pass`,归档前不得跳过该状态。验证通过后仍必须进入 `/comet-archive` 的归档前最终确认,不得自动运行归档脚本。
|
|
131
122
|
|
|
132
|
-
### 5.
|
|
123
|
+
### 5. 归档(预设 archive)
|
|
133
124
|
|
|
134
125
|
复用 `/comet-archive`。归档前必须满足 `.comet.yaml` 中 `verify_result: pass`,并等待 `/comet-archive` 的归档前最终确认。
|
|
135
126
|
|
|
@@ -143,7 +134,7 @@ fi
|
|
|
143
134
|
<IMPORTANT>
|
|
144
135
|
Hotfix 流程默认 **一次性连续执行**。调用 `/comet-hotfix` 后,agent 在 hotfix 自有步骤间自动推进,不主动停顿。**例外**:若 `auto_transition: false`,则在每个 phase 边界(build/verify/archive 之间)停下,由用户手动运行下一阶段命令——此时连续执行降级为逐阶段手动推进,详见下方「自动衔接下一阶段」。但无论 `auto_transition` 取何值,以下情况都必须暂停等待用户确认:
|
|
145
136
|
|
|
146
|
-
1.
|
|
137
|
+
1. 遇到升级判定信号(见「升级判定」章节),**必须使用当前平台可用的用户输入/确认机制暂停并等待用户明确选择**:继续 hotfix 流程,还是升级为完整 `/comet` 流程
|
|
147
138
|
2. 任务超过 3 个转入 `/comet-build` 时的工作区隔离和执行方式选择
|
|
148
139
|
3. 验证阶段(comet-verify)的验证失败决策和分支处理决策
|
|
149
140
|
4. 归档前最终确认(comet-archive 执行归档脚本前)
|
|
@@ -155,28 +146,27 @@ Hotfix 流程默认 **一次性连续执行**。调用 `/comet-hotfix` 后,age
|
|
|
155
146
|
|
|
156
147
|
---
|
|
157
148
|
|
|
158
|
-
##
|
|
149
|
+
## 升级判定
|
|
159
150
|
|
|
160
|
-
|
|
151
|
+
hotfix 的升级判定只决定是否从预设流程转为 full;文件数不自动升级,`comet-state scale` 只决定验证轻重。
|
|
161
152
|
|
|
162
|
-
|
|
163
|
-
|------|------|
|
|
164
|
-
| 改动涉及 **3+ 文件** | 超出单点修复范围 |
|
|
165
|
-
| 架构变更 | 新模块、新接口、新依赖 |
|
|
166
|
-
| 数据库 schema 变更 | 结构性调整 |
|
|
167
|
-
| 引入新的 public API | 修复产生了新的对外接口 |
|
|
168
|
-
| 修复范围超出单一函数/模块 | 需要多处协调修改 |
|
|
153
|
+
若由 `/comet` 入口传入 intent frame,hotfix 在 build 前只复核 `risk_signal` 和升级信号:新增 capability、public API、schema 变更、跨模块协调或深层架构问题。命中时进入现有升级决策点;不得重新实现入口意图识别。
|
|
169
154
|
|
|
170
|
-
|
|
155
|
+
持续检查以下质变信号:跨模块协调修改、需要新增 capability、数据库 schema 变更、引入新的 public API、触及深层架构问题(hotfix 语境下多在根因消除检查时暴露)。命中任一信号时,agent **不得自行升级或自行判定可继续**。
|
|
171
156
|
|
|
172
|
-
|
|
157
|
+
文件数 tripwire 仅作提示:改动文件数超过提示阈值(如 > 4 个文件)时,也交给用户决定继续 hotfix 还是升级 full;文件数多不等于质变。bug 修复通常聚焦在 1-3 个文件,超过阈值说明改动面偏大、值得让用户复核是否仍属预设范围。
|
|
158
|
+
|
|
159
|
+
命中质变信号或文件数 tripwire 时,**必须按 `comet/reference/decision-point.md` 的协议暂停并等待用户明确选择**。不得直接进入 `/comet-design`,不得自动补充 Design Doc。
|
|
160
|
+
|
|
161
|
+
用户选择升级(选项 B)后,使用状态机合法的升级通道,单条命令完成预设流程 → full 转换并回退到 design 阶段:
|
|
173
162
|
|
|
174
163
|
```bash
|
|
175
|
-
|
|
176
|
-
"$COMET_BASH" "$COMET_STATE" set <name> phase design
|
|
164
|
+
node "$COMET_STATE" transition <name> preset-escalate
|
|
177
165
|
```
|
|
178
166
|
|
|
179
|
-
|
|
167
|
+
该命令原子地把 `workflow`/`classic_profile` 置为 `full`、`phase` 回退到 `design`、清空 `design_doc`(满足 comet-design 入口要求)。然后在当前 change 基础上补充 Design Doc:**立即使用 Skill 工具加载 `comet-design` skill**,后续正常走完整流程。
|
|
168
|
+
|
|
169
|
+
用户选择继续(选项 A)时,继续 hotfix 流程,并记录用户确认继续的原因。
|
|
180
170
|
|
|
181
171
|
---
|
|
182
172
|
|
|
@@ -185,14 +175,14 @@ Hotfix 流程默认 **一次性连续执行**。调用 `/comet-hotfix` 后,age
|
|
|
185
175
|
- Bug 已修复,测试通过
|
|
186
176
|
- change 已归档
|
|
187
177
|
- 如有 spec 变更,已同步到 main spec
|
|
188
|
-
- **阶段守卫**:build → verify 前运行 `
|
|
178
|
+
- **阶段守卫**:build → verify 前运行 `node "$COMET_GUARD" <change-name> build --apply`,verify → archive 前按 `/comet-verify` 规则运行 `node "$COMET_GUARD" <change-name> verify --apply`
|
|
189
179
|
|
|
190
180
|
## 自动衔接下一阶段
|
|
191
181
|
|
|
192
182
|
按 `comet/reference/auto-transition.md` 执行。关键命令:
|
|
193
183
|
|
|
194
184
|
```bash
|
|
195
|
-
|
|
185
|
+
node "$COMET_STATE" next <name>
|
|
196
186
|
```
|
|
197
187
|
|
|
198
188
|
- `NEXT: auto` → 调用 `SKILL` 指向的 skill 继续 hotfix 流程(`phase: build` 返回 `comet-hotfix`,`verify` 返回 `comet-verify`,`archive` 返回 `comet-archive`)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: comet-open
|
|
3
|
-
description: "
|
|
3
|
+
description: "Use when Comet 需要创建新的 OpenSpec change,或 active change 缺少 proposal/design/tasks/.comet.yaml 初始化产物。"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Comet 阶段 1:开启(Open)
|
|
@@ -13,7 +13,7 @@ description: "Comet 阶段 1:开启。用 /comet-open 调用。通过 OpenSpec
|
|
|
13
13
|
|
|
14
14
|
### 0. 输出语言约束
|
|
15
15
|
|
|
16
|
-
传递给 OpenSpec
|
|
16
|
+
传递给 OpenSpec 的所有提问和产物要求都必须包含解析后的 Comet 产物语言,并使用 `en`、`zh-CN` 这类规范化 ID。`.comet.yaml` 尚不存在时读取 `.comet/config.yaml` 的 `language`;change 初始化后使用 `"$COMET_BASH" "$COMET_STATE" get <name> language` 读取。没有配置语言时才回退到当前用户请求语言。生成的 `proposal.md`、`design.md`、`tasks.md` 必须以该语言为主语言。
|
|
17
17
|
|
|
18
18
|
### 1. 探索想法与需求澄清
|
|
19
19
|
|
|
@@ -131,26 +131,16 @@ openspec/changes/<name>/
|
|
|
131
131
|
├── .openspec.yaml
|
|
132
132
|
├── .comet.yaml
|
|
133
133
|
├── proposal.md # Why + What:问题、目标、范围
|
|
134
|
-
├── design.md # How
|
|
134
|
+
├── design.md # How(高层框架):架构决策、方案选型(深度技术设计在 design 阶段 Design Doc 细化)
|
|
135
135
|
└── tasks.md # 任务清单(勾选框)
|
|
136
136
|
```
|
|
137
137
|
|
|
138
138
|
创建 `.comet.yaml` 状态文件:
|
|
139
139
|
|
|
140
|
+
先按 `comet/reference/scripts.md` 定位脚本(定位 `comet-env.mjs`),然后初始化状态:
|
|
141
|
+
|
|
140
142
|
```bash
|
|
141
|
-
|
|
142
|
-
if [ -z "$COMET_ENV" ]; then
|
|
143
|
-
echo "ERROR: comet-env.sh not found. Ensure the comet skill is installed." >&2
|
|
144
|
-
return 1
|
|
145
|
-
fi
|
|
146
|
-
. "$COMET_ENV"
|
|
147
|
-
|
|
148
|
-
if [ -z "$COMET_STATE" ] || [ -z "$COMET_GUARD" ]; then
|
|
149
|
-
echo "ERROR: Comet scripts not found. Ensure the comet skill is installed." >&2
|
|
150
|
-
return 1
|
|
151
|
-
fi
|
|
152
|
-
|
|
153
|
-
"$COMET_BASH" "$COMET_STATE" init <name> full
|
|
143
|
+
node "$COMET_STATE" init <name> full
|
|
154
144
|
```
|
|
155
145
|
|
|
156
146
|
### 3. 入口状态验证
|
|
@@ -158,7 +148,7 @@ fi
|
|
|
158
148
|
验证状态机已正确初始化:
|
|
159
149
|
|
|
160
150
|
```bash
|
|
161
|
-
|
|
151
|
+
node "$COMET_STATE" check <name> open
|
|
162
152
|
```
|
|
163
153
|
|
|
164
154
|
验证通过后继续 Step 4。验证失败时脚本会输出具体失败原因。
|
|
@@ -195,26 +185,26 @@ fi
|
|
|
195
185
|
|
|
196
186
|
- proposal.md、design.md、tasks.md 均已创建且内容完整
|
|
197
187
|
- **用户已确认** proposal、design、tasks 内容符合预期
|
|
198
|
-
- **阶段守卫**:运行 `
|
|
188
|
+
- **阶段守卫**:运行 `node "$COMET_GUARD" <change-name> open --apply`,全部 PASS 后由守卫推进到下一阶段(此步骤更新 `phase` 字段,与 `auto_transition` 无关)
|
|
199
189
|
|
|
200
190
|
退出前必须使用 `--apply`,否则 `.comet.yaml` 仍停留在 `phase: open`,下一阶段入口检查会失败。
|
|
201
191
|
|
|
202
192
|
```bash
|
|
203
|
-
|
|
193
|
+
node "$COMET_GUARD" <change-name> open --apply
|
|
204
194
|
```
|
|
205
195
|
|
|
206
|
-
完整流程会自动更新为 `phase: design`;hotfix/tweak
|
|
196
|
+
完整流程会自动更新为 `phase: design`;hotfix/tweak 预设会自动更新为 `phase: build`。
|
|
207
197
|
|
|
208
198
|
## 自动衔接下一阶段
|
|
209
199
|
|
|
210
200
|
按 `comet/reference/auto-transition.md` 执行。关键命令:
|
|
211
201
|
|
|
212
202
|
```bash
|
|
213
|
-
|
|
203
|
+
node "$COMET_STATE" next <change-name>
|
|
214
204
|
```
|
|
215
205
|
|
|
216
206
|
- `NEXT: auto` → 调用 `SKILL` 指向的 skill 进入下一阶段
|
|
217
207
|
- `NEXT: manual` → 不要调用下一 skill,按 `HINT` 提示用户手动运行 `/<SKILL>`
|
|
218
208
|
- `NEXT: done` → 流程已完成,无需继续
|
|
219
209
|
|
|
220
|
-
hotfix/tweak
|
|
210
|
+
hotfix/tweak 预设由对应预设 Skill 控制后续流转(phase 直接进入 build),其 `next` 会返回对应预设 Skill。
|