@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,14 +1,22 @@
|
|
|
1
1
|
import { spawnSync } from 'child_process';
|
|
2
2
|
import { createHash } from 'crypto';
|
|
3
|
-
import {
|
|
3
|
+
import { promises as fs } from 'fs';
|
|
4
4
|
import path from 'path';
|
|
5
5
|
import { parseDocument } from 'yaml';
|
|
6
|
+
import { latestCommandCheck, } from './classic-command-checks.js';
|
|
6
7
|
import { inspectClassicChange } from './classic-diagnostics.js';
|
|
8
|
+
import { assertClassicLayoutWritable, classicProjectRelative } from './classic-layout.js';
|
|
7
9
|
import { openSpecChangeNameError, resolveClassicChangeDirectory } from './classic-paths.js';
|
|
8
10
|
import { ensureClassicRuntimeRun, transitionClassicRuntimeRun } from './classic-runtime-run.js';
|
|
9
11
|
import { appendClassicStateEvent } from './classic-state-events.js';
|
|
10
12
|
import { CLASSIC_GUARD_TRANSITION_EVENT, applyClassicTransition } from './classic-transitions.js';
|
|
11
13
|
import { classicValidateCommand } from './classic-validate-command.js';
|
|
14
|
+
import { readClassicState } from './classic-store.js';
|
|
15
|
+
import { readClassicConfigValue } from './classic-project-config.js';
|
|
16
|
+
import { readWorkflowProjectConfigDocument } from '../workflow-contract/project-config-reader.js';
|
|
17
|
+
import { classicProjectFileNonempty, classicProjectTargetExists, inspectClassicProjectTarget, readClassicProjectBytes, readClassicProjectFile, } from './classic-protected-path.js';
|
|
18
|
+
import { driftBlockedMessage, resolveBranchBinding, unboundDetachedMessage, } from './classic-branch-binding.js';
|
|
19
|
+
import { classicCommandInvocationCwd, classicCommandProjectRoot, withClassicCommandContext, } from './classic-command-context.js';
|
|
12
20
|
const GREEN = '\u001b[32m';
|
|
13
21
|
const RED = '\u001b[31m';
|
|
14
22
|
const YELLOW = '\u001b[33m';
|
|
@@ -76,68 +84,30 @@ class GuardOutput {
|
|
|
76
84
|
}
|
|
77
85
|
}
|
|
78
86
|
async function exists(file) {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
}
|
|
83
|
-
catch (error) {
|
|
84
|
-
if (error.code === 'ENOENT')
|
|
85
|
-
return false;
|
|
86
|
-
throw error;
|
|
87
|
-
}
|
|
87
|
+
const projectRoot = classicCommandProjectRoot();
|
|
88
|
+
return classicProjectTargetExists(projectRoot, file, {
|
|
89
|
+
label: `Classic guard path ${path.relative(projectRoot, path.resolve(projectRoot, file)).replaceAll('\\', '/')}`,
|
|
90
|
+
});
|
|
88
91
|
}
|
|
89
92
|
async function nonempty(file) {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
}
|
|
93
|
-
catch (error) {
|
|
94
|
-
if (error.code === 'ENOENT')
|
|
95
|
-
return false;
|
|
96
|
-
throw error;
|
|
97
|
-
}
|
|
93
|
+
const projectRoot = classicCommandProjectRoot();
|
|
94
|
+
return classicProjectFileNonempty(projectRoot, file, `Classic guard file ${path.relative(projectRoot, path.resolve(projectRoot, file)).replaceAll('\\', '/')}`);
|
|
98
95
|
}
|
|
99
96
|
function validateChangeName(name) {
|
|
100
97
|
const error = openSpecChangeNameError(name);
|
|
101
98
|
if (error)
|
|
102
99
|
throw new GuardFailure(red(`ERROR: ${error}`));
|
|
103
100
|
}
|
|
104
|
-
// Resolve
|
|
105
|
-
//
|
|
106
|
-
// RELATIVE path (cwd is the project root) so handoff-hash inputs and check
|
|
107
|
-
// output match the frozen `openspec/changes/...` form byte-for-byte.
|
|
101
|
+
// Resolve an absolute change directory for filesystem and runtime consumers.
|
|
102
|
+
// Frozen relative provenance strings are derived separately from projectRoot.
|
|
108
103
|
async function resolveChangeDir(name) {
|
|
109
|
-
return (await resolveClassicChangeDirectory(name)).
|
|
110
|
-
}
|
|
111
|
-
function stripInlineComment(value) {
|
|
112
|
-
let out = '';
|
|
113
|
-
let quote = '';
|
|
114
|
-
for (let i = 0; i < value.length; i += 1) {
|
|
115
|
-
const c = value[i];
|
|
116
|
-
if (quote === '') {
|
|
117
|
-
if (c === '"' || c === "'") {
|
|
118
|
-
quote = c;
|
|
119
|
-
}
|
|
120
|
-
else if (c === '#' && (i === 0 || /\s/u.test(value[i - 1]))) {
|
|
121
|
-
return out.replace(/\s+$/u, '');
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
else if (c === quote) {
|
|
125
|
-
quote = '';
|
|
126
|
-
}
|
|
127
|
-
out += c;
|
|
128
|
-
}
|
|
129
|
-
return out;
|
|
130
|
-
}
|
|
131
|
-
function stripWrappingQuotes(value) {
|
|
132
|
-
if (value.length >= 2 && value.startsWith('"') && value.endsWith('"'))
|
|
133
|
-
return value.slice(1, -1);
|
|
134
|
-
if (value.length >= 2 && value.startsWith("'") && value.endsWith("'"))
|
|
135
|
-
return value.slice(1, -1);
|
|
136
|
-
return value;
|
|
104
|
+
return (await resolveClassicChangeDirectory(name, classicCommandProjectRoot())).directory;
|
|
137
105
|
}
|
|
138
106
|
async function readField(changeDir, field) {
|
|
139
107
|
const file = path.join(changeDir, '.comet.yaml');
|
|
140
|
-
const document = parseDocument(await
|
|
108
|
+
const document = parseDocument(await readClassicProjectFile(classicCommandProjectRoot(), file, {
|
|
109
|
+
label: `Classic state ${changeDir}/.comet.yaml`,
|
|
110
|
+
}), { uniqueKeys: false });
|
|
141
111
|
if (document.errors.length > 0) {
|
|
142
112
|
throw new GuardFailure(`ERROR: Invalid .comet.yaml: ${document.errors[0].message}`);
|
|
143
113
|
}
|
|
@@ -153,24 +123,7 @@ async function projectConfigValue(field, changeDir) {
|
|
|
153
123
|
const changeValue = await readField(changeDir, field);
|
|
154
124
|
if (changeValue && changeValue !== 'null')
|
|
155
125
|
return changeValue;
|
|
156
|
-
|
|
157
|
-
'.comet/config.yaml',
|
|
158
|
-
'.comet.yaml',
|
|
159
|
-
'comet.yaml',
|
|
160
|
-
'.comet.yml',
|
|
161
|
-
'comet.yml',
|
|
162
|
-
]) {
|
|
163
|
-
if (!(await exists(config)))
|
|
164
|
-
continue;
|
|
165
|
-
for (const line of (await fs.readFile(config, 'utf8')).split(/\r?\n/u)) {
|
|
166
|
-
if (new RegExp(`^${field}:`, 'u').test(line)) {
|
|
167
|
-
const value = stripWrappingQuotes(stripInlineComment(line.replace(new RegExp(`^${field}:\\s*`, 'u'), '')));
|
|
168
|
-
if (value && value !== 'null')
|
|
169
|
-
return value;
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
return '';
|
|
126
|
+
return (await readClassicConfigValue(field, { cwd: classicCommandProjectRoot() }))?.value ?? '';
|
|
174
127
|
}
|
|
175
128
|
async function configuredLanguage(changeDir) {
|
|
176
129
|
const language = await projectConfigValue('language', changeDir);
|
|
@@ -201,7 +154,9 @@ function countEnglishWords(source) {
|
|
|
201
154
|
}
|
|
202
155
|
async function documentLanguageMatchesConfigured(changeDir, file) {
|
|
203
156
|
const language = await configuredLanguage(changeDir);
|
|
204
|
-
const source = stripFencedCodeBlocks(await
|
|
157
|
+
const source = stripFencedCodeBlocks(await readClassicProjectFile(classicCommandProjectRoot(), file, {
|
|
158
|
+
label: `Classic language-check artifact ${file}`,
|
|
159
|
+
}));
|
|
205
160
|
const cjk = countCjkChars(source);
|
|
206
161
|
const englishWords = countEnglishWords(source);
|
|
207
162
|
if (language === 'zh-CN' && cjk < 20 && englishWords >= 20) {
|
|
@@ -212,82 +167,26 @@ async function documentLanguageMatchesConfigured(changeDir, file) {
|
|
|
212
167
|
}
|
|
213
168
|
return pass();
|
|
214
169
|
}
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
return { status: 1, output: red('ERROR: build/verify command is empty') };
|
|
222
|
-
const split = splitCommandChain(command);
|
|
223
|
-
if (typeof split === 'string') {
|
|
224
|
-
return {
|
|
225
|
-
status: 1,
|
|
226
|
-
output: `${red(`ERROR: build/verify command contains shell metacharacters: ${command}`)}\n${red(split)}`,
|
|
227
|
-
};
|
|
228
|
-
}
|
|
229
|
-
const output = [];
|
|
230
|
-
for (const part of split) {
|
|
231
|
-
const segment = part.trim();
|
|
232
|
-
if (!segment) {
|
|
233
|
-
return { status: 1, output: red('ERROR: build/verify command contains an empty && step') };
|
|
234
|
-
}
|
|
235
|
-
const result = spawnSync(segment, { shell: true, encoding: 'utf8', timeout: 300_000 });
|
|
236
|
-
const combined = `${result.stdout ?? ''}${result.stderr ?? ''}`.replace(/\n+$/u, '');
|
|
237
|
-
output.push(`${red(`+ ${segment}`)}${combined ? `\n${combined}` : ''}`);
|
|
238
|
-
if (result.status !== 0) {
|
|
239
|
-
return { status: result.status ?? 1, output: output.join('\n') };
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
return { status: 0, output: output.join('\n') };
|
|
243
|
-
}
|
|
244
|
-
function splitCommandChain(command) {
|
|
245
|
-
const parts = [];
|
|
246
|
-
let current = '';
|
|
247
|
-
let quote = '';
|
|
248
|
-
for (let i = 0; i < command.length; i += 1) {
|
|
249
|
-
const c = command[i];
|
|
250
|
-
if (c === '$' || c === '`') {
|
|
251
|
-
return 'Allowed: command words, quotes, paths, and && between sequential commands';
|
|
252
|
-
}
|
|
253
|
-
if (quote) {
|
|
254
|
-
current += c;
|
|
255
|
-
if (c === quote)
|
|
256
|
-
quote = '';
|
|
257
|
-
continue;
|
|
258
|
-
}
|
|
259
|
-
if (c === '"' || c === "'") {
|
|
260
|
-
quote = c;
|
|
261
|
-
current += c;
|
|
262
|
-
continue;
|
|
263
|
-
}
|
|
264
|
-
if (c === '&' && command[i + 1] === '&') {
|
|
265
|
-
parts.push(current);
|
|
266
|
-
current = '';
|
|
267
|
-
i += 1;
|
|
268
|
-
continue;
|
|
269
|
-
}
|
|
270
|
-
if (c === ';' || c === '|' || c === '&') {
|
|
271
|
-
return 'Allowed: command words, quotes, paths, and && between sequential commands';
|
|
272
|
-
}
|
|
273
|
-
current += c;
|
|
274
|
-
}
|
|
275
|
-
if (quote)
|
|
276
|
-
return 'Command has an unmatched quote';
|
|
277
|
-
parts.push(current);
|
|
278
|
-
return parts;
|
|
279
|
-
}
|
|
280
|
-
function hashFile(file) {
|
|
281
|
-
return createHash('sha256').update(readFileSync(file)).digest('hex');
|
|
170
|
+
async function hashFile(file) {
|
|
171
|
+
return createHash('sha256')
|
|
172
|
+
.update(await readClassicProjectBytes(classicCommandProjectRoot(), file, {
|
|
173
|
+
label: `Classic handoff source ${file}`,
|
|
174
|
+
}))
|
|
175
|
+
.digest('hex');
|
|
282
176
|
}
|
|
283
177
|
async function handoffSourceFiles(changeDir) {
|
|
284
178
|
// Use forward-slash concatenation (not path.join, which uses the OS separator)
|
|
285
179
|
// so the handoff-hash input and markdown `Source:` references match the frozen
|
|
286
180
|
// shell + comet-handoff provenance byte-for-byte. changeDir is a relative forward-slash
|
|
287
181
|
// path (openspec/changes/<name>); forward slashes are readable on Windows too.
|
|
288
|
-
const
|
|
289
|
-
const
|
|
182
|
+
const changeRef = classicProjectRelative(classicCommandProjectRoot(), changeDir);
|
|
183
|
+
const files = [`${changeRef}/proposal.md`, `${changeRef}/design.md`, `${changeRef}/tasks.md`];
|
|
184
|
+
const specs = `${changeRef}/specs`;
|
|
290
185
|
if (await exists(specs)) {
|
|
186
|
+
await inspectClassicProjectTarget(classicCommandProjectRoot(), specs, {
|
|
187
|
+
label: `Classic delta-spec directory ${specs}`,
|
|
188
|
+
expected: 'directory',
|
|
189
|
+
});
|
|
291
190
|
for (const entry of (await fs.readdir(specs)).sort()) {
|
|
292
191
|
const spec = `${specs}/${entry}/spec.md`;
|
|
293
192
|
if (await exists(spec))
|
|
@@ -300,7 +199,7 @@ async function computeHandoffHash(changeDir) {
|
|
|
300
199
|
const lines = [];
|
|
301
200
|
for (const file of await handoffSourceFiles(changeDir)) {
|
|
302
201
|
if (await exists(file)) {
|
|
303
|
-
lines.push(`path:${file}`, `sha256:${hashFile(file)}`);
|
|
202
|
+
lines.push(`path:${file}`, `sha256:${await hashFile(file)}`);
|
|
304
203
|
}
|
|
305
204
|
}
|
|
306
205
|
// Match the frozen shell: command substitution $(...) strips the trailing
|
|
@@ -314,16 +213,29 @@ async function preflight(changeDir, name) {
|
|
|
314
213
|
if (!(await exists(path.join(changeDir, '.comet.yaml')))) {
|
|
315
214
|
throw new GuardFailure(red(`FATAL: .comet.yaml not found in ${changeDir}`));
|
|
316
215
|
}
|
|
216
|
+
await inspectClassicProjectTarget(classicCommandProjectRoot(), path.join(changeDir, '.comet'), {
|
|
217
|
+
label: `Classic runtime directory for ${name}`,
|
|
218
|
+
expected: 'directory',
|
|
219
|
+
});
|
|
317
220
|
const result = await classicValidateCommand([name], { json: false });
|
|
318
221
|
if (result.exitCode !== 0) {
|
|
319
222
|
if (result.stderr)
|
|
320
223
|
process.stderr.write(result.stderr.endsWith('\n') ? result.stderr : `${result.stderr}\n`);
|
|
321
224
|
throw new GuardFailure(red('FATAL: .comet.yaml schema validation failed'));
|
|
322
225
|
}
|
|
226
|
+
const projection = await readClassicState(changeDir);
|
|
227
|
+
const unknownKeys = Array.from(new Set(projection.unknownKeys)).sort();
|
|
228
|
+
if (unknownKeys.length > 0) {
|
|
229
|
+
throw new GuardFailure(red(`FATAL: .comet.yaml has unknown field(s): ${unknownKeys.join(', ')}`));
|
|
230
|
+
}
|
|
323
231
|
}
|
|
324
232
|
function pushCheck(output, outcome) {
|
|
325
233
|
if (outcome.passed) {
|
|
326
234
|
output.stderr.push(green(` [PASS] ${outcome.description}`));
|
|
235
|
+
if (outcome.detail) {
|
|
236
|
+
for (const line of outcome.detail.split('\n'))
|
|
237
|
+
output.stderr.push(green(` ${line}`));
|
|
238
|
+
}
|
|
327
239
|
}
|
|
328
240
|
else {
|
|
329
241
|
output.stderr.push(red(` [FAIL] ${outcome.description}`));
|
|
@@ -352,8 +264,8 @@ function check(description, run) {
|
|
|
352
264
|
}
|
|
353
265
|
};
|
|
354
266
|
}
|
|
355
|
-
function pass() {
|
|
356
|
-
return { passed: true };
|
|
267
|
+
function pass(detail) {
|
|
268
|
+
return { passed: true, ...(detail ? { detail } : {}) };
|
|
357
269
|
}
|
|
358
270
|
function fail(detail) {
|
|
359
271
|
return { passed: false, detail };
|
|
@@ -368,54 +280,115 @@ async function runChecks(output, builders) {
|
|
|
368
280
|
}
|
|
369
281
|
return blocked;
|
|
370
282
|
}
|
|
283
|
+
const INFERRED_COMMAND_SOURCES = [
|
|
284
|
+
'package.json with a build script',
|
|
285
|
+
'pom.xml',
|
|
286
|
+
'Cargo.toml',
|
|
287
|
+
];
|
|
288
|
+
async function removedProjectCommandField(field) {
|
|
289
|
+
try {
|
|
290
|
+
const document = await readWorkflowProjectConfigDocument(classicCommandProjectRoot(), {
|
|
291
|
+
allowPartialProject: true,
|
|
292
|
+
});
|
|
293
|
+
if (!document)
|
|
294
|
+
return false;
|
|
295
|
+
return Object.prototype.hasOwnProperty.call(document.value, field);
|
|
296
|
+
}
|
|
297
|
+
catch (error) {
|
|
298
|
+
throw new Error(`.comet/config.yaml is invalid YAML (${error instanceof Error ? error.message : String(error)}); cannot check for removed "${field}" field. Fix the config and retry.`, { cause: error });
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
function removedProjectCommandRun(field) {
|
|
302
|
+
return {
|
|
303
|
+
status: 1,
|
|
304
|
+
output: `${field} has been removed from .comet/config.yaml. Delete this field and run any required ${field === 'build_command' ? 'build' : 'verification'} command manually before retrying.`,
|
|
305
|
+
};
|
|
306
|
+
}
|
|
371
307
|
function runInferred(command) {
|
|
372
308
|
// Inferred build/verify commands (npm run build, mvn, cargo, …) run through
|
|
373
309
|
// the platform's default shell so .cmd shims resolve on Windows without
|
|
374
310
|
// requiring bash. Output is returned raw (no `+ ` prefix).
|
|
375
|
-
const result = spawnSync(command, {
|
|
311
|
+
const result = spawnSync(command, {
|
|
312
|
+
shell: true,
|
|
313
|
+
cwd: classicCommandInvocationCwd(),
|
|
314
|
+
encoding: 'utf8',
|
|
315
|
+
timeout: 300_000,
|
|
316
|
+
});
|
|
376
317
|
return {
|
|
377
318
|
status: result.status ?? 1,
|
|
378
319
|
output: `${result.stdout ?? ''}${result.stderr ?? ''}`.replace(/\n+$/u, ''),
|
|
379
320
|
};
|
|
380
321
|
}
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
322
|
+
function invocationTarget(relative) {
|
|
323
|
+
return path.resolve(classicCommandInvocationCwd(), relative);
|
|
324
|
+
}
|
|
325
|
+
async function inferredBuildCommand() {
|
|
326
|
+
const packageJson = invocationTarget('package.json');
|
|
327
|
+
if (await exists(packageJson)) {
|
|
328
|
+
const parsed = JSON.parse(await readClassicProjectFile(classicCommandProjectRoot(), packageJson, {
|
|
329
|
+
label: 'package.json',
|
|
330
|
+
}));
|
|
331
|
+
if (typeof parsed.scripts?.build === 'string')
|
|
332
|
+
return 'npm run build';
|
|
333
|
+
}
|
|
334
|
+
if (await exists(invocationTarget('pom.xml'))) {
|
|
392
335
|
if (process.platform === 'win32') {
|
|
393
|
-
if (
|
|
394
|
-
return
|
|
395
|
-
return
|
|
336
|
+
if (await exists(invocationTarget('mvnw.cmd')))
|
|
337
|
+
return 'mvnw.cmd compile -q';
|
|
338
|
+
return 'mvn.cmd compile -q';
|
|
396
339
|
}
|
|
397
|
-
if (
|
|
398
|
-
return
|
|
399
|
-
return
|
|
400
|
-
}
|
|
401
|
-
if (await exists('Cargo.toml'))
|
|
402
|
-
return
|
|
403
|
-
return
|
|
404
|
-
}
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
340
|
+
if (await exists(invocationTarget('mvnw')))
|
|
341
|
+
return './mvnw compile -q';
|
|
342
|
+
return 'mvn compile -q';
|
|
343
|
+
}
|
|
344
|
+
if (await exists(invocationTarget('Cargo.toml')))
|
|
345
|
+
return 'cargo build';
|
|
346
|
+
return null;
|
|
347
|
+
}
|
|
348
|
+
function evidenceDetail(record) {
|
|
349
|
+
return `Evidence: recorded command-check at ${record.timestamp}; command: ${record.command}; cwd: ${record.cwd}`;
|
|
350
|
+
}
|
|
351
|
+
function recoveryCommand(change, scope, command) {
|
|
352
|
+
return `comet state record-check ${change} ${scope} --command "${command}" --exit-code 0`;
|
|
353
|
+
}
|
|
354
|
+
async function commandCheckPasses(changeDir, change, run, scope) {
|
|
355
|
+
if (process.env.COMET_SKIP_BUILD === '1') {
|
|
356
|
+
return { status: 0, output: 'SKIPPED via COMET_SKIP_BUILD=1' };
|
|
357
|
+
}
|
|
358
|
+
const removedFields = scope === 'build' ? ['build_command'] : ['verify_command', 'build_command'];
|
|
359
|
+
for (const removedField of removedFields) {
|
|
360
|
+
if (await removedProjectCommandField(removedField)) {
|
|
361
|
+
return removedProjectCommandRun(removedField);
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
const inferred = scope === 'build' ? await inferredBuildCommand() : null;
|
|
365
|
+
if (inferred)
|
|
366
|
+
return runInferred(inferred);
|
|
367
|
+
const recorded = await latestCommandCheck(classicCommandProjectRoot(), changeDir, run, scope);
|
|
368
|
+
if (!recorded) {
|
|
369
|
+
return {
|
|
370
|
+
status: 1,
|
|
371
|
+
output: scope === 'build'
|
|
372
|
+
? `No inferred build command or recorded build check. Detection searched: ${INFERRED_COMMAND_SOURCES.join(', ')}.\nNext: run the required command, then record it with:\n${recoveryCommand(change, scope, '<command>')}`
|
|
373
|
+
: `No recorded verify check.\nNext: run the required verification command, then record it with:\n${recoveryCommand(change, scope, '<command>')}`,
|
|
374
|
+
};
|
|
375
|
+
}
|
|
376
|
+
if (recorded.exitCode !== 0) {
|
|
377
|
+
return {
|
|
378
|
+
status: recorded.exitCode,
|
|
379
|
+
output: `Latest recorded ${scope} check failed with exit code ${recorded.exitCode}.\n${evidenceDetail(recorded)}\nNext: rerun the command successfully, then record it with:\n${recoveryCommand(change, scope, recorded.command)}`,
|
|
380
|
+
};
|
|
381
|
+
}
|
|
382
|
+
return { status: 0, output: evidenceDetail(recorded) };
|
|
412
383
|
}
|
|
413
384
|
async function tasksAllDone(changeDir) {
|
|
414
385
|
const tasks = path.join(changeDir, 'tasks.md');
|
|
415
386
|
if (!(await exists(tasks))) {
|
|
416
387
|
return fail(`tasks.md is missing at ${tasks}\nNext: restore or create tasks.md for this change before leaving build.`);
|
|
417
388
|
}
|
|
418
|
-
const source = await
|
|
389
|
+
const source = await readClassicProjectFile(classicCommandProjectRoot(), tasks, {
|
|
390
|
+
label: `Classic tasks ${tasks}`,
|
|
391
|
+
});
|
|
419
392
|
if (!/- \[x\]/u.test(source)) {
|
|
420
393
|
return fail("tasks.md has no completed tasks.\nNext: complete implementation tasks and mark them with '- [x]'.");
|
|
421
394
|
}
|
|
@@ -432,7 +405,9 @@ async function tasksHasAny(changeDir) {
|
|
|
432
405
|
const tasks = path.join(changeDir, 'tasks.md');
|
|
433
406
|
if (!(await exists(tasks)))
|
|
434
407
|
return false;
|
|
435
|
-
return /- \[/u.test(await
|
|
408
|
+
return /- \[/u.test(await readClassicProjectFile(classicCommandProjectRoot(), tasks, {
|
|
409
|
+
label: `Classic tasks ${tasks}`,
|
|
410
|
+
}));
|
|
436
411
|
}
|
|
437
412
|
async function planTasksAllDone(changeDir) {
|
|
438
413
|
const plan = await readField(changeDir, 'plan');
|
|
@@ -441,7 +416,9 @@ async function planTasksAllDone(changeDir) {
|
|
|
441
416
|
if (!(await exists(plan))) {
|
|
442
417
|
return fail(`plan file is missing at ${plan}\nNext: restore the Superpowers plan file or update .comet.yaml plan before leaving build.`);
|
|
443
418
|
}
|
|
444
|
-
const source = await
|
|
419
|
+
const source = await readClassicProjectFile(classicCommandProjectRoot(), plan, {
|
|
420
|
+
label: `Classic plan ${plan}`,
|
|
421
|
+
});
|
|
445
422
|
const unfinished = source
|
|
446
423
|
.split(/\r?\n/u)
|
|
447
424
|
.map((line, index) => ({ line, number: index + 1 }))
|
|
@@ -451,17 +428,46 @@ async function planTasksAllDone(changeDir) {
|
|
|
451
428
|
}
|
|
452
429
|
return pass();
|
|
453
430
|
}
|
|
431
|
+
async function boundBranchMatches(changeDir, change) {
|
|
432
|
+
let outcome;
|
|
433
|
+
try {
|
|
434
|
+
outcome = await resolveBranchBinding(changeDir, {
|
|
435
|
+
heal: true,
|
|
436
|
+
cwd: classicCommandInvocationCwd(),
|
|
437
|
+
});
|
|
438
|
+
}
|
|
439
|
+
catch (error) {
|
|
440
|
+
throw new GuardFailure(`ERROR: ${error instanceof Error ? error.message : String(error)}`);
|
|
441
|
+
}
|
|
442
|
+
switch (outcome.status) {
|
|
443
|
+
case 'drift':
|
|
444
|
+
return fail(driftBlockedMessage(change, outcome.boundBranch, outcome.currentBranch));
|
|
445
|
+
case 'unbound-detached':
|
|
446
|
+
return fail(unboundDetachedMessage(change));
|
|
447
|
+
case 'healed':
|
|
448
|
+
return pass(`bound_branch lazily set to ${outcome.branch}`);
|
|
449
|
+
case 'needs-heal':
|
|
450
|
+
case 'ok':
|
|
451
|
+
case 'not-applicable':
|
|
452
|
+
return pass();
|
|
453
|
+
default: {
|
|
454
|
+
const exhaustive = outcome;
|
|
455
|
+
throw new Error(`unhandled branch binding status: ${JSON.stringify(exhaustive)}`);
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
}
|
|
454
459
|
async function isolationSelected(changeDir, change) {
|
|
455
460
|
const isolation = await readField(changeDir, 'isolation');
|
|
456
|
-
if (isolation === 'branch' || isolation === 'worktree')
|
|
461
|
+
if (isolation === 'current' || isolation === 'branch' || isolation === 'worktree')
|
|
457
462
|
return pass();
|
|
458
|
-
|
|
463
|
+
const allowedValues = '<current|branch|worktree>';
|
|
464
|
+
return fail(`isolation must be current, branch, or worktree, got '${isolation || 'null'}'\nNext: choose a valid workspace mode, prepare it when needed, then run:\n comet state set ${change} isolation ${allowedValues}`);
|
|
459
465
|
}
|
|
460
466
|
async function buildModeSelected(changeDir, change) {
|
|
461
467
|
const buildMode = await readField(changeDir, 'build_mode');
|
|
462
468
|
if (['subagent-driven-development', 'executing-plans', 'direct'].includes(buildMode))
|
|
463
469
|
return pass();
|
|
464
|
-
return fail(`build_mode must be selected before leaving build, got '${buildMode || 'null'}'\nNext: ask the user to choose an execution mode, then run:\n
|
|
470
|
+
return fail(`build_mode must be selected before leaving build, got '${buildMode || 'null'}'\nNext: ask the user to choose an execution mode, then run:\n comet state set ${change} build_mode <subagent-driven-development|executing-plans>`);
|
|
465
471
|
}
|
|
466
472
|
async function buildModeAllowedForWorkflow(changeDir) {
|
|
467
473
|
const workflow = await readField(changeDir, 'workflow');
|
|
@@ -482,7 +488,7 @@ async function subagentDispatchConfirmed(changeDir, change) {
|
|
|
482
488
|
return pass();
|
|
483
489
|
if (subagentDispatch === 'confirmed')
|
|
484
490
|
return pass();
|
|
485
|
-
return fail(`subagent_dispatch must be confirmed before using build_mode=subagent-driven-development\nNext: confirm the current platform has a real background subagent/Task/multi-agent dispatcher, then run:\n
|
|
491
|
+
return fail(`subagent_dispatch must be confirmed before using build_mode=subagent-driven-development\nNext: confirm the current platform has a real background subagent/Task/multi-agent dispatcher, then run:\n comet state set ${change} subagent_dispatch confirmed\nIf dispatch is unavailable, return to /comet-build Step 2 with subagent-driven-development removed. When executing-plans is the only valid mode, run:\n comet state set ${change} build_mode executing-plans`);
|
|
486
492
|
}
|
|
487
493
|
async function tddModeSelected(changeDir, change) {
|
|
488
494
|
const workflow = await readField(changeDir, 'workflow');
|
|
@@ -491,7 +497,7 @@ async function tddModeSelected(changeDir, change) {
|
|
|
491
497
|
const tddMode = await readField(changeDir, 'tdd_mode');
|
|
492
498
|
if (tddMode === 'tdd' || tddMode === 'direct')
|
|
493
499
|
return pass();
|
|
494
|
-
return fail(`tdd_mode must be tdd or direct for full workflow, got '${tddMode || 'null'}'\nNext: ask the user to choose TDD enforcement level, then run:\n
|
|
500
|
+
return fail(`tdd_mode must be tdd or direct for full workflow, got '${tddMode || 'null'}'\nNext: ask the user to choose TDD enforcement level, then run:\n comet state set ${change} tdd_mode <tdd|direct>`);
|
|
495
501
|
}
|
|
496
502
|
async function reviewModeSelected(changeDir, change) {
|
|
497
503
|
const workflow = await readField(changeDir, 'workflow');
|
|
@@ -501,11 +507,11 @@ async function reviewModeSelected(changeDir, change) {
|
|
|
501
507
|
if (reviewMode === 'off' || reviewMode === 'standard' || reviewMode === 'thorough') {
|
|
502
508
|
return pass();
|
|
503
509
|
}
|
|
504
|
-
return fail(`review_mode must be off, standard, or thorough before leaving build, got '${reviewMode || 'null'}'\nNext: ask the user to choose review strength, then run:\n
|
|
510
|
+
return fail(`review_mode must be off, standard, or thorough before leaving build, got '${reviewMode || 'null'}'\nNext: ask the user to choose review strength, then run:\n comet state set ${change} review_mode <off|standard|thorough>`);
|
|
505
511
|
}
|
|
506
512
|
async function verificationReportExists(changeDir) {
|
|
507
513
|
const report = await readField(changeDir, 'verification_report');
|
|
508
|
-
return Boolean(report) && report !== 'null' &&
|
|
514
|
+
return Boolean(report) && report !== 'null' && (await exists(report));
|
|
509
515
|
}
|
|
510
516
|
async function branchStatusHandled(changeDir) {
|
|
511
517
|
return (await readField(changeDir, 'branch_status')) === 'handled';
|
|
@@ -514,7 +520,9 @@ async function archivedIsTrue(changeDir) {
|
|
|
514
520
|
return (await readField(changeDir, 'archived')) === 'true';
|
|
515
521
|
}
|
|
516
522
|
async function designDocFrontmatterHas(designDoc, field, expected) {
|
|
517
|
-
const source = (await
|
|
523
|
+
const source = (await readClassicProjectFile(classicCommandProjectRoot(), designDoc, {
|
|
524
|
+
label: `Classic Design Doc ${designDoc}`,
|
|
525
|
+
})).replace(/^\uFEFF/u, '');
|
|
518
526
|
let inFrontmatter = false;
|
|
519
527
|
for (const line of source.split(/\r?\n/u)) {
|
|
520
528
|
if (!inFrontmatter) {
|
|
@@ -531,9 +539,9 @@ async function designDocFrontmatterHas(designDoc, field, expected) {
|
|
|
531
539
|
}
|
|
532
540
|
async function designDocRecorded(changeDir, change) {
|
|
533
541
|
const designDoc = await readField(changeDir, 'design_doc');
|
|
534
|
-
if (designDoc && designDoc !== 'null' &&
|
|
542
|
+
if (designDoc && designDoc !== 'null' && (await exists(designDoc)))
|
|
535
543
|
return pass();
|
|
536
|
-
return fail(`design_doc must point to an existing Superpowers Design Doc for full workflow before leaving design.\nNext: create the Design Doc and run:
|
|
544
|
+
return fail(`design_doc must point to an existing Superpowers Design Doc for full workflow before leaving design.\nNext: create the Design Doc and run: comet state set ${change} design_doc <path>`);
|
|
537
545
|
}
|
|
538
546
|
async function designHandoffContextValid(changeDir, change) {
|
|
539
547
|
const context = await readField(changeDir, 'handoff_context');
|
|
@@ -542,18 +550,18 @@ async function designHandoffContextValid(changeDir, change) {
|
|
|
542
550
|
return fail(`handoff_context is missing from .comet.yaml\nNext: run node "$COMET_HANDOFF" ${change} design --write before invoking Superpowers.`);
|
|
543
551
|
}
|
|
544
552
|
if (!(await nonempty(context))) {
|
|
545
|
-
return fail(`handoff_context does not point to a non-empty file: ${context}\nNext: regenerate the design handoff with comet
|
|
553
|
+
return fail(`handoff_context does not point to a non-empty file: ${context}\nNext: regenerate the design handoff with comet handoff ${change} design --write.`);
|
|
546
554
|
}
|
|
547
555
|
if (!/^[a-f0-9]{64}$/u.test(recordedHash)) {
|
|
548
|
-
return fail(`handoff_hash is missing or invalid: ${recordedHash || 'null'}\nNext: regenerate the design handoff with comet
|
|
556
|
+
return fail(`handoff_hash is missing or invalid: ${recordedHash || 'null'}\nNext: regenerate the design handoff with comet handoff ${change} design --write.`);
|
|
549
557
|
}
|
|
550
558
|
const actualHash = await computeHandoffHash(changeDir);
|
|
551
559
|
if (actualHash !== recordedHash) {
|
|
552
|
-
return fail(`OpenSpec artifacts changed after handoff was generated.\nExpected handoff_hash: ${recordedHash}\nActual handoff_hash: ${actualHash}\nNext:
|
|
560
|
+
return fail(`OpenSpec artifacts changed after handoff was generated.\nExpected handoff_hash: ${recordedHash}\nActual handoff_hash: ${actualHash}\nNext: run comet handoff ${change} design --write so Superpowers receives the current OpenSpec context.`);
|
|
553
561
|
}
|
|
554
562
|
const markdown = `${context.replace(/\.json$/u, '')}.md`;
|
|
555
563
|
if (!(await nonempty(markdown))) {
|
|
556
|
-
return fail(`design handoff markdown is missing or empty: ${markdown}\nNext: regenerate the design handoff with comet
|
|
564
|
+
return fail(`design handoff markdown is missing or empty: ${markdown}\nNext: regenerate the design handoff with comet handoff ${change} design --write.`);
|
|
557
565
|
}
|
|
558
566
|
return pass();
|
|
559
567
|
}
|
|
@@ -564,7 +572,10 @@ async function designHandoffMarkdownTraceable(changeDir) {
|
|
|
564
572
|
const markdown = `${context.replace(/\.json$/u, '')}.md`;
|
|
565
573
|
if (!(await nonempty(markdown)))
|
|
566
574
|
return fail(`design handoff markdown is missing or empty: ${markdown}`);
|
|
567
|
-
const source = await
|
|
575
|
+
const source = await readClassicProjectFile(classicCommandProjectRoot(), markdown, {
|
|
576
|
+
label: `Classic handoff markdown ${markdown}`,
|
|
577
|
+
});
|
|
578
|
+
const lines = new Set(source.split(/\r?\n/u));
|
|
568
579
|
const problems = [];
|
|
569
580
|
if (!/^Generated-by: comet-handoff\.sh$/mu.test(source)) {
|
|
570
581
|
problems.push('handoff markdown is missing Generated-by marker');
|
|
@@ -575,10 +586,10 @@ async function designHandoffMarkdownTraceable(changeDir) {
|
|
|
575
586
|
for (const file of await handoffSourceFiles(changeDir)) {
|
|
576
587
|
if (!(await exists(file)))
|
|
577
588
|
continue;
|
|
578
|
-
if (!
|
|
589
|
+
if (!lines.has(`- Source: ${file}`)) {
|
|
579
590
|
problems.push(`handoff markdown is missing source reference: ${file}`);
|
|
580
591
|
}
|
|
581
|
-
if (!
|
|
592
|
+
if (!lines.has(`- SHA256: ${await hashFile(file)}`)) {
|
|
582
593
|
problems.push(`handoff markdown is missing current sha256 for: ${file}`);
|
|
583
594
|
}
|
|
584
595
|
}
|
|
@@ -595,7 +606,9 @@ async function betaSpecJsonStructurallyValid(changeDir) {
|
|
|
595
606
|
return fail('handoff_context is missing from .comet.yaml');
|
|
596
607
|
if (!(await nonempty(context)))
|
|
597
608
|
return fail(`spec-context.json is missing or empty: ${context}`);
|
|
598
|
-
const source = await
|
|
609
|
+
const source = await readClassicProjectFile(classicCommandProjectRoot(), context, {
|
|
610
|
+
label: `Classic handoff context ${context}`,
|
|
611
|
+
});
|
|
599
612
|
const problems = [];
|
|
600
613
|
let parsed;
|
|
601
614
|
try {
|
|
@@ -698,8 +711,9 @@ async function guardDesignChecks(output, changeDir, change) {
|
|
|
698
711
|
}
|
|
699
712
|
return blocked;
|
|
700
713
|
}
|
|
701
|
-
async function guardBuildChecks(output, changeDir, change) {
|
|
714
|
+
async function guardBuildChecks(output, changeDir, change, run) {
|
|
702
715
|
return runChecks(output, [
|
|
716
|
+
check('bound branch matches workspace mode', () => boundBranchMatches(changeDir, change)),
|
|
703
717
|
check('isolation selected', () => isolationSelected(changeDir, change)),
|
|
704
718
|
check('build_mode selected', () => buildModeSelected(changeDir, change)),
|
|
705
719
|
check('build_mode allowed for workflow', () => buildModeAllowedForWorkflow(changeDir)),
|
|
@@ -719,19 +733,20 @@ async function guardBuildChecks(output, changeDir, change) {
|
|
|
719
733
|
// Build check runs last — only after all config checks pass — to avoid
|
|
720
734
|
// wasting time on a build that would be rejected by a config failure.
|
|
721
735
|
check('Build passes', async () => {
|
|
722
|
-
const buildResult = await
|
|
723
|
-
return buildResult.status === 0 ? pass() : fail(buildResult.output);
|
|
736
|
+
const buildResult = await commandCheckPasses(changeDir, change, run, 'build');
|
|
737
|
+
return buildResult.status === 0 ? pass(buildResult.output) : fail(buildResult.output);
|
|
724
738
|
}),
|
|
725
739
|
]);
|
|
726
740
|
}
|
|
727
|
-
async function guardVerifyChecks(output, changeDir) {
|
|
741
|
+
async function guardVerifyChecks(output, changeDir, change, run) {
|
|
728
742
|
return runChecks(output, [
|
|
743
|
+
check('bound branch matches workspace mode', () => boundBranchMatches(changeDir, change)),
|
|
729
744
|
check('tasks.md all tasks checked', () => tasksAllDone(changeDir)),
|
|
730
745
|
// Verification command runs after tasks check — no point running tests
|
|
731
746
|
// if tasks.md is incomplete.
|
|
732
747
|
check('Verification passes', async () => {
|
|
733
|
-
const verifyResult = await
|
|
734
|
-
return verifyResult.status === 0 ? pass() : fail(verifyResult.output);
|
|
748
|
+
const verifyResult = await commandCheckPasses(changeDir, change, run, 'verify');
|
|
749
|
+
return verifyResult.status === 0 ? pass(verifyResult.output) : fail(verifyResult.output);
|
|
735
750
|
}),
|
|
736
751
|
check('verification_report exists', async () => (await verificationReportExists(changeDir)) ? pass() : fail('')),
|
|
737
752
|
check('verification_report matches configured language', async () => {
|
|
@@ -740,21 +755,26 @@ async function guardVerifyChecks(output, changeDir) {
|
|
|
740
755
|
return pass();
|
|
741
756
|
return documentLanguageMatchesConfigured(changeDir, report);
|
|
742
757
|
}),
|
|
743
|
-
check('branch_status=handled', async () => (await branchStatusHandled(changeDir)) ? pass() : fail('')),
|
|
744
758
|
]);
|
|
745
759
|
}
|
|
746
|
-
async function guardArchiveChecks(output, changeDir) {
|
|
760
|
+
async function guardArchiveChecks(output, changeDir, change) {
|
|
747
761
|
return runChecks(output, [
|
|
762
|
+
check('bound branch matches workspace mode', () => boundBranchMatches(changeDir, change)),
|
|
748
763
|
check('archived is true', async () => ((await archivedIsTrue(changeDir)) ? pass() : fail(''))),
|
|
749
764
|
check('proposal.md exists', async () => (await nonempty(path.join(changeDir, 'proposal.md'))) ? pass() : fail('')),
|
|
750
765
|
check('design.md exists', async () => (await nonempty(path.join(changeDir, 'design.md'))) ? pass() : fail('')),
|
|
751
766
|
check('tasks.md all tasks checked', () => tasksAllDone(changeDir)),
|
|
767
|
+
check('branch_status=handled', async () => (await branchStatusHandled(changeDir)) ? pass() : fail('')),
|
|
752
768
|
]);
|
|
753
769
|
}
|
|
754
|
-
async function applyStateUpdate(output, change, changeDir, phase
|
|
770
|
+
async function applyStateUpdate(output, change, changeDir, phase) {
|
|
755
771
|
const event = CLASSIC_GUARD_TRANSITION_EVENT[phase];
|
|
756
772
|
if (!event)
|
|
757
773
|
return;
|
|
774
|
+
// Re-read instead of reusing the run context captured before the checks:
|
|
775
|
+
// boundBranchMatches may have lazily healed bound_branch on disk, and a
|
|
776
|
+
// stale projection would write the pre-heal null back over it.
|
|
777
|
+
const context = await ensureClassicRuntimeRun(changeDir);
|
|
758
778
|
const result = applyClassicTransition(context.classic, event);
|
|
759
779
|
await transitionClassicRuntimeRun(changeDir, result.classic, context.run, {
|
|
760
780
|
event,
|
|
@@ -777,7 +797,7 @@ async function applyStateUpdate(output, change, changeDir, phase, context) {
|
|
|
777
797
|
const message = phase === 'open' ? template.replace('PLACEHOLDER', result.classic.phase) : template;
|
|
778
798
|
output.stderr.push(green(message));
|
|
779
799
|
}
|
|
780
|
-
export const classicGuardCommand = async (args, options) => {
|
|
800
|
+
export const classicGuardCommand = async (args, options) => withClassicCommandContext(options, async () => {
|
|
781
801
|
const output = new GuardOutput();
|
|
782
802
|
const [change, phase, flag] = args;
|
|
783
803
|
try {
|
|
@@ -785,6 +805,7 @@ export const classicGuardCommand = async (args, options) => {
|
|
|
785
805
|
if (!phase || !PHASES.includes(phase)) {
|
|
786
806
|
throw new GuardFailure(`${red(`Unknown phase: ${phase ?? ''}`)}\nValid phases: open, design, build, verify, archive`);
|
|
787
807
|
}
|
|
808
|
+
await assertClassicLayoutWritable(classicCommandProjectRoot());
|
|
788
809
|
const changeDir = await resolveChangeDir(change);
|
|
789
810
|
await preflight(changeDir, change);
|
|
790
811
|
const runContext = await ensureClassicRuntimeRun(changeDir);
|
|
@@ -804,11 +825,11 @@ export const classicGuardCommand = async (args, options) => {
|
|
|
804
825
|
else if (phase === 'design')
|
|
805
826
|
blocked = await guardDesignChecks(output, changeDir, change);
|
|
806
827
|
else if (phase === 'build')
|
|
807
|
-
blocked = await guardBuildChecks(output, changeDir, change);
|
|
828
|
+
blocked = await guardBuildChecks(output, changeDir, change, runContext.run);
|
|
808
829
|
else if (phase === 'verify')
|
|
809
|
-
blocked = await guardVerifyChecks(output, changeDir);
|
|
830
|
+
blocked = await guardVerifyChecks(output, changeDir, change, runContext.run);
|
|
810
831
|
else
|
|
811
|
-
blocked = await guardArchiveChecks(output, changeDir);
|
|
832
|
+
blocked = await guardArchiveChecks(output, changeDir, change);
|
|
812
833
|
if (blocked) {
|
|
813
834
|
output.stderr.push('');
|
|
814
835
|
output.stderr.push(red('BLOCKED — fix failing checks before proceeding to next phase'));
|
|
@@ -817,7 +838,7 @@ export const classicGuardCommand = async (args, options) => {
|
|
|
817
838
|
output.stderr.push('');
|
|
818
839
|
output.stderr.push(green('ALL CHECKS PASSED — ready for next phase'));
|
|
819
840
|
if (flag === '--apply') {
|
|
820
|
-
await applyStateUpdate(output, change, changeDir, phase
|
|
841
|
+
await applyStateUpdate(output, change, changeDir, phase);
|
|
821
842
|
}
|
|
822
843
|
return output.toResult(0);
|
|
823
844
|
}
|
|
@@ -829,5 +850,5 @@ export const classicGuardCommand = async (args, options) => {
|
|
|
829
850
|
}
|
|
830
851
|
throw error;
|
|
831
852
|
}
|
|
832
|
-
};
|
|
853
|
+
});
|
|
833
854
|
//# sourceMappingURL=classic-guard.js.map
|