@rpamis/comet 0.4.0-beta.5 → 0.4.0-beta.7
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/README.md +215 -77
- package/assets/manifest.json +14 -5
- package/assets/skills/comet/SKILL.md +17 -282
- package/assets/skills/comet/reference/comet-yaml-fields.md +5 -3
- package/assets/skills/comet/reference/context-recovery.md +3 -3
- package/assets/skills/comet/reference/intent-frame.md +2 -2
- package/assets/skills/comet/reference/scripts.md +2 -2
- 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 +7834 -0
- package/assets/skills/comet/scripts/comet-hook-router.mjs +10307 -0
- package/assets/skills/comet/scripts/comet-runtime.mjs +782 -425
- package/assets/skills/comet-any/SKILL.md +4 -4
- package/assets/skills/comet-any/reference/authoring-subagents.md +1 -1
- package/assets/skills/comet-any/reference/bundle-authoring.md +1 -1
- 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 +2 -2
- package/assets/skills/comet-any/reference/subagents/workflow-entry-author.md +3 -3
- package/assets/skills/comet-archive/SKILL.md +7 -9
- package/assets/skills/comet-build/SKILL.md +17 -11
- package/assets/skills/comet-classic/SKILL.md +293 -0
- package/assets/skills/comet-design/SKILL.md +1 -1
- package/assets/skills/comet-hotfix/SKILL.md +20 -6
- package/assets/skills/comet-native/SKILL.md +257 -0
- package/assets/skills/comet-native/reference/artifacts.md +204 -0
- package/assets/skills/comet-native/reference/commands.md +118 -0
- package/assets/skills/comet-native/reference/recovery.md +143 -0
- package/assets/skills/comet-native/scripts/comet-native-hook-guard.mjs +4 -0
- package/assets/skills/comet-native/scripts/comet-native-runtime.mjs +28898 -0
- package/assets/skills/comet-open/SKILL.md +4 -4
- package/assets/skills/comet-tweak/SKILL.md +22 -10
- package/assets/skills/comet-verify/SKILL.md +2 -0
- package/assets/skills-zh/comet/SKILL.md +17 -270
- package/assets/skills-zh/comet/reference/comet-yaml-fields.md +5 -3
- package/assets/skills-zh/comet/reference/context-recovery.md +3 -3
- package/assets/skills-zh/comet/reference/intent-frame.md +2 -2
- package/assets/skills-zh/comet/reference/scripts.md +2 -2
- package/assets/skills-zh/comet-any/SKILL.md +4 -4
- package/assets/skills-zh/comet-any/reference/authoring-subagents.md +1 -1
- package/assets/skills-zh/comet-any/reference/bundle-authoring.md +1 -1
- 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 +2 -2
- package/assets/skills-zh/comet-any/reference/subagents/workflow-entry-author.md +3 -3
- package/assets/skills-zh/comet-archive/SKILL.md +7 -9
- package/assets/skills-zh/comet-build/SKILL.md +17 -11
- package/assets/skills-zh/comet-classic/SKILL.md +281 -0
- package/assets/skills-zh/comet-design/SKILL.md +1 -1
- package/assets/skills-zh/comet-hotfix/SKILL.md +20 -6
- package/assets/skills-zh/comet-native/SKILL.md +257 -0
- package/assets/skills-zh/comet-native/reference/artifacts.md +206 -0
- package/assets/skills-zh/comet-native/reference/commands.md +118 -0
- package/assets/skills-zh/comet-native/reference/recovery.md +143 -0
- package/assets/skills-zh/comet-open/SKILL.md +4 -4
- package/assets/skills-zh/comet-tweak/SKILL.md +22 -10
- package/assets/skills-zh/comet-verify/SKILL.md +2 -0
- package/dist/app/cli/index.js +59 -13
- package/dist/app/cli/index.js.map +1 -1
- 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 +1 -0
- package/dist/app/commands/doctor.d.ts.map +1 -1
- package/dist/app/commands/doctor.js +201 -26
- 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 +17 -7
- 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 +6 -2
- package/dist/app/commands/i18n.js.map +1 -1
- package/dist/app/commands/init.d.ts +10 -2
- package/dist/app/commands/init.d.ts.map +1 -1
- package/dist/app/commands/init.js +331 -50
- 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.map +1 -1
- package/dist/app/commands/project-scope-selection.js +2 -0
- package/dist/app/commands/project-scope-selection.js.map +1 -1
- package/dist/app/commands/resume-probe.d.ts.map +1 -1
- package/dist/app/commands/resume-probe.js +8 -2
- package/dist/app/commands/resume-probe.js.map +1 -1
- package/dist/app/commands/status.d.ts +0 -31
- package/dist/app/commands/status.d.ts.map +1 -1
- package/dist/app/commands/status.js +49 -172
- package/dist/app/commands/status.js.map +1 -1
- package/dist/app/commands/update.d.ts +20 -4
- package/dist/app/commands/update.d.ts.map +1 -1
- package/dist/app/commands/update.js +698 -90
- 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 +21 -1
- package/dist/domains/comet-classic/classic-archive.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-archive.js +3 -0
- 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-current-change.d.ts +3 -5
- package/dist/domains/comet-classic/classic-current-change.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-current-change.js +59 -68
- package/dist/domains/comet-classic/classic-current-change.js.map +1 -1
- package/dist/domains/comet-classic/classic-guard.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-guard.js +40 -10
- package/dist/domains/comet-classic/classic-guard.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 +109 -13
- package/dist/domains/comet-classic/classic-hook-guard.js.map +1 -1
- package/dist/domains/comet-classic/classic-project-config.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-project-config.js +12 -8
- package/dist/domains/comet-classic/classic-project-config.js.map +1 -1
- package/dist/domains/comet-classic/classic-runtime-run.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-runtime-run.js +9 -1
- 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 +94 -4
- 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.d.ts +2 -1
- package/dist/domains/comet-classic/classic-state.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-state.js +3 -0
- package/dist/domains/comet-classic/classic-state.js.map +1 -1
- package/dist/domains/comet-classic/classic-transitions.d.ts.map +1 -1
- package/dist/domains/comet-classic/classic-transitions.js +1 -0
- 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 +6 -0
- package/dist/domains/comet-classic/classic-validate-command.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 +116 -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 +92 -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 +16 -0
- package/dist/domains/comet-entry/init-workflow.d.ts.map +1 -0
- package/dist/domains/comet-entry/init-workflow.js +103 -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 +222 -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 +22 -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 +458 -0
- package/dist/domains/comet-entry/resume-probe.js.map +1 -0
- package/dist/domains/comet-entry/types.d.ts +59 -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 +42 -0
- package/dist/domains/comet-native/native-acceptance.d.ts.map +1 -0
- package/dist/domains/comet-native/native-acceptance.js +503 -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 +94 -0
- package/dist/domains/comet-native/native-archive-inspection.js.map +1 -0
- package/dist/domains/comet-native/native-archive-preflight.d.ts +52 -0
- package/dist/domains/comet-native/native-archive-preflight.d.ts.map +1 -0
- package/dist/domains/comet-native/native-archive-preflight.js +214 -0
- package/dist/domains/comet-native/native-archive-preflight.js.map +1 -0
- package/dist/domains/comet-native/native-archive-transaction.d.ts +19 -0
- package/dist/domains/comet-native/native-archive-transaction.d.ts.map +1 -0
- package/dist/domains/comet-native/native-archive-transaction.js +1181 -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 +403 -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 +175 -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 +180 -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 +61 -0
- package/dist/domains/comet-native/native-change.d.ts.map +1 -0
- package/dist/domains/comet-native/native-change.js +696 -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 +347 -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 +196 -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 +446 -0
- package/dist/domains/comet-native/native-check-receipt.js.map +1 -0
- package/dist/domains/comet-native/native-check.d.ts +18 -0
- package/dist/domains/comet-native/native-check.d.ts.map +1 -0
- package/dist/domains/comet-native/native-check.js +29 -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 +642 -0
- package/dist/domains/comet-native/native-cli.js.map +1 -0
- package/dist/domains/comet-native/native-config.d.ts +15 -0
- package/dist/domains/comet-native/native-config.d.ts.map +1 -0
- package/dist/domains/comet-native/native-config.js +281 -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 +9 -0
- package/dist/domains/comet-native/native-continuation.d.ts.map +1 -0
- package/dist/domains/comet-native/native-continuation.js +146 -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 +141 -0
- package/dist/domains/comet-native/native-contract.js.map +1 -0
- package/dist/domains/comet-native/native-diagnostics.d.ts +18 -0
- package/dist/domains/comet-native/native-diagnostics.d.ts.map +1 -0
- package/dist/domains/comet-native/native-diagnostics.js +522 -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 +768 -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 +885 -0
- package/dist/domains/comet-native/native-evidence-retention.js.map +1 -0
- package/dist/domains/comet-native/native-evidence-storage.d.ts +41 -0
- package/dist/domains/comet-native/native-evidence-storage.d.ts.map +1 -0
- package/dist/domains/comet-native/native-evidence-storage.js +351 -0
- package/dist/domains/comet-native/native-evidence-storage.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 +238 -0
- package/dist/domains/comet-native/native-findings.js.map +1 -0
- package/dist/domains/comet-native/native-guards.d.ts +7 -0
- package/dist/domains/comet-native/native-guards.d.ts.map +1 -0
- package/dist/domains/comet-native/native-guards.js +126 -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-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 +395 -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 +171 -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 +509 -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 +42 -0
- package/dist/domains/comet-native/native-repair-integration.d.ts.map +1 -0
- package/dist/domains/comet-native/native-repair-integration.js +184 -0
- package/dist/domains/comet-native/native-repair-integration.js.map +1 -0
- package/dist/domains/comet-native/native-repair-runtime.d.ts +73 -0
- package/dist/domains/comet-native/native-repair-runtime.d.ts.map +1 -0
- package/dist/domains/comet-native/native-repair-runtime.js +509 -0
- package/dist/domains/comet-native/native-repair-runtime.js.map +1 -0
- package/dist/domains/comet-native/native-repair-stagnation.d.ts +85 -0
- package/dist/domains/comet-native/native-repair-stagnation.d.ts.map +1 -0
- package/dist/domains/comet-native/native-repair-stagnation.js +256 -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-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 +812 -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 +451 -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 +899 -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 +74 -0
- package/dist/domains/comet-native/native-snapshot.d.ts.map +1 -0
- package/dist/domains/comet-native/native-snapshot.js +2308 -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 +20 -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 +13 -0
- package/dist/domains/comet-native/native-transitions.d.ts.map +1 -0
- package/dist/domains/comet-native/native-transitions.js +632 -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 +86 -0
- package/dist/domains/comet-native/native-verification-evidence.d.ts.map +1 -0
- package/dist/domains/comet-native/native-verification-evidence.js +480 -0
- package/dist/domains/comet-native/native-verification-evidence.js.map +1 -0
- package/dist/domains/comet-native/native-verification-runtime.d.ts +58 -0
- package/dist/domains/comet-native/native-verification-runtime.d.ts.map +1 -0
- package/dist/domains/comet-native/native-verification-runtime.js +321 -0
- package/dist/domains/comet-native/native-verification-runtime.js.map +1 -0
- package/dist/domains/comet-native/native-verification-scope.d.ts +117 -0
- package/dist/domains/comet-native/native-verification-scope.d.ts.map +1 -0
- package/dist/domains/comet-native/native-verification-scope.js +1040 -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 +9 -1
- 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 +285 -0
- package/dist/domains/dashboard/native-collector.js.map +1 -0
- package/dist/domains/dashboard/types.d.ts +5 -0
- package/dist/domains/dashboard/types.d.ts.map +1 -1
- package/dist/domains/dashboard/web/assets/{arc-TGVUG2WN.js → arc-CxdiLJ50.js} +1 -1
- package/dist/domains/dashboard/web/assets/{architectureDiagram-3BPJPVTR-ASHmiHoP.js → architectureDiagram-3BPJPVTR-D5YCQu4e.js} +1 -1
- package/dist/domains/dashboard/web/assets/{blockDiagram-GPEHLZMM-CwASxBKe.js → blockDiagram-GPEHLZMM-8NfdCOQ8.js} +1 -1
- package/dist/domains/dashboard/web/assets/{c4Diagram-AAUBKEIU-BU8z_WNk.js → c4Diagram-AAUBKEIU-B3cFnNT7.js} +1 -1
- package/dist/domains/dashboard/web/assets/channel-B6AFly29.js +1 -0
- package/dist/domains/dashboard/web/assets/{chunk-2J33WTMH-CBGlUx4_.js → chunk-2J33WTMH-CBNfW-Dr.js} +1 -1
- package/dist/domains/dashboard/web/assets/{chunk-4BX2VUAB-CS-iGcFz.js → chunk-4BX2VUAB-vWyemRBr.js} +1 -1
- package/dist/domains/dashboard/web/assets/{chunk-55IACEB6-BUtCVJat.js → chunk-55IACEB6-H6haOo2C.js} +1 -1
- package/dist/domains/dashboard/web/assets/{chunk-727SXJPM-C94tj_pf.js → chunk-727SXJPM-D02UjGND.js} +1 -1
- package/dist/domains/dashboard/web/assets/{chunk-AQP2D5EJ-BFOKcpdG.js → chunk-AQP2D5EJ-wKsbOw_T.js} +1 -1
- package/dist/domains/dashboard/web/assets/{chunk-FMBD7UC4-Dmx8B-st.js → chunk-FMBD7UC4-eYFEZimP.js} +1 -1
- package/dist/domains/dashboard/web/assets/{chunk-ND2GUHAM-DYV00CNn.js → chunk-ND2GUHAM-fMaIDDI2.js} +1 -1
- package/dist/domains/dashboard/web/assets/{chunk-QZHKN3VN-DMJJyQnw.js → chunk-QZHKN3VN-C9rhF6Hm.js} +1 -1
- package/dist/domains/dashboard/web/assets/classDiagram-4FO5ZUOK-BcnrxOTt.js +1 -0
- package/dist/domains/dashboard/web/assets/classDiagram-v2-Q7XG4LA2-BcnrxOTt.js +1 -0
- package/dist/domains/dashboard/web/assets/{cose-bilkent-S5V4N54A-P4nE2rea.js → cose-bilkent-S5V4N54A-CbaShPub.js} +1 -1
- package/dist/domains/dashboard/web/assets/{cynefin-VYW2F7L2-C-R1HXDv.js → cynefin-VYW2F7L2-DN4emAQv.js} +1 -1
- package/dist/domains/dashboard/web/assets/{dagre-BM42HDAG-BH8d-C9z.js → dagre-BM42HDAG-BpSzbk_V.js} +1 -1
- package/dist/domains/dashboard/web/assets/demo-BuVau32v.js +25 -0
- package/dist/domains/dashboard/web/assets/{diagram-2AECGRRQ-DpXTgQIH.js → diagram-2AECGRRQ-CfXwGGpQ.js} +1 -1
- package/dist/domains/dashboard/web/assets/{diagram-5GNKFQAL-DSiFJzSw.js → diagram-5GNKFQAL-DMp0Zmot.js} +1 -1
- package/dist/domains/dashboard/web/assets/{diagram-KO2AKTUF-DULMkben.js → diagram-KO2AKTUF-C7ZvofsM.js} +1 -1
- package/dist/domains/dashboard/web/assets/{diagram-LMA3HP47-Pi8m_NO9.js → diagram-LMA3HP47-BjmxFnap.js} +1 -1
- package/dist/domains/dashboard/web/assets/{diagram-OG6HWLK6-BSe6bCWm.js → diagram-OG6HWLK6-DFBG1Iqy.js} +1 -1
- package/dist/domains/dashboard/web/assets/{erDiagram-TEJ5UH35-zb-FEcbq.js → erDiagram-TEJ5UH35-MpNT7dzt.js} +1 -1
- package/dist/domains/dashboard/web/assets/{flowDiagram-I6XJVG4X-Dr-Gk0z2.js → flowDiagram-I6XJVG4X-_1wAR6c1.js} +1 -1
- package/dist/domains/dashboard/web/assets/{ganttDiagram-6RSMTGT7-qs6Zb2A6.js → ganttDiagram-6RSMTGT7-DJKjDeWl.js} +1 -1
- package/dist/domains/dashboard/web/assets/{gitGraphDiagram-PVQCEYII-BQ314orT.js → gitGraphDiagram-PVQCEYII-BL7yUEn-.js} +1 -1
- package/dist/domains/dashboard/web/assets/index-CjE9mHGb.js +24 -0
- package/dist/domains/dashboard/web/assets/index-D-AGxvI4.css +1 -0
- package/dist/domains/dashboard/web/assets/{infoDiagram-5YYISTIA-O0bQp98A.js → infoDiagram-5YYISTIA-Bt5fqrOd.js} +1 -1
- package/dist/domains/dashboard/web/assets/{ishikawaDiagram-YF4QCWOH-BPC7wbKh.js → ishikawaDiagram-YF4QCWOH-COCMcjBM.js} +1 -1
- package/dist/domains/dashboard/web/assets/{journeyDiagram-JHISSGLW-ohViOd4b.js → journeyDiagram-JHISSGLW-DGcpcWny.js} +1 -1
- package/dist/domains/dashboard/web/assets/{kanban-definition-UN3LZRKU-CHleNdbG.js → kanban-definition-UN3LZRKU-QSBNsWMP.js} +1 -1
- package/dist/domains/dashboard/web/assets/{linear-CyqiW--Q.js → linear-9uyeeBZf.js} +1 -1
- package/dist/domains/dashboard/web/assets/{mermaid.core-qS9XvtaK.js → mermaid.core-CkNdB471.js} +4 -4
- package/dist/domains/dashboard/web/assets/{mindmap-definition-RKZ34NQL-oaGkqO9l.js → mindmap-definition-RKZ34NQL-CiNxI0gP.js} +1 -1
- package/dist/domains/dashboard/web/assets/{pieDiagram-4H26LBE5-CPcB-AFh.js → pieDiagram-4H26LBE5-BLJ6QnRO.js} +1 -1
- package/dist/domains/dashboard/web/assets/{quadrantDiagram-W4KKPZXB-LFy52Qtj.js → quadrantDiagram-W4KKPZXB-CflW-eFH.js} +1 -1
- package/dist/domains/dashboard/web/assets/{requirementDiagram-4Y6WPE33-BdjeaYP_.js → requirementDiagram-4Y6WPE33-B9HLmRWH.js} +1 -1
- package/dist/domains/dashboard/web/assets/{sankeyDiagram-5OEKKPKP-DDJ4styL.js → sankeyDiagram-5OEKKPKP-6xnco5k5.js} +1 -1
- package/dist/domains/dashboard/web/assets/{sequenceDiagram-3UESZ5HK-BL5bFNoz.js → sequenceDiagram-3UESZ5HK-Dp1rujNZ.js} +1 -1
- package/dist/domains/dashboard/web/assets/{stateDiagram-AJRCARHV-BNUfikui.js → stateDiagram-AJRCARHV-C1Xc90ek.js} +1 -1
- package/dist/domains/dashboard/web/assets/stateDiagram-v2-BHNVJYJU-p-qmzXyE.js +1 -0
- package/dist/domains/dashboard/web/assets/{timeline-definition-PNZ67QCA--ps2uu6L.js → timeline-definition-PNZ67QCA-g9s-m5Z4.js} +1 -1
- package/dist/domains/dashboard/web/assets/{vennDiagram-CIIHVFJN-C2q8q26c.js → vennDiagram-CIIHVFJN-rkEyhyCc.js} +1 -1
- package/dist/domains/dashboard/web/assets/{wardleyDiagram-YWT4CUSO-BUH9gXqd.js → wardleyDiagram-YWT4CUSO-CJLrWGXc.js} +1 -1
- package/dist/domains/dashboard/web/assets/{xychartDiagram-2RQKCTM6-B-DielEy.js → xychartDiagram-2RQKCTM6-BxJvPNqo.js} +1 -1
- package/dist/domains/dashboard/web/index.html +2 -2
- 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/factory/package.d.ts.map +1 -1
- package/dist/domains/factory/package.js +5 -3
- package/dist/domains/factory/package.js.map +1 -1
- package/dist/domains/integrations/openspec.d.ts.map +1 -1
- package/dist/domains/integrations/openspec.js +8 -6
- package/dist/domains/integrations/openspec.js.map +1 -1
- package/dist/domains/skill/find.d.ts.map +1 -1
- package/dist/domains/skill/find.js +7 -1
- package/dist/domains/skill/find.js.map +1 -1
- package/dist/domains/skill/platform-inspect.d.ts +6 -2
- package/dist/domains/skill/platform-inspect.d.ts.map +1 -1
- package/dist/domains/skill/platform-inspect.js +52 -8
- package/dist/domains/skill/platform-inspect.js.map +1 -1
- package/dist/domains/skill/platform-install.d.ts +18 -7
- package/dist/domains/skill/platform-install.d.ts.map +1 -1
- package/dist/domains/skill/platform-install.js +338 -71
- package/dist/domains/skill/platform-install.js.map +1 -1
- package/dist/domains/skill/project-instructions.d.ts.map +1 -1
- package/dist/domains/skill/project-instructions.js +12 -6
- package/dist/domains/skill/project-instructions.js.map +1 -1
- package/dist/domains/skill/uninstall.d.ts.map +1 -1
- package/dist/domains/skill/uninstall.js +15 -3
- 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 +137 -0
- package/dist/domains/workflow-contract/builtins.js.map +1 -1
- package/dist/domains/workflow-contract/index.d.ts +3 -1
- package/dist/domains/workflow-contract/index.d.ts.map +1 -1
- package/dist/domains/workflow-contract/index.js +2 -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 +28 -10
- package/dist/domains/workflow-contract/normalize.js.map +1 -1
- package/dist/domains/workflow-contract/project-config.d.ts +7 -0
- package/dist/domains/workflow-contract/project-config.d.ts.map +1 -0
- package/dist/domains/workflow-contract/project-config.js +110 -0
- package/dist/domains/workflow-contract/project-config.js.map +1 -0
- package/dist/domains/workflow-contract/types.d.ts +4 -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/install/detect.d.ts +3 -1
- package/dist/platform/install/detect.d.ts.map +1 -1
- package/dist/platform/install/detect.js +4 -1
- package/dist/platform/install/detect.js.map +1 -1
- package/dist/platform/install/project-registry.js +2 -2
- package/dist/platform/install/project-registry.js.map +1 -1
- 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/eval/local/README.md +50 -0
- package/eval/local/scripts/compare_baselines.py +127 -1
- package/eval/local/scripts/regression_check.py +3 -4
- package/eval/local/tasks/comet-native-clarification/environment/Dockerfile +27 -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-modes/environment/Dockerfile +27 -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 +28 -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 +26 -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 +27 -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 +27 -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 +27 -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 +27 -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 +31 -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 +469 -0
- package/eval/local/tasks/comet-native-workflow/environment/Dockerfile +27 -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 +14 -0
- package/eval/local/tasks/comet-native-workflow/task.toml +36 -0
- package/eval/local/tasks/comet-native-workflow/validation/test_native_workflow.py +149 -0
- package/eval/local/tasks/index.yaml +61 -0
- package/eval/local/tests/conftest.py +407 -22
- package/eval/local/tests/scaffold/test_aligned_comparison.py +1012 -0
- package/eval/local/tests/scaffold/test_conftest_helpers.py +187 -7
- package/eval/local/tests/scaffold/test_logging.py +135 -1
- package/eval/local/tests/scaffold/test_manifests.py +2 -0
- package/eval/local/tests/scaffold/test_native_aligned_eval.py +346 -0
- package/eval/local/tests/scaffold/test_native_wave_evaluations.py +1889 -0
- package/eval/local/tests/scaffold/test_profiles.py +33 -0
- package/eval/local/tests/scaffold/test_sample_quality.py +57 -0
- package/eval/local/tests/scaffold/test_tasks.py +377 -1
- package/eval/local/tests/scaffold/test_treatments.py +59 -13
- package/eval/local/tests/scaffold/test_utils.py +277 -4
- package/eval/local/tests/tasks/__init__.py +1 -0
- package/eval/local/tests/tasks/test_tasks.py +104 -78
- package/eval/local/tests/tasks/test_validation_scripts.py +37 -0
- package/eval/local/treatments/comet/comet_native_phase1.yaml +66 -0
- package/eval/scaffold/python/aligned_comparison.py +1631 -0
- package/eval/scaffold/python/generic_llm_judge.py +3 -1
- package/eval/scaffold/python/llm_judge.py +0 -3
- package/eval/scaffold/python/logging.py +115 -16
- package/eval/scaffold/python/manifests.py +2 -0
- package/eval/scaffold/python/native_eval.py +138 -0
- package/eval/scaffold/python/pass_at_k.py +0 -1
- package/eval/scaffold/python/report_outputs.py +226 -44
- package/eval/scaffold/python/sample_quality.py +45 -2
- package/eval/scaffold/python/tasks.py +11 -0
- package/eval/scaffold/python/utils.py +108 -20
- package/eval/scaffold/python/validation/__init__.py +15 -5
- package/eval/scaffold/python/validation/comet_workflow.py +10 -5
- package/eval/scaffold/python/validation/generic_rubric.py +1 -2
- 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 +0 -2
- package/eval/scaffold/shell/completion-point.sh +18 -0
- package/eval/scaffold/shell/decision-point.sh +35 -0
- package/eval/scaffold/shell/docker.sh +150 -9
- package/eval/scaffold/shell/run-claude-loop.sh +57 -27
- package/package.json +19 -5
- package/dist/domains/dashboard/web/assets/channel-kp6Ng2JJ.js +0 -1
- package/dist/domains/dashboard/web/assets/classDiagram-4FO5ZUOK-yBDjgMY_.js +0 -1
- package/dist/domains/dashboard/web/assets/classDiagram-v2-Q7XG4LA2-yBDjgMY_.js +0 -1
- package/dist/domains/dashboard/web/assets/demo-DQyfozbi.js +0 -1
- package/dist/domains/dashboard/web/assets/index-BLAfkNTu.css +0 -1
- package/dist/domains/dashboard/web/assets/index-DtLUOcAW.js +0 -24
- package/dist/domains/dashboard/web/assets/stateDiagram-v2-BHNVJYJU-DGrsmWts.js +0 -1
- package/eval/.env.example +0 -52
- package/eval/langsmith/.env.example +0 -16
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import subprocess
|
|
2
|
+
import sys
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
def run_cli(*args: str, input_text: str) -> str:
|
|
6
|
+
return subprocess.run(
|
|
7
|
+
[sys.executable, "wordcount.py", *args],
|
|
8
|
+
input=input_text,
|
|
9
|
+
capture_output=True,
|
|
10
|
+
text=True,
|
|
11
|
+
check=True,
|
|
12
|
+
).stdout
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def test_count_words():
|
|
16
|
+
assert "Words: 3" in run_cli(input_text="hello world foo")
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def test_count_lines():
|
|
20
|
+
assert "Lines: 3" in run_cli("--lines", input_text="hello\nworld\nfoo")
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"""Simple word count CLI tool."""
|
|
2
|
+
|
|
3
|
+
import argparse
|
|
4
|
+
import sys
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def count_words(text: str) -> int:
|
|
8
|
+
return len(text.split())
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def count_lines(text: str) -> int:
|
|
12
|
+
return len(text.splitlines())
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def main():
|
|
16
|
+
parser = argparse.ArgumentParser(description="Count words and lines in text")
|
|
17
|
+
parser.add_argument("file", nargs="?", help="Input file (reads stdin if omitted)")
|
|
18
|
+
parser.add_argument("--lines", action="store_true", help="Also count lines")
|
|
19
|
+
args = parser.parse_args()
|
|
20
|
+
text = open(args.file).read() if args.file else sys.stdin.read()
|
|
21
|
+
print(f"Words: {count_words(text)}")
|
|
22
|
+
if args.lines:
|
|
23
|
+
print(f"Lines: {count_lines(text)}")
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
if __name__ == "__main__":
|
|
27
|
+
main()
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
You are working on a Python project named `wordcount-cli`.
|
|
2
|
+
|
|
3
|
+
Begin by invoking the `/comet-native` Skill. Initialize Native under `docs/comet/`, create a change, and add a `--paragraphs` flag that prints `Paragraphs: N` while preserving existing word and line counts.
|
|
4
|
+
|
|
5
|
+
The exact paragraph-boundary rule is already documented somewhere in this repository. Investigate the repository and use that fact; do not ask the user to repeat repository facts or choose an implementation method. Write a detailed brief and a complete `paragraph-counting` target specification, implement focused tests, verify, and archive with implicit Shape approval.
|
|
6
|
+
|
|
7
|
+
Use only the Comet Native Skill and bundled runtime. Do not create OpenSpec, Classic, `.comet`, or external workflow artifacts.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
[metadata]
|
|
2
|
+
name = "comet-native-repository-fact"
|
|
3
|
+
description = "Test that Native investigates a repository fact instead of asking the user"
|
|
4
|
+
difficulty = "hard"
|
|
5
|
+
category = "comet-native"
|
|
6
|
+
tags = ["comet-native", "repository-fact", "autonomy", "full-cycle"]
|
|
7
|
+
default_treatments = ["COMET_NATIVE_PHASE1"]
|
|
8
|
+
|
|
9
|
+
[template]
|
|
10
|
+
required = []
|
|
11
|
+
|
|
12
|
+
[environment]
|
|
13
|
+
description = "Python word-count workspace whose paragraph rule is documented in the repository."
|
|
14
|
+
dockerfile = "environment/Dockerfile"
|
|
15
|
+
timeout_sec = 900
|
|
16
|
+
|
|
17
|
+
[validation]
|
|
18
|
+
test_scripts = "test_native_repository_fact.py"
|
|
19
|
+
target_artifacts = ["docs/comet/archive", "docs/comet/specs/paragraph-counting/spec.md"]
|
|
20
|
+
timeout = 120
|
|
21
|
+
|
|
22
|
+
[evaluation]
|
|
23
|
+
profile = "generic"
|
|
24
|
+
required_skills = ["comet-native"]
|
|
25
|
+
expected_artifacts = [".comet/config.yaml", "docs/comet/archive", "docs/comet/specs/paragraph-counting/spec.md"]
|
|
26
|
+
require_skill_invocation = true
|
|
27
|
+
rubric_criteria = [
|
|
28
|
+
"Reads PRODUCT_RULES.md and does not ask the user to restate repository facts",
|
|
29
|
+
"Records the documented whitespace-only paragraph boundary without explicit user confirmation",
|
|
30
|
+
"Completes the self-contained Native workflow and archives real verification evidence",
|
|
31
|
+
]
|
|
32
|
+
|
|
33
|
+
[interaction]
|
|
34
|
+
mode = "none"
|
|
35
|
+
max_turns = 1
|
package/eval/local/tasks/comet-native-repository-fact/validation/test_native_repository_fact.py
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"""Validate repository-fact discovery and implicit Native completion."""
|
|
2
|
+
|
|
3
|
+
import json
|
|
4
|
+
import os
|
|
5
|
+
import subprocess
|
|
6
|
+
import sys
|
|
7
|
+
from pathlib import Path
|
|
8
|
+
|
|
9
|
+
import yaml
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
WORKSPACE = Path("/workspace")
|
|
13
|
+
RESULTS_FILE = os.environ.get("BENCH_TEST_RESULTS", "_test_results.json")
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def check_behavior():
|
|
17
|
+
subprocess.run([sys.executable, "-m", "pytest", "-q"], cwd=WORKSPACE, check=True)
|
|
18
|
+
result = subprocess.run(
|
|
19
|
+
[sys.executable, "wordcount.py", "--paragraphs"],
|
|
20
|
+
cwd=WORKSPACE,
|
|
21
|
+
input="First block\ncontinues\n\n \nSecond block",
|
|
22
|
+
capture_output=True,
|
|
23
|
+
text=True,
|
|
24
|
+
check=True,
|
|
25
|
+
)
|
|
26
|
+
assert "Paragraphs: 2" in result.stdout
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def check_native():
|
|
30
|
+
archives = sorted((WORKSPACE / "docs/comet/archive").glob("*-*"))
|
|
31
|
+
assert archives
|
|
32
|
+
state = yaml.safe_load((archives[-1] / "comet-state.yaml").read_text(encoding="utf-8"))
|
|
33
|
+
assert state["approval"] == "implicit"
|
|
34
|
+
brief = (archives[-1] / "brief.md").read_text(encoding="utf-8").lower()
|
|
35
|
+
assert "whitespace" in brief or "blank line" in brief
|
|
36
|
+
assert (WORKSPACE / "docs/comet/specs/paragraph-counting/spec.md").is_file()
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def main():
|
|
40
|
+
failed = []
|
|
41
|
+
for name, check in (("paragraph_behavior", check_behavior), ("native_artifacts", check_native)):
|
|
42
|
+
try:
|
|
43
|
+
check()
|
|
44
|
+
except Exception as error:
|
|
45
|
+
failed.append(f"{name}: {error}")
|
|
46
|
+
output = {"passed": [] if failed else ["paragraph_behavior", "native_artifacts"], "failed": failed}
|
|
47
|
+
(WORKSPACE / RESULTS_FILE).write_text(json.dumps(output, indent=2), encoding="utf-8")
|
|
48
|
+
print(json.dumps(output))
|
|
49
|
+
return 1 if failed else 0
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
if __name__ == "__main__":
|
|
53
|
+
raise SystemExit(main())
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
FROM python:3.12-slim
|
|
2
|
+
|
|
3
|
+
WORKDIR /workspace
|
|
4
|
+
|
|
5
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
6
|
+
git nodejs npm ca-certificates && \
|
|
7
|
+
rm -rf /var/lib/apt/lists/*
|
|
8
|
+
|
|
9
|
+
RUN npm config set registry https://registry.npmmirror.com && \
|
|
10
|
+
npm install -g @anthropic-ai/claude-code@latest && \
|
|
11
|
+
npm config delete registry
|
|
12
|
+
|
|
13
|
+
RUN pip install --no-cache-dir pyyaml pytest
|
|
14
|
+
|
|
15
|
+
COPY wordcount.py /workspace/wordcount.py
|
|
16
|
+
COPY test_wordcount.py /workspace/test_wordcount.py
|
|
17
|
+
|
|
18
|
+
RUN useradd --create-home --shell /bin/bash agent && \
|
|
19
|
+
chown -R agent:agent /workspace
|
|
20
|
+
USER agent
|
|
21
|
+
ENV HOME=/home/agent
|
|
22
|
+
ENV PYTHONPATH=/workspace
|
|
23
|
+
RUN git config --global user.email "agent@eval.local" && \
|
|
24
|
+
git config --global user.name "Comet Native Eval Agent" && \
|
|
25
|
+
git config --global init.defaultBranch master
|
|
26
|
+
|
|
27
|
+
CMD ["bash"]
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"""Baseline tests for the word-count CLI."""
|
|
2
|
+
|
|
3
|
+
import subprocess
|
|
4
|
+
import sys
|
|
5
|
+
from pathlib import Path
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def run_cli(*args: str, input_text: str) -> str:
|
|
9
|
+
result = subprocess.run(
|
|
10
|
+
[sys.executable, "wordcount.py", *args],
|
|
11
|
+
input=input_text,
|
|
12
|
+
capture_output=True,
|
|
13
|
+
text=True,
|
|
14
|
+
check=True,
|
|
15
|
+
cwd=Path(__file__).parent,
|
|
16
|
+
)
|
|
17
|
+
return result.stdout
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def test_count_words():
|
|
21
|
+
assert "Words: 3" in run_cli(input_text="hello world foo")
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def test_count_lines():
|
|
25
|
+
output = run_cli("--lines", input_text="hello\nworld\nfoo")
|
|
26
|
+
assert "Words: 3" in output
|
|
27
|
+
assert "Lines: 3" in output
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"""Simple word count CLI tool."""
|
|
2
|
+
|
|
3
|
+
import argparse
|
|
4
|
+
import sys
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def count_words(text: str) -> int:
|
|
8
|
+
"""Count words in text."""
|
|
9
|
+
return len(text.split())
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def count_lines(text: str) -> int:
|
|
13
|
+
"""Count lines in text."""
|
|
14
|
+
return len(text.splitlines())
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def main():
|
|
18
|
+
parser = argparse.ArgumentParser(description="Count words and lines in text")
|
|
19
|
+
parser.add_argument("file", nargs="?", help="Input file (reads stdin if omitted)")
|
|
20
|
+
parser.add_argument("--lines", action="store_true", help="Also count lines")
|
|
21
|
+
parser.add_argument("--words", action="store_true", default=True, help="Count words (default)")
|
|
22
|
+
args = parser.parse_args()
|
|
23
|
+
|
|
24
|
+
if args.file:
|
|
25
|
+
with open(args.file) as source:
|
|
26
|
+
text = source.read()
|
|
27
|
+
else:
|
|
28
|
+
text = sys.stdin.read()
|
|
29
|
+
|
|
30
|
+
print(f"Words: {count_words(text)}")
|
|
31
|
+
if args.lines:
|
|
32
|
+
print(f"Lines: {count_lines(text)}")
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
if __name__ == "__main__":
|
|
36
|
+
main()
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
You are working on a Python project named `wordcount-cli`.
|
|
2
|
+
|
|
3
|
+
Begin by invoking the `/comet-native` Skill. Initialize Native under `docs/comet/`, create one change named `add-unique-counting`, and add a `--unique-words` flag that prints `Unique words: N` while preserving existing word and line behavior. Here, unique means the number of distinct normalized word values, not the number of words that occur exactly once.
|
|
4
|
+
|
|
5
|
+
Follow Native's Shape requirements before Build. Do not ask for repository facts or implementation choices.
|
|
6
|
+
|
|
7
|
+
If the user supplies a product decision, record every part of that answer in both the brief and the complete target specification for capability `unique-word-counting`, use Native's explicit confirmation path, and transition to Build. Then end that turn with exactly `COMET_NATIVE_COLD_RESUME_READY` without implementing the feature. The harness will start a new session containing only a continuation request. In that fresh session, re-invoke `/comet-native` before doing any work, then recover the same change from Native state and artifacts on disk. Before any implementation or transition, redirect stdout directly from the named runtime status command to `.cache/comet-native-eval/resume-status.json` exactly once; this is an immutable cold-resume snapshot, so never overwrite or recreate it later, including after Archive. Then implement focused tests and verify. Before invoking either Archive command, create `.cache/comet-native-eval/`. The first Archive dry-run invocation must itself redirect stdout to `.cache/comet-native-eval/archive-preview.json`; a dry-run displayed only in the terminal is invalid and must not be committed. The saved object must be the runtime's complete top-level JSON envelope retaining `command`, `exitCode`, and `data`, not only the preflight data object. Read the preflight hash from that envelope's `data.preflightHash`. The first commit invocation with `--expect-preflight` must itself redirect stdout to `.cache/comet-native-eval/archive-commit.json`. Do not rely on terminal output as saved evidence and do not reconstruct either file after Archive. Before reporting completion, verify all three files exist and contain the runtime's exact complete JSON envelopes.
|
|
8
|
+
|
|
9
|
+
Do not fabricate, paraphrase, or hand-author runtime JSON evidence. Use only the Comet Native Skill and its bundled runtime; do not create OpenSpec, Classic, `.comet`, or external workflow artifacts.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
[metadata]
|
|
2
|
+
name = "comet-native-wave-b-decision-resume"
|
|
3
|
+
description = "Test one hidden product decision and a context-cleared Native resume from disk"
|
|
4
|
+
difficulty = "hard"
|
|
5
|
+
category = "comet-native"
|
|
6
|
+
tags = ["comet-native", "decision", "cold-resume", "multi-turn", "wave-b"]
|
|
7
|
+
default_treatments = ["COMET_NATIVE_PHASE1"]
|
|
8
|
+
|
|
9
|
+
[template]
|
|
10
|
+
required = []
|
|
11
|
+
|
|
12
|
+
[environment]
|
|
13
|
+
description = "Python word-count workspace with only the self-contained Comet Native Skill available."
|
|
14
|
+
dockerfile = "environment/Dockerfile"
|
|
15
|
+
timeout_sec = 900
|
|
16
|
+
|
|
17
|
+
[validation]
|
|
18
|
+
test_scripts = "test_native_wave_b_decision_resume.py"
|
|
19
|
+
target_artifacts = [".cache/comet-native-eval/resume-status.json", ".cache/comet-native-eval/archive-preview.json", ".cache/comet-native-eval/archive-commit.json", "docs/comet/archive", "docs/comet/specs/unique-word-counting/spec.md"]
|
|
20
|
+
timeout = 120
|
|
21
|
+
|
|
22
|
+
[evaluation]
|
|
23
|
+
profile = "generic"
|
|
24
|
+
required_skills = ["comet-native"]
|
|
25
|
+
expected_artifacts = [".cache/comet-native-eval/resume-status.json", ".cache/comet-native-eval/archive-preview.json", ".cache/comet-native-eval/archive-commit.json", "docs/comet/archive", "docs/comet/specs/unique-word-counting/spec.md"]
|
|
26
|
+
require_skill_invocation = true
|
|
27
|
+
rubric_criteria = [
|
|
28
|
+
"Surfaces exactly one user-visible token-normalization decision before Build",
|
|
29
|
+
"Records the deterministic answer in the brief and complete target specification",
|
|
30
|
+
"Resumes the same change from disk after context is cleared instead of relying on chat memory",
|
|
31
|
+
"Implements, verifies, and commits the exact ready Archive preflight with real evidence",
|
|
32
|
+
]
|
|
33
|
+
|
|
34
|
+
[interaction]
|
|
35
|
+
mode = "auto_user"
|
|
36
|
+
max_turns = 4
|
|
37
|
+
decision_patterns = ["normalization", "punctuation", "apostrophe", "unique word"]
|
|
38
|
+
decision_reply = "Treat words case-insensitively, strip surrounding punctuation, and preserve internal apostrophes."
|
|
39
|
+
continue_prompt = "This is a context-cleared continuation. First invoke `/comet-native` so its recovery contract is loaded. After the Skill loads, the first Bash command, before any Read, Edit, test, or transition, must create .cache/comet-native-eval/ and invoke the bundled runtime command `status add-unique-counting --json`, redirecting its stdout directly to .cache/comet-native-eval/resume-status.json. Confirm that exact envelope names add-unique-counting in Build, and write it exactly once. That file is the immutable cold-resume snapshot: never overwrite or recreate it later, including after Archive. Then re-read the confirmed Native artifacts from disk and continue the same change through Verify and Archive. The first archive dry-run command must include --dry-run --json and redirect stdout directly to .cache/comet-native-eval/archive-preview.json; read data.preflightHash from that exact envelope. The first commit command must include --expect-preflight with that hash and --json, and redirect stdout directly to .cache/comet-native-eval/archive-commit.json. Do not reconstruct either archive envelope after Archive. Verify all three runtime envelopes exist before reporting completion."
|
|
40
|
+
fresh_resume_marker = "COMET_NATIVE_COLD_RESUME_READY"
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
"""Validate a confirmed hidden decision and disk-backed Native resume."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import json
|
|
6
|
+
import re
|
|
7
|
+
from pathlib import Path
|
|
8
|
+
|
|
9
|
+
import yaml
|
|
10
|
+
|
|
11
|
+
from scaffold.python.validation.native_wave import (
|
|
12
|
+
active_changes,
|
|
13
|
+
archive_changes,
|
|
14
|
+
check_archive_transaction,
|
|
15
|
+
check_cli_feature,
|
|
16
|
+
check_native_isolation,
|
|
17
|
+
check_runtime_envelopes,
|
|
18
|
+
failed,
|
|
19
|
+
parse_runtime_envelope,
|
|
20
|
+
passed,
|
|
21
|
+
write_results,
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
WORKSPACE = Path("/workspace")
|
|
26
|
+
EVIDENCE = Path(".cache/comet-native-eval")
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def _interaction() -> dict:
|
|
30
|
+
path = WORKSPACE / "_test_context.json"
|
|
31
|
+
if not path.is_file():
|
|
32
|
+
return {}
|
|
33
|
+
return json.loads(path.read_text(encoding="utf-8")).get("interaction") or {}
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def check_decision_and_resume() -> dict[str, str]:
|
|
37
|
+
check = "decision_and_resume"
|
|
38
|
+
active = active_changes(WORKSPACE)
|
|
39
|
+
archives = archive_changes(WORKSPACE)
|
|
40
|
+
if active:
|
|
41
|
+
return failed(check, f"Expected no active change after Archive, found {len(active)}")
|
|
42
|
+
if len(archives) != 1:
|
|
43
|
+
return failed(check, f"Expected exactly one archive, found {len(archives)}")
|
|
44
|
+
|
|
45
|
+
archived = archives[0]
|
|
46
|
+
state_file = archived / "comet-state.yaml"
|
|
47
|
+
if not state_file.is_file():
|
|
48
|
+
return failed(check, "Archived comet-state.yaml is missing")
|
|
49
|
+
try:
|
|
50
|
+
state = yaml.safe_load(state_file.read_text(encoding="utf-8")) or {}
|
|
51
|
+
except (OSError, yaml.YAMLError) as error:
|
|
52
|
+
return failed(check, f"Archived comet-state.yaml is invalid: {error}")
|
|
53
|
+
expected_state = {
|
|
54
|
+
"phase": "archive",
|
|
55
|
+
"approval": "confirmed",
|
|
56
|
+
"archived": True,
|
|
57
|
+
"verification_result": "pass",
|
|
58
|
+
}
|
|
59
|
+
mismatches = {
|
|
60
|
+
key: (expected, state.get(key))
|
|
61
|
+
for key, expected in expected_state.items()
|
|
62
|
+
if state.get(key) != expected
|
|
63
|
+
}
|
|
64
|
+
if mismatches:
|
|
65
|
+
return failed(check, f"Confirmed terminal state is incomplete: {mismatches}")
|
|
66
|
+
|
|
67
|
+
canonical = WORKSPACE / "docs/comet/specs/unique-word-counting/spec.md"
|
|
68
|
+
decision_files = [
|
|
69
|
+
archived / "brief.md",
|
|
70
|
+
archived / "specs/unique-word-counting/spec.md",
|
|
71
|
+
canonical,
|
|
72
|
+
]
|
|
73
|
+
for path in decision_files:
|
|
74
|
+
if not path.is_file():
|
|
75
|
+
return failed(check, f"Decision artifact is missing: {path}")
|
|
76
|
+
text = path.read_text(encoding="utf-8").lower()
|
|
77
|
+
case_rule = (
|
|
78
|
+
"case-insensitive" in text
|
|
79
|
+
or "lowercase" in text
|
|
80
|
+
or "case folding" in text
|
|
81
|
+
or "case-fold" in text
|
|
82
|
+
or "str.lower" in text
|
|
83
|
+
)
|
|
84
|
+
punctuation_rule = (
|
|
85
|
+
"surrounding punctuation" in text
|
|
86
|
+
or "leading and trailing punctuation" in text
|
|
87
|
+
or re.search(
|
|
88
|
+
r"(?:strip|remove)[^.\n]{0,80}punctuation[^.\n]{0,80}"
|
|
89
|
+
r"(?:start|beginning|leading)[^.\n]{0,40}(?:end|trailing)",
|
|
90
|
+
text,
|
|
91
|
+
)
|
|
92
|
+
is not None
|
|
93
|
+
)
|
|
94
|
+
apostrophe_rule = (
|
|
95
|
+
"internal apostroph" in text
|
|
96
|
+
or re.search(r"apostroph(?:e|es)\s+inside", text) is not None
|
|
97
|
+
or re.search(
|
|
98
|
+
r"(?:preserve|keep)[^.\n]{0,120}apostroph(?:e|es)"
|
|
99
|
+
r"[^.\n]{0,80}(?:inside|within)",
|
|
100
|
+
text,
|
|
101
|
+
)
|
|
102
|
+
is not None
|
|
103
|
+
or (
|
|
104
|
+
re.search(r"internal\s+punctuation[^.\n]{0,60}(?:preserv|kept|intact)", text)
|
|
105
|
+
is not None
|
|
106
|
+
and re.search(
|
|
107
|
+
r"apostroph(?:e|es)[^.\n]{0,80}(?:not\s+removed|preserv|kept|intact)",
|
|
108
|
+
text,
|
|
109
|
+
)
|
|
110
|
+
is not None
|
|
111
|
+
)
|
|
112
|
+
)
|
|
113
|
+
if not (case_rule and punctuation_rule and apostrophe_rule):
|
|
114
|
+
return failed(check, f"Confirmed normalization decision is incomplete in {path.name}")
|
|
115
|
+
|
|
116
|
+
try:
|
|
117
|
+
resume = parse_runtime_envelope(
|
|
118
|
+
WORKSPACE / EVIDENCE / "resume-status.json",
|
|
119
|
+
command="status",
|
|
120
|
+
exit_code=0,
|
|
121
|
+
)
|
|
122
|
+
except ValueError as error:
|
|
123
|
+
return failed(check, f"Resume status is not an exact Native envelope: {error}")
|
|
124
|
+
if (
|
|
125
|
+
resume["data"].get("name") != "add-unique-counting"
|
|
126
|
+
or resume["data"].get("phase") != "build"
|
|
127
|
+
):
|
|
128
|
+
return failed(
|
|
129
|
+
check,
|
|
130
|
+
"Cold resume did not recover add-unique-counting in the exact Build phase",
|
|
131
|
+
)
|
|
132
|
+
|
|
133
|
+
interaction = _interaction()
|
|
134
|
+
if interaction.get("mode") != "auto_user":
|
|
135
|
+
return failed(check, "Auto-user interaction metadata is missing")
|
|
136
|
+
if interaction.get("decision_points") != 1 or interaction.get("deterministic_replies") != 1:
|
|
137
|
+
return failed(check, "Expected exactly one deterministic decision reply")
|
|
138
|
+
if interaction.get("fresh_resume_boundaries") != 1:
|
|
139
|
+
return failed(check, "Expected exactly one new-session cold-resume boundary")
|
|
140
|
+
turns = interaction.get("actual_turns")
|
|
141
|
+
maximum = interaction.get("max_turns")
|
|
142
|
+
if not isinstance(turns, int) or not isinstance(maximum, int) or not (2 <= turns <= maximum):
|
|
143
|
+
return failed(check, "Cold-resume interaction turn count is invalid")
|
|
144
|
+
|
|
145
|
+
try:
|
|
146
|
+
preview = parse_runtime_envelope(
|
|
147
|
+
WORKSPACE / EVIDENCE / "archive-preview.json",
|
|
148
|
+
command="archive --dry-run",
|
|
149
|
+
exit_code=0,
|
|
150
|
+
)
|
|
151
|
+
commit = parse_runtime_envelope(
|
|
152
|
+
WORKSPACE / EVIDENCE / "archive-commit.json",
|
|
153
|
+
command="archive",
|
|
154
|
+
exit_code=0,
|
|
155
|
+
)
|
|
156
|
+
except (OSError, ValueError, json.JSONDecodeError) as error:
|
|
157
|
+
return failed(check, f"Invalid Archive protocol evidence: {error}")
|
|
158
|
+
preview_data = preview.get("data") if isinstance(preview, dict) else None
|
|
159
|
+
commit_data = commit.get("data") if isinstance(commit, dict) else None
|
|
160
|
+
if (
|
|
161
|
+
preview.get("command") != "archive --dry-run"
|
|
162
|
+
or preview.get("exitCode") != 0
|
|
163
|
+
or not isinstance(preview_data, dict)
|
|
164
|
+
or preview_data.get("ready") is not True
|
|
165
|
+
or preview_data.get("evidenceFreshness") not in {"complete", "partial"}
|
|
166
|
+
or preview_data.get("findingCodes") != []
|
|
167
|
+
or not re.fullmatch(r"[a-f0-9]{64}", str(preview_data.get("preflightHash", "")))
|
|
168
|
+
or commit.get("command") != "archive"
|
|
169
|
+
or commit.get("exitCode") != 0
|
|
170
|
+
or not isinstance(commit_data, dict)
|
|
171
|
+
or commit_data.get("preflightHash") != preview_data.get("preflightHash")
|
|
172
|
+
):
|
|
173
|
+
return failed(check, "Archive did not commit the exact ready Native preflight")
|
|
174
|
+
transaction = check_archive_transaction(
|
|
175
|
+
WORKSPACE,
|
|
176
|
+
commit_data,
|
|
177
|
+
"add-unique-counting",
|
|
178
|
+
preview_data["preflightHash"],
|
|
179
|
+
)
|
|
180
|
+
if transaction["status"] != "passed":
|
|
181
|
+
return failed(check, transaction.get("reason", "Archive transaction is invalid"))
|
|
182
|
+
return passed(check)
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
def main() -> int:
|
|
186
|
+
results = [
|
|
187
|
+
check_cli_feature(
|
|
188
|
+
WORKSPACE,
|
|
189
|
+
"--unique-words",
|
|
190
|
+
"Hello, hello HELLO! can't can't.",
|
|
191
|
+
"Unique words: 2",
|
|
192
|
+
"unique",
|
|
193
|
+
),
|
|
194
|
+
check_runtime_envelopes(
|
|
195
|
+
[
|
|
196
|
+
WORKSPACE / EVIDENCE / "resume-status.json",
|
|
197
|
+
WORKSPACE / EVIDENCE / "archive-preview.json",
|
|
198
|
+
WORKSPACE / EVIDENCE / "archive-commit.json",
|
|
199
|
+
]
|
|
200
|
+
),
|
|
201
|
+
check_decision_and_resume(),
|
|
202
|
+
check_native_isolation(WORKSPACE),
|
|
203
|
+
]
|
|
204
|
+
return write_results(results, WORKSPACE)
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
if __name__ == "__main__":
|
|
208
|
+
raise SystemExit(main())
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
FROM python:3.12-slim
|
|
2
|
+
|
|
3
|
+
WORKDIR /workspace
|
|
4
|
+
|
|
5
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
6
|
+
git nodejs npm ca-certificates && \
|
|
7
|
+
rm -rf /var/lib/apt/lists/*
|
|
8
|
+
|
|
9
|
+
RUN npm config set registry https://registry.npmmirror.com && \
|
|
10
|
+
npm install -g @anthropic-ai/claude-code@latest && \
|
|
11
|
+
npm config delete registry
|
|
12
|
+
|
|
13
|
+
RUN pip install --no-cache-dir pyyaml pytest
|
|
14
|
+
|
|
15
|
+
COPY wordcount.py /workspace/wordcount.py
|
|
16
|
+
COPY test_wordcount.py /workspace/test_wordcount.py
|
|
17
|
+
|
|
18
|
+
RUN useradd --create-home --shell /bin/bash agent && \
|
|
19
|
+
chown -R agent:agent /workspace
|
|
20
|
+
USER agent
|
|
21
|
+
ENV HOME=/home/agent
|
|
22
|
+
ENV PYTHONPATH=/workspace
|
|
23
|
+
RUN git config --global user.email "agent@eval.local" && \
|
|
24
|
+
git config --global user.name "Comet Native Eval Agent" && \
|
|
25
|
+
git config --global init.defaultBranch master
|
|
26
|
+
|
|
27
|
+
CMD ["bash"]
|
package/eval/local/tasks/comet-native-wave-c-verification-integrity/environment/test_wordcount.py
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"""Baseline tests for the word-count CLI."""
|
|
2
|
+
|
|
3
|
+
import subprocess
|
|
4
|
+
import sys
|
|
5
|
+
from pathlib import Path
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def run_cli(*args: str, input_text: str) -> str:
|
|
9
|
+
result = subprocess.run(
|
|
10
|
+
[sys.executable, "wordcount.py", *args],
|
|
11
|
+
input=input_text,
|
|
12
|
+
capture_output=True,
|
|
13
|
+
text=True,
|
|
14
|
+
check=True,
|
|
15
|
+
cwd=Path(__file__).parent,
|
|
16
|
+
)
|
|
17
|
+
return result.stdout
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def test_count_words():
|
|
21
|
+
assert "Words: 3" in run_cli(input_text="hello world foo")
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def test_count_lines():
|
|
25
|
+
output = run_cli("--lines", input_text="hello\nworld\nfoo")
|
|
26
|
+
assert "Words: 3" in output
|
|
27
|
+
assert "Lines: 3" in output
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"""Simple word count CLI tool."""
|
|
2
|
+
|
|
3
|
+
import argparse
|
|
4
|
+
import sys
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def count_words(text: str) -> int:
|
|
8
|
+
"""Count words in text."""
|
|
9
|
+
return len(text.split())
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def count_lines(text: str) -> int:
|
|
13
|
+
"""Count lines in text."""
|
|
14
|
+
return len(text.splitlines())
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def main():
|
|
18
|
+
parser = argparse.ArgumentParser(description="Count words and lines in text")
|
|
19
|
+
parser.add_argument("file", nargs="?", help="Input file (reads stdin if omitted)")
|
|
20
|
+
parser.add_argument("--lines", action="store_true", help="Also count lines")
|
|
21
|
+
parser.add_argument("--words", action="store_true", default=True, help="Count words (default)")
|
|
22
|
+
args = parser.parse_args()
|
|
23
|
+
|
|
24
|
+
if args.file:
|
|
25
|
+
with open(args.file) as source:
|
|
26
|
+
text = source.read()
|
|
27
|
+
else:
|
|
28
|
+
text = sys.stdin.read()
|
|
29
|
+
|
|
30
|
+
print(f"Words: {count_words(text)}")
|
|
31
|
+
if args.lines:
|
|
32
|
+
print(f"Lines: {count_lines(text)}")
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
if __name__ == "__main__":
|
|
36
|
+
main()
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
You are working on a Python project named `wordcount-cli`.
|
|
2
|
+
|
|
3
|
+
Begin by invoking the `/comet-native` Skill. Initialize Native under `docs/comet/`, create `add-longest-word`, and add a `--longest-word` flag that prints `Longest word: VALUE`. For empty input print `Longest word:` with no value. Preserve the existing counters, add focused tests, and author a complete target specification for capability `longest-word` with at least two identifiable acceptance criteria.
|
|
4
|
+
|
|
5
|
+
Exercise Native verification integrity rather than jumping straight to Archive:
|
|
6
|
+
|
|
7
|
+
1. After implementing the feature, leave one unrelated project file outside the declared implementation artifacts. Capture the exact blocked Build `next` envelope (including its prepared partial-scope hash) as `.cache/comet-native-eval/partial-scope.json`. Use that exact hash and Native's explicit confirmed partial-scope path, then run every acceptance check. Advance through Verify with an acceptance-linked report and save the exact Archive dry-run envelope as `.cache/comet-native-eval/partial-archive-preview.json`. It must be fresh `partial` evidence accepted by the explicit allowance, not hand-written partial evidence.
|
|
8
|
+
2. Change a declared implementation artifact after verification. Save the exact Native status envelope showing stale evidence as `.cache/comet-native-eval/stale-status.json`. Save the exact blocked Archive dry-run as `.cache/comet-native-eval/stale-archive-preview.json`, then call Archive with `--expect-preflight` using that preview hash and save the exact exit-73 envelope as `.cache/comet-native-eval/stale-archive-commit.json`. Use Native's evidence-retreat path to return to Build.
|
|
9
|
+
3. Remove the unrelated file, capture a complete implementation scope, rerun all project tests and CLI acceptance checks, and advance through Verify with fresh evidence for every acceptance identifier. Save the exact ready Archive dry-run as `.cache/comet-native-eval/final-archive-preview.json`. Commit Archive with `--expect-preflight` using that exact preview hash and save its exact successful envelope as `.cache/comet-native-eval/archive-commit.json`.
|
|
10
|
+
|
|
11
|
+
The archived immutable verification envelope and `verification.md` must preserve concrete evidence for every acceptance identifier. Do not fabricate, paraphrase, merge, or hand-author any runtime JSON snapshot. Use only the Comet Native Skill and bundled runtime; do not create OpenSpec, Classic, `.comet`, or external workflow artifacts.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
[metadata]
|
|
2
|
+
name = "comet-native-wave-c-verification-integrity"
|
|
3
|
+
description = "Test confirmed partial scope, stale evidence retreat, and complete two-step Native Archive"
|
|
4
|
+
difficulty = "hard"
|
|
5
|
+
category = "comet-native"
|
|
6
|
+
tags = ["comet-native", "verification", "freshness", "acceptance-trace", "wave-c"]
|
|
7
|
+
default_treatments = ["COMET_NATIVE_PHASE1"]
|
|
8
|
+
|
|
9
|
+
[template]
|
|
10
|
+
required = []
|
|
11
|
+
|
|
12
|
+
[environment]
|
|
13
|
+
description = "Python word-count workspace for exercising Native verification freshness and acceptance traces."
|
|
14
|
+
dockerfile = "environment/Dockerfile"
|
|
15
|
+
timeout_sec = 900
|
|
16
|
+
|
|
17
|
+
[validation]
|
|
18
|
+
test_scripts = "test_native_wave_c_verification_integrity.py"
|
|
19
|
+
target_artifacts = [".cache/comet-native-eval/partial-scope.json", ".cache/comet-native-eval/partial-archive-preview.json", ".cache/comet-native-eval/stale-status.json", ".cache/comet-native-eval/stale-archive-preview.json", ".cache/comet-native-eval/stale-archive-commit.json", ".cache/comet-native-eval/final-archive-preview.json", ".cache/comet-native-eval/archive-commit.json", "docs/comet/archive", "docs/comet/specs/longest-word/spec.md"]
|
|
20
|
+
timeout = 120
|
|
21
|
+
|
|
22
|
+
[evaluation]
|
|
23
|
+
profile = "generic"
|
|
24
|
+
required_skills = ["comet-native"]
|
|
25
|
+
expected_artifacts = [".cache/comet-native-eval/partial-scope.json", ".cache/comet-native-eval/partial-archive-preview.json", ".cache/comet-native-eval/stale-status.json", ".cache/comet-native-eval/stale-archive-preview.json", ".cache/comet-native-eval/stale-archive-commit.json", ".cache/comet-native-eval/final-archive-preview.json", ".cache/comet-native-eval/archive-commit.json", "docs/comet/archive", "docs/comet/specs/longest-word/spec.md"]
|
|
26
|
+
require_skill_invocation = true
|
|
27
|
+
rubric_criteria = [
|
|
28
|
+
"Requires an exact user-confirmed allowance before accepting a partial implementation scope",
|
|
29
|
+
"Detects post-verification implementation drift and retreats stale evidence back to Build",
|
|
30
|
+
"Links every acceptance criterion to concrete immutable evidence before Archive",
|
|
31
|
+
"Uses dry-run plus the exact preflight hash and archives only complete fresh final evidence",
|
|
32
|
+
]
|
|
33
|
+
|
|
34
|
+
[interaction]
|
|
35
|
+
mode = "none"
|
|
36
|
+
max_turns = 1
|