@rpamis/comet 0.4.0-beta.1 → 0.4.0-beta.11
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 +279 -113
- package/assets/manifest.json +17 -5
- package/assets/skills/comet/SKILL.md +17 -256
- package/assets/skills/comet/reference/auto-transition.md +1 -1
- package/assets/skills/comet/reference/classic-layout.md +34 -0
- package/assets/skills/comet/reference/comet-yaml-fields.md +14 -8
- package/assets/skills/comet/reference/context-recovery.md +14 -4
- package/assets/skills/comet/reference/decision-point.md +11 -0
- package/assets/skills/comet/reference/file-structure.md +2 -2
- package/assets/skills/comet/reference/intent-frame.md +3 -3
- package/assets/skills/comet/reference/scripts.md +47 -15
- package/assets/skills/comet/reference/subagent-dispatch.md +8 -7
- package/assets/skills/comet/rules/comet-phase-guard.en.md +34 -31
- package/assets/skills/comet/rules/comet-phase-guard.md +34 -32
- package/assets/skills/comet/rules/comet-workflow-guard.en.md +32 -0
- package/assets/skills/comet/rules/comet-workflow-guard.md +32 -0
- package/assets/skills/comet/scripts/comet-entry-runtime.mjs +8074 -0
- package/assets/skills/comet/scripts/comet-hook-router.mjs +12086 -0
- package/assets/skills/comet/scripts/comet-resume-probe.mjs +3 -0
- package/assets/skills/comet/scripts/comet-runtime.mjs +10449 -4105
- package/assets/skills/comet-any/SKILL.md +5 -5
- package/assets/skills/comet-any/reference/authored-zone-example.md +10 -5
- package/assets/skills/comet-any/reference/authoring-subagents.md +1 -1
- package/assets/skills/comet-any/reference/bundle-authoring.md +2 -2
- package/assets/skills/comet-any/reference/subagents/pause-points-author.md +14 -11
- package/assets/skills/comet-any/reference/subagents/reference-author.md +1 -1
- package/assets/skills/comet-any/reference/subagents/script-author.md +1 -1
- package/assets/skills/comet-any/reference/subagents/skill-core-author.md +1 -1
- package/assets/skills/comet-any/reference/subagents/skill-reviewer.md +4 -2
- package/assets/skills/comet-any/reference/subagents/workflow-entry-author.md +8 -7
- package/assets/skills/comet-archive/SKILL.md +69 -26
- package/assets/skills/comet-build/SKILL.md +77 -58
- package/assets/skills/comet-classic/SKILL.md +295 -0
- package/assets/skills/comet-design/SKILL.md +40 -36
- package/assets/skills/comet-hotfix/SKILL.md +57 -35
- package/assets/skills/comet-native/SKILL.md +132 -0
- package/assets/skills/comet-native/reference/artifacts.md +141 -0
- package/assets/skills/comet-native/reference/clarification.md +54 -0
- package/assets/skills/comet-native/reference/commands.md +168 -0
- package/assets/skills/comet-native/reference/recovery.md +96 -0
- package/assets/skills/comet-native/scripts/comet-native-hook-guard.mjs +4 -0
- package/assets/skills/comet-native/scripts/comet-native-runtime.mjs +34165 -0
- package/assets/skills/comet-open/SKILL.md +119 -59
- package/assets/skills/comet-tweak/SKILL.md +52 -27
- package/assets/skills/comet-verify/SKILL.md +65 -73
- package/assets/skills-zh/comet/SKILL.md +17 -244
- package/assets/skills-zh/comet/reference/auto-transition.md +1 -1
- package/assets/skills-zh/comet/reference/classic-layout.md +34 -0
- package/assets/skills-zh/comet/reference/comet-yaml-fields.md +13 -8
- package/assets/skills-zh/comet/reference/context-recovery.md +14 -4
- package/assets/skills-zh/comet/reference/decision-point.md +11 -0
- package/assets/skills-zh/comet/reference/file-structure.md +2 -2
- package/assets/skills-zh/comet/reference/intent-frame.md +3 -3
- package/assets/skills-zh/comet/reference/scripts.md +47 -15
- package/assets/skills-zh/comet/reference/subagent-dispatch.md +8 -7
- package/assets/skills-zh/comet-any/SKILL.md +5 -5
- package/assets/skills-zh/comet-any/reference/authored-zone-example.md +10 -5
- package/assets/skills-zh/comet-any/reference/authoring-subagents.md +1 -1
- package/assets/skills-zh/comet-any/reference/bundle-authoring.md +2 -2
- package/assets/skills-zh/comet-any/reference/subagents/pause-points-author.md +14 -12
- package/assets/skills-zh/comet-any/reference/subagents/reference-author.md +1 -1
- package/assets/skills-zh/comet-any/reference/subagents/script-author.md +1 -1
- package/assets/skills-zh/comet-any/reference/subagents/skill-core-author.md +1 -1
- package/assets/skills-zh/comet-any/reference/subagents/skill-reviewer.md +4 -2
- package/assets/skills-zh/comet-any/reference/subagents/workflow-entry-author.md +8 -7
- package/assets/skills-zh/comet-archive/SKILL.md +69 -26
- package/assets/skills-zh/comet-build/SKILL.md +77 -58
- package/assets/skills-zh/comet-classic/SKILL.md +283 -0
- package/assets/skills-zh/comet-design/SKILL.md +40 -36
- package/assets/skills-zh/comet-hotfix/SKILL.md +56 -34
- package/assets/skills-zh/comet-native/SKILL.md +132 -0
- package/assets/skills-zh/comet-native/reference/artifacts.md +141 -0
- package/assets/skills-zh/comet-native/reference/clarification.md +54 -0
- package/assets/skills-zh/comet-native/reference/commands.md +168 -0
- package/assets/skills-zh/comet-native/reference/recovery.md +96 -0
- package/assets/skills-zh/comet-open/SKILL.md +118 -58
- package/assets/skills-zh/comet-tweak/SKILL.md +51 -26
- package/assets/skills-zh/comet-verify/SKILL.md +65 -73
- package/dist/app/cli/comet-banner.d.ts +25 -0
- package/dist/app/cli/comet-banner.d.ts.map +1 -0
- package/dist/app/cli/comet-banner.js +265 -0
- package/dist/app/cli/comet-banner.js.map +1 -0
- package/dist/app/cli/index.js +113 -16
- package/dist/app/cli/index.js.map +1 -1
- package/dist/app/commands/classic.d.ts +5 -0
- package/dist/app/commands/classic.d.ts.map +1 -0
- package/dist/app/commands/classic.js +32 -0
- package/dist/app/commands/classic.js.map +1 -0
- package/dist/app/commands/command-result.d.ts +6 -0
- package/dist/app/commands/command-result.d.ts.map +1 -0
- package/dist/app/commands/command-result.js +4 -0
- package/dist/app/commands/command-result.js.map +1 -0
- package/dist/app/commands/doctor.d.ts +4 -0
- package/dist/app/commands/doctor.d.ts.map +1 -1
- package/dist/app/commands/doctor.js +926 -95
- package/dist/app/commands/doctor.js.map +1 -1
- package/dist/app/commands/eval.d.ts +3 -1
- package/dist/app/commands/eval.d.ts.map +1 -1
- package/dist/app/commands/eval.js +80 -22
- package/dist/app/commands/eval.js.map +1 -1
- package/dist/app/commands/i18n.d.ts +1 -1
- package/dist/app/commands/i18n.d.ts.map +1 -1
- package/dist/app/commands/i18n.js +18 -6
- package/dist/app/commands/i18n.js.map +1 -1
- package/dist/app/commands/init.d.ts +13 -3
- package/dist/app/commands/init.d.ts.map +1 -1
- package/dist/app/commands/init.js +561 -72
- package/dist/app/commands/init.js.map +1 -1
- package/dist/app/commands/native.d.ts +2 -0
- package/dist/app/commands/native.d.ts.map +1 -0
- package/dist/app/commands/native.js +10 -0
- package/dist/app/commands/native.js.map +1 -0
- package/dist/app/commands/project-scope-selection.d.ts +13 -0
- package/dist/app/commands/project-scope-selection.d.ts.map +1 -0
- package/dist/app/commands/project-scope-selection.js +35 -0
- package/dist/app/commands/project-scope-selection.js.map +1 -0
- package/dist/app/commands/resume-probe.d.ts +12 -0
- package/dist/app/commands/resume-probe.d.ts.map +1 -0
- package/dist/app/commands/resume-probe.js +68 -0
- package/dist/app/commands/resume-probe.js.map +1 -0
- package/dist/app/commands/status.d.ts.map +1 -1
- package/dist/app/commands/status.js +70 -104
- package/dist/app/commands/status.js.map +1 -1
- package/dist/app/commands/uninstall.d.ts +5 -0
- package/dist/app/commands/uninstall.d.ts.map +1 -1
- package/dist/app/commands/uninstall.js +264 -53
- package/dist/app/commands/uninstall.js.map +1 -1
- package/dist/app/commands/update.d.ts +29 -5
- package/dist/app/commands/update.d.ts.map +1 -1
- package/dist/app/commands/update.js +1431 -127
- package/dist/app/commands/update.js.map +1 -1
- package/dist/app/commands/workflow.d.ts +6 -0
- package/dist/app/commands/workflow.d.ts.map +1 -0
- package/dist/app/commands/workflow.js +11 -0
- package/dist/app/commands/workflow.js.map +1 -0
- package/dist/config/repository-layout.json +29 -3
- package/dist/domains/bundle/bundle-platform.d.ts +1 -0
- package/dist/domains/bundle/bundle-platform.d.ts.map +1 -1
- package/dist/domains/bundle/bundle-platform.js +10 -4
- package/dist/domains/bundle/bundle-platform.js.map +1 -1
- package/dist/domains/bundle/eval-manifest-runtime.d.ts +8 -0
- package/dist/domains/bundle/eval-manifest-runtime.d.ts.map +1 -0
- package/dist/domains/bundle/eval-manifest-runtime.js +118 -0
- package/dist/domains/bundle/eval-manifest-runtime.js.map +1 -0
- package/dist/domains/bundle/eval-run-result.d.ts +22 -0
- package/dist/domains/bundle/eval-run-result.d.ts.map +1 -0
- package/dist/domains/bundle/eval-run-result.js +207 -0
- package/dist/domains/bundle/eval-run-result.js.map +1 -0
- package/dist/domains/bundle/eval.d.ts.map +1 -1
- package/dist/domains/bundle/eval.js +21 -24
- package/dist/domains/bundle/eval.js.map +1 -1
- package/dist/domains/bundle/factory.d.ts.map +1 -1
- package/dist/domains/bundle/factory.js +2 -9
- package/dist/domains/bundle/factory.js.map +1 -1
- package/dist/domains/bundle/review-summary.js +1 -1
- package/dist/domains/bundle/review-summary.js.map +1 -1
- package/dist/domains/bundle/state.d.ts.map +1 -1
- package/dist/domains/bundle/state.js +117 -2
- package/dist/domains/bundle/state.js.map +1 -1
- package/dist/domains/bundle/types.d.ts +1 -1
- package/dist/domains/bundle/types.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-archive-pointer.d.ts +8 -0
- package/dist/domains/comet-classic/classic-archive-pointer.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-archive-pointer.js +66 -0
- package/dist/domains/comet-classic/classic-archive-pointer.js.map +1 -0
- package/dist/domains/comet-classic/classic-archive.d.ts +1 -0
- package/dist/domains/comet-classic/classic-archive.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-archive.js +205 -114
- package/dist/domains/comet-classic/classic-archive.js.map +1 -1
- package/dist/domains/comet-classic/classic-branch-binding.d.ts +51 -0
- package/dist/domains/comet-classic/classic-branch-binding.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-branch-binding.js +107 -0
- package/dist/domains/comet-classic/classic-branch-binding.js.map +1 -0
- package/dist/domains/comet-classic/classic-cli.d.ts +3 -1
- package/dist/domains/comet-classic/classic-cli.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-cli.js +12 -3
- package/dist/domains/comet-classic/classic-cli.js.map +1 -1
- package/dist/domains/comet-classic/classic-command-checks.d.ts +20 -0
- package/dist/domains/comet-classic/classic-command-checks.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-command-checks.js +94 -0
- package/dist/domains/comet-classic/classic-command-checks.js.map +1 -0
- package/dist/domains/comet-classic/classic-command-context.d.ts +12 -0
- package/dist/domains/comet-classic/classic-command-context.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-command-context.js +42 -0
- package/dist/domains/comet-classic/classic-command-context.js.map +1 -0
- package/dist/domains/comet-classic/classic-current-change.d.ts +17 -0
- package/dist/domains/comet-classic/classic-current-change.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-current-change.js +112 -0
- package/dist/domains/comet-classic/classic-current-change.js.map +1 -0
- package/dist/domains/comet-classic/classic-diagnostics.d.ts +2 -1
- package/dist/domains/comet-classic/classic-diagnostics.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-diagnostics.js +54 -1
- package/dist/domains/comet-classic/classic-diagnostics.js.map +1 -1
- package/dist/domains/comet-classic/classic-evidence.d.ts +1 -0
- package/dist/domains/comet-classic/classic-evidence.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-evidence.js +101 -37
- package/dist/domains/comet-classic/classic-evidence.js.map +1 -1
- package/dist/domains/comet-classic/classic-guard.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-guard.js +229 -208
- package/dist/domains/comet-classic/classic-guard.js.map +1 -1
- package/dist/domains/comet-classic/classic-handoff.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-handoff.js +155 -107
- package/dist/domains/comet-classic/classic-handoff.js.map +1 -1
- package/dist/domains/comet-classic/classic-hook-guard.d.ts +9 -0
- package/dist/domains/comet-classic/classic-hook-guard.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-hook-guard.js +406 -54
- package/dist/domains/comet-classic/classic-hook-guard.js.map +1 -1
- package/dist/domains/comet-classic/classic-layout-initialization.d.ts +86 -0
- package/dist/domains/comet-classic/classic-layout-initialization.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-layout-initialization.js +813 -0
- package/dist/domains/comet-classic/classic-layout-initialization.js.map +1 -0
- package/dist/domains/comet-classic/classic-layout.d.ts +47 -0
- package/dist/domains/comet-classic/classic-layout.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-layout.js +227 -0
- package/dist/domains/comet-classic/classic-layout.js.map +1 -0
- package/dist/domains/comet-classic/classic-migrate.d.ts +4 -0
- package/dist/domains/comet-classic/classic-migrate.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-migrate.js +8 -12
- package/dist/domains/comet-classic/classic-migrate.js.map +1 -1
- package/dist/domains/comet-classic/classic-openspec-command.d.ts +4 -0
- package/dist/domains/comet-classic/classic-openspec-command.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-openspec-command.js +45 -0
- package/dist/domains/comet-classic/classic-openspec-command.js.map +1 -0
- package/dist/domains/comet-classic/classic-openspec-root.d.ts +13 -0
- package/dist/domains/comet-classic/classic-openspec-root.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-openspec-root.js +47 -0
- package/dist/domains/comet-classic/classic-openspec-root.js.map +1 -0
- package/dist/domains/comet-classic/classic-paths.d.ts +11 -1
- package/dist/domains/comet-classic/classic-paths.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-paths.js +87 -35
- package/dist/domains/comet-classic/classic-paths.js.map +1 -1
- package/dist/domains/comet-classic/classic-project-config.d.ts +16 -0
- package/dist/domains/comet-classic/classic-project-config.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-project-config.js +36 -0
- package/dist/domains/comet-classic/classic-project-config.js.map +1 -0
- package/dist/domains/comet-classic/classic-protected-path.d.ts +39 -0
- package/dist/domains/comet-classic/classic-protected-path.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-protected-path.js +69 -0
- package/dist/domains/comet-classic/classic-protected-path.js.map +1 -0
- package/dist/domains/comet-classic/classic-resolver.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-resolver.js +4 -4
- package/dist/domains/comet-classic/classic-resolver.js.map +1 -1
- package/dist/domains/comet-classic/classic-resume-probe-command.d.ts +3 -0
- package/dist/domains/comet-classic/classic-resume-probe-command.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-resume-probe-command.js +59 -0
- package/dist/domains/comet-classic/classic-resume-probe-command.js.map +1 -0
- package/dist/domains/comet-classic/classic-resume-probe-entry.d.ts +2 -0
- package/dist/domains/comet-classic/classic-resume-probe-entry.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-resume-probe-entry.js +4 -0
- package/dist/domains/comet-classic/classic-resume-probe-entry.js.map +1 -0
- package/dist/domains/comet-classic/classic-resume-probe.d.ts +29 -0
- package/dist/domains/comet-classic/classic-resume-probe.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-resume-probe.js +406 -0
- package/dist/domains/comet-classic/classic-resume-probe.js.map +1 -0
- package/dist/domains/comet-classic/classic-root-command.d.ts +5 -0
- package/dist/domains/comet-classic/classic-root-command.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-root-command.js +84 -0
- package/dist/domains/comet-classic/classic-root-command.js.map +1 -0
- package/dist/domains/comet-classic/classic-root-move.d.ts +119 -0
- package/dist/domains/comet-classic/classic-root-move.d.ts.map +1 -0
- package/dist/domains/comet-classic/classic-root-move.js +1737 -0
- package/dist/domains/comet-classic/classic-root-move.js.map +1 -0
- package/dist/domains/comet-classic/classic-runtime-run.d.ts +2 -1
- package/dist/domains/comet-classic/classic-runtime-run.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-runtime-run.js +278 -5
- package/dist/domains/comet-classic/classic-runtime-run.js.map +1 -1
- package/dist/domains/comet-classic/classic-state-command.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-state-command.js +342 -87
- package/dist/domains/comet-classic/classic-state-command.js.map +1 -1
- package/dist/domains/comet-classic/classic-state-events.d.ts +1 -1
- package/dist/domains/comet-classic/classic-state-events.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-state-events.js +3 -4
- package/dist/domains/comet-classic/classic-state-events.js.map +1 -1
- package/dist/domains/comet-classic/classic-state.d.ts +6 -4
- package/dist/domains/comet-classic/classic-state.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-state.js +20 -7
- package/dist/domains/comet-classic/classic-state.js.map +1 -1
- package/dist/domains/comet-classic/classic-store.d.ts +6 -1
- package/dist/domains/comet-classic/classic-store.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-store.js +36 -23
- package/dist/domains/comet-classic/classic-store.js.map +1 -1
- package/dist/domains/comet-classic/classic-transitions.d.ts +1 -1
- package/dist/domains/comet-classic/classic-transitions.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-transitions.js +37 -3
- package/dist/domains/comet-classic/classic-transitions.js.map +1 -1
- package/dist/domains/comet-classic/classic-validate-command.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-validate-command.js +40 -20
- package/dist/domains/comet-classic/classic-validate-command.js.map +1 -1
- package/dist/domains/comet-classic/index.d.ts +3 -0
- package/dist/domains/comet-classic/index.d.ts.map +1 -1
- package/dist/domains/comet-classic/index.js +3 -0
- package/dist/domains/comet-classic/index.js.map +1 -1
- package/dist/domains/comet-entry/current-selection-repair.d.ts +17 -0
- package/dist/domains/comet-entry/current-selection-repair.d.ts.map +1 -0
- package/dist/domains/comet-entry/current-selection-repair.js +19 -0
- package/dist/domains/comet-entry/current-selection-repair.js.map +1 -0
- package/dist/domains/comet-entry/current-selection.d.ts +28 -0
- package/dist/domains/comet-entry/current-selection.d.ts.map +1 -0
- package/dist/domains/comet-entry/current-selection.js +114 -0
- package/dist/domains/comet-entry/current-selection.js.map +1 -0
- package/dist/domains/comet-entry/entry-runtime-entry.d.ts +2 -0
- package/dist/domains/comet-entry/entry-runtime-entry.d.ts.map +1 -0
- package/dist/domains/comet-entry/entry-runtime-entry.js +3 -0
- package/dist/domains/comet-entry/entry-runtime-entry.js.map +1 -0
- package/dist/domains/comet-entry/entry-runtime.d.ts +7 -0
- package/dist/domains/comet-entry/entry-runtime.d.ts.map +1 -0
- package/dist/domains/comet-entry/entry-runtime.js +55 -0
- package/dist/domains/comet-entry/entry-runtime.js.map +1 -0
- package/dist/domains/comet-entry/hook-adapter.d.ts +6 -0
- package/dist/domains/comet-entry/hook-adapter.d.ts.map +1 -0
- package/dist/domains/comet-entry/hook-adapter.js +202 -0
- package/dist/domains/comet-entry/hook-adapter.js.map +1 -0
- package/dist/domains/comet-entry/hook-router-entry.d.ts +8 -0
- package/dist/domains/comet-entry/hook-router-entry.d.ts.map +1 -0
- package/dist/domains/comet-entry/hook-router-entry.js +88 -0
- package/dist/domains/comet-entry/hook-router-entry.js.map +1 -0
- package/dist/domains/comet-entry/hook-router.d.ts +32 -0
- package/dist/domains/comet-entry/hook-router.d.ts.map +1 -0
- package/dist/domains/comet-entry/hook-router.js +133 -0
- package/dist/domains/comet-entry/hook-router.js.map +1 -0
- package/dist/domains/comet-entry/hook-types.d.ts +20 -0
- package/dist/domains/comet-entry/hook-types.d.ts.map +1 -0
- package/dist/domains/comet-entry/hook-types.js +2 -0
- package/dist/domains/comet-entry/hook-types.js.map +1 -0
- package/dist/domains/comet-entry/init-workflow.d.ts +19 -0
- package/dist/domains/comet-entry/init-workflow.d.ts.map +1 -0
- package/dist/domains/comet-entry/init-workflow.js +132 -0
- package/dist/domains/comet-entry/init-workflow.js.map +1 -0
- package/dist/domains/comet-entry/project-status.d.ts +3 -0
- package/dist/domains/comet-entry/project-status.d.ts.map +1 -0
- package/dist/domains/comet-entry/project-status.js +291 -0
- package/dist/domains/comet-entry/project-status.js.map +1 -0
- package/dist/domains/comet-entry/resolve-entry.d.ts +3 -0
- package/dist/domains/comet-entry/resolve-entry.d.ts.map +1 -0
- package/dist/domains/comet-entry/resolve-entry.js +18 -0
- package/dist/domains/comet-entry/resolve-entry.js.map +1 -0
- package/dist/domains/comet-entry/resume-probe.d.ts +34 -0
- package/dist/domains/comet-entry/resume-probe.d.ts.map +1 -0
- package/dist/domains/comet-entry/resume-probe.js +462 -0
- package/dist/domains/comet-entry/resume-probe.js.map +1 -0
- package/dist/domains/comet-entry/types.d.ts +60 -0
- package/dist/domains/comet-entry/types.d.ts.map +1 -0
- package/dist/domains/comet-entry/types.js +2 -0
- package/dist/domains/comet-entry/types.js.map +1 -0
- package/dist/domains/comet-entry/workflow-resolution.d.ts +8 -0
- package/dist/domains/comet-entry/workflow-resolution.d.ts.map +1 -0
- package/dist/domains/comet-entry/workflow-resolution.js +16 -0
- package/dist/domains/comet-entry/workflow-resolution.js.map +1 -0
- package/dist/domains/comet-native/index.d.ts +35 -0
- package/dist/domains/comet-native/index.d.ts.map +1 -0
- package/dist/domains/comet-native/index.js +35 -0
- package/dist/domains/comet-native/index.js.map +1 -0
- package/dist/domains/comet-native/native-acceptance.d.ts +53 -0
- package/dist/domains/comet-native/native-acceptance.d.ts.map +1 -0
- package/dist/domains/comet-native/native-acceptance.js +658 -0
- package/dist/domains/comet-native/native-acceptance.js.map +1 -0
- package/dist/domains/comet-native/native-archive-content.d.ts +26 -0
- package/dist/domains/comet-native/native-archive-content.d.ts.map +1 -0
- package/dist/domains/comet-native/native-archive-content.js +159 -0
- package/dist/domains/comet-native/native-archive-content.js.map +1 -0
- package/dist/domains/comet-native/native-archive-inspection.d.ts +9 -0
- package/dist/domains/comet-native/native-archive-inspection.d.ts.map +1 -0
- package/dist/domains/comet-native/native-archive-inspection.js +97 -0
- package/dist/domains/comet-native/native-archive-inspection.js.map +1 -0
- package/dist/domains/comet-native/native-archive-preflight.d.ts +54 -0
- package/dist/domains/comet-native/native-archive-preflight.d.ts.map +1 -0
- package/dist/domains/comet-native/native-archive-preflight.js +222 -0
- package/dist/domains/comet-native/native-archive-preflight.js.map +1 -0
- package/dist/domains/comet-native/native-archive-transaction.d.ts +20 -0
- package/dist/domains/comet-native/native-archive-transaction.d.ts.map +1 -0
- package/dist/domains/comet-native/native-archive-transaction.js +1183 -0
- package/dist/domains/comet-native/native-archive-transaction.js.map +1 -0
- package/dist/domains/comet-native/native-archive.d.ts +36 -0
- package/dist/domains/comet-native/native-archive.d.ts.map +1 -0
- package/dist/domains/comet-native/native-archive.js +422 -0
- package/dist/domains/comet-native/native-archive.js.map +1 -0
- package/dist/domains/comet-native/native-artifacts.d.ts +10 -0
- package/dist/domains/comet-native/native-artifacts.d.ts.map +1 -0
- package/dist/domains/comet-native/native-artifacts.js +204 -0
- package/dist/domains/comet-native/native-artifacts.js.map +1 -0
- package/dist/domains/comet-native/native-atomic-file.d.ts +10 -0
- package/dist/domains/comet-native/native-atomic-file.d.ts.map +1 -0
- package/dist/domains/comet-native/native-atomic-file.js +179 -0
- package/dist/domains/comet-native/native-atomic-file.js.map +1 -0
- package/dist/domains/comet-native/native-bounded-file.d.ts +19 -0
- package/dist/domains/comet-native/native-bounded-file.d.ts.map +1 -0
- package/dist/domains/comet-native/native-bounded-file.js +184 -0
- package/dist/domains/comet-native/native-bounded-file.js.map +1 -0
- package/dist/domains/comet-native/native-build-evidence.d.ts +42 -0
- package/dist/domains/comet-native/native-build-evidence.d.ts.map +1 -0
- package/dist/domains/comet-native/native-build-evidence.js +257 -0
- package/dist/domains/comet-native/native-build-evidence.js.map +1 -0
- package/dist/domains/comet-native/native-canonical-hash.d.ts +10 -0
- package/dist/domains/comet-native/native-canonical-hash.d.ts.map +1 -0
- package/dist/domains/comet-native/native-canonical-hash.js +100 -0
- package/dist/domains/comet-native/native-canonical-hash.js.map +1 -0
- package/dist/domains/comet-native/native-change-recovery.d.ts +11 -0
- package/dist/domains/comet-native/native-change-recovery.d.ts.map +1 -0
- package/dist/domains/comet-native/native-change-recovery.js +15 -0
- package/dist/domains/comet-native/native-change-recovery.js.map +1 -0
- package/dist/domains/comet-native/native-change.d.ts +64 -0
- package/dist/domains/comet-native/native-change.d.ts.map +1 -0
- package/dist/domains/comet-native/native-change.js +738 -0
- package/dist/domains/comet-native/native-change.js.map +1 -0
- package/dist/domains/comet-native/native-check-receipt-model.d.ts +63 -0
- package/dist/domains/comet-native/native-check-receipt-model.d.ts.map +1 -0
- package/dist/domains/comet-native/native-check-receipt-model.js +352 -0
- package/dist/domains/comet-native/native-check-receipt-model.js.map +1 -0
- package/dist/domains/comet-native/native-check-receipt-storage.d.ts +10 -0
- package/dist/domains/comet-native/native-check-receipt-storage.d.ts.map +1 -0
- package/dist/domains/comet-native/native-check-receipt-storage.js +200 -0
- package/dist/domains/comet-native/native-check-receipt-storage.js.map +1 -0
- package/dist/domains/comet-native/native-check-receipt.d.ts +19 -0
- package/dist/domains/comet-native/native-check-receipt.d.ts.map +1 -0
- package/dist/domains/comet-native/native-check-receipt.js +453 -0
- package/dist/domains/comet-native/native-check-receipt.js.map +1 -0
- package/dist/domains/comet-native/native-check.d.ts +24 -0
- package/dist/domains/comet-native/native-check.d.ts.map +1 -0
- package/dist/domains/comet-native/native-check.js +38 -0
- package/dist/domains/comet-native/native-check.js.map +1 -0
- package/dist/domains/comet-native/native-checkpoint-journal.d.ts +13 -0
- package/dist/domains/comet-native/native-checkpoint-journal.d.ts.map +1 -0
- package/dist/domains/comet-native/native-checkpoint-journal.js +53 -0
- package/dist/domains/comet-native/native-checkpoint-journal.js.map +1 -0
- package/dist/domains/comet-native/native-checkpoint-storage.d.ts +43 -0
- package/dist/domains/comet-native/native-checkpoint-storage.d.ts.map +1 -0
- package/dist/domains/comet-native/native-checkpoint-storage.js +487 -0
- package/dist/domains/comet-native/native-checkpoint-storage.js.map +1 -0
- package/dist/domains/comet-native/native-cli-entry.d.ts +2 -0
- package/dist/domains/comet-native/native-cli-entry.d.ts.map +1 -0
- package/dist/domains/comet-native/native-cli-entry.js +18 -0
- package/dist/domains/comet-native/native-cli-entry.js.map +1 -0
- package/dist/domains/comet-native/native-cli.d.ts +7 -0
- package/dist/domains/comet-native/native-cli.d.ts.map +1 -0
- package/dist/domains/comet-native/native-cli.js +1256 -0
- package/dist/domains/comet-native/native-cli.js.map +1 -0
- package/dist/domains/comet-native/native-config.d.ts +23 -0
- package/dist/domains/comet-native/native-config.d.ts.map +1 -0
- package/dist/domains/comet-native/native-config.js +60 -0
- package/dist/domains/comet-native/native-config.js.map +1 -0
- package/dist/domains/comet-native/native-conflict-inspection.d.ts +17 -0
- package/dist/domains/comet-native/native-conflict-inspection.d.ts.map +1 -0
- package/dist/domains/comet-native/native-conflict-inspection.js +90 -0
- package/dist/domains/comet-native/native-conflict-inspection.js.map +1 -0
- package/dist/domains/comet-native/native-conflict-radar.d.ts +75 -0
- package/dist/domains/comet-native/native-conflict-radar.d.ts.map +1 -0
- package/dist/domains/comet-native/native-conflict-radar.js +326 -0
- package/dist/domains/comet-native/native-conflict-radar.js.map +1 -0
- package/dist/domains/comet-native/native-continuation.d.ts +12 -0
- package/dist/domains/comet-native/native-continuation.d.ts.map +1 -0
- package/dist/domains/comet-native/native-continuation.js +201 -0
- package/dist/domains/comet-native/native-continuation.js.map +1 -0
- package/dist/domains/comet-native/native-contract-files.d.ts +24 -0
- package/dist/domains/comet-native/native-contract-files.d.ts.map +1 -0
- package/dist/domains/comet-native/native-contract-files.js +66 -0
- package/dist/domains/comet-native/native-contract-files.js.map +1 -0
- package/dist/domains/comet-native/native-contract.d.ts +41 -0
- package/dist/domains/comet-native/native-contract.d.ts.map +1 -0
- package/dist/domains/comet-native/native-contract.js +142 -0
- package/dist/domains/comet-native/native-contract.js.map +1 -0
- package/dist/domains/comet-native/native-controller-trust.d.ts +21 -0
- package/dist/domains/comet-native/native-controller-trust.d.ts.map +1 -0
- package/dist/domains/comet-native/native-controller-trust.js +140 -0
- package/dist/domains/comet-native/native-controller-trust.js.map +1 -0
- package/dist/domains/comet-native/native-diagnostics.d.ts +25 -0
- package/dist/domains/comet-native/native-diagnostics.d.ts.map +1 -0
- package/dist/domains/comet-native/native-diagnostics.js +551 -0
- package/dist/domains/comet-native/native-diagnostics.js.map +1 -0
- package/dist/domains/comet-native/native-doctor.d.ts +12 -0
- package/dist/domains/comet-native/native-doctor.d.ts.map +1 -0
- package/dist/domains/comet-native/native-doctor.js +771 -0
- package/dist/domains/comet-native/native-doctor.js.map +1 -0
- package/dist/domains/comet-native/native-evidence-retention.d.ts +37 -0
- package/dist/domains/comet-native/native-evidence-retention.d.ts.map +1 -0
- package/dist/domains/comet-native/native-evidence-retention.js +916 -0
- package/dist/domains/comet-native/native-evidence-retention.js.map +1 -0
- package/dist/domains/comet-native/native-evidence-storage.d.ts +54 -0
- package/dist/domains/comet-native/native-evidence-storage.d.ts.map +1 -0
- package/dist/domains/comet-native/native-evidence-storage.js +401 -0
- package/dist/domains/comet-native/native-evidence-storage.js.map +1 -0
- package/dist/domains/comet-native/native-file-identity.d.ts +3 -0
- package/dist/domains/comet-native/native-file-identity.d.ts.map +1 -0
- package/dist/domains/comet-native/native-file-identity.js +2 -0
- package/dist/domains/comet-native/native-file-identity.js.map +1 -0
- package/dist/domains/comet-native/native-findings.d.ts +8 -0
- package/dist/domains/comet-native/native-findings.d.ts.map +1 -0
- package/dist/domains/comet-native/native-findings.js +254 -0
- package/dist/domains/comet-native/native-findings.js.map +1 -0
- package/dist/domains/comet-native/native-guards.d.ts +8 -0
- package/dist/domains/comet-native/native-guards.d.ts.map +1 -0
- package/dist/domains/comet-native/native-guards.js +140 -0
- package/dist/domains/comet-native/native-guards.js.map +1 -0
- package/dist/domains/comet-native/native-hash.d.ts +3 -0
- package/dist/domains/comet-native/native-hash.d.ts.map +1 -0
- package/dist/domains/comet-native/native-hash.js +12 -0
- package/dist/domains/comet-native/native-hash.js.map +1 -0
- package/dist/domains/comet-native/native-hook-guard.d.ts +17 -0
- package/dist/domains/comet-native/native-hook-guard.d.ts.map +1 -0
- package/dist/domains/comet-native/native-hook-guard.js +154 -0
- package/dist/domains/comet-native/native-hook-guard.js.map +1 -0
- package/dist/domains/comet-native/native-independent-review.d.ts +28 -0
- package/dist/domains/comet-native/native-independent-review.d.ts.map +1 -0
- package/dist/domains/comet-native/native-independent-review.js +134 -0
- package/dist/domains/comet-native/native-independent-review.js.map +1 -0
- package/dist/domains/comet-native/native-lock.d.ts +47 -0
- package/dist/domains/comet-native/native-lock.d.ts.map +1 -0
- package/dist/domains/comet-native/native-lock.js +390 -0
- package/dist/domains/comet-native/native-lock.js.map +1 -0
- package/dist/domains/comet-native/native-mutation-lock.d.ts +5 -0
- package/dist/domains/comet-native/native-mutation-lock.d.ts.map +1 -0
- package/dist/domains/comet-native/native-mutation-lock.js +66 -0
- package/dist/domains/comet-native/native-mutation-lock.js.map +1 -0
- package/dist/domains/comet-native/native-paths.d.ts +10 -0
- package/dist/domains/comet-native/native-paths.d.ts.map +1 -0
- package/dist/domains/comet-native/native-paths.js +160 -0
- package/dist/domains/comet-native/native-paths.js.map +1 -0
- package/dist/domains/comet-native/native-progress-checkpoint.d.ts +13 -0
- package/dist/domains/comet-native/native-progress-checkpoint.d.ts.map +1 -0
- package/dist/domains/comet-native/native-progress-checkpoint.js +104 -0
- package/dist/domains/comet-native/native-progress-checkpoint.js.map +1 -0
- package/dist/domains/comet-native/native-protected-file.d.ts +113 -0
- package/dist/domains/comet-native/native-protected-file.d.ts.map +1 -0
- package/dist/domains/comet-native/native-protected-file.js +510 -0
- package/dist/domains/comet-native/native-protected-file.js.map +1 -0
- package/dist/domains/comet-native/native-redaction.d.ts +2 -0
- package/dist/domains/comet-native/native-redaction.d.ts.map +1 -0
- package/dist/domains/comet-native/native-redaction.js +18 -0
- package/dist/domains/comet-native/native-redaction.js.map +1 -0
- package/dist/domains/comet-native/native-repair-integration.d.ts +46 -0
- package/dist/domains/comet-native/native-repair-integration.d.ts.map +1 -0
- package/dist/domains/comet-native/native-repair-integration.js +235 -0
- package/dist/domains/comet-native/native-repair-integration.js.map +1 -0
- package/dist/domains/comet-native/native-repair-runtime.d.ts +78 -0
- package/dist/domains/comet-native/native-repair-runtime.d.ts.map +1 -0
- package/dist/domains/comet-native/native-repair-runtime.js +593 -0
- package/dist/domains/comet-native/native-repair-runtime.js.map +1 -0
- package/dist/domains/comet-native/native-repair-stagnation.d.ts +89 -0
- package/dist/domains/comet-native/native-repair-stagnation.d.ts.map +1 -0
- package/dist/domains/comet-native/native-repair-stagnation.js +308 -0
- package/dist/domains/comet-native/native-repair-stagnation.js.map +1 -0
- package/dist/domains/comet-native/native-resume-view.d.ts +14 -0
- package/dist/domains/comet-native/native-resume-view.d.ts.map +1 -0
- package/dist/domains/comet-native/native-resume-view.js +105 -0
- package/dist/domains/comet-native/native-resume-view.js.map +1 -0
- package/dist/domains/comet-native/native-review-contract.d.ts +6 -0
- package/dist/domains/comet-native/native-review-contract.d.ts.map +1 -0
- package/dist/domains/comet-native/native-review-contract.js +6 -0
- package/dist/domains/comet-native/native-review-contract.js.map +1 -0
- package/dist/domains/comet-native/native-review-identity.d.ts +50 -0
- package/dist/domains/comet-native/native-review-identity.d.ts.map +1 -0
- package/dist/domains/comet-native/native-review-identity.js +209 -0
- package/dist/domains/comet-native/native-review-identity.js.map +1 -0
- package/dist/domains/comet-native/native-review-signer.d.ts +24 -0
- package/dist/domains/comet-native/native-review-signer.d.ts.map +1 -0
- package/dist/domains/comet-native/native-review-signer.js +125 -0
- package/dist/domains/comet-native/native-review-signer.js.map +1 -0
- package/dist/domains/comet-native/native-review-trust.d.ts +35 -0
- package/dist/domains/comet-native/native-review-trust.d.ts.map +1 -0
- package/dist/domains/comet-native/native-review-trust.js +176 -0
- package/dist/domains/comet-native/native-review-trust.js.map +1 -0
- package/dist/domains/comet-native/native-revision.d.ts +20 -0
- package/dist/domains/comet-native/native-revision.d.ts.map +1 -0
- package/dist/domains/comet-native/native-revision.js +32 -0
- package/dist/domains/comet-native/native-revision.js.map +1 -0
- package/dist/domains/comet-native/native-root-move.d.ts +20 -0
- package/dist/domains/comet-native/native-root-move.d.ts.map +1 -0
- package/dist/domains/comet-native/native-root-move.js +818 -0
- package/dist/domains/comet-native/native-root-move.js.map +1 -0
- package/dist/domains/comet-native/native-run-consistency.d.ts +3 -0
- package/dist/domains/comet-native/native-run-consistency.d.ts.map +1 -0
- package/dist/domains/comet-native/native-run-consistency.js +136 -0
- package/dist/domains/comet-native/native-run-consistency.js.map +1 -0
- package/dist/domains/comet-native/native-run-store.d.ts +41 -0
- package/dist/domains/comet-native/native-run-store.d.ts.map +1 -0
- package/dist/domains/comet-native/native-run-store.js +452 -0
- package/dist/domains/comet-native/native-run-store.js.map +1 -0
- package/dist/domains/comet-native/native-runtime-package.d.ts +16 -0
- package/dist/domains/comet-native/native-runtime-package.d.ts.map +1 -0
- package/dist/domains/comet-native/native-runtime-package.js +72 -0
- package/dist/domains/comet-native/native-runtime-package.js.map +1 -0
- package/dist/domains/comet-native/native-schema-migration.d.ts +11 -0
- package/dist/domains/comet-native/native-schema-migration.d.ts.map +1 -0
- package/dist/domains/comet-native/native-schema-migration.js +900 -0
- package/dist/domains/comet-native/native-schema-migration.js.map +1 -0
- package/dist/domains/comet-native/native-selection.d.ts +12 -0
- package/dist/domains/comet-native/native-selection.d.ts.map +1 -0
- package/dist/domains/comet-native/native-selection.js +52 -0
- package/dist/domains/comet-native/native-selection.js.map +1 -0
- package/dist/domains/comet-native/native-sensitive-paths.d.ts +7 -0
- package/dist/domains/comet-native/native-sensitive-paths.d.ts.map +1 -0
- package/dist/domains/comet-native/native-sensitive-paths.js +69 -0
- package/dist/domains/comet-native/native-sensitive-paths.js.map +1 -0
- package/dist/domains/comet-native/native-snapshot.d.ts +78 -0
- package/dist/domains/comet-native/native-snapshot.d.ts.map +1 -0
- package/dist/domains/comet-native/native-snapshot.js +2572 -0
- package/dist/domains/comet-native/native-snapshot.js.map +1 -0
- package/dist/domains/comet-native/native-specs.d.ts +12 -0
- package/dist/domains/comet-native/native-specs.d.ts.map +1 -0
- package/dist/domains/comet-native/native-specs.js +270 -0
- package/dist/domains/comet-native/native-specs.js.map +1 -0
- package/dist/domains/comet-native/native-trajectory-limits.d.ts +7 -0
- package/dist/domains/comet-native/native-trajectory-limits.d.ts.map +1 -0
- package/dist/domains/comet-native/native-trajectory-limits.js +13 -0
- package/dist/domains/comet-native/native-trajectory-limits.js.map +1 -0
- package/dist/domains/comet-native/native-trajectory-recovery.d.ts +37 -0
- package/dist/domains/comet-native/native-trajectory-recovery.d.ts.map +1 -0
- package/dist/domains/comet-native/native-trajectory-recovery.js +133 -0
- package/dist/domains/comet-native/native-trajectory-recovery.js.map +1 -0
- package/dist/domains/comet-native/native-trajectory.d.ts +16 -0
- package/dist/domains/comet-native/native-trajectory.d.ts.map +1 -0
- package/dist/domains/comet-native/native-trajectory.js +27 -0
- package/dist/domains/comet-native/native-trajectory.js.map +1 -0
- package/dist/domains/comet-native/native-transaction.d.ts +45 -0
- package/dist/domains/comet-native/native-transaction.d.ts.map +1 -0
- package/dist/domains/comet-native/native-transaction.js +846 -0
- package/dist/domains/comet-native/native-transaction.js.map +1 -0
- package/dist/domains/comet-native/native-transition-evidence.d.ts +4 -0
- package/dist/domains/comet-native/native-transition-evidence.d.ts.map +1 -0
- package/dist/domains/comet-native/native-transition-evidence.js +27 -0
- package/dist/domains/comet-native/native-transition-evidence.js.map +1 -0
- package/dist/domains/comet-native/native-transition-journal.d.ts +30 -0
- package/dist/domains/comet-native/native-transition-journal.d.ts.map +1 -0
- package/dist/domains/comet-native/native-transition-journal.js +819 -0
- package/dist/domains/comet-native/native-transition-journal.js.map +1 -0
- package/dist/domains/comet-native/native-transitions.d.ts +15 -0
- package/dist/domains/comet-native/native-transitions.d.ts.map +1 -0
- package/dist/domains/comet-native/native-transitions.js +683 -0
- package/dist/domains/comet-native/native-transitions.js.map +1 -0
- package/dist/domains/comet-native/native-types.d.ts +547 -0
- package/dist/domains/comet-native/native-types.d.ts.map +1 -0
- package/dist/domains/comet-native/native-types.js +8 -0
- package/dist/domains/comet-native/native-types.js.map +1 -0
- package/dist/domains/comet-native/native-verification-evidence.d.ts +136 -0
- package/dist/domains/comet-native/native-verification-evidence.d.ts.map +1 -0
- package/dist/domains/comet-native/native-verification-evidence.js +824 -0
- package/dist/domains/comet-native/native-verification-evidence.js.map +1 -0
- package/dist/domains/comet-native/native-verification-receipt-runtime.d.ts +188 -0
- package/dist/domains/comet-native/native-verification-receipt-runtime.d.ts.map +1 -0
- package/dist/domains/comet-native/native-verification-receipt-runtime.js +1129 -0
- package/dist/domains/comet-native/native-verification-receipt-runtime.js.map +1 -0
- package/dist/domains/comet-native/native-verification-receipt.d.ts +165 -0
- package/dist/domains/comet-native/native-verification-receipt.d.ts.map +1 -0
- package/dist/domains/comet-native/native-verification-receipt.js +636 -0
- package/dist/domains/comet-native/native-verification-receipt.js.map +1 -0
- package/dist/domains/comet-native/native-verification-runtime.d.ts +61 -0
- package/dist/domains/comet-native/native-verification-runtime.d.ts.map +1 -0
- package/dist/domains/comet-native/native-verification-runtime.js +609 -0
- package/dist/domains/comet-native/native-verification-runtime.js.map +1 -0
- package/dist/domains/comet-native/native-verification-scope.d.ts +118 -0
- package/dist/domains/comet-native/native-verification-scope.d.ts.map +1 -0
- package/dist/domains/comet-native/native-verification-scope.js +1045 -0
- package/dist/domains/comet-native/native-verification-scope.js.map +1 -0
- package/dist/domains/comet-native/native-workspace.d.ts +46 -0
- package/dist/domains/comet-native/native-workspace.d.ts.map +1 -0
- package/dist/domains/comet-native/native-workspace.js +276 -0
- package/dist/domains/comet-native/native-workspace.js.map +1 -0
- package/dist/domains/dashboard/collector.d.ts.map +1 -1
- package/dist/domains/dashboard/collector.js +182 -75
- package/dist/domains/dashboard/collector.js.map +1 -1
- package/dist/domains/dashboard/native-adapter.d.ts +157 -0
- package/dist/domains/dashboard/native-adapter.d.ts.map +1 -0
- package/dist/domains/dashboard/native-adapter.js +302 -0
- package/dist/domains/dashboard/native-adapter.js.map +1 -0
- package/dist/domains/dashboard/native-collector.d.ts +6 -0
- package/dist/domains/dashboard/native-collector.d.ts.map +1 -0
- package/dist/domains/dashboard/native-collector.js +289 -0
- package/dist/domains/dashboard/native-collector.js.map +1 -0
- package/dist/domains/dashboard/types.d.ts +10 -0
- package/dist/domains/dashboard/types.d.ts.map +1 -1
- package/dist/domains/dashboard/verify-parser.d.ts.map +1 -1
- package/dist/domains/dashboard/verify-parser.js +37 -31
- package/dist/domains/dashboard/verify-parser.js.map +1 -1
- package/dist/domains/dashboard/web/assets/_commonjsHelpers-CqkleIqs.js +1 -0
- package/dist/domains/dashboard/web/assets/arc-BXWNV2Qv.js +1 -0
- package/dist/domains/dashboard/web/assets/architectureDiagram-3BPJPVTR-CjVHPivo.js +36 -0
- package/dist/domains/dashboard/web/assets/blockDiagram-GPEHLZMM-P2PGImSM.js +132 -0
- package/dist/domains/dashboard/web/assets/c4Diagram-AAUBKEIU-fTj6Xhs1.js +10 -0
- package/dist/domains/dashboard/web/assets/channel--JtnhJr8.js +1 -0
- package/dist/domains/dashboard/web/assets/chunk-2J33WTMH-BjFDZ5yo.js +1 -0
- package/dist/domains/dashboard/web/assets/chunk-4BX2VUAB-BAUkbZdT.js +1 -0
- package/dist/domains/dashboard/web/assets/chunk-55IACEB6-DBmuiYme.js +1 -0
- package/dist/domains/dashboard/web/assets/chunk-727SXJPM-Do9ufCgY.js +206 -0
- package/dist/domains/dashboard/web/assets/chunk-AQP2D5EJ-qRQWlB5d.js +231 -0
- package/dist/domains/dashboard/web/assets/chunk-FMBD7UC4-BzDzeJ4_.js +15 -0
- package/dist/domains/dashboard/web/assets/chunk-ND2GUHAM-OQcAmIvL.js +1 -0
- package/dist/domains/dashboard/web/assets/chunk-QZHKN3VN-BiRfH4d2.js +1 -0
- package/dist/domains/dashboard/web/assets/classDiagram-4FO5ZUOK-BRGmx8Iz.js +1 -0
- package/dist/domains/dashboard/web/assets/classDiagram-v2-Q7XG4LA2-BRGmx8Iz.js +1 -0
- package/dist/domains/dashboard/web/assets/cose-bilkent-S5V4N54A-CZk37fGn.js +1 -0
- package/dist/domains/dashboard/web/assets/cynefin-VYW2F7L2-B3F-qRTJ.js +166 -0
- package/dist/domains/dashboard/web/assets/cytoscape.esm-D3_iZ_3b.js +321 -0
- package/dist/domains/dashboard/web/assets/dagre-BM42HDAG-D5BQ0eqN.js +4 -0
- package/dist/domains/dashboard/web/assets/defaultLocale-DX6XiGOO.js +1 -0
- package/dist/domains/dashboard/web/assets/demo-BuVau32v.js +25 -0
- package/dist/domains/dashboard/web/assets/diagram-2AECGRRQ-33mXstha.js +43 -0
- package/dist/domains/dashboard/web/assets/diagram-5GNKFQAL-BWHCMFvD.js +10 -0
- package/dist/domains/dashboard/web/assets/diagram-KO2AKTUF-DrPGimEt.js +3 -0
- package/dist/domains/dashboard/web/assets/diagram-LMA3HP47-BBlsg7jG.js +24 -0
- package/dist/domains/dashboard/web/assets/diagram-OG6HWLK6-CsaFSpHi.js +24 -0
- package/dist/domains/dashboard/web/assets/erDiagram-TEJ5UH35-CoB0mzhk.js +85 -0
- package/dist/domains/dashboard/web/assets/flowDiagram-I6XJVG4X-lT53XfSE.js +162 -0
- package/dist/domains/dashboard/web/assets/ganttDiagram-6RSMTGT7-D1SQ56fl.js +292 -0
- package/dist/domains/dashboard/web/assets/gitGraphDiagram-PVQCEYII-D4oDMS5x.js +106 -0
- package/dist/domains/dashboard/web/assets/graph--OzhPTMs.js +1 -0
- package/dist/domains/dashboard/web/assets/index-D-AGxvI4.css +1 -0
- package/dist/domains/dashboard/web/assets/index-DlSYK56b.js +139 -0
- package/dist/domains/dashboard/web/assets/index-Msce_H_q.js +24 -0
- package/dist/domains/dashboard/web/assets/index-QO0z6F4w.js +10 -0
- package/dist/domains/dashboard/web/assets/infoDiagram-5YYISTIA-BeICn98s.js +2 -0
- package/dist/domains/dashboard/web/assets/init-Gi6I4Gst.js +1 -0
- package/dist/domains/dashboard/web/assets/ishikawaDiagram-YF4QCWOH-Dkspu33d.js +70 -0
- package/dist/domains/dashboard/web/assets/journeyDiagram-JHISSGLW-C-EM1sZl.js +139 -0
- package/dist/domains/dashboard/web/assets/kanban-definition-UN3LZRKU-BTbB0IO2.js +89 -0
- package/dist/domains/dashboard/web/assets/katex-HP8lGamR.js +257 -0
- package/dist/domains/dashboard/web/assets/layout-SsrduOYp.js +1 -0
- package/dist/domains/dashboard/web/assets/linear-Cp0UrqDr.js +1 -0
- package/dist/domains/dashboard/web/assets/marked.esm-DECB3bxB.js +64 -0
- package/dist/domains/dashboard/web/assets/mermaid.core-CucmqsLW.js +301 -0
- package/dist/domains/dashboard/web/assets/mindmap-definition-RKZ34NQL-CjEshF1X.js +96 -0
- package/dist/domains/dashboard/web/assets/ordinal-Cboi1Yqb.js +1 -0
- package/dist/domains/dashboard/web/assets/pieDiagram-4H26LBE5-DrwFnX1b.js +30 -0
- package/dist/domains/dashboard/web/assets/purify.es-VaSPOPhr.js +3 -0
- package/dist/domains/dashboard/web/assets/quadrantDiagram-W4KKPZXB-CjG6pBR2.js +7 -0
- package/dist/domains/dashboard/web/assets/requirementDiagram-4Y6WPE33-BpUQVqCV.js +84 -0
- package/dist/domains/dashboard/web/assets/sankeyDiagram-5OEKKPKP-BeGkEvzR.js +40 -0
- package/dist/domains/dashboard/web/assets/sequenceDiagram-3UESZ5HK-sSTU3MCO.js +162 -0
- package/dist/domains/dashboard/web/assets/stateDiagram-AJRCARHV-CcFBc6qh.js +1 -0
- package/dist/domains/dashboard/web/assets/stateDiagram-v2-BHNVJYJU-D5zZYi4x.js +1 -0
- package/dist/domains/dashboard/web/assets/timeline-definition-PNZ67QCA-DCN7NjEs.js +120 -0
- package/dist/domains/dashboard/web/assets/vennDiagram-CIIHVFJN-DZAN1_rr.js +34 -0
- package/dist/domains/dashboard/web/assets/wardleyDiagram-YWT4CUSO-FfkJfr4C.js +78 -0
- package/dist/domains/dashboard/web/assets/xychartDiagram-2RQKCTM6-CD8B-EmR.js +7 -0
- package/dist/domains/dashboard/web/index.html +16 -16
- package/dist/domains/engine/protected-run-file.d.ts +15 -0
- package/dist/domains/engine/protected-run-file.d.ts.map +1 -0
- package/dist/domains/engine/protected-run-file.js +76 -0
- package/dist/domains/engine/protected-run-file.js.map +1 -0
- package/dist/domains/engine/run-store.d.ts +12 -11
- package/dist/domains/engine/run-store.d.ts.map +1 -1
- package/dist/domains/engine/run-store.js +46 -65
- package/dist/domains/engine/run-store.js.map +1 -1
- package/dist/domains/engine/state.d.ts +4 -3
- package/dist/domains/engine/state.d.ts.map +1 -1
- package/dist/domains/engine/state.js +10 -21
- package/dist/domains/engine/state.js.map +1 -1
- package/dist/domains/engine/storage-layout.d.ts +14 -0
- package/dist/domains/engine/storage-layout.d.ts.map +1 -0
- package/dist/domains/engine/storage-layout.js +32 -0
- package/dist/domains/engine/storage-layout.js.map +1 -0
- package/dist/domains/engine/storage-run.d.ts +9 -0
- package/dist/domains/engine/storage-run.d.ts.map +1 -0
- package/dist/domains/engine/storage-run.js +116 -0
- package/dist/domains/engine/storage-run.js.map +1 -0
- package/dist/domains/engine/types.d.ts +1 -1
- package/dist/domains/engine/types.d.ts.map +1 -1
- package/dist/domains/factory/package.d.ts.map +1 -1
- package/dist/domains/factory/package.js +562 -91
- package/dist/domains/factory/package.js.map +1 -1
- package/dist/domains/integrations/codegraph.d.ts +13 -2
- package/dist/domains/integrations/codegraph.d.ts.map +1 -1
- package/dist/domains/integrations/codegraph.js +160 -12
- package/dist/domains/integrations/codegraph.js.map +1 -1
- package/dist/domains/integrations/openspec.d.ts +12 -2
- package/dist/domains/integrations/openspec.d.ts.map +1 -1
- package/dist/domains/integrations/openspec.js +256 -47
- package/dist/domains/integrations/openspec.js.map +1 -1
- package/dist/domains/skill/find.js +8 -7
- package/dist/domains/skill/find.js.map +1 -1
- package/dist/domains/skill/json-object.d.ts +13 -0
- package/dist/domains/skill/json-object.d.ts.map +1 -0
- package/dist/domains/skill/json-object.js +24 -0
- package/dist/domains/skill/json-object.js.map +1 -0
- package/dist/domains/skill/languages.d.ts +2 -1
- package/dist/domains/skill/languages.d.ts.map +1 -1
- package/dist/domains/skill/languages.js +4 -1
- package/dist/domains/skill/languages.js.map +1 -1
- package/dist/domains/skill/managed-markdown.d.ts +14 -0
- package/dist/domains/skill/managed-markdown.d.ts.map +1 -0
- package/dist/domains/skill/managed-markdown.js +126 -0
- package/dist/domains/skill/managed-markdown.js.map +1 -0
- package/dist/domains/skill/platform-inspect.d.ts +13 -0
- package/dist/domains/skill/platform-inspect.d.ts.map +1 -0
- package/dist/domains/skill/platform-inspect.js +193 -0
- package/dist/domains/skill/platform-inspect.js.map +1 -0
- package/dist/domains/skill/platform-install.d.ts +38 -23
- package/dist/domains/skill/platform-install.d.ts.map +1 -1
- package/dist/domains/skill/platform-install.js +829 -230
- package/dist/domains/skill/platform-install.js.map +1 -1
- package/dist/domains/skill/project-instructions.d.ts +22 -0
- package/dist/domains/skill/project-instructions.d.ts.map +1 -0
- package/dist/domains/skill/project-instructions.js +69 -0
- package/dist/domains/skill/project-instructions.js.map +1 -0
- package/dist/domains/skill/uninstall.d.ts +9 -2
- package/dist/domains/skill/uninstall.d.ts.map +1 -1
- package/dist/domains/skill/uninstall.js +734 -158
- package/dist/domains/skill/uninstall.js.map +1 -1
- package/dist/domains/workflow-contract/builtins.d.ts +6 -0
- package/dist/domains/workflow-contract/builtins.d.ts.map +1 -1
- package/dist/domains/workflow-contract/builtins.js +149 -6
- package/dist/domains/workflow-contract/builtins.js.map +1 -1
- package/dist/domains/workflow-contract/contained-atomic-write.d.ts +21 -0
- package/dist/domains/workflow-contract/contained-atomic-write.d.ts.map +1 -0
- package/dist/domains/workflow-contract/contained-atomic-write.js +235 -0
- package/dist/domains/workflow-contract/contained-atomic-write.js.map +1 -0
- package/dist/domains/workflow-contract/index.d.ts +11 -1
- package/dist/domains/workflow-contract/index.d.ts.map +1 -1
- package/dist/domains/workflow-contract/index.js +7 -1
- package/dist/domains/workflow-contract/index.js.map +1 -1
- package/dist/domains/workflow-contract/normalize.d.ts.map +1 -1
- package/dist/domains/workflow-contract/normalize.js +30 -11
- package/dist/domains/workflow-contract/normalize.js.map +1 -1
- package/dist/domains/workflow-contract/project-config-reader.d.ts +24 -0
- package/dist/domains/workflow-contract/project-config-reader.d.ts.map +1 -0
- package/dist/domains/workflow-contract/project-config-reader.js +54 -0
- package/dist/domains/workflow-contract/project-config-reader.js.map +1 -0
- package/dist/domains/workflow-contract/project-config-transaction.d.ts +20 -0
- package/dist/domains/workflow-contract/project-config-transaction.d.ts.map +1 -0
- package/dist/domains/workflow-contract/project-config-transaction.js +293 -0
- package/dist/domains/workflow-contract/project-config-transaction.js.map +1 -0
- package/dist/domains/workflow-contract/project-config-writer.d.ts +13 -0
- package/dist/domains/workflow-contract/project-config-writer.d.ts.map +1 -0
- package/dist/domains/workflow-contract/project-config-writer.js +142 -0
- package/dist/domains/workflow-contract/project-config-writer.js.map +1 -0
- package/dist/domains/workflow-contract/project-config.d.ts +32 -0
- package/dist/domains/workflow-contract/project-config.d.ts.map +1 -0
- package/dist/domains/workflow-contract/project-config.js +1566 -0
- package/dist/domains/workflow-contract/project-config.js.map +1 -0
- package/dist/domains/workflow-contract/protected-project-path.d.ts +34 -0
- package/dist/domains/workflow-contract/protected-project-path.d.ts.map +1 -0
- package/dist/domains/workflow-contract/protected-project-path.js +162 -0
- package/dist/domains/workflow-contract/protected-project-path.js.map +1 -0
- package/dist/domains/workflow-contract/types.d.ts +67 -2
- package/dist/domains/workflow-contract/types.d.ts.map +1 -1
- package/dist/domains/workflow-contract/validation.d.ts.map +1 -1
- package/dist/domains/workflow-contract/validation.js +14 -5
- package/dist/domains/workflow-contract/validation.js.map +1 -1
- package/dist/platform/fs/file-identity.d.ts +9 -0
- package/dist/platform/fs/file-identity.d.ts.map +1 -0
- package/dist/platform/fs/file-identity.js +21 -0
- package/dist/platform/fs/file-identity.js.map +1 -0
- package/dist/platform/fs/file-system.d.ts +3 -3
- package/dist/platform/fs/file-system.d.ts.map +1 -1
- package/dist/platform/fs/file-system.js +31 -17
- package/dist/platform/fs/file-system.js.map +1 -1
- package/dist/platform/fs/race-safe-read.d.ts +47 -0
- package/dist/platform/fs/race-safe-read.d.ts.map +1 -0
- package/dist/platform/fs/race-safe-read.js +132 -0
- package/dist/platform/fs/race-safe-read.js.map +1 -0
- package/dist/platform/fs/trusted-readonly-file.d.ts +31 -0
- package/dist/platform/fs/trusted-readonly-file.d.ts.map +1 -0
- package/dist/platform/fs/trusted-readonly-file.js +107 -0
- package/dist/platform/fs/trusted-readonly-file.js.map +1 -0
- package/dist/platform/install/detect.d.ts +5 -2
- package/dist/platform/install/detect.d.ts.map +1 -1
- package/dist/platform/install/detect.js +14 -2
- package/dist/platform/install/detect.js.map +1 -1
- package/dist/platform/install/platform-targets.d.ts +8 -0
- package/dist/platform/install/platform-targets.d.ts.map +1 -0
- package/dist/platform/install/platform-targets.js +31 -0
- package/dist/platform/install/platform-targets.js.map +1 -0
- package/dist/platform/install/platforms.d.ts +10 -1
- package/dist/platform/install/platforms.d.ts.map +1 -1
- package/dist/platform/install/platforms.js +27 -4
- package/dist/platform/install/platforms.js.map +1 -1
- package/dist/platform/install/project-registry.d.ts +38 -0
- package/dist/platform/install/project-registry.d.ts.map +1 -0
- package/dist/platform/install/project-registry.js +213 -0
- package/dist/platform/install/project-registry.js.map +1 -0
- package/dist/platform/install/skill-root-owner.d.ts +15 -0
- package/dist/platform/install/skill-root-owner.d.ts.map +1 -0
- package/dist/platform/install/skill-root-owner.js +68 -0
- package/dist/platform/install/skill-root-owner.js.map +1 -0
- package/dist/platform/paths/git-worktree.d.ts +10 -0
- package/dist/platform/paths/git-worktree.d.ts.map +1 -0
- package/dist/platform/paths/git-worktree.js +43 -0
- package/dist/platform/paths/git-worktree.js.map +1 -0
- package/dist/platform/paths/repository-layout.d.ts +16 -0
- package/dist/platform/paths/repository-layout.d.ts.map +1 -1
- package/dist/platform/paths/repository-layout.js.map +1 -1
- package/dist/platform/process/terminate-process-tree.d.ts +3 -0
- package/dist/platform/process/terminate-process-tree.d.ts.map +1 -0
- package/dist/platform/process/terminate-process-tree.js +65 -0
- package/dist/platform/process/terminate-process-tree.js.map +1 -0
- package/eval/CLAUDE.md +43 -0
- package/eval/README.md +538 -0
- package/eval/langsmith/README.md +93 -0
- package/eval/langsmith/skills/README.md +5 -0
- package/eval/langsmith/tasks/README.md +5 -0
- package/eval/langsmith/tests/conftest.py +187 -0
- package/eval/langsmith/tests/tasks/test_tasks.py +287 -0
- package/eval/langsmith/treatments/README.md +5 -0
- package/eval/local/README.md +130 -0
- package/eval/local/regression_baseline.json +13 -0
- package/eval/local/report-style-demo-assets/quality_cost.en.svg +41 -0
- package/eval/local/report-style-demo-assets/quality_cost.zh.svg +41 -0
- package/eval/local/report-style-demo-assets/rubric_delta.en.svg +56 -0
- package/eval/local/report-style-demo-assets/rubric_delta.zh.svg +56 -0
- package/eval/local/report-style-demo-assets/task_outcomes.en.svg +46 -0
- package/eval/local/report-style-demo-assets/task_outcomes.zh.svg +46 -0
- package/eval/local/report-style-demo.html +867 -0
- package/eval/local/scripts/compare_baselines.py +1144 -0
- package/eval/local/scripts/generate_report_style_demo_charts.py +322 -0
- package/eval/local/scripts/regression_check.py +170 -0
- package/eval/local/scripts/render_readme_benchmark_figures.py +416 -0
- package/eval/local/scripts/rescore_rubric.py +120 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/SKILL.md +282 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/reference/auto-transition.md +27 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/reference/comet-yaml-fields.md +68 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/reference/context-recovery.md +35 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/reference/debug-gate.md +17 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/reference/decision-point.md +20 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/reference/dirty-worktree.md +59 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/reference/file-structure.md +28 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/reference/subagent-dispatch.md +113 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/rules/comet-phase-guard.md +125 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-archive.sh +311 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-env.sh +110 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-guard.sh +778 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-handoff.sh +390 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-hook-guard.sh +336 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-state.sh +1338 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039/scripts/comet-yaml-validate.sh +225 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039-archive/SKILL.md +100 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039-build/SKILL.md +304 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039-design/SKILL.md +263 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039-hotfix/SKILL.md +204 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039-open/SKILL.md +220 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039-tweak/SKILL.md +180 -0
- package/eval/local/skills/benchmarks/039-release/comet-classic-039-verify/SKILL.md +234 -0
- package/eval/local/skills/benchmarks/040-beta/comet/SKILL.md +261 -0
- package/eval/local/skills/benchmarks/040-beta/comet/reference/auto-transition.md +27 -0
- package/eval/local/skills/benchmarks/040-beta/comet/reference/comet-yaml-fields.md +73 -0
- package/eval/local/skills/benchmarks/040-beta/comet/reference/context-recovery.md +45 -0
- package/eval/local/skills/benchmarks/040-beta/comet/reference/debug-gate.md +33 -0
- package/eval/local/skills/benchmarks/040-beta/comet/reference/decision-point.md +31 -0
- package/eval/local/skills/benchmarks/040-beta/comet/reference/dirty-worktree.md +59 -0
- package/eval/local/skills/benchmarks/040-beta/comet/reference/file-structure.md +28 -0
- package/eval/local/skills/benchmarks/040-beta/comet/reference/intent-frame.md +74 -0
- package/eval/local/skills/benchmarks/040-beta/comet/reference/scripts.md +69 -0
- package/eval/local/skills/benchmarks/040-beta/comet/reference/subagent-dispatch.md +169 -0
- package/eval/local/skills/benchmarks/040-beta/comet/rules/comet-phase-guard.md +130 -0
- package/eval/local/skills/benchmarks/040-beta/comet/runtime/classic/checks.yaml +6 -0
- package/eval/local/skills/benchmarks/040-beta/comet/runtime/classic/guardrails.yaml +13 -0
- package/eval/local/skills/benchmarks/040-beta/comet/runtime/classic/skill.yaml +122 -0
- package/eval/local/skills/benchmarks/040-beta/comet/scripts/comet-archive.mjs +9515 -0
- package/eval/local/skills/benchmarks/040-beta/comet/scripts/comet-env.mjs +15 -0
- package/eval/local/skills/benchmarks/040-beta/comet/scripts/comet-guard.mjs +10173 -0
- package/eval/local/skills/benchmarks/040-beta/comet/scripts/comet-handoff.mjs +9491 -0
- package/eval/local/skills/benchmarks/040-beta/comet/scripts/comet-hook-guard.mjs +9175 -0
- package/eval/local/skills/benchmarks/040-beta/comet/scripts/comet-intent.mjs +404 -0
- package/eval/local/skills/benchmarks/040-beta/comet/scripts/comet-state.mjs +9273 -0
- package/eval/local/skills/benchmarks/040-beta/comet/scripts/comet-yaml-validate.mjs +7627 -0
- package/eval/local/skills/benchmarks/040-beta/comet-archive/SKILL.md +110 -0
- package/eval/local/skills/benchmarks/040-beta/comet-build/SKILL.md +315 -0
- package/eval/local/skills/benchmarks/040-beta/comet-design/SKILL.md +260 -0
- package/eval/local/skills/benchmarks/040-beta/comet-hotfix/SKILL.md +190 -0
- package/eval/local/skills/benchmarks/040-beta/comet-open/SKILL.md +210 -0
- package/eval/local/skills/benchmarks/040-beta/comet-tweak/SKILL.md +183 -0
- package/eval/local/skills/benchmarks/040-beta/comet-verify/SKILL.md +230 -0
- package/eval/local/skills/benchmarks/dependency/claude-md/comet-workflow/CLAUDE.md +12 -0
- package/eval/local/skills/benchmarks/dependency/openspec/openspec-apply-change/SKILL.md +156 -0
- package/eval/local/skills/benchmarks/dependency/openspec/openspec-archive-change/SKILL.md +114 -0
- package/eval/local/skills/benchmarks/dependency/openspec/openspec-bulk-archive-change/SKILL.md +246 -0
- package/eval/local/skills/benchmarks/dependency/openspec/openspec-continue-change/SKILL.md +118 -0
- package/eval/local/skills/benchmarks/dependency/openspec/openspec-explore/SKILL.md +288 -0
- package/eval/local/skills/benchmarks/dependency/openspec/openspec-ff-change/SKILL.md +101 -0
- package/eval/local/skills/benchmarks/dependency/openspec/openspec-new-change/SKILL.md +74 -0
- package/eval/local/skills/benchmarks/dependency/openspec/openspec-onboard/SKILL.md +554 -0
- package/eval/local/skills/benchmarks/dependency/openspec/openspec-propose/SKILL.md +110 -0
- package/eval/local/skills/benchmarks/dependency/openspec/openspec-sync-specs/SKILL.md +138 -0
- package/eval/local/skills/benchmarks/dependency/openspec/openspec-verify-change/SKILL.md +168 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/brainstorming/SKILL.md +159 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/brainstorming/scripts/frame-template.html +213 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/brainstorming/scripts/helper.js +167 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/brainstorming/scripts/server.cjs +723 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/brainstorming/scripts/start-server.sh +209 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/brainstorming/scripts/stop-server.sh +120 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/brainstorming/spec-document-reviewer-prompt.md +49 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/brainstorming/visual-companion.md +291 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/dispatching-parallel-agents/SKILL.md +185 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/executing-plans/SKILL.md +70 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/finishing-a-development-branch/SKILL.md +241 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/receiving-code-review/SKILL.md +213 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/requesting-code-review/SKILL.md +103 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/requesting-code-review/code-reviewer.md +172 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/subagent-driven-development/SKILL.md +418 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/subagent-driven-development/implementer-prompt.md +139 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/subagent-driven-development/scripts/review-package +44 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/subagent-driven-development/scripts/sdd-workspace +22 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/subagent-driven-development/scripts/task-brief +40 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/subagent-driven-development/task-reviewer-prompt.md +188 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/CREATION-LOG.md +119 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/SKILL.md +296 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/condition-based-waiting.md +115 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/defense-in-depth.md +122 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/find-polluter.sh +63 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/root-cause-tracing.md +169 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/test-academic.md +14 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/test-pressure-1.md +58 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/test-pressure-2.md +68 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/systematic-debugging/test-pressure-3.md +69 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/test-driven-development/SKILL.md +371 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/test-driven-development/testing-anti-patterns.md +299 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/using-git-worktrees/SKILL.md +202 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/verification-before-completion/SKILL.md +139 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/writing-plans/SKILL.md +174 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/writing-plans/plan-document-reviewer-prompt.md +49 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/writing-skills/SKILL.md +689 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/writing-skills/anthropic-best-practices.md +1150 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/writing-skills/examples/CLAUDE_MD_TESTING.md +189 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/writing-skills/graphviz-conventions.dot +172 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/writing-skills/persuasion-principles.md +187 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/writing-skills/render-graphs.js +168 -0
- package/eval/local/skills/benchmarks/dependency/superpowers/writing-skills/testing-skills-with-subagents.md +384 -0
- package/eval/local/tasks/authoring-skill-smoke/environment/Dockerfile +14 -0
- package/eval/local/tasks/authoring-skill-smoke/instruction.md +4 -0
- package/eval/local/tasks/authoring-skill-smoke/task.toml +21 -0
- package/eval/local/tasks/authoring-skill-smoke/validation/test_authoring_skill_smoke.py +54 -0
- package/eval/local/tasks/comet-agent-memory-routing/environment/Dockerfile +26 -0
- package/eval/local/tasks/comet-agent-memory-routing/environment/agent_system.py +40 -0
- package/eval/local/tasks/comet-agent-memory-routing/environment/test_agent_system.py +29 -0
- package/eval/local/tasks/comet-agent-memory-routing/instruction.md +20 -0
- package/eval/local/tasks/comet-agent-memory-routing/task.toml +24 -0
- package/eval/local/tasks/comet-agent-memory-routing/validation/test_agent_memory_routing.py +24 -0
- package/eval/local/tasks/comet-api-cache-ttl/environment/Dockerfile +35 -0
- package/eval/local/tasks/comet-api-cache-ttl/environment/cache.py +39 -0
- package/eval/local/tasks/comet-api-cache-ttl/environment/test_cache.py +81 -0
- package/eval/local/tasks/comet-api-cache-ttl/instruction.md +33 -0
- package/eval/local/tasks/comet-api-cache-ttl/task.toml +24 -0
- package/eval/local/tasks/comet-api-cache-ttl/validation/test_api_cache_ttl.py +58 -0
- package/eval/local/tasks/comet-classic-layout-lifecycle/environment/.include-current-comet-cli +1 -0
- package/eval/local/tasks/comet-classic-layout-lifecycle/environment/Dockerfile +45 -0
- package/eval/local/tasks/comet-classic-layout-lifecycle/environment/current-comet-package.json +18 -0
- package/eval/local/tasks/comet-classic-layout-lifecycle/environment/current-comet.sh +14 -0
- package/eval/local/tasks/comet-classic-layout-lifecycle/environment/test_wordcount.py +29 -0
- package/eval/local/tasks/comet-classic-layout-lifecycle/environment/wordcount.py +40 -0
- package/eval/local/tasks/comet-classic-layout-lifecycle/instruction.md +18 -0
- package/eval/local/tasks/comet-classic-layout-lifecycle/task.toml +23 -0
- package/eval/local/tasks/comet-classic-layout-lifecycle/validation/test_classic_layout_lifecycle.py +604 -0
- package/eval/local/tasks/comet-cross-file-refactor/environment/Dockerfile +15 -0
- package/eval/local/tasks/comet-cross-file-refactor/environment/cli.py +13 -0
- package/eval/local/tasks/comet-cross-file-refactor/environment/counting.py +13 -0
- package/eval/local/tasks/comet-cross-file-refactor/environment/test_textkit.py +21 -0
- package/eval/local/tasks/comet-cross-file-refactor/instruction.md +16 -0
- package/eval/local/tasks/comet-cross-file-refactor/task.toml +20 -0
- package/eval/local/tasks/comet-cross-file-refactor/validation/test_cross_file_refactor.py +20 -0
- package/eval/local/tasks/comet-dependency-confusion/environment/Dockerfile +25 -0
- package/eval/local/tasks/comet-dependency-confusion/environment/app.py +8 -0
- package/eval/local/tasks/comet-dependency-confusion/environment/settings_loader.py +14 -0
- package/eval/local/tasks/comet-dependency-confusion/environment/test_settings_service.py +19 -0
- package/eval/local/tasks/comet-dependency-confusion/instruction.md +18 -0
- package/eval/local/tasks/comet-dependency-confusion/task.toml +24 -0
- package/eval/local/tasks/comet-dependency-confusion/validation/test_dependency_confusion.py +24 -0
- package/eval/local/tasks/comet-fix-median/environment/Dockerfile +46 -0
- package/eval/local/tasks/comet-fix-median/environment/stats.py +54 -0
- package/eval/local/tasks/comet-fix-median/environment/test_stats.py +68 -0
- package/eval/local/tasks/comet-fix-median/instruction.md +25 -0
- package/eval/local/tasks/comet-fix-median/task.toml +24 -0
- package/eval/local/tasks/comet-fix-median/validation/test_fix_median.py +60 -0
- package/eval/local/tasks/comet-framework-selection/environment/Dockerfile +25 -0
- package/eval/local/tasks/comet-framework-selection/environment/architecture.py +12 -0
- package/eval/local/tasks/comet-framework-selection/environment/test_architecture.py +30 -0
- package/eval/local/tasks/comet-framework-selection/instruction.md +22 -0
- package/eval/local/tasks/comet-framework-selection/task.toml +24 -0
- package/eval/local/tasks/comet-framework-selection/validation/test_framework_selection.py +24 -0
- package/eval/local/tasks/comet-full-workflow/environment/Dockerfile +49 -0
- package/eval/local/tasks/comet-full-workflow/environment/test_wordcount.py +29 -0
- package/eval/local/tasks/comet-full-workflow/environment/wordcount.py +40 -0
- package/eval/local/tasks/comet-full-workflow/instruction.md +18 -0
- package/eval/local/tasks/comet-full-workflow/task.toml +24 -0
- package/eval/local/tasks/comet-full-workflow/validation/test_full_workflow.py +171 -0
- package/eval/local/tasks/comet-graph-execution-review/environment/Dockerfile +25 -0
- package/eval/local/tasks/comet-graph-execution-review/environment/pipeline.py +19 -0
- package/eval/local/tasks/comet-graph-execution-review/environment/test_pipeline.py +53 -0
- package/eval/local/tasks/comet-graph-execution-review/instruction.md +21 -0
- package/eval/local/tasks/comet-graph-execution-review/task.toml +24 -0
- package/eval/local/tasks/comet-graph-execution-review/validation/test_graph_execution_review.py +24 -0
- package/eval/local/tasks/comet-human-approval-flow/environment/Dockerfile +15 -0
- package/eval/local/tasks/comet-human-approval-flow/environment/approvals.py +17 -0
- package/eval/local/tasks/comet-human-approval-flow/environment/test_approvals.py +30 -0
- package/eval/local/tasks/comet-human-approval-flow/instruction.md +15 -0
- package/eval/local/tasks/comet-human-approval-flow/task.toml +20 -0
- package/eval/local/tasks/comet-human-approval-flow/validation/test_human_approval_flow.py +20 -0
- package/eval/local/tasks/comet-layered-streaming-fix/environment/Dockerfile +17 -0
- package/eval/local/tasks/comet-layered-streaming-fix/environment/chat_app.py +19 -0
- package/eval/local/tasks/comet-layered-streaming-fix/environment/test_chat_app.py +15 -0
- package/eval/local/tasks/comet-layered-streaming-fix/instruction.md +14 -0
- package/eval/local/tasks/comet-layered-streaming-fix/task.toml +20 -0
- package/eval/local/tasks/comet-layered-streaming-fix/validation/test_layered_streaming_fix.py +20 -0
- package/eval/local/tasks/comet-native-clarification/environment/Dockerfile +25 -0
- package/eval/local/tasks/comet-native-clarification/environment/test_wordcount.py +25 -0
- package/eval/local/tasks/comet-native-clarification/environment/wordcount.py +36 -0
- package/eval/local/tasks/comet-native-clarification/instruction.md +7 -0
- package/eval/local/tasks/comet-native-clarification/task.toml +40 -0
- package/eval/local/tasks/comet-native-clarification/validation/test_native_clarification.py +193 -0
- package/eval/local/tasks/comet-native-clarification-depth/environment/Dockerfile +25 -0
- package/eval/local/tasks/comet-native-clarification-depth/environment/test_wordcount.py +25 -0
- package/eval/local/tasks/comet-native-clarification-depth/environment/wordcount.py +36 -0
- package/eval/local/tasks/comet-native-clarification-depth/instruction.md +17 -0
- package/eval/local/tasks/comet-native-clarification-depth/task.toml +47 -0
- package/eval/local/tasks/comet-native-clarification-depth/validation/test_native_clarification_depth.py +618 -0
- package/eval/local/tasks/comet-native-clarification-modes/environment/Dockerfile +25 -0
- package/eval/local/tasks/comet-native-clarification-modes/environment/test_wordcount.py +25 -0
- package/eval/local/tasks/comet-native-clarification-modes/environment/wordcount.py +36 -0
- package/eval/local/tasks/comet-native-clarification-modes/instruction.md +13 -0
- package/eval/local/tasks/comet-native-clarification-modes/task.toml +39 -0
- package/eval/local/tasks/comet-native-clarification-modes/validation/test_native_clarification_modes.py +235 -0
- package/eval/local/tasks/comet-native-interrupted-transition/environment/.comet/config.yaml +6 -0
- package/eval/local/tasks/comet-native-interrupted-transition/environment/Dockerfile +26 -0
- package/eval/local/tasks/comet-native-interrupted-transition/environment/docs/comet/changes/add-character-counting/brief.md +17 -0
- package/eval/local/tasks/comet-native-interrupted-transition/environment/docs/comet/changes/add-character-counting/comet-state.yaml +12 -0
- package/eval/local/tasks/comet-native-interrupted-transition/environment/docs/comet/changes/add-character-counting/runtime/transition.json +69 -0
- package/eval/local/tasks/comet-native-interrupted-transition/environment/docs/comet/changes/add-character-counting/specs/character-counting/spec.md +3 -0
- package/eval/local/tasks/comet-native-interrupted-transition/environment/test_wordcount.py +20 -0
- package/eval/local/tasks/comet-native-interrupted-transition/environment/wordcount.py +27 -0
- package/eval/local/tasks/comet-native-interrupted-transition/instruction.md +7 -0
- package/eval/local/tasks/comet-native-interrupted-transition/task.toml +35 -0
- package/eval/local/tasks/comet-native-interrupted-transition/validation/test_native_interrupted_transition.py +63 -0
- package/eval/local/tasks/comet-native-repository-fact/environment/Dockerfile +24 -0
- package/eval/local/tasks/comet-native-repository-fact/environment/PRODUCT_RULES.md +3 -0
- package/eval/local/tasks/comet-native-repository-fact/environment/test_wordcount.py +20 -0
- package/eval/local/tasks/comet-native-repository-fact/environment/wordcount.py +27 -0
- package/eval/local/tasks/comet-native-repository-fact/instruction.md +7 -0
- package/eval/local/tasks/comet-native-repository-fact/task.toml +35 -0
- package/eval/local/tasks/comet-native-repository-fact/validation/test_native_repository_fact.py +53 -0
- package/eval/local/tasks/comet-native-wave-b-decision-resume/environment/Dockerfile +25 -0
- package/eval/local/tasks/comet-native-wave-b-decision-resume/environment/test_wordcount.py +27 -0
- package/eval/local/tasks/comet-native-wave-b-decision-resume/environment/wordcount.py +36 -0
- package/eval/local/tasks/comet-native-wave-b-decision-resume/instruction.md +9 -0
- package/eval/local/tasks/comet-native-wave-b-decision-resume/task.toml +40 -0
- package/eval/local/tasks/comet-native-wave-b-decision-resume/validation/test_native_wave_b_decision_resume.py +208 -0
- package/eval/local/tasks/comet-native-wave-c-verification-integrity/environment/Dockerfile +25 -0
- package/eval/local/tasks/comet-native-wave-c-verification-integrity/environment/test_wordcount.py +27 -0
- package/eval/local/tasks/comet-native-wave-c-verification-integrity/environment/wordcount.py +36 -0
- package/eval/local/tasks/comet-native-wave-c-verification-integrity/instruction.md +11 -0
- package/eval/local/tasks/comet-native-wave-c-verification-integrity/task.toml +36 -0
- package/eval/local/tasks/comet-native-wave-c-verification-integrity/validation/test_native_wave_c_verification_integrity.py +344 -0
- package/eval/local/tasks/comet-native-wave-d-stagnation-stop/environment/Dockerfile +25 -0
- package/eval/local/tasks/comet-native-wave-d-stagnation-stop/environment/test_wordcount.py +27 -0
- package/eval/local/tasks/comet-native-wave-d-stagnation-stop/environment/wordcount.py +36 -0
- package/eval/local/tasks/comet-native-wave-d-stagnation-stop/instruction.md +11 -0
- package/eval/local/tasks/comet-native-wave-d-stagnation-stop/task.toml +37 -0
- package/eval/local/tasks/comet-native-wave-d-stagnation-stop/validation/test_native_wave_d_stagnation_stop.py +284 -0
- package/eval/local/tasks/comet-native-wave-e-parallel-safety/environment/.include-trusted-native-runtime +1 -0
- package/eval/local/tasks/comet-native-wave-e-parallel-safety/environment/Dockerfile +25 -0
- package/eval/local/tasks/comet-native-wave-e-parallel-safety/environment/test_wordcount.py +27 -0
- package/eval/local/tasks/comet-native-wave-e-parallel-safety/environment/wordcount.py +36 -0
- package/eval/local/tasks/comet-native-wave-e-parallel-safety/instruction.md +9 -0
- package/eval/local/tasks/comet-native-wave-e-parallel-safety/task.toml +37 -0
- package/eval/local/tasks/comet-native-wave-e-parallel-safety/validation/test_native_wave_e_parallel_safety.py +309 -0
- package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/environment/.include-current-comet-cli +1 -0
- package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/environment/Dockerfile +29 -0
- package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/environment/current-comet-package.json +18 -0
- package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/environment/current-comet.sh +14 -0
- package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/environment/test_wordcount.py +27 -0
- package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/environment/wordcount.py +36 -0
- package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/instruction.md +7 -0
- package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/task.toml +36 -0
- package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/validation/test_native_wave_f_dashboard_readonly.py +483 -0
- package/eval/local/tasks/comet-native-workflow/environment/.include-trusted-native-review-fixture +1 -0
- package/eval/local/tasks/comet-native-workflow/environment/.include-trusted-native-runtime +1 -0
- package/eval/local/tasks/comet-native-workflow/environment/Dockerfile +26 -0
- package/eval/local/tasks/comet-native-workflow/environment/test_wordcount.py +25 -0
- package/eval/local/tasks/comet-native-workflow/environment/wordcount.py +36 -0
- package/eval/local/tasks/comet-native-workflow/instruction.md +35 -0
- package/eval/local/tasks/comet-native-workflow/task.toml +36 -0
- package/eval/local/tasks/comet-native-workflow/validation/test_native_workflow.py +680 -0
- package/eval/local/tasks/comet-noise-distractor/environment/Dockerfile +15 -0
- package/eval/local/tasks/comet-noise-distractor/environment/distractor.md +4 -0
- package/eval/local/tasks/comet-noise-distractor/environment/invoice.py +5 -0
- package/eval/local/tasks/comet-noise-distractor/environment/test_invoice.py +18 -0
- package/eval/local/tasks/comet-noise-distractor/instruction.md +17 -0
- package/eval/local/tasks/comet-noise-distractor/task.toml +20 -0
- package/eval/local/tasks/comet-noise-distractor/validation/test_noise_distractor.py +20 -0
- package/eval/local/tasks/comet-observability-env-template/environment/Dockerfile +15 -0
- package/eval/local/tasks/comet-observability-env-template/environment/env_writer.py +17 -0
- package/eval/local/tasks/comet-observability-env-template/environment/test_env_writer.py +17 -0
- package/eval/local/tasks/comet-observability-env-template/instruction.md +20 -0
- package/eval/local/tasks/comet-observability-env-template/task.toml +20 -0
- package/eval/local/tasks/comet-observability-env-template/validation/test_observability_env_template.py +46 -0
- package/eval/local/tasks/comet-perf-dedupe/environment/Dockerfile +35 -0
- package/eval/local/tasks/comet-perf-dedupe/environment/dedupe.py +22 -0
- package/eval/local/tasks/comet-perf-dedupe/environment/test_dedupe.py +43 -0
- package/eval/local/tasks/comet-perf-dedupe/instruction.md +25 -0
- package/eval/local/tasks/comet-perf-dedupe/task.toml +24 -0
- package/eval/local/tasks/comet-perf-dedupe/validation/test_perf_dedupe.py +40 -0
- package/eval/local/tasks/comet-persistence-threading/environment/Dockerfile +15 -0
- package/eval/local/tasks/comet-persistence-threading/environment/session_store.py +15 -0
- package/eval/local/tasks/comet-persistence-threading/environment/test_session_store.py +21 -0
- package/eval/local/tasks/comet-persistence-threading/instruction.md +14 -0
- package/eval/local/tasks/comet-persistence-threading/task.toml +20 -0
- package/eval/local/tasks/comet-persistence-threading/validation/test_persistence_threading.py +20 -0
- package/eval/local/tasks/comet-refactor-counter/environment/Dockerfile +35 -0
- package/eval/local/tasks/comet-refactor-counter/environment/test_text_processor.py +57 -0
- package/eval/local/tasks/comet-refactor-counter/environment/text_processor.py +49 -0
- package/eval/local/tasks/comet-refactor-counter/instruction.md +31 -0
- package/eval/local/tasks/comet-refactor-counter/task.toml +24 -0
- package/eval/local/tasks/comet-refactor-counter/validation/test_refactor_counter.py +75 -0
- package/eval/local/tasks/comet-robust-config/environment/Dockerfile +35 -0
- package/eval/local/tasks/comet-robust-config/environment/config_loader.py +56 -0
- package/eval/local/tasks/comet-robust-config/environment/test_config_loader.py +72 -0
- package/eval/local/tasks/comet-robust-config/instruction.md +30 -0
- package/eval/local/tasks/comet-robust-config/task.toml +24 -0
- package/eval/local/tasks/comet-robust-config/validation/test_robust_config.py +37 -0
- package/eval/local/tasks/generic-skill-smoke/environment/Dockerfile +14 -0
- package/eval/local/tasks/generic-skill-smoke/instruction.md +7 -0
- package/eval/local/tasks/generic-skill-smoke/task.toml +21 -0
- package/eval/local/tasks/generic-skill-smoke/validation/test_generic_skill_smoke.py +41 -0
- package/eval/local/tasks/index.yaml +229 -0
- package/eval/local/tasks/workflow-overlay-contract/environment/Dockerfile +16 -0
- package/eval/local/tasks/workflow-overlay-contract/instruction.md +5 -0
- package/eval/local/tasks/workflow-overlay-contract/task.toml +21 -0
- package/eval/local/tasks/workflow-overlay-contract/validation/test_workflow_overlay_contract.py +235 -0
- package/eval/local/tasks/workflow-route-conformance/environment/Dockerfile +14 -0
- package/eval/local/tasks/workflow-route-conformance/instruction.md +5 -0
- package/eval/local/tasks/workflow-route-conformance/task.toml +21 -0
- package/eval/local/tasks/workflow-route-conformance/validation/test_workflow_route_conformance.py +84 -0
- package/eval/local/tests/conftest.py +1921 -0
- package/eval/local/tests/scaffold/test_aligned_comparison.py +1012 -0
- package/eval/local/tests/scaffold/test_attribution.py +48 -0
- package/eval/local/tests/scaffold/test_compare_baselines.py +999 -0
- package/eval/local/tests/scaffold/test_conftest_helpers.py +980 -0
- package/eval/local/tests/scaffold/test_evidence.py +15 -0
- package/eval/local/tests/scaffold/test_langsmith_conftest.py +244 -0
- package/eval/local/tests/scaffold/test_logging.py +377 -0
- package/eval/local/tests/scaffold/test_manifests.py +134 -0
- package/eval/local/tests/scaffold/test_native_aligned_eval.py +353 -0
- package/eval/local/tests/scaffold/test_native_wave_evaluations.py +2168 -0
- package/eval/local/tests/scaffold/test_profiles.py +1149 -0
- package/eval/local/tests/scaffold/test_regression_check.py +19 -0
- package/eval/local/tests/scaffold/test_report_style_demo_charts.py +45 -0
- package/eval/local/tests/scaffold/test_sample_quality.py +268 -0
- package/eval/local/tests/scaffold/test_tasks.py +1013 -0
- package/eval/local/tests/scaffold/test_treatments.py +353 -0
- package/eval/local/tests/scaffold/test_utils.py +561 -0
- package/eval/local/tests/tasks/__init__.py +1 -0
- package/eval/local/tests/tasks/test_tasks.py +474 -0
- package/eval/local/tests/tasks/test_validation_scripts.py +787 -0
- package/eval/local/treatments/comet/comet_classic_docs_layout.yaml +121 -0
- package/eval/local/treatments/comet/comet_full_039.yaml +141 -0
- package/eval/local/treatments/comet/comet_full_040_beta.yaml +140 -0
- package/eval/local/treatments/comet/comet_native_phase1.yaml +66 -0
- package/eval/local/treatments/common/control.yaml +4 -0
- package/eval/pyproject.toml +41 -0
- package/eval/report-html-config.json +6 -0
- package/eval/scaffold/__init__.py +67 -0
- package/eval/scaffold/python/__init__.py +95 -0
- package/eval/scaffold/python/aligned_comparison.py +1632 -0
- package/eval/scaffold/python/attribution.py +43 -0
- package/eval/scaffold/python/evidence.py +38 -0
- package/eval/scaffold/python/external_data_handler.py +18 -0
- package/eval/scaffold/python/generic_llm_judge.py +237 -0
- package/eval/scaffold/python/judge_config.py +168 -0
- package/eval/scaffold/python/llm_judge.py +188 -0
- package/eval/scaffold/python/logging.py +804 -0
- package/eval/scaffold/python/manifests.py +131 -0
- package/eval/scaffold/python/native_eval.py +143 -0
- package/eval/scaffold/python/paper_charts.py +25 -0
- package/eval/scaffold/python/pass_at_k.py +106 -0
- package/eval/scaffold/python/paths.py +56 -0
- package/eval/scaffold/python/profiles.py +127 -0
- package/eval/scaffold/python/report_outputs.py +1573 -0
- package/eval/scaffold/python/sample_quality.py +382 -0
- package/eval/scaffold/python/schema.py +39 -0
- package/eval/scaffold/python/skill_parser.py +469 -0
- package/eval/scaffold/python/tasks.py +343 -0
- package/eval/scaffold/python/treatments.py +271 -0
- package/eval/scaffold/python/utils.py +460 -0
- package/eval/scaffold/python/validation/__init__.py +31 -0
- package/eval/scaffold/python/validation/authoring_rubric.py +328 -0
- package/eval/scaffold/python/validation/comet_workflow.py +227 -0
- package/eval/scaffold/python/validation/core.py +264 -0
- package/eval/scaffold/python/validation/dataset.py +337 -0
- package/eval/scaffold/python/validation/docker.py +106 -0
- package/eval/scaffold/python/validation/evaluator.py +549 -0
- package/eval/scaffold/python/validation/generic_rubric.py +198 -0
- package/eval/scaffold/python/validation/native_wave.py +2154 -0
- package/eval/scaffold/python/validation/native_workflow.py +252 -0
- package/eval/scaffold/python/validation/rubric.py +780 -0
- package/eval/scaffold/python/validation/runner.py +237 -0
- package/eval/scaffold/python/validation/scripts.py +58 -0
- package/eval/scaffold/python/validation/tracing.py +313 -0
- package/eval/scaffold/shell/common.sh +126 -0
- package/eval/scaffold/shell/completion-point.sh +18 -0
- package/eval/scaffold/shell/decision-point.sh +35 -0
- package/eval/scaffold/shell/docker.sh +716 -0
- package/eval/scaffold/shell/native-review-signer-daemon.mjs +144 -0
- package/eval/scaffold/shell/native-review-verifier-daemon.mjs +178 -0
- package/eval/scaffold/shell/run-claude-loop.sh +234 -0
- package/eval/scaffold/shell/setup.sh +259 -0
- package/eval/simulator-instruction.md +9 -0
- package/package.json +64 -10
- package/dist/domains/dashboard/web/assets/demo-DQyfozbi.js +0 -1
- package/dist/domains/dashboard/web/assets/index-BcO3_QlT.css +0 -1
- package/dist/domains/dashboard/web/assets/index-CjU3VXVu.js +0 -22
|
@@ -1,18 +1,24 @@
|
|
|
1
1
|
import { spawnSync } from 'child_process';
|
|
2
|
-
import {
|
|
3
|
-
import { existsSync, promises as fs } from 'fs';
|
|
2
|
+
import { promises as fs } from 'fs';
|
|
4
3
|
import path from 'path';
|
|
5
4
|
import { Document, parseDocument } from 'yaml';
|
|
5
|
+
import { clearCurrentChange, resolveCurrentChange, selectCurrentChange, } from './classic-current-change.js';
|
|
6
|
+
import { driftBlockedMessage, evaluateBranchBinding, healBoundBranch, isGitWorkTree, liveGitBranch, requiresBranchBinding, resolveBranchBinding, unboundDetachedMessage, } from './classic-branch-binding.js';
|
|
6
7
|
import { collectClassicEvidence } from './classic-evidence.js';
|
|
7
|
-
import { openSpecChangeNameError, resolveClassicChangeDirectory } from './classic-paths.js';
|
|
8
|
+
import { ensureClassicActiveChangeDirectory, openSpecChangeNameError, resolveClassicChangeDirectory, } from './classic-paths.js';
|
|
9
|
+
import { assertClassicLayoutWritable, assertClassicLayoutReadable } from './classic-layout.js';
|
|
10
|
+
import { classicCommandInvocationCwd, classicCommandProjectRoot, withClassicCommandContext, } from './classic-command-context.js';
|
|
8
11
|
import { resolveClassicStepId } from './classic-resolver.js';
|
|
9
|
-
import { transitionClassicRuntimeRun } from './classic-runtime-run.js';
|
|
12
|
+
import { transitionClassicRuntimeRun, validateClassicRuntimeRun } from './classic-runtime-run.js';
|
|
10
13
|
import { appendClassicStateEvent } from './classic-state-events.js';
|
|
11
14
|
import { CLASSIC_WIRE_KEYS, RUN_WIRE_KEYS, parseClassicStateDocument, } from './classic-state.js';
|
|
12
15
|
import { readClassicState, writeClassicState } from './classic-store.js';
|
|
13
16
|
import { CLASSIC_TRANSITION_EVENTS, applyClassicTransition, } from './classic-transitions.js';
|
|
14
17
|
import { readRunState } from '../../domains/engine/state.js';
|
|
15
18
|
import { appendTrajectory, readTrajectory } from '../../domains/engine/run-store.js';
|
|
19
|
+
import { recordCommandCheck } from './classic-command-checks.js';
|
|
20
|
+
import { readClassicConfigValue } from './classic-project-config.js';
|
|
21
|
+
import { classicProjectFileNonempty, classicProjectTargetExists, inspectClassicProjectTarget, readClassicProjectFile, writeClassicProjectText, } from './classic-protected-path.js';
|
|
16
22
|
const GREEN = '\u001b[32m';
|
|
17
23
|
const RED = '\u001b[31m';
|
|
18
24
|
const YELLOW = '\u001b[33m';
|
|
@@ -23,8 +29,11 @@ const ARTIFACT_LANGUAGES = ['en', 'zh-CN'];
|
|
|
23
29
|
const EVENTS = CLASSIC_TRANSITION_EVENTS;
|
|
24
30
|
const MACHINE_OWNED_FIELDS = new Set([
|
|
25
31
|
...RUN_WIRE_KEYS,
|
|
32
|
+
'archive_confirmation',
|
|
33
|
+
'verify_failures',
|
|
26
34
|
'classic_profile',
|
|
27
35
|
'classic_migration',
|
|
36
|
+
'bound_branch',
|
|
28
37
|
]);
|
|
29
38
|
const SETTABLE_FIELDS = new Set(CLASSIC_WIRE_KEYS.filter((field) => !MACHINE_OWNED_FIELDS.has(field)));
|
|
30
39
|
const FIELD_ENUMS = {
|
|
@@ -36,11 +45,12 @@ const FIELD_ENUMS = {
|
|
|
36
45
|
subagent_dispatch: ['null', 'confirmed'],
|
|
37
46
|
tdd_mode: ['tdd', 'direct'],
|
|
38
47
|
review_mode: ['off', 'standard', 'thorough'],
|
|
39
|
-
isolation: ['branch', 'worktree'],
|
|
48
|
+
isolation: ['current', 'branch', 'worktree'],
|
|
40
49
|
verify_mode: ['light', 'full'],
|
|
41
50
|
auto_transition: ['true', 'false'],
|
|
42
51
|
verify_result: ['pending', 'pass', 'fail'],
|
|
43
52
|
branch_status: ['pending', 'handled'],
|
|
53
|
+
archive_confirmation: ['pending', 'confirmed'],
|
|
44
54
|
archived: ['true', 'false'],
|
|
45
55
|
direct_override: ['true', 'false'],
|
|
46
56
|
classic_profile: PROFILES,
|
|
@@ -56,7 +66,9 @@ const CLASSIC_FIELD_WIRE_NAMES = {
|
|
|
56
66
|
phase: 'phase',
|
|
57
67
|
verificationReport: 'verification_report',
|
|
58
68
|
verifiedAt: 'verified_at',
|
|
69
|
+
archiveConfirmation: 'archive_confirmation',
|
|
59
70
|
verifyResult: 'verify_result',
|
|
71
|
+
verifyFailures: 'verify_failures',
|
|
60
72
|
workflow: 'workflow',
|
|
61
73
|
};
|
|
62
74
|
class CommandFailure extends Error {
|
|
@@ -116,37 +128,29 @@ function validateRelativePath(value, field) {
|
|
|
116
128
|
}
|
|
117
129
|
}
|
|
118
130
|
async function exists(file) {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
}
|
|
123
|
-
catch (error) {
|
|
124
|
-
if (error.code === 'ENOENT')
|
|
125
|
-
return false;
|
|
126
|
-
throw error;
|
|
127
|
-
}
|
|
131
|
+
const projectRoot = classicCommandProjectRoot();
|
|
132
|
+
return classicProjectTargetExists(projectRoot, file, {
|
|
133
|
+
label: `Classic project path ${path.relative(projectRoot, path.resolve(projectRoot, file)).replaceAll('\\', '/')}`,
|
|
134
|
+
});
|
|
128
135
|
}
|
|
129
136
|
async function nonempty(file) {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
}
|
|
133
|
-
catch (error) {
|
|
134
|
-
if (error.code === 'ENOENT')
|
|
135
|
-
return false;
|
|
136
|
-
throw error;
|
|
137
|
-
}
|
|
137
|
+
const projectRoot = classicCommandProjectRoot();
|
|
138
|
+
return classicProjectFileNonempty(projectRoot, file, `Classic project file ${path.relative(projectRoot, path.resolve(projectRoot, file)).replaceAll('\\', '/')}`);
|
|
138
139
|
}
|
|
139
140
|
async function changeDirectory(name) {
|
|
140
|
-
return resolveClassicChangeDirectory(name);
|
|
141
|
+
return resolveClassicChangeDirectory(name, classicCommandProjectRoot());
|
|
141
142
|
}
|
|
142
143
|
async function readDocument(file) {
|
|
143
144
|
let source;
|
|
145
|
+
const projectRoot = classicCommandProjectRoot();
|
|
144
146
|
try {
|
|
145
|
-
source = await
|
|
147
|
+
source = await readClassicProjectFile(projectRoot, file, {
|
|
148
|
+
label: `Classic state ${path.relative(projectRoot, file).replaceAll('\\', '/')}`,
|
|
149
|
+
});
|
|
146
150
|
}
|
|
147
151
|
catch (error) {
|
|
148
152
|
if (error.code === 'ENOENT') {
|
|
149
|
-
fail(`ERROR: .comet.yaml not found at ${path.relative(
|
|
153
|
+
fail(`ERROR: .comet.yaml not found at ${path.relative(projectRoot, file).replaceAll('\\', '/')}`);
|
|
150
154
|
}
|
|
151
155
|
throw error;
|
|
152
156
|
}
|
|
@@ -156,16 +160,9 @@ async function readDocument(file) {
|
|
|
156
160
|
return document;
|
|
157
161
|
}
|
|
158
162
|
async function atomicWrite(file, content) {
|
|
159
|
-
await
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
await fs.writeFile(temporary, content, 'utf8');
|
|
163
|
-
await fs.rename(temporary, file);
|
|
164
|
-
}
|
|
165
|
-
catch (error) {
|
|
166
|
-
await fs.rm(temporary, { force: true });
|
|
167
|
-
throw error;
|
|
168
|
-
}
|
|
163
|
+
await writeClassicProjectText(classicCommandProjectRoot(), file, content, {
|
|
164
|
+
label: 'Classic state write target',
|
|
165
|
+
});
|
|
169
166
|
}
|
|
170
167
|
function scalar(value) {
|
|
171
168
|
if (value === null)
|
|
@@ -206,6 +203,10 @@ function nullableRecordBoolean(record, field) {
|
|
|
206
203
|
return false;
|
|
207
204
|
return null;
|
|
208
205
|
}
|
|
206
|
+
function nonNegativeRecordInteger(record, field, fallback = 0) {
|
|
207
|
+
const value = record[field];
|
|
208
|
+
return typeof value === 'number' && Number.isInteger(value) && value >= 0 ? value : fallback;
|
|
209
|
+
}
|
|
209
210
|
function sparseClassicState(record) {
|
|
210
211
|
const workflow = enumRecordValue(record, 'workflow', PROFILES, 'full');
|
|
211
212
|
return {
|
|
@@ -218,21 +219,22 @@ function sparseClassicState(record) {
|
|
|
218
219
|
subagentDispatch: enumRecordValue(record, 'subagent_dispatch', ['confirmed'], null),
|
|
219
220
|
tddMode: enumRecordValue(record, 'tdd_mode', ['tdd', 'direct'], null),
|
|
220
221
|
reviewMode: enumRecordValue(record, 'review_mode', ['off', 'standard', 'thorough'], null),
|
|
221
|
-
isolation: enumRecordValue(record, 'isolation', ['branch', 'worktree'], null),
|
|
222
|
+
isolation: enumRecordValue(record, 'isolation', ['current', 'branch', 'worktree'], null),
|
|
223
|
+
boundBranch: nullableRecordString(record, 'bound_branch'),
|
|
222
224
|
verifyMode: enumRecordValue(record, 'verify_mode', ['light', 'full'], null),
|
|
223
225
|
autoTransition: nullableRecordBoolean(record, 'auto_transition'),
|
|
224
226
|
baseRef: nullableRecordString(record, 'base_ref'),
|
|
225
227
|
designDoc: nullableRecordString(record, 'design_doc'),
|
|
226
228
|
plan: nullableRecordString(record, 'plan'),
|
|
227
229
|
verifyResult: enumRecordValue(record, 'verify_result', ['pending', 'pass', 'fail'], 'pending'),
|
|
230
|
+
verifyFailures: nonNegativeRecordInteger(record, 'verify_failures'),
|
|
228
231
|
verificationReport: nullableRecordString(record, 'verification_report'),
|
|
229
232
|
branchStatus: enumRecordValue(record, 'branch_status', ['pending', 'handled'], null),
|
|
230
233
|
createdAt: nullableRecordString(record, 'created_at'),
|
|
231
234
|
verifiedAt: nullableRecordString(record, 'verified_at'),
|
|
235
|
+
archiveConfirmation: enumRecordValue(record, 'archive_confirmation', ['pending', 'confirmed'], null),
|
|
232
236
|
archived: nullableRecordBoolean(record, 'archived') ?? false,
|
|
233
237
|
directOverride: nullableRecordBoolean(record, 'direct_override'),
|
|
234
|
-
buildCommand: nullableRecordString(record, 'build_command'),
|
|
235
|
-
verifyCommand: nullableRecordString(record, 'verify_command'),
|
|
236
238
|
handoffContext: nullableRecordString(record, 'handoff_context'),
|
|
237
239
|
handoffHash: nullableRecordString(record, 'handoff_hash'),
|
|
238
240
|
classicProfile: enumRecordValue(record, 'classic_profile', PROFILES, workflow),
|
|
@@ -240,19 +242,16 @@ function sparseClassicState(record) {
|
|
|
240
242
|
};
|
|
241
243
|
}
|
|
242
244
|
async function projectConfigValue(field) {
|
|
243
|
-
|
|
244
|
-
if (!(await exists(file)))
|
|
245
|
-
return null;
|
|
246
|
-
const document = await readDocument(file);
|
|
247
|
-
const value = document.get(field);
|
|
248
|
-
return value === null || value === undefined ? null : scalar(value);
|
|
245
|
+
return (await readClassicConfigValue(field, { cwd: classicCommandProjectRoot() }))?.value ?? null;
|
|
249
246
|
}
|
|
250
247
|
async function projectLanguageDefault() {
|
|
251
248
|
if (process.env.COMET_LANGUAGE)
|
|
252
249
|
return validateLanguage(process.env.COMET_LANGUAGE, 'COMET_LANGUAGE');
|
|
253
|
-
const
|
|
254
|
-
|
|
255
|
-
|
|
250
|
+
const configured = await readClassicConfigValue('language', {
|
|
251
|
+
cwd: classicCommandProjectRoot(),
|
|
252
|
+
});
|
|
253
|
+
if (configured)
|
|
254
|
+
return validateLanguage(configured.value, configured.source);
|
|
256
255
|
return 'en';
|
|
257
256
|
}
|
|
258
257
|
async function contextCompression() {
|
|
@@ -284,6 +283,10 @@ function gitOutput(args) {
|
|
|
284
283
|
}
|
|
285
284
|
async function stateFile(name) {
|
|
286
285
|
const change = await changeDirectory(name);
|
|
286
|
+
await inspectClassicProjectTarget(classicCommandProjectRoot(), path.join(change.directory, '.comet'), {
|
|
287
|
+
label: `Classic runtime directory for ${name}`,
|
|
288
|
+
expected: 'directory',
|
|
289
|
+
});
|
|
287
290
|
return {
|
|
288
291
|
...change,
|
|
289
292
|
file: path.join(change.directory, '.comet.yaml'),
|
|
@@ -314,7 +317,7 @@ function parsedValue(field, value) {
|
|
|
314
317
|
fail(`ERROR: Invalid value: '${value}'`);
|
|
315
318
|
return document.get(field);
|
|
316
319
|
}
|
|
317
|
-
function validateSetValue(field, value) {
|
|
320
|
+
async function validateSetValue(field, value) {
|
|
318
321
|
if (field === 'language') {
|
|
319
322
|
validateLanguage(value, 'language');
|
|
320
323
|
return;
|
|
@@ -322,8 +325,15 @@ function validateSetValue(field, value) {
|
|
|
322
325
|
const enumValues = FIELD_ENUMS[field];
|
|
323
326
|
if (enumValues)
|
|
324
327
|
validateEnum(value, enumValues);
|
|
325
|
-
if (PATH_FIELDS.has(field))
|
|
328
|
+
if (PATH_FIELDS.has(field)) {
|
|
326
329
|
validateRelativePath(value, field);
|
|
330
|
+
if (value && value !== 'null') {
|
|
331
|
+
await inspectClassicProjectTarget(classicCommandProjectRoot(), value, {
|
|
332
|
+
label: `${field} artifact pointer`,
|
|
333
|
+
expected: 'file',
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
}
|
|
327
337
|
if ((field === 'skill_hash' || field === 'handoff_hash') && !/^[a-f0-9]{64}$/u.test(value)) {
|
|
328
338
|
fail(`ERROR: ${field} must be a sha256 hex digest`);
|
|
329
339
|
}
|
|
@@ -333,7 +343,7 @@ function validateSetValue(field, value) {
|
|
|
333
343
|
}
|
|
334
344
|
async function setField(output, name, field, value, options = {}) {
|
|
335
345
|
if (MACHINE_OWNED_FIELDS.has(field) && !options.machineOwned) {
|
|
336
|
-
fail(`ERROR: '${field}' is a machine-owned
|
|
346
|
+
fail(`ERROR: '${field}' is a machine-owned field and cannot be set directly`);
|
|
337
347
|
}
|
|
338
348
|
if (!SETTABLE_FIELDS.has(field) && !MACHINE_OWNED_FIELDS.has(field)) {
|
|
339
349
|
fail(`ERROR: Unknown field: '${field}'`);
|
|
@@ -343,10 +353,43 @@ async function setField(output, name, field, value, options = {}) {
|
|
|
343
353
|
' Use: comet-state.mjs transition <change-name> <event>\n' +
|
|
344
354
|
' Repair-only escape hatch: COMET_FORCE_PHASE=1 comet-state.mjs set <change-name> phase <value>');
|
|
345
355
|
}
|
|
346
|
-
validateSetValue(field, value);
|
|
356
|
+
await validateSetValue(field, value);
|
|
347
357
|
const { file, directory } = await stateFile(name);
|
|
348
358
|
const document = await readDocument(file);
|
|
359
|
+
const previousRecord = (document.toJS() ?? {});
|
|
349
360
|
document.set(field, parsedValue(field, value));
|
|
361
|
+
if (field === 'isolation') {
|
|
362
|
+
if (requiresBranchBinding(value)) {
|
|
363
|
+
const previousIsolation = typeof previousRecord.isolation === 'string' ? previousRecord.isolation : null;
|
|
364
|
+
const existing = previousRecord.bound_branch;
|
|
365
|
+
const alreadyBound = typeof existing === 'string' && existing !== '';
|
|
366
|
+
// Switching between workspace modes is an explicit new workspace
|
|
367
|
+
// decision and re-points the binding; repeating the same mode keeps
|
|
368
|
+
// the sticky binding that drift checks rely on.
|
|
369
|
+
if (!alreadyBound || previousIsolation !== value) {
|
|
370
|
+
const invocationCwd = classicCommandInvocationCwd();
|
|
371
|
+
const currentBranch = liveGitBranch(invocationCwd);
|
|
372
|
+
const verdict = evaluateBranchBinding({
|
|
373
|
+
isolation: value,
|
|
374
|
+
boundBranch: null,
|
|
375
|
+
currentBranch,
|
|
376
|
+
gitWorkTree: currentBranch === null ? isGitWorkTree(invocationCwd) : true,
|
|
377
|
+
});
|
|
378
|
+
if (verdict.status === 'needs-heal') {
|
|
379
|
+
document.set('bound_branch', verdict.branch);
|
|
380
|
+
}
|
|
381
|
+
else if (verdict.status === 'unbound-detached') {
|
|
382
|
+
fail(`ERROR: cannot bind isolation=${value} while HEAD is detached; checkout a branch first`);
|
|
383
|
+
}
|
|
384
|
+
else {
|
|
385
|
+
document.set('bound_branch', null);
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
else {
|
|
390
|
+
document.set('bound_branch', null);
|
|
391
|
+
}
|
|
392
|
+
}
|
|
350
393
|
const run = await readRunState(directory);
|
|
351
394
|
const projection = parseClassicStateDocument(document.toJS(), run);
|
|
352
395
|
if (projection.run) {
|
|
@@ -393,10 +436,11 @@ async function setField(output, name, field, value, options = {}) {
|
|
|
393
436
|
async function init(output, name, workflow) {
|
|
394
437
|
validateChangeName(name);
|
|
395
438
|
validateEnum(workflow, PROFILES);
|
|
396
|
-
const
|
|
439
|
+
const change = await ensureClassicActiveChangeDirectory(name, classicCommandProjectRoot());
|
|
440
|
+
const { label, directory } = change;
|
|
441
|
+
const file = path.join(directory, '.comet.yaml');
|
|
397
442
|
if (await exists(file))
|
|
398
443
|
fail(`ERROR: .comet.yaml already exists at ${label}/.comet.yaml`);
|
|
399
|
-
await fs.mkdir(directory, { recursive: true });
|
|
400
444
|
const preset = workflow !== 'full';
|
|
401
445
|
const reviewMode = preset ? 'off' : await reviewModeDefault();
|
|
402
446
|
const document = new Document({
|
|
@@ -409,21 +453,23 @@ async function init(output, name, workflow) {
|
|
|
409
453
|
subagent_dispatch: null,
|
|
410
454
|
tdd_mode: preset ? 'direct' : null,
|
|
411
455
|
review_mode: reviewMode,
|
|
412
|
-
isolation:
|
|
456
|
+
isolation: null,
|
|
413
457
|
verify_mode: preset ? 'light' : null,
|
|
414
458
|
auto_transition: (await autoTransition()) === 'true',
|
|
415
459
|
base_ref: gitOutput(['rev-parse', '--verify', 'HEAD']),
|
|
416
460
|
design_doc: null,
|
|
417
461
|
plan: null,
|
|
418
462
|
verify_result: 'pending',
|
|
463
|
+
verify_failures: 0,
|
|
419
464
|
verification_report: null,
|
|
420
465
|
branch_status: 'pending',
|
|
421
466
|
created_at: new Date().toISOString().slice(0, 10),
|
|
422
467
|
verified_at: null,
|
|
468
|
+
archive_confirmation: null,
|
|
423
469
|
archived: false,
|
|
424
470
|
});
|
|
425
471
|
await atomicWrite(file, document.toString());
|
|
426
|
-
output.
|
|
472
|
+
output.stdout.push(green(`Initialized: ${label}/.comet.yaml (workflow=${workflow})`));
|
|
427
473
|
}
|
|
428
474
|
async function requirePhase(name, expected) {
|
|
429
475
|
const actual = await readField(name, 'phase');
|
|
@@ -439,8 +485,9 @@ async function requireBuildDecisions(name) {
|
|
|
439
485
|
const subagentDispatch = await readField(name, 'subagent_dispatch');
|
|
440
486
|
const tddMode = await readField(name, 'tdd_mode');
|
|
441
487
|
const reviewMode = await readField(name, 'review_mode');
|
|
442
|
-
|
|
443
|
-
|
|
488
|
+
const allowedIsolation = ['current', 'branch', 'worktree'];
|
|
489
|
+
if (!allowedIsolation.includes(isolation)) {
|
|
490
|
+
fail(`ERROR: Cannot transition '${name}': isolation must be current, branch, or worktree, got '${isolation || 'null'}'`);
|
|
444
491
|
}
|
|
445
492
|
if (!['subagent-driven-development', 'executing-plans', 'direct'].includes(buildMode)) {
|
|
446
493
|
fail(`ERROR: Cannot transition '${name}': build_mode must be selected before leaving build, got '${buildMode || 'null'}'`);
|
|
@@ -550,13 +597,19 @@ async function transition(output, name, event) {
|
|
|
550
597
|
if (!report || !(await exists(path.resolve(report)))) {
|
|
551
598
|
fail(`ERROR: Cannot transition '${name}': verification_report must point to an existing report file`);
|
|
552
599
|
}
|
|
553
|
-
if ((await readField(name, 'branch_status')) !== 'handled') {
|
|
554
|
-
fail(`ERROR: Cannot transition '${name}': branch_status must be handled`);
|
|
555
|
-
}
|
|
556
600
|
}
|
|
557
601
|
else if (event === 'verify-fail') {
|
|
558
602
|
await requirePhase(name, 'verify');
|
|
559
603
|
}
|
|
604
|
+
else if (event === 'archive-confirm') {
|
|
605
|
+
await requirePhase(name, 'archive');
|
|
606
|
+
if ((await readField(name, 'verify_result')) !== 'pass') {
|
|
607
|
+
fail(`ERROR: Cannot transition '${name}': verify_result must be pass before archiving`);
|
|
608
|
+
}
|
|
609
|
+
if ((await readField(name, 'archived')) === 'true') {
|
|
610
|
+
fail(`ERROR: Cannot transition '${name}': already archived`);
|
|
611
|
+
}
|
|
612
|
+
}
|
|
560
613
|
else if (event === 'preset-escalate') {
|
|
561
614
|
// preset (hotfix/tweak) → full: rewind phase to design so the agent can
|
|
562
615
|
// supplement a Design Doc before continuing. Unlike verify-fail /
|
|
@@ -581,6 +634,9 @@ async function transition(output, name, event) {
|
|
|
581
634
|
if ((await readField(name, 'verify_result')) !== 'pass') {
|
|
582
635
|
fail(`ERROR: Cannot transition '${name}': verify_result must be pass before archiving`);
|
|
583
636
|
}
|
|
637
|
+
if ((await readField(name, 'archive_confirmation')) !== 'confirmed') {
|
|
638
|
+
fail(`ERROR: Cannot transition '${name}': archive_confirmation must be confirmed before archiving`);
|
|
639
|
+
}
|
|
584
640
|
}
|
|
585
641
|
await applyTransitionEvent(output, name, event);
|
|
586
642
|
}
|
|
@@ -623,10 +679,12 @@ async function taskCheckoff(output, taskFile, taskText) {
|
|
|
623
679
|
validateRelativePath(taskFile, 'task file');
|
|
624
680
|
if (!taskText)
|
|
625
681
|
fail('ERROR: Task text cannot be empty');
|
|
626
|
-
const file = path.resolve(taskFile);
|
|
682
|
+
const file = path.resolve(classicCommandProjectRoot(), taskFile);
|
|
627
683
|
if (!(await exists(file)))
|
|
628
684
|
fail(`ERROR: Task file not found: ${taskFile}`);
|
|
629
|
-
const lines = (await
|
|
685
|
+
const lines = (await readClassicProjectFile(classicCommandProjectRoot(), file, {
|
|
686
|
+
label: 'Classic task-checkoff file',
|
|
687
|
+
})).split(/\r?\n/u);
|
|
630
688
|
const matches = lines.filter((line) => [`- [ ] ${taskText}`, `- [x] ${taskText}`, `- [X] ${taskText}`].includes(line));
|
|
631
689
|
const checked = matches.filter((line) => /^- \[[xX]\] /u.test(line));
|
|
632
690
|
if (matches.length !== 1) {
|
|
@@ -687,6 +745,32 @@ async function check(output, name, phase) {
|
|
|
687
745
|
const archived = await readField(name, 'archived');
|
|
688
746
|
(archived !== 'true' ? pass : reject)(`archived=${archived} (expected: not true)`);
|
|
689
747
|
}
|
|
748
|
+
const binding = await resolveBranchBinding(directory, {
|
|
749
|
+
heal: true,
|
|
750
|
+
cwd: classicCommandInvocationCwd(),
|
|
751
|
+
});
|
|
752
|
+
if (binding.bindingRequired) {
|
|
753
|
+
switch (binding.status) {
|
|
754
|
+
case 'drift':
|
|
755
|
+
reject(driftBlockedMessage(name, binding.boundBranch, binding.currentBranch));
|
|
756
|
+
break;
|
|
757
|
+
case 'unbound-detached':
|
|
758
|
+
reject(unboundDetachedMessage(name));
|
|
759
|
+
break;
|
|
760
|
+
case 'healed':
|
|
761
|
+
pass(`bound_branch lazily set to ${binding.branch}`);
|
|
762
|
+
break;
|
|
763
|
+
case 'needs-heal':
|
|
764
|
+
case 'ok':
|
|
765
|
+
case 'not-applicable':
|
|
766
|
+
pass('bound_branch matches current branch');
|
|
767
|
+
break;
|
|
768
|
+
default: {
|
|
769
|
+
const exhaustive = binding;
|
|
770
|
+
throw new Error(`unhandled branch binding status: ${JSON.stringify(exhaustive)}`);
|
|
771
|
+
}
|
|
772
|
+
}
|
|
773
|
+
}
|
|
690
774
|
output.stdout.push('');
|
|
691
775
|
if (blocked) {
|
|
692
776
|
output.stderr.push(red('BLOCKED — fix failing checks before proceeding'));
|
|
@@ -694,10 +778,10 @@ async function check(output, name, phase) {
|
|
|
694
778
|
}
|
|
695
779
|
output.stderr.push(green('ALL CHECKS PASSED — ready to proceed'));
|
|
696
780
|
}
|
|
697
|
-
function fieldStatus(field, value, file) {
|
|
781
|
+
async function fieldStatus(field, value, file) {
|
|
698
782
|
if (!value || value === 'null')
|
|
699
783
|
return ` - ${field}: PENDING`;
|
|
700
|
-
if (file && !
|
|
784
|
+
if (file && !(await exists(path.resolve(file)))) {
|
|
701
785
|
return ` - ${field}: BROKEN (path ${value} does not exist)`;
|
|
702
786
|
}
|
|
703
787
|
return ` - ${field}: DONE (${value})`;
|
|
@@ -725,7 +809,7 @@ async function recoverDesign(output, name, directory) {
|
|
|
725
809
|
const handoff = await readField(name, 'handoff_context');
|
|
726
810
|
const hash = await readField(name, 'handoff_hash');
|
|
727
811
|
const design = await readField(name, 'design_doc');
|
|
728
|
-
output.stdout.push('', ' Design progress:', fieldStatus('handoff_context', handoff, handoff), fieldStatus('handoff_hash', hash), fieldStatus('design_doc', design, design), '');
|
|
812
|
+
output.stdout.push('', ' Design progress:', await fieldStatus('handoff_context', handoff, handoff), await fieldStatus('handoff_hash', hash), await fieldStatus('design_doc', design, design), '');
|
|
729
813
|
if (design && design !== 'null' && (await exists(path.resolve(design)))) {
|
|
730
814
|
output.stdout.push('Recovery action: Design Doc already created and linked. Run guard to transition to build.');
|
|
731
815
|
}
|
|
@@ -746,30 +830,34 @@ async function recoverBuild(output, name, directory, workflow) {
|
|
|
746
830
|
const plan = await readField(name, 'plan');
|
|
747
831
|
const decisions = [
|
|
748
832
|
' Build decisions:',
|
|
749
|
-
fieldStatus('isolation', isolation),
|
|
750
|
-
fieldStatus('build_mode', buildMode),
|
|
751
|
-
fieldStatus('build_pause', pause),
|
|
752
|
-
fieldStatus('tdd_mode', tdd),
|
|
753
|
-
fieldStatus('review_mode', review),
|
|
833
|
+
await fieldStatus('isolation', isolation),
|
|
834
|
+
await fieldStatus('build_mode', buildMode),
|
|
835
|
+
await fieldStatus('build_pause', pause),
|
|
836
|
+
await fieldStatus('tdd_mode', tdd),
|
|
837
|
+
await fieldStatus('review_mode', review),
|
|
754
838
|
];
|
|
755
839
|
if (buildMode === 'subagent-driven-development' ||
|
|
756
840
|
(subagentDispatch && subagentDispatch !== 'null')) {
|
|
757
|
-
decisions.push(fieldStatus('subagent_dispatch', subagentDispatch));
|
|
841
|
+
decisions.push(await fieldStatus('subagent_dispatch', subagentDispatch));
|
|
758
842
|
}
|
|
759
|
-
output.stdout.push(...decisions, '', ' Plan:', fieldStatus('plan', plan, plan), '');
|
|
843
|
+
output.stdout.push(...decisions, '', ' Plan:', await fieldStatus('plan', plan, plan), '');
|
|
760
844
|
const tasks = path.join(directory, 'tasks.md');
|
|
761
845
|
if (!(await exists(tasks))) {
|
|
762
846
|
output.stdout.push(' Tasks: tasks.md MISSING', '', 'Recovery action: tasks.md missing. Verify change directory integrity.');
|
|
763
847
|
return;
|
|
764
848
|
}
|
|
765
|
-
const lines = (await
|
|
849
|
+
const lines = (await readClassicProjectFile(classicCommandProjectRoot(), tasks, {
|
|
850
|
+
label: 'Classic change tasks',
|
|
851
|
+
})).split(/\r?\n/u);
|
|
766
852
|
const total = lines.filter((line) => /^\s*- \[[ xX]\] /u.test(line)).length;
|
|
767
853
|
const done = lines.filter((line) => /^\s*- \[[xX]\] /u.test(line)).length;
|
|
768
854
|
const pending = total - done;
|
|
769
855
|
let planTotal = 0;
|
|
770
856
|
let planDone = 0;
|
|
771
|
-
if (plan && plan !== 'null' && (await exists(
|
|
772
|
-
const planLines = (await
|
|
857
|
+
if (plan && plan !== 'null' && (await exists(plan))) {
|
|
858
|
+
const planLines = (await readClassicProjectFile(classicCommandProjectRoot(), plan, {
|
|
859
|
+
label: 'Classic build plan',
|
|
860
|
+
})).split(/\r?\n/u);
|
|
773
861
|
planTotal = planLines.filter((line) => /^\s*- \[[ xX]\] /u.test(line)).length;
|
|
774
862
|
planDone = planLines.filter((line) => /^\s*- \[[xX]\] /u.test(line)).length;
|
|
775
863
|
}
|
|
@@ -802,7 +890,7 @@ function resolveBuildRecoveryAction(workflow, isolation, buildMode, pause, subag
|
|
|
802
890
|
if (buildMode === 'subagent-driven-development' && (pending > 0 || planPending > 0)) {
|
|
803
891
|
return subagentDispatch === 'confirmed'
|
|
804
892
|
? 'Recovery action: Plan-ready pause is stale because build decisions are already selected. Clear build_pause to null, then inspect the first unchecked task (OpenSpec or plan additions) against recent git history/diff. If implemented, check it off; otherwise dispatch a real background subagent. Do not execute the pending task directly in the main window.'
|
|
805
|
-
: 'Recovery action: Plan-ready pause is stale and subagent dispatch is not confirmed. Confirm a real background subagent/Task/multi-agent dispatcher and set subagent_dispatch to confirmed, or set build_mode to executing-plans before continuing.';
|
|
893
|
+
: 'Recovery action: Plan-ready pause is stale and subagent dispatch is not confirmed. Return to /comet-build Step 2 capability preflight. Confirm a real background subagent/Task/multi-agent dispatcher and set subagent_dispatch to confirmed, or remove the unavailable mode and set build_mode to executing-plans before continuing.';
|
|
806
894
|
}
|
|
807
895
|
if (pending > 0 || planPending > 0) {
|
|
808
896
|
return 'Recovery action: Plan-ready pause is stale because build decisions are already selected. Clear build_pause to null, then continue from the first unchecked task.';
|
|
@@ -825,7 +913,7 @@ function resolveBuildRecoveryAction(workflow, isolation, buildMode, pause, subag
|
|
|
825
913
|
if (buildMode === 'subagent-driven-development') {
|
|
826
914
|
return subagentDispatch === 'confirmed'
|
|
827
915
|
? 'Recovery action: Read tasks.md and the Superpowers plan (which may include additions beyond OpenSpec), then inspect the first unchecked task against recent git history/diff. If implemented, check it off; otherwise dispatch a real background subagent. Do not execute the pending task directly in the main window.'
|
|
828
|
-
: 'Recovery action: Subagent dispatch is not confirmed. Confirm a real background subagent/Task/multi-agent dispatcher and set subagent_dispatch to confirmed, or set build_mode to executing-plans before continuing.';
|
|
916
|
+
: 'Recovery action: Subagent dispatch is not confirmed. Return to /comet-build Step 2 capability preflight. Confirm a real background subagent/Task/multi-agent dispatcher and set subagent_dispatch to confirmed, or remove the unavailable mode and set build_mode to executing-plans before continuing.';
|
|
829
917
|
}
|
|
830
918
|
return 'Recovery action: Read tasks.md and continue from first unchecked task.';
|
|
831
919
|
}
|
|
@@ -833,7 +921,7 @@ function resolveBuildRecoveryAction(workflow, isolation, buildMode, pause, subag
|
|
|
833
921
|
if (buildMode === 'subagent-driven-development') {
|
|
834
922
|
return subagentDispatch === 'confirmed'
|
|
835
923
|
? 'Recovery action: Read the Superpowers plan, then inspect the first unchecked Superpowers plan task against recent git history/diff. If implemented, check it off; otherwise dispatch a real background subagent. Do not execute the pending task directly in the main window.'
|
|
836
|
-
: 'Recovery action: Subagent dispatch is not confirmed. Confirm a real background subagent/Task/multi-agent dispatcher and set subagent_dispatch to confirmed, or set build_mode to executing-plans before continuing.';
|
|
924
|
+
: 'Recovery action: Subagent dispatch is not confirmed. Return to /comet-build Step 2 capability preflight. Confirm a real background subagent/Task/multi-agent dispatcher and set subagent_dispatch to confirmed, or remove the unavailable mode and set build_mode to executing-plans before continuing.';
|
|
837
925
|
}
|
|
838
926
|
return 'Recovery action: Read the Superpowers plan and continue from the first unchecked plan task.';
|
|
839
927
|
}
|
|
@@ -841,17 +929,23 @@ function resolveBuildRecoveryAction(workflow, isolation, buildMode, pause, subag
|
|
|
841
929
|
}
|
|
842
930
|
async function recoverVerify(output, name) {
|
|
843
931
|
const result = await readField(name, 'verify_result');
|
|
932
|
+
const failures = await readField(name, 'verify_failures');
|
|
844
933
|
const mode = await readField(name, 'verify_mode');
|
|
845
934
|
const report = await readField(name, 'verification_report');
|
|
846
935
|
const branch = await readField(name, 'branch_status');
|
|
847
|
-
output.stdout.push(' Verification:', fieldStatus('verify_result', result), fieldStatus('verify_mode', mode), fieldStatus('verification_report', report, report),
|
|
848
|
-
? '
|
|
936
|
+
output.stdout.push(' Verification:', await fieldStatus('verify_result', result), ` - verify_failures: ${failures || '0'}`, await fieldStatus('verify_mode', mode), await fieldStatus('verification_report', report, report), branch === 'handled'
|
|
937
|
+
? ' - branch_status: LEGACY (handled before archive; archive still owns final closure)'
|
|
938
|
+
: ' - branch_status: DEFERRED (handled after the archive commit)', '', result === 'pass'
|
|
939
|
+
? 'Recovery action: Verification complete. Continue to archive; branch handling happens after archive changes are committed.'
|
|
849
940
|
: result === 'fail'
|
|
850
941
|
? 'Recovery action: Verification failed and rolled back to build. Resume from /comet-build.'
|
|
851
942
|
: 'Recovery action: Verification not yet started or in progress. Run scale assessment then verify.');
|
|
852
943
|
}
|
|
853
944
|
async function recoverArchive(output, name) {
|
|
854
|
-
|
|
945
|
+
const archiveConfirmation = await readField(name, 'archive_confirmation');
|
|
946
|
+
output.stdout.push(' Archive:', await fieldStatus('verify_result', await readField(name, 'verify_result')), await fieldStatus('archive_confirmation', archiveConfirmation), await fieldStatus('archived', await readField(name, 'archived')), '', archiveConfirmation === 'confirmed'
|
|
947
|
+
? 'Recovery action: Archive is confirmed. Run /comet-archive to complete archiving.'
|
|
948
|
+
: 'Recovery action: Ask for final archive confirmation in /comet-archive before running the archive command.');
|
|
855
949
|
}
|
|
856
950
|
async function recover(output, name) {
|
|
857
951
|
validateChangeName(name);
|
|
@@ -888,8 +982,11 @@ async function scale(output, name) {
|
|
|
888
982
|
fail(`ERROR: .comet.yaml not found at ${label}/.comet.yaml`);
|
|
889
983
|
const tasksFile = path.join(directory, 'tasks.md');
|
|
890
984
|
const taskCount = (await exists(tasksFile))
|
|
891
|
-
? (await
|
|
892
|
-
|
|
985
|
+
? (await readClassicProjectFile(classicCommandProjectRoot(), tasksFile, {
|
|
986
|
+
label: 'Classic scale task file',
|
|
987
|
+
}))
|
|
988
|
+
.split(/\r?\n/u)
|
|
989
|
+
.filter((line) => /^- \[/u.test(line)).length
|
|
893
990
|
: 0;
|
|
894
991
|
const specs = path.join(directory, 'specs');
|
|
895
992
|
let deltaSpecs = 0;
|
|
@@ -901,8 +998,10 @@ async function scale(output, name) {
|
|
|
901
998
|
}
|
|
902
999
|
const plan = await readField(name, 'plan');
|
|
903
1000
|
let baseRef = '';
|
|
904
|
-
if (plan && plan !== 'null' && (await exists(
|
|
905
|
-
const match = (await
|
|
1001
|
+
if (plan && plan !== 'null' && (await exists(plan))) {
|
|
1002
|
+
const match = (await readClassicProjectFile(classicCommandProjectRoot(), plan, {
|
|
1003
|
+
label: 'Classic scale plan',
|
|
1004
|
+
})).match(/^base-ref:\s*(.+)$/mu);
|
|
906
1005
|
baseRef = match?.[1].trim() ?? '';
|
|
907
1006
|
}
|
|
908
1007
|
if (!baseRef)
|
|
@@ -917,14 +1016,150 @@ async function scale(output, name) {
|
|
|
917
1016
|
await setField(new CommandOutput(), name, 'verify_mode', result);
|
|
918
1017
|
output.stderr.push(`=== Scale Assessment: ${name} ===`, ` Tasks: ${taskCount} (threshold: 3)`, ` Delta specs: ${deltaSpecs} capabilities (threshold: 1)`, ` Changed files: ${changedFiles} (threshold: 8)`, ` → Result: ${result}`, green(`[SCALE] verify_mode=${result}`));
|
|
919
1018
|
}
|
|
1019
|
+
function parseRecordCheckOptions(args) {
|
|
1020
|
+
let command;
|
|
1021
|
+
let exitCodeText;
|
|
1022
|
+
let cwd;
|
|
1023
|
+
for (let index = 0; index < args.length; index += 2) {
|
|
1024
|
+
const option = args[index];
|
|
1025
|
+
if (!['--command', '--exit-code', '--cwd'].includes(option)) {
|
|
1026
|
+
fail(`ERROR: Unknown option: ${option}`);
|
|
1027
|
+
}
|
|
1028
|
+
const value = args[index + 1];
|
|
1029
|
+
if (value === undefined)
|
|
1030
|
+
fail(`ERROR: Missing value for option: ${option}`);
|
|
1031
|
+
if (option === '--command')
|
|
1032
|
+
command = value;
|
|
1033
|
+
else if (option === '--exit-code')
|
|
1034
|
+
exitCodeText = value;
|
|
1035
|
+
else
|
|
1036
|
+
cwd = value;
|
|
1037
|
+
}
|
|
1038
|
+
if (command === undefined)
|
|
1039
|
+
fail('ERROR: Missing option: --command');
|
|
1040
|
+
if (exitCodeText === undefined)
|
|
1041
|
+
fail('ERROR: Missing option: --exit-code');
|
|
1042
|
+
if (!/^-?\d+$/u.test(exitCodeText))
|
|
1043
|
+
fail('ERROR: --exit-code must be an integer');
|
|
1044
|
+
return { command, exitCode: Number(exitCodeText), ...(cwd === undefined ? {} : { cwd }) };
|
|
1045
|
+
}
|
|
1046
|
+
async function recordCheck(output, name, scopeText, args) {
|
|
1047
|
+
validateChangeName(name);
|
|
1048
|
+
if (scopeText !== 'build' && scopeText !== 'verify') {
|
|
1049
|
+
fail(`ERROR: Invalid command check scope: '${scopeText}'`);
|
|
1050
|
+
}
|
|
1051
|
+
const options = parseRecordCheckOptions(args);
|
|
1052
|
+
const { directory, file } = await stateFile(name);
|
|
1053
|
+
const projectRoot = classicCommandProjectRoot();
|
|
1054
|
+
const activeChangesDir = (await assertClassicLayoutReadable(projectRoot)).changesDir;
|
|
1055
|
+
if (path.dirname(directory) !== activeChangesDir || !(await exists(file))) {
|
|
1056
|
+
fail(`ERROR: command checks require an active change: ${name}`);
|
|
1057
|
+
}
|
|
1058
|
+
try {
|
|
1059
|
+
const projection = await readClassicState(directory, { migrate: false });
|
|
1060
|
+
if (!projection.classic || !projection.run) {
|
|
1061
|
+
throw new Error('command checks require an existing synchronized Classic Run');
|
|
1062
|
+
}
|
|
1063
|
+
const { run } = await validateClassicRuntimeRun(directory, projection);
|
|
1064
|
+
const recorded = await recordCommandCheck(projectRoot, directory, run, {
|
|
1065
|
+
scope: scopeText,
|
|
1066
|
+
...options,
|
|
1067
|
+
cwd: options.cwd ??
|
|
1068
|
+
(path.relative(projectRoot, classicCommandInvocationCwd()).replaceAll('\\', '/') || '.'),
|
|
1069
|
+
});
|
|
1070
|
+
output.stderr.push(green(`[RECORDED] ${recorded.scope} exit=${recorded.exitCode} cwd=${recorded.cwd} command=${recorded.command}`));
|
|
1071
|
+
}
|
|
1072
|
+
catch (error) {
|
|
1073
|
+
fail(`ERROR: ${error.message}`);
|
|
1074
|
+
}
|
|
1075
|
+
}
|
|
920
1076
|
function required(args, count, usage) {
|
|
921
1077
|
if (args.length < count)
|
|
922
1078
|
fail(usage);
|
|
923
1079
|
}
|
|
924
|
-
|
|
1080
|
+
function requiredExact(args, count, usage) {
|
|
1081
|
+
if (args.length !== count)
|
|
1082
|
+
fail(usage);
|
|
1083
|
+
}
|
|
1084
|
+
const MUTATING_STATE_COMMANDS = new Set([
|
|
1085
|
+
'init',
|
|
1086
|
+
'set',
|
|
1087
|
+
'transition',
|
|
1088
|
+
'check',
|
|
1089
|
+
'scale',
|
|
1090
|
+
'record-check',
|
|
1091
|
+
'rebind',
|
|
1092
|
+
'select',
|
|
1093
|
+
'clear-selection',
|
|
1094
|
+
]);
|
|
1095
|
+
async function assertStateCommandWritable(subcommand) {
|
|
1096
|
+
if (!subcommand || !MUTATING_STATE_COMMANDS.has(subcommand))
|
|
1097
|
+
return;
|
|
1098
|
+
try {
|
|
1099
|
+
await assertClassicLayoutWritable(classicCommandProjectRoot());
|
|
1100
|
+
}
|
|
1101
|
+
catch (error) {
|
|
1102
|
+
fail(`ERROR: ${error instanceof Error ? error.message : String(error)}`);
|
|
1103
|
+
}
|
|
1104
|
+
}
|
|
1105
|
+
async function selectChange(output, name) {
|
|
1106
|
+
validateChangeName(name);
|
|
1107
|
+
try {
|
|
1108
|
+
const selection = await selectCurrentChange(classicCommandProjectRoot(), name);
|
|
1109
|
+
const boundBranch = await readField(name, 'bound_branch');
|
|
1110
|
+
const bound = boundBranch && boundBranch !== 'null' ? boundBranch : null;
|
|
1111
|
+
output.stderr.push(green(`[SELECTED] current change: ${selection.change}${bound ? ` (branch: ${bound})` : ''}`));
|
|
1112
|
+
}
|
|
1113
|
+
catch (error) {
|
|
1114
|
+
fail(`ERROR: ${error instanceof Error ? error.message : String(error)}`);
|
|
1115
|
+
}
|
|
1116
|
+
}
|
|
1117
|
+
async function rebind(output, name) {
|
|
1118
|
+
validateChangeName(name);
|
|
1119
|
+
const { directory } = await stateFile(name);
|
|
1120
|
+
const boundBranch = await readField(name, 'bound_branch');
|
|
1121
|
+
if (!boundBranch || boundBranch === 'null') {
|
|
1122
|
+
fail(`ERROR: '${name}' is not yet bound; use 'comet state set ${name} isolation <current|branch|worktree>' to establish the first binding`);
|
|
1123
|
+
}
|
|
1124
|
+
const branch = liveGitBranch(classicCommandInvocationCwd());
|
|
1125
|
+
if (branch === null) {
|
|
1126
|
+
fail('ERROR: cannot rebind while HEAD is detached; checkout a branch first');
|
|
1127
|
+
}
|
|
1128
|
+
const before = await readClassicState(directory);
|
|
1129
|
+
if (!before.classic)
|
|
1130
|
+
fail('ERROR: Classic state projection is missing');
|
|
1131
|
+
await healBoundBranch(directory, branch);
|
|
1132
|
+
const after = { ...before.classic, boundBranch: branch };
|
|
1133
|
+
await appendClassicStateEvent(directory, {
|
|
1134
|
+
change: name,
|
|
1135
|
+
event: 'rebind',
|
|
1136
|
+
source: 'comet-state',
|
|
1137
|
+
from: before.classic,
|
|
1138
|
+
to: after,
|
|
1139
|
+
effects: [{ field: 'boundBranch', from: boundBranch, to: branch }],
|
|
1140
|
+
});
|
|
1141
|
+
output.stderr.push(green(`[REBIND] bound_branch: ${boundBranch} → ${branch}`));
|
|
1142
|
+
}
|
|
1143
|
+
async function currentChange(output) {
|
|
1144
|
+
const resolution = await resolveCurrentChange(classicCommandProjectRoot());
|
|
1145
|
+
if (resolution.status === 'selected') {
|
|
1146
|
+
output.stdout.push(resolution.selection.change);
|
|
1147
|
+
return;
|
|
1148
|
+
}
|
|
1149
|
+
if (resolution.status === 'missing') {
|
|
1150
|
+
fail('ERROR: no current change selected\nUse: comet-state.mjs select <change-name>');
|
|
1151
|
+
}
|
|
1152
|
+
fail(`ERROR: current change selection is stale: ${resolution.reason}\nUse: comet-state.mjs select <change-name>`);
|
|
1153
|
+
}
|
|
1154
|
+
async function clearSelection(output) {
|
|
1155
|
+
await clearCurrentChange(classicCommandProjectRoot());
|
|
1156
|
+
output.stderr.push(green('[CLEARED] current change selection'));
|
|
1157
|
+
}
|
|
1158
|
+
export const classicStateCommand = async (args, options) => withClassicCommandContext(options, async () => {
|
|
925
1159
|
const output = new CommandOutput();
|
|
926
1160
|
try {
|
|
927
1161
|
const [subcommand, ...rest] = args;
|
|
1162
|
+
await assertStateCommandWritable(subcommand);
|
|
928
1163
|
if (subcommand === 'init') {
|
|
929
1164
|
required(rest, 2, 'Usage: comet-state.mjs init <change-name> <workflow>');
|
|
930
1165
|
await init(output, rest[0], rest[1]);
|
|
@@ -954,10 +1189,30 @@ export const classicStateCommand = async (args) => {
|
|
|
954
1189
|
required(rest, 1, 'Usage: comet-state.mjs scale <change-name>');
|
|
955
1190
|
await scale(output, rest[0]);
|
|
956
1191
|
}
|
|
1192
|
+
else if (subcommand === 'record-check') {
|
|
1193
|
+
required(rest, 2, 'Usage: comet state record-check <change> <build|verify> --command <text> --exit-code <int> [--cwd <path>]');
|
|
1194
|
+
await recordCheck(output, rest[0], rest[1], rest.slice(2));
|
|
1195
|
+
}
|
|
957
1196
|
else if (subcommand === 'task-checkoff') {
|
|
958
1197
|
required(rest, 2, 'Usage: comet-state.mjs task-checkoff <file> <task-text>');
|
|
959
1198
|
await taskCheckoff(output, rest[0], rest[1]);
|
|
960
1199
|
}
|
|
1200
|
+
else if (subcommand === 'rebind') {
|
|
1201
|
+
requiredExact(rest, 1, 'Usage: comet-state.mjs rebind <change-name>');
|
|
1202
|
+
await rebind(output, rest[0]);
|
|
1203
|
+
}
|
|
1204
|
+
else if (subcommand === 'select') {
|
|
1205
|
+
requiredExact(rest, 1, 'Usage: comet-state.mjs select <change-name>');
|
|
1206
|
+
await selectChange(output, rest[0]);
|
|
1207
|
+
}
|
|
1208
|
+
else if (subcommand === 'current') {
|
|
1209
|
+
requiredExact(rest, 0, 'Usage: comet-state.mjs current');
|
|
1210
|
+
await currentChange(output);
|
|
1211
|
+
}
|
|
1212
|
+
else if (subcommand === 'clear-selection') {
|
|
1213
|
+
requiredExact(rest, 0, 'Usage: comet-state.mjs clear-selection');
|
|
1214
|
+
await clearSelection(output);
|
|
1215
|
+
}
|
|
961
1216
|
else if (subcommand === 'next') {
|
|
962
1217
|
required(rest, 1, 'Usage: comet-state.mjs next <change-name>');
|
|
963
1218
|
await next(output, rest[0]);
|
|
@@ -980,5 +1235,5 @@ export const classicStateCommand = async (args) => {
|
|
|
980
1235
|
}
|
|
981
1236
|
return output.result(error.exitCode);
|
|
982
1237
|
}
|
|
983
|
-
};
|
|
1238
|
+
});
|
|
984
1239
|
//# sourceMappingURL=classic-state-command.js.map
|