@rpamis/comet 0.3.8 → 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 +381 -234
- 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/dirty-worktree.md +59 -59
- 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 +43 -11
- package/assets/skills/comet/rules/comet-phase-guard.md +44 -11
- 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 +28 -21
- 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 +88 -102
- package/assets/skills-zh/comet/reference/auto-transition.md +3 -3
- package/assets/skills-zh/comet/reference/comet-yaml-fields.md +11 -4
- package/assets/skills-zh/comet/reference/context-recovery.md +12 -2
- package/assets/skills-zh/comet/reference/debug-gate.md +19 -3
- package/assets/skills-zh/comet/reference/decision-point.md +13 -2
- package/assets/skills-zh/comet/reference/dirty-worktree.md +59 -59
- 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 +79 -23
- 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 +54 -43
- package/assets/skills-zh/comet-design/SKILL.md +16 -20
- package/assets/skills-zh/comet-hotfix/SKILL.md +37 -47
- package/assets/skills-zh/comet-open/SKILL.md +30 -23
- package/assets/skills-zh/comet-tweak/SKILL.md +70 -63
- package/assets/skills-zh/comet-verify/SKILL.md +30 -32
- 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 +114 -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/app/commands/i18n.js +174 -0
- package/dist/app/commands/i18n.js.map +1 -0
- package/dist/{commands → app/commands}/init.d.ts +6 -1
- package/dist/app/commands/init.d.ts.map +1 -0
- package/dist/app/commands/init.js +402 -0
- 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 +37 -18
- package/dist/app/commands/uninstall.js.map +1 -0
- package/dist/{commands → app/commands}/update.d.ts +6 -4
- package/dist/app/commands/update.d.ts.map +1 -0
- package/dist/{commands → app/commands}/update.js +77 -46
- 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/domains/integrations/codegraph.d.ts +6 -0
- package/dist/domains/integrations/codegraph.d.ts.map +1 -0
- package/dist/domains/integrations/codegraph.js +118 -0
- 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 +114 -31
- package/dist/domains/integrations/openspec.js.map +1 -0
- package/dist/domains/integrations/superpowers.d.ts +21 -0
- package/dist/domains/integrations/superpowers.d.ts.map +1 -0
- package/dist/{core → domains/integrations}/superpowers.js +63 -14
- 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} +242 -42
- 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/{core → platform/install}/detect.d.ts +6 -1
- package/dist/platform/install/detect.d.ts.map +1 -0
- package/dist/{core → platform/install}/detect.js +32 -14
- 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 +40 -14
- 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 -752
- package/assets/skills/comet/scripts/comet-handoff.sh +0 -390
- package/assets/skills/comet/scripts/comet-hook-guard.sh +0 -260
- package/assets/skills/comet/scripts/comet-state.sh +0 -1245
- package/assets/skills/comet/scripts/comet-yaml-validate.sh +0 -223
- package/dist/cli/index.js +0 -83
- 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/init.d.ts.map +0 -1
- package/dist/commands/init.js +0 -300
- 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 +0 -4
- package/dist/core/codegraph.d.ts.map +0 -1
- package/dist/core/codegraph.js +0 -63
- 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 +0 -13
- 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}/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
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# Skill 审查 subagent
|
|
2
|
+
|
|
3
|
+
本文件是 portable lane brief,不是 platform-native custom agent;如需 Claude Code custom agent,必须另行生成平台 agent 资源和 frontmatter。
|
|
4
|
+
|
|
5
|
+
## 职责
|
|
6
|
+
|
|
7
|
+
审查其他 subagent 的 artifacts 和 claims,判断候选 Skill 是否已经像 Comet 一样可用。
|
|
8
|
+
审查必须给出明确结论:`Review passed` 或 blocking findings。
|
|
9
|
+
|
|
10
|
+
必须覆盖:
|
|
11
|
+
|
|
12
|
+
- `reference/skill-review.md`
|
|
13
|
+
- `reference/authoring-lanes.json`
|
|
14
|
+
|
|
15
|
+
## 输入
|
|
16
|
+
|
|
17
|
+
读取主会话提供的通用输入,以及其他五个作者角色返回的全部 artifacts、claims 和 findings。
|
|
18
|
+
|
|
19
|
+
使用文件交接:主会话提供路径,不粘贴大段全文。读取总览、通用输入、五个作者报告文件、artifact 路径和
|
|
20
|
+
claims。不得读取主会话历史来替代 artifact 证据。
|
|
21
|
+
|
|
22
|
+
## 派发模板
|
|
23
|
+
|
|
24
|
+
主会话派发时使用当前平台的 subagent 机制,形状应包含:
|
|
25
|
+
|
|
26
|
+
```text
|
|
27
|
+
description: "审查 <bundle-name> 的 Comet-like Skill 产物"
|
|
28
|
+
model: <必须显式指定 model>
|
|
29
|
+
prompt:
|
|
30
|
+
你是 Skill 审查 subagent。
|
|
31
|
+
先读取本 brief、通用输入路径、五个作者报告路径、artifact 路径、claim 清单和报告文件路径。
|
|
32
|
+
审查不信任作者报告;作者报告只是 claim,必须用 artifact 和 claim 交叉验证。
|
|
33
|
+
不要告诉审查者不要标记某问题,也不要预设某问题只能是 Minor。
|
|
34
|
+
审查是只读任务,不得修改工作树、索引、HEAD 或分支状态。
|
|
35
|
+
把完整审查写入报告文件路径,并返回两个 verdict。
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## 审查方法
|
|
39
|
+
|
|
40
|
+
审查不信任作者报告。先看 artifact 和 claim,再判断作者声称是否成立。不得用“作者说这是刻意设计”
|
|
41
|
+
来降低问题严重性。
|
|
42
|
+
|
|
43
|
+
审查必须给两个 verdict:
|
|
44
|
+
|
|
45
|
+
- Skill 契约符合度:是否满足用户确认的目标、workflow protocol、`requiredSkillCalls`、claim、阶段推进、脚本守卫、停顿点和恢复要求。
|
|
46
|
+
- 可用性质量:是否像 Comet 一样好用,是否清晰、可恢复、可审计、不会过度暴露内部 metadata。
|
|
47
|
+
|
|
48
|
+
证据必须引用 artifact 路径和 claim。不能只写“看起来可以”。
|
|
49
|
+
|
|
50
|
+
## 阻塞条件
|
|
51
|
+
|
|
52
|
+
出现以下任一情况必须给出 blocking findings:
|
|
53
|
+
|
|
54
|
+
- 缺少 `reference/skill-review.md`。
|
|
55
|
+
- 缺少 `reference/authoring-lanes.json`。
|
|
56
|
+
- 缺少 workflow entry 作者、脚本作者、reference 作者、Skill 核心作者或停顿点作者的关键 claim。
|
|
57
|
+
- entry Skill 把阶段路线写成多个 `**立即执行:**` Node Skill,而不是通过状态脚本只路由当前阶段。
|
|
58
|
+
- 缺少 `workflow-state.mjs`、`workflow-guard.mjs` 或 `workflow-handoff.mjs` 契约。
|
|
59
|
+
- 包内缺少六个生成脚本中的任何一个(`workflow-state`、`workflow-guard`、`workflow-handoff`、`comet-plan`、`comet-check`、`comet-hook-guard`)。
|
|
60
|
+
- workflow entry 缺失,或 Skill 核心没有 internal Node Skill。
|
|
61
|
+
- 阶段推进没有通过脚本输出 `NEXT:` 和 `SKILL:` 表达。
|
|
62
|
+
- workflow protocol 声明的 `requiredSkillCalls` 没有在对应Node Skill 中明确要求加载,或 subagent 槽位没有要求子代理任务提示加载该 Skill。
|
|
63
|
+
- 用户停顿点缺失,或停顿点可被默认值绕过。
|
|
64
|
+
- 中文 Skill 混入英文流程句。
|
|
65
|
+
- 嵌套 Skill 调用使用 provider 前缀。
|
|
66
|
+
- 用户可见 `SKILL.md` 泄漏生成审计章节、source hash 或内部 metadata。
|
|
67
|
+
- `/comet` 定制替换或删除了 `open / design / build / verify / archive`、`.comet.yaml`、decision point、verify-result-transition 或 archive-delta-sync。
|
|
68
|
+
- 任意 Skill 组合缺少自动推进、脚本守卫、用户停顿点、恢复或当前 draft hash 的 eval evidence。
|
|
69
|
+
|
|
70
|
+
## 严重级别
|
|
71
|
+
|
|
72
|
+
- Critical:会让生成 Skill 不可用、不可恢复、不可审计,或破坏 `/comet` 受保护语义。
|
|
73
|
+
- Important:会让阶段流程、脚本守卫、停顿点、Skill 调用或证据链不可信;必须修复后才能 ready。
|
|
74
|
+
- Minor:不阻塞 ready 的清晰度、命名或维护性改进。
|
|
75
|
+
|
|
76
|
+
## 输出要求
|
|
77
|
+
|
|
78
|
+
返回:
|
|
79
|
+
|
|
80
|
+
- `reference/skill-review.md`
|
|
81
|
+
- `reference/authoring-lanes.json`
|
|
82
|
+
- `review:skill-review`
|
|
83
|
+
- 最终 `Review passed` 或 blocking findings。
|
|
84
|
+
|
|
85
|
+
输出必须包含:
|
|
86
|
+
|
|
87
|
+
- 两个 verdict:Skill 契约符合度、可用性质量。
|
|
88
|
+
- Strengths:具体说明做得好的 artifact。
|
|
89
|
+
- Issues:按 Critical、Important、Minor 分组。
|
|
90
|
+
- 每个 finding 的 artifact 路径、claim、问题、影响和建议修复方式。
|
|
91
|
+
- `Review passed` 或 blocking findings。
|
|
92
|
+
|
|
93
|
+
如果存在 Critical 或 Important,不得给出 `Review passed`。如果作者状态是 `BLOCKED` 或 `NEEDS_CONTEXT`,
|
|
94
|
+
必须返回 blocking findings,主会话必须补上下文、拆小任务、换更强模型或询问用户;不得继续组装。
|
|
95
|
+
|
|
96
|
+
## 多视角审查(按 depth)
|
|
97
|
+
|
|
98
|
+
skill-review lane 是 DAG 的 barrier,在所有创作 lane 之后运行。其裁决用 `comet creator authoring-record <name> --lane skill-review --file <review.json>` 记录,成为真实的 `skill-review.md` / `authoring-lanes.json` 证据——绝不是硬编码的批准。
|
|
99
|
+
|
|
100
|
+
- `depth: full`:派发 N=3 个独立审查者,每人只持一个 lens(`contract-fit`、`usability`、`evidence-trace`、`self-consistency`),互不见彼此结论。跨审查者的 findings 去重后,仅多数确认才成立。重复直到连续 `dryThreshold` 轮无新的 Critical/Important(上限 `maxRounds`)。`self-consistency` 必须交叉校验:引用的命令可解析、声明产物 == 实际产物、无幽灵命令引用(未注册的命令名)残留。
|
|
101
|
+
- `depth: quick`:单审查者、单轮。
|
|
102
|
+
- 仅当无 Critical/Important 残留时 `passed` 为 `true`。Minor 记录但不阻塞。
|
|
103
|
+
|
|
104
|
+
记录的 review 对象必须符合此形状(由 `authoring-record` 校验):
|
|
105
|
+
|
|
106
|
+
```json
|
|
107
|
+
{
|
|
108
|
+
"lane": "skill-review",
|
|
109
|
+
"status": "DONE",
|
|
110
|
+
"review": {
|
|
111
|
+
"passed": true,
|
|
112
|
+
"evidenceSource": "llm-multivote",
|
|
113
|
+
"voters": 3,
|
|
114
|
+
"lenses": ["contract-fit", "usability", "evidence-trace", "self-consistency"],
|
|
115
|
+
"rounds": 2,
|
|
116
|
+
"findings": [
|
|
117
|
+
{ "severity": "minor", "path": "SKILL.md", "problem": "措辞小问题。", "fix": "改写。" }
|
|
118
|
+
],
|
|
119
|
+
"reviewedAt": "2026-06-28T00:00:00.000Z"
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
`passed: false` 的审查是 readiness blocker(不得 publish);缺失审查是 warning(包仍带诚实的 `deterministic-check-only` 占位,绝不伪造批准)。
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# Workflow Entry 作者 subagent
|
|
2
|
+
|
|
3
|
+
本文件是 portable lane brief,不是 platform-native custom agent;如需 Claude Code custom agent,必须另行生成平台 agent 资源和 frontmatter。
|
|
4
|
+
|
|
5
|
+
## 职责
|
|
6
|
+
|
|
7
|
+
编写生成 Skill 的 entry `SKILL.md`。entry 只负责入口、恢复、主路由说明和用户停顿点;不得把阶段路线写成会立即触发多个 Skill 的执行清单。
|
|
8
|
+
|
|
9
|
+
必须覆盖:
|
|
10
|
+
|
|
11
|
+
- entry Skill
|
|
12
|
+
- workflow-state / workflow-guard / workflow-handoff 的入口说明
|
|
13
|
+
- `workflow-entry` claim
|
|
14
|
+
|
|
15
|
+
## 创作区(你写什么)
|
|
16
|
+
|
|
17
|
+
生成器把 entry SKILL.md 组装成确定性 **Auto 区**(frontmatter、Workflow Nodes 路由表、Skill Bindings、Guardrails And Evidence、Runtime And Recovery)+ 由你编写的 **Authored 区**(`## Decision Core`)。**你只写 Decision Core 正文,不写整个文件**。主会话通过 `comet creator authoring-record <name> --lane workflow-entry --file <out.json>` 记录;artifact `SKILL.md` 的 `content` 即 Decision Core 正文。
|
|
18
|
+
|
|
19
|
+
质量标尺:`comet/SKILL.md` 的 Decision Core(完整 entry Decision Core 范例见 `reference/authored-zone-example.md`)。写 agent 可读的决策规则——机械路由已由 Auto 区的 `workflow-state.mjs next` 处理,所以聚焦判断:
|
|
20
|
+
|
|
21
|
+
- **语义化当前节点检测** — 如何判断用户在哪个 Node,而非只跑脚本。建模 comet 的 Step 0(从用户消息检测意图,检查 Node 顺序,处理"属于前序/后序 Node"的冲突)+ Step 1(读状态,文件优先于过期状态)。
|
|
22
|
+
- **Resume 与 drift 规则** — 上下文恢复时怎么办(从头重新检测,永远不信任对话历史),状态说 DONE 但 artifact 缺失时怎么办,用户在 Node 中途换话题时怎么办。
|
|
23
|
+
- **决策点** — 必须暂停等用户确认的情况的显式表格(首次调用确认范围、Node 歧义、用户确认、guard 失败)。
|
|
24
|
+
- **Red flags** — "agent 想法 → 实际风险"模式,抓自欺(如"用户提到了主题所以研究已确认" → 提到 ≠ 确认)。
|
|
25
|
+
|
|
26
|
+
没有这四个子节的 Decision Core 是 stub,不是 Decision Core。entry 是每次调用最先读取的文件——它决定了 Skill 感觉"智能"还是"机械"。
|
|
27
|
+
|
|
28
|
+
Auto 区的 Node 路由表仅供参考——不要复制成执行清单,不要发出多个立即 Skill 加载。
|
|
29
|
+
|
|
30
|
+
## 输入
|
|
31
|
+
|
|
32
|
+
读取主会话提供的通用输入,尤其关注:
|
|
33
|
+
|
|
34
|
+
- 用户确认的目标、语言和阶段名。
|
|
35
|
+
- `reference/workflow-protocol.json` 的阶段顺序、插槽、`requiredSkillCalls` 和恢复路径。
|
|
36
|
+
- 脚本作者返回的 `status`、`init`、`next`、`NEXT:`、`SKILL:` 和 guard 契约。
|
|
37
|
+
- `/comet` 定制场景下必须保留的 open / design / build / verify / archive 边界。
|
|
38
|
+
|
|
39
|
+
使用文件交接:主会话提供路径,不粘贴大段全文。不要继承主会话历史;只使用本 brief、通用输入、脚本契约和 reference 证据。
|
|
40
|
+
|
|
41
|
+
## 派发模板
|
|
42
|
+
|
|
43
|
+
主会话派发时使用当前平台的 subagent 机制,形状应包含:
|
|
44
|
+
|
|
45
|
+
```text
|
|
46
|
+
description: "编写 <bundle-name> 的 workflow entry"
|
|
47
|
+
model: <必须显式指定 model>
|
|
48
|
+
prompt:
|
|
49
|
+
你是 workflow entry 作者 subagent。
|
|
50
|
+
先读取本 brief、通用输入路径、脚本契约路径、workflow protocol 路径和报告文件路径。
|
|
51
|
+
开始前先提出问题:如果启动路由、恢复路径、当前阶段判定或用户停顿点不清楚,先返回 NEEDS_CONTEXT。
|
|
52
|
+
不要猜测或自行补全缺失流程。
|
|
53
|
+
只写 entry SKILL.md 草稿,不写 internal Node Skill,不写 Bundle state,不执行候选脚本。
|
|
54
|
+
Decision Core 必须包含四个子节:### 自动节点检测(Step 0 意图检测 + Step 1 状态读取 + Resume 规则)、### 决策点(显式暂停表格)、### Red Flags(agent 想法 → 实际风险表格)。没有这些子节的 Decision Core 是 stub。
|
|
55
|
+
把完整 entry 草稿写入报告文件路径,并只返回 15 行以内状态摘要。
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## 输出要求
|
|
59
|
+
|
|
60
|
+
entry 草稿必须体现:
|
|
61
|
+
|
|
62
|
+
- 进入 Skill 后先读取 workflow 状态,不直接加载Node Skill。
|
|
63
|
+
- 未启动时先初始化状态,再查询 `next`。
|
|
64
|
+
- 只有脚本输出 `NEXT: auto` 和 `SKILL: <node-skill>` 后,才加载这一个 Node Skill。
|
|
65
|
+
- 阶段路线只能作为参考表,不能使用“立即执行”或“必须加载”这类执行指令。
|
|
66
|
+
- 对 `/comet` 定制,entry 必须列出必调槽位 Skill,但只能作为阶段内义务说明,不能变成 entry 立即执行清单。
|
|
67
|
+
- 用户停顿点、恢复路径和参考文件清楚可见。
|
|
68
|
+
- 对 `/comet` 定制,说明保留 open / design / build / verify / archive 主路径和阶段守卫。
|
|
69
|
+
|
|
70
|
+
禁止:
|
|
71
|
+
|
|
72
|
+
- 在 entry `SKILL.md` 中写多个 `**立即执行:**` Node Skill。
|
|
73
|
+
- 复制粘贴原 Skill 全文。
|
|
74
|
+
- 写 provider 前缀。
|
|
75
|
+
- 把审计报告、source hash、内部 metadata 泄漏到用户可见 `SKILL.md`。
|
|
76
|
+
|
|
77
|
+
## 自检
|
|
78
|
+
|
|
79
|
+
返回前逐项检查:
|
|
80
|
+
|
|
81
|
+
- Decision Core 包含全部四个必须子节:自动节点检测、决策点、Red Flags、Error Handling 或 Resume Rules。
|
|
82
|
+
- entry 只有一个主路由启动协议。
|
|
83
|
+
- entry 没有立即加载Node Skill 的清单。
|
|
84
|
+
- 阶段路线是参考,不是执行步骤。
|
|
85
|
+
- 自动推进引用脚本输出的 `NEXT:` 和 `SKILL:`。
|
|
86
|
+
- 中文用户可见文案没有混入英文流程句。
|
|
87
|
+
|
|
88
|
+
## 必须返回的 claim
|
|
89
|
+
|
|
90
|
+
- `workflow-entry`
|
|
91
|
+
|
|
92
|
+
缺少该 claim 时,Skill 审查必须阻塞。
|
|
93
|
+
|
|
94
|
+
## 状态返回
|
|
95
|
+
|
|
96
|
+
状态必须是 `DONE`、`DONE_WITH_CONCERNS`、`NEEDS_CONTEXT`、`BLOCKED`。
|
|
97
|
+
|
|
98
|
+
完整报告写入报告文件路径。返回给主会话的摘要只返回 15 行以内状态摘要,包含状态、报告文件路径、claim 列表、未解决疑虑和建议返工点。若状态是 `BLOCKED` 或 `NEEDS_CONTEXT`,必须直接说明缺什么上下文、尝试过什么、需要主会话如何处理。
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: comet-archive
|
|
3
|
-
description: "
|
|
3
|
+
description: "Use when Comet change 验证已通过,需要用户确认归档、合并 delta spec,或恢复 archive 阶段。"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Comet 阶段 5:归档(Archive)
|
|
@@ -15,27 +15,21 @@ description: "Comet 阶段 5:归档。用 /comet-archive 调用。按 OpenSpec
|
|
|
15
15
|
|
|
16
16
|
### 0. 输出语言约束
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
归档摘要和生命周期闭环说明必须使用 `"$COMET_BASH" "$COMET_STATE" get <name> language` 读取到的 Comet 配置产物语言。
|
|
19
19
|
|
|
20
20
|
### 0b. 入口状态验证(Entry Check)
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
按 `comet/reference/scripts.md` 定位脚本(定位 `comet-env.mjs`),然后执行入口验证;从任意入口恢复时先按 `comet/reference/context-recovery.md` 运行恢复检查:
|
|
23
23
|
|
|
24
24
|
```bash
|
|
25
|
-
|
|
26
|
-
if [ -z "$COMET_ENV" ]; then
|
|
27
|
-
echo "ERROR: comet-env.sh not found. Ensure the comet skill is installed." >&2
|
|
28
|
-
return 1
|
|
29
|
-
fi
|
|
30
|
-
. "$COMET_ENV"
|
|
31
|
-
"$COMET_BASH" "$COMET_STATE" check <name> archive
|
|
25
|
+
node "$COMET_STATE" check <name> archive
|
|
32
26
|
```
|
|
33
27
|
|
|
34
28
|
验证通过后继续 Step 1。验证失败时脚本会输出具体失败原因。
|
|
35
29
|
|
|
36
30
|
### 1. 归档前最终确认(阻塞点)
|
|
37
31
|
|
|
38
|
-
入口验证通过后,**必须按 `comet/reference/decision-point.md` 的协议暂停并等待用户确认是否立即归档**。不得在用户确认前运行 `
|
|
32
|
+
入口验证通过后,**必须按 `comet/reference/decision-point.md` 的协议暂停并等待用户确认是否立即归档**。不得在用户确认前运行 `node "$COMET_ARCHIVE" "<change-name>"`。
|
|
39
33
|
|
|
40
34
|
确认前必须向用户展示简短摘要:
|
|
41
35
|
- change 名称
|
|
@@ -45,7 +39,7 @@ fi
|
|
|
45
39
|
|
|
46
40
|
用户确认问题必须以单选题形式呈现,包含以下选项:
|
|
47
41
|
- 「确认归档」— 立即执行归档脚本,完成 spec 合并和 change 移动
|
|
48
|
-
- 「需要调整或重新验证」— 不执行归档;运行 `
|
|
42
|
+
- 「需要调整或重新验证」— 不执行归档;运行 `node "$COMET_STATE" transition <change-name> archive-reopen` 回到 `phase: verify`,再调用 `/comet-verify`。若验证阶段确认需要修复,再按 `/comet-verify` 的验证失败决策回到 `/comet-build`
|
|
49
43
|
- 「暂不归档」— 不执行归档,保留当前 `phase: archive` 状态,等待用户稍后再次调用 `/comet-archive`
|
|
50
44
|
|
|
51
45
|
只有用户选择「确认归档」后,才允许继续 Step 2。用户选择「需要调整或重新验证」后,必须先执行 `archive-reopen` 状态回退,不得手动编辑 `.comet.yaml`。
|
|
@@ -55,7 +49,7 @@ fi
|
|
|
55
49
|
运行归档脚本,自动完成以下全部步骤:
|
|
56
50
|
|
|
57
51
|
```bash
|
|
58
|
-
|
|
52
|
+
node "$COMET_ARCHIVE" "<change-name>"
|
|
59
53
|
```
|
|
60
54
|
|
|
61
55
|
脚本自动执行:
|
|
@@ -64,7 +58,7 @@ fi
|
|
|
64
58
|
3. Plan 前置元数据标注(archived-with)
|
|
65
59
|
4. 调用 OpenSpec archive 按 delta 语义合并主 spec 并移动 change 到归档目录
|
|
66
60
|
5. 校验主 spec 未残留 delta-only section 标题
|
|
67
|
-
6.
|
|
61
|
+
6. 在 OpenSpec 实际归档目录中更新 archived 状态,并协调 pending recovery 元数据
|
|
68
62
|
|
|
69
63
|
如脚本返回非零退出码,报告错误并停止。
|
|
70
64
|
如脚本返回零退出码,归档完成。
|
|
@@ -81,6 +75,22 @@ Spec 生命周期在此完成:
|
|
|
81
75
|
brainstorming → delta spec → 实施 → 验证 → 主 spec 合并 → design doc 标注 → 归档
|
|
82
76
|
```
|
|
83
77
|
|
|
78
|
+
### 4. 提交归档改动
|
|
79
|
+
|
|
80
|
+
归档脚本只移动文件和合并 spec,不会自动提交。归档完成后工作区会有以下未提交改动:
|
|
81
|
+
- change 目录从 `openspec/changes/<name>/` 移动到 `openspec/changes/archive/YYYY-MM-DD-<name>/`
|
|
82
|
+
- 主 spec 按 delta 语义合并的内容
|
|
83
|
+
- design doc / plan 的归档元数据标注
|
|
84
|
+
|
|
85
|
+
**必须提示用户提交这些归档改动**,否则归档成果会停留在工作区。展示待提交文件后建议执行:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
git add -A
|
|
89
|
+
git commit -m "chore: archive <change-name>"
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
如分支处理(阶段 4)选择尚未合并到主分支,提交后按所选方式(合并 / PR / 保持分支)一并收尾。
|
|
93
|
+
|
|
84
94
|
## 退出条件
|
|
85
95
|
|
|
86
96
|
- 归档脚本执行成功(退出码 0)
|
|
@@ -89,7 +99,7 @@ brainstorming → delta spec → 实施 → 验证 → 主 spec 合并 → desig
|
|
|
89
99
|
|
|
90
100
|
归档脚本会把 `openspec/changes/<name>/` 移动到 `openspec/changes/archive/YYYY-MM-DD-<name>/`。
|
|
91
101
|
|
|
92
|
-
> **WARNING**: 归档成功后**不要再对原 change 名运行** `
|
|
102
|
+
> **WARNING**: 归档成功后**不要再对原 change 名运行** `node "$COMET_GUARD" <change-name> archive`,因为原活跃目录已经不存在。误调会导致 guard 报错"change directory not found"。归档完整性以脚本退出码和归档目录状态为准。
|
|
93
103
|
|
|
94
104
|
## 完成
|
|
95
105
|
|
|
@@ -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,12 +102,12 @@ 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
|
|
|
118
112
|
**工作区隔离**:
|
|
119
113
|
|
|
@@ -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
|
**执行方式推荐规则**:
|
|
@@ -138,16 +132,16 @@ Subagent 完成后:
|
|
|
138
132
|
- 任务数 ≤ 2 且无跨模块依赖 → 推荐 B
|
|
139
133
|
- 来自 hotfix 路径 → 推荐 B
|
|
140
134
|
|
|
141
|
-
这是用户决策点。**必须按 `comet/reference/decision-point.md`
|
|
135
|
+
这是用户决策点。**必须按 `comet/reference/decision-point.md` 的协议暂停并等待用户明确选择隔离方式、执行方式、TDD 模式和代码审查模式**,不得根据推荐规则自行选择 `branch` 或 `worktree`,也不得根据推荐规则自行选择执行方式、TDD 模式或代码审查模式。推荐规则只能用于说明建议,不能替代用户确认。
|
|
142
136
|
|
|
143
|
-
用户选择后,更新 `isolation
|
|
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,21 +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>`
|
|
155
|
+
|
|
156
|
+
**代码审查模式**:
|
|
157
|
+
|
|
158
|
+
| 选项 | 含义 | 适用场景 |
|
|
159
|
+
|------|------|---------|
|
|
160
|
+
| `off` | 不自动派发代码审查 | 文档、配置、文案、小范围低风险任务 |
|
|
161
|
+
| `standard` | 默认不为每任务派发 reviewer,仅当任务命中风险信号时派发每任务 reviewer,外加一次最终轻量代码审查 | 默认推荐,适合大多数普通改动 |
|
|
162
|
+
| `thorough` | 为每个任务派发每任务 reviewer(spec + quality),外加一次最终完整审查 | 高风险、多模块、架构或安全相关改动 |
|
|
163
|
+
|
|
164
|
+
运行 `node "$COMET_STATE" set <name> review_mode <off|standard|thorough>`
|
|
161
165
|
|
|
162
166
|
`isolation` 是脚本级硬约束。full workflow 初始化时可以为 `null`,但只允许存在到本步骤之前。若保持 `null`,`build → verify` 的 guard 和 `comet-state transition build-complete` 都会失败。
|
|
163
167
|
|
|
164
|
-
`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` 都会失败。
|
|
169
|
+
|
|
170
|
+
`tdd_mode` 是脚本级硬约束。full workflow 离开 build 阶段前 `tdd_mode` 必须已选择为 `tdd` 或 `direct`,否则 `comet-guard.mjs build --apply` 和 `comet-state transition build-complete` 都会失败。
|
|
165
171
|
|
|
166
|
-
`
|
|
172
|
+
`review_mode` 是脚本级硬约束。新建 full workflow 离开 build 阶段前 `review_mode` 必须已选择为 `off`、`standard` 或 `thorough`,否则 `comet-guard.mjs build --apply` 和 `comet-state transition build-complete` 都会失败。旧状态文件若没有该字段,按兼容路径继续,但恢复时应补写该字段。
|
|
167
173
|
|
|
168
|
-
`build_mode` 默认仅 hotfix/tweak
|
|
174
|
+
`build_mode` 默认仅 hotfix/tweak 预设使用 `direct`。full workflow 不得默认使用 `direct`。只有用户明确要求跳过计划执行技能,且你已记录显式 override 时,才允许:
|
|
169
175
|
|
|
170
176
|
```bash
|
|
171
|
-
|
|
172
|
-
|
|
177
|
+
node "$COMET_STATE" set <name> direct_override true
|
|
178
|
+
node "$COMET_STATE" set <name> build_mode direct
|
|
173
179
|
```
|
|
174
180
|
|
|
175
181
|
没有 `direct_override: true` 时,full workflow 的 `build_mode=direct` 会被 guard 和状态转换同时拦截。
|
|
@@ -200,9 +206,9 @@ git commit -m "chore: add implementation plan"
|
|
|
200
206
|
|
|
201
207
|
**执行计划**:必须按 `build_mode` 的真实运行位置处理。
|
|
202
208
|
|
|
203
|
-
- `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 配置产物语言输出`。按计划执行。
|
|
204
210
|
- `build_mode: subagent-driven-development`:主会话只负责协调,禁止直接编写实现代码。**立即执行:** 使用 Skill 工具加载 Superpowers `subagent-driven-development` 技能。技能加载后,读取 `comet/reference/subagent-dispatch.md` 获取 Comet 专属扩展(真实后台调度、任务隔离、勾选验证、TDD 约束、连续执行、上下文恢复),与技能工作流配合应用。若两者发生冲突,以更具体的 Comet 扩展为准。
|
|
205
|
-
- 如果当前平台没有真实后台 agent 调度能力,必须暂停并等待用户选择改用主窗口执行。用户选择改用主窗口执行后,必须先运行 `
|
|
211
|
+
- 如果当前平台没有真实后台 agent 调度能力,必须暂停并等待用户选择改用主窗口执行。用户选择改用主窗口执行后,必须先运行 `node "$COMET_STATE" set <name> build_mode executing-plans`,再按 `build_mode: executing-plans` 分支加载 Superpowers `executing-plans` 技能。用户未明确选择前,不得继续执行任务。
|
|
206
212
|
|
|
207
213
|
**TDD 模式执行约束**:
|
|
208
214
|
|
|
@@ -214,15 +220,19 @@ git commit -m "chore: add implementation plan"
|
|
|
214
220
|
|
|
215
221
|
**`executing-plans` review gate**:
|
|
216
222
|
|
|
217
|
-
|
|
223
|
+
在 `executing-plans` 下,主会话直接执行任务(没有隔离的 implementer subagent),因此不存在 `subagent-driven-development` 那样的每任务 reviewer。代码审查针对已完成的 diff 进行,并按 `review_mode` 分级:
|
|
224
|
+
|
|
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 可供逐任务审查。
|
|
218
228
|
|
|
219
|
-
|
|
220
|
-
- `requesting-code-review` 技能必须在 `
|
|
229
|
+
要求(适用于 `standard` 和 `thorough`):
|
|
230
|
+
- `requesting-code-review` 技能必须在 `node "$COMET_GUARD" <change-name> build --apply` 之前加载
|
|
221
231
|
- 若 `requesting-code-review` 技能不可用,跳过 review gate 但必须在 tasks.md 中记录 `<!-- review skipped: skill unavailable -->`,并继续 guard 流转
|
|
222
232
|
- CRITICAL review 发现(安全漏洞、数据丢失风险、构建/测试失败)必须先修复,不得带入 verify
|
|
223
233
|
- 非 CRITICAL review 发现如选择接受,必须在 tasks.md、commit body、验证报告草稿或其他持久产物中记录接受原因和影响范围
|
|
224
234
|
|
|
225
|
-
### 3b.
|
|
235
|
+
### 3b. 执行中异常调试(异常调试协议)
|
|
226
236
|
|
|
227
237
|
执行任务期间,只要运行程序、测试、构建或手动验证时出现崩溃、异常行为、测试失败或构建失败,必须使用 Skill 工具加载 Superpowers `systematic-debugging` 技能。在完成根因调查前,不得提出或实施源码修复。
|
|
228
238
|
|
|
@@ -256,7 +266,7 @@ git commit -m "chore: add implementation plan"
|
|
|
256
266
|
|
|
257
267
|
Build 是最长阶段,可能跨越大量任务。为支持上下文压缩后断点恢复:
|
|
258
268
|
|
|
259
|
-
- **每完成一个 task
|
|
269
|
+
- **每完成一个 task**:按当前执行分支和 `review_mode` 完成验收后再勾选对应任务并提交。`subagent-driven-development` 在 `off` 时不派发每任务 reviewer;`standard` 下仅当任务命中风险信号时派发;`thorough` 下每个任务都派发每任务 reviewer。所有模式都必须按任务唯一文本完成定向检查。可用 `grep -c '\- \[ \]' tasks.md` 检查剩余未勾选数,无需重新读取整个文件
|
|
260
270
|
- **上下文压缩后恢复**:按 `comet/reference/context-recovery.md` 执行,phase 参数为 `build`。
|
|
261
271
|
- **用户手动修改恢复**:按 `comet/reference/dirty-worktree.md` 协议处理未提交改动。该协议定义了检查步骤、归因分类和禁令。build 阶段的特殊处理:
|
|
262
272
|
1. 归因后,若 diff 暗示计划或 spec 已变化,按 Step 4「Spec 增量更新」分级处理
|
|
@@ -270,8 +280,9 @@ Build 是最长阶段,可能跨越大量任务。为支持上下文压缩后
|
|
|
270
280
|
- `isolation` 已写为 `branch` 或 `worktree`
|
|
271
281
|
- `build_mode` 已写为 `subagent-driven-development`、`executing-plans` 或带显式 override 的 `direct`;若为 `subagent-driven-development`,`subagent_dispatch` 必须为 `confirmed`
|
|
272
282
|
- `tdd_mode` 已写为 `tdd` 或 `direct`
|
|
273
|
-
-
|
|
274
|
-
-
|
|
283
|
+
- `review_mode` 已写为 `off`、`standard` 或 `thorough`
|
|
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` 无关)
|
|
275
286
|
|
|
276
287
|
Guard 会优先读取项目配置中的命令:
|
|
277
288
|
|
|
@@ -281,12 +292,12 @@ verify_command: <verify command>
|
|
|
281
292
|
```
|
|
282
293
|
|
|
283
294
|
配置位置可为 change 的 `.comet.yaml`,也可为仓库根目录的 `.comet.yaml` / `comet.yaml` / `.comet.yml` / `comet.yml`。
|
|
284
|
-
|
|
295
|
+
配置命令使用受限 shell 语法:允许命令词、引号、路径和用 `&&` 串联的顺序步骤;拒绝 `;`、管道、裸 `&`、`$` 和反引号。未配置时才回退到 `npm run build`、Maven 或 Cargo 的默认探测。构建失败时 guard 会打印失败命令输出,作为排查证据。
|
|
285
296
|
|
|
286
297
|
退出前运行阶段守卫推进 phase(此步骤与 `auto_transition` 无关):
|
|
287
298
|
|
|
288
299
|
```bash
|
|
289
|
-
|
|
300
|
+
node "$COMET_GUARD" <change-name> build --apply
|
|
290
301
|
```
|
|
291
302
|
|
|
292
303
|
状态文件自动更新为 `phase: verify`、`verify_result: pending`。
|
|
@@ -296,7 +307,7 @@ verify_command: <verify command>
|
|
|
296
307
|
按 `comet/reference/auto-transition.md` 执行。关键命令:
|
|
297
308
|
|
|
298
309
|
```bash
|
|
299
|
-
|
|
310
|
+
node "$COMET_STATE" next <change-name>
|
|
300
311
|
```
|
|
301
312
|
|
|
302
313
|
- `NEXT: auto` → 调用 `SKILL` 指向的 skill 进入下一阶段
|