@aperant/framework 0.6.2 → 0.6.4
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/CHANGELOG.md +618 -0
- package/README.md +6 -11
- package/dist/cli/artifacts/classification.d.mts.map +1 -1
- package/dist/cli/artifacts/classification.mjs +10 -0
- package/dist/cli/artifacts/classification.mjs.map +1 -1
- package/dist/cli/commands/init.d.mts.map +1 -1
- package/dist/cli/commands/init.mjs +73 -5
- package/dist/cli/commands/init.mjs.map +1 -1
- package/dist/cli/commands/pr-review-audit-fixer.d.mts +41 -2
- package/dist/cli/commands/pr-review-audit-fixer.d.mts.map +1 -1
- package/dist/cli/commands/pr-review-audit-fixer.mjs +91 -14
- package/dist/cli/commands/pr-review-audit-fixer.mjs.map +1 -1
- package/dist/cli/commands/route.d.mts.map +1 -1
- package/dist/cli/commands/route.mjs +10 -1
- package/dist/cli/commands/route.mjs.map +1 -1
- package/dist/cli/commands/task.d.mts.map +1 -1
- package/dist/cli/commands/task.mjs +28 -0
- package/dist/cli/commands/task.mjs.map +1 -1
- package/dist/cli/design/frontmatter-schema.d.mts +3 -3
- package/dist/cli/design/frontmatter-schema.d.mts.map +1 -1
- package/dist/cli/design/frontmatter-schema.mjs +3 -1
- package/dist/cli/design/frontmatter-schema.mjs.map +1 -1
- package/dist/cli/route/skill-discover.d.mts +2 -0
- package/dist/cli/route/skill-discover.d.mts.map +1 -1
- package/dist/cli/route/skill-discover.mjs +35 -1
- package/dist/cli/route/skill-discover.mjs.map +1 -1
- package/dist/cli/skill-author/contract.d.mts +19 -0
- package/dist/cli/skill-author/contract.d.mts.map +1 -1
- package/dist/cli/skill-author/contract.mjs +20 -0
- package/dist/cli/skill-author/contract.mjs.map +1 -1
- package/dist/cli/skill-author/skill-template.d.mts.map +1 -1
- package/dist/cli/skill-author/skill-template.mjs +4 -3
- package/dist/cli/skill-author/skill-template.mjs.map +1 -1
- package/package.json +11 -4
- package/skills/apt/SKILL.md +111 -5
- package/skills/apt-author-skill/SKILL.md +11 -0
- package/skills/apt-bootstrap/SKILL.md +1 -0
- package/skills/apt-classify/SKILL.md +1 -0
- package/skills/apt-close-task/SKILL.md +1 -0
- package/skills/apt-create-docs/SKILL.md +1 -0
- package/skills/apt-debug/SKILL.md +2 -0
- package/skills/apt-design/SKILL.md +2 -0
- package/skills/apt-discuss/SKILL.md +2 -0
- package/skills/apt-docs/SKILL.md +2 -0
- package/skills/apt-execute/SKILL.md +1 -0
- package/skills/apt-mockup/SKILL.md +2 -0
- package/skills/apt-pause/SKILL.md +1 -0
- package/skills/apt-personas/SKILL.md +1 -0
- package/skills/apt-plan/SKILL.md +2 -0
- package/skills/apt-pr-review/SKILL.md +1 -0
- package/skills/apt-quick/SKILL.md +2 -0
- package/skills/apt-resume/SKILL.md +1 -0
- package/skills/apt-review/SKILL.md +1 -0
- package/skills/apt-roadmap/SKILL.md +1 -0
- package/skills/apt-roundtable/SKILL.md +2 -0
- package/skills/apt-run/SKILL.md +1 -0
- package/skills/apt-scan/SKILL.md +1 -0
- package/skills/apt-setup/SKILL.md +1 -0
- package/skills/apt-ship/SKILL.md +6 -5
- package/skills/apt-stress-test/SKILL.md +1 -0
- package/skills/apt-terminal/SKILL.md +1 -0
- package/skills/apt-update/SKILL.md +3 -0
- package/skills/apt-verify/SKILL.md +1 -0
- package/skills/apt-verify-proof/SKILL.md +1 -0
- package/src/cli/artifacts/classification.mjs +10 -0
- package/src/cli/commands/init.mjs +83 -5
- package/src/cli/commands/pr-review-audit-fixer.mjs +95 -16
- package/src/cli/commands/route.mjs +10 -1
- package/src/cli/commands/task.mjs +27 -0
- package/src/cli/design/frontmatter-schema.mjs +3 -1
- package/src/cli/route/skill-discover.mjs +34 -1
- package/src/cli/skill-author/contract.mjs +22 -0
- package/src/cli/skill-author/skill-template.mjs +4 -3
- package/CONTRIBUTING.md +0 -128
- package/dist/__tests__/agent-runtime.test.d.ts +0 -7
- package/dist/__tests__/agent-runtime.test.d.ts.map +0 -1
- package/dist/__tests__/agent-runtime.test.js +0 -28
- package/dist/__tests__/agent-runtime.test.js.map +0 -1
- package/dist/__tests__/aperant-mapper.test.d.ts +0 -2
- package/dist/__tests__/aperant-mapper.test.d.ts.map +0 -1
- package/dist/__tests__/aperant-mapper.test.js +0 -124
- package/dist/__tests__/aperant-mapper.test.js.map +0 -1
- package/dist/__tests__/apt-author-skill-skill-structure.test.d.ts +0 -12
- package/dist/__tests__/apt-author-skill-skill-structure.test.d.ts.map +0 -1
- package/dist/__tests__/apt-author-skill-skill-structure.test.js +0 -55
- package/dist/__tests__/apt-author-skill-skill-structure.test.js.map +0 -1
- package/dist/__tests__/apt-close-task-skill-structure.test.d.ts +0 -8
- package/dist/__tests__/apt-close-task-skill-structure.test.d.ts.map +0 -1
- package/dist/__tests__/apt-close-task-skill-structure.test.js +0 -47
- package/dist/__tests__/apt-close-task-skill-structure.test.js.map +0 -1
- package/dist/__tests__/apt-design-skill-structure.test.d.ts +0 -17
- package/dist/__tests__/apt-design-skill-structure.test.d.ts.map +0 -1
- package/dist/__tests__/apt-design-skill-structure.test.js +0 -120
- package/dist/__tests__/apt-design-skill-structure.test.js.map +0 -1
- package/dist/__tests__/apt-mockup-skill-structure.test.d.ts +0 -13
- package/dist/__tests__/apt-mockup-skill-structure.test.d.ts.map +0 -1
- package/dist/__tests__/apt-mockup-skill-structure.test.js +0 -86
- package/dist/__tests__/apt-mockup-skill-structure.test.js.map +0 -1
- package/dist/__tests__/apt-review-pass6-structure.test.d.ts +0 -6
- package/dist/__tests__/apt-review-pass6-structure.test.d.ts.map +0 -1
- package/dist/__tests__/apt-review-pass6-structure.test.js +0 -44
- package/dist/__tests__/apt-review-pass6-structure.test.js.map +0 -1
- package/dist/__tests__/apt-setup-batch7-structure.test.d.ts +0 -6
- package/dist/__tests__/apt-setup-batch7-structure.test.d.ts.map +0 -1
- package/dist/__tests__/apt-setup-batch7-structure.test.js +0 -38
- package/dist/__tests__/apt-setup-batch7-structure.test.js.map +0 -1
- package/dist/__tests__/args.test.d.ts +0 -2
- package/dist/__tests__/args.test.d.ts.map +0 -1
- package/dist/__tests__/args.test.js +0 -31
- package/dist/__tests__/args.test.js.map +0 -1
- package/dist/__tests__/artifacts-classification.test.d.ts +0 -18
- package/dist/__tests__/artifacts-classification.test.d.ts.map +0 -1
- package/dist/__tests__/artifacts-classification.test.js +0 -266
- package/dist/__tests__/artifacts-classification.test.js.map +0 -1
- package/dist/__tests__/artifacts-self-stage.test.d.ts +0 -15
- package/dist/__tests__/artifacts-self-stage.test.d.ts.map +0 -1
- package/dist/__tests__/artifacts-self-stage.test.js +0 -159
- package/dist/__tests__/artifacts-self-stage.test.js.map +0 -1
- package/dist/__tests__/atomic-text.test.d.ts +0 -14
- package/dist/__tests__/atomic-text.test.d.ts.map +0 -1
- package/dist/__tests__/atomic-text.test.js +0 -76
- package/dist/__tests__/atomic-text.test.js.map +0 -1
- package/dist/__tests__/atomic-write.test.d.ts +0 -14
- package/dist/__tests__/atomic-write.test.d.ts.map +0 -1
- package/dist/__tests__/atomic-write.test.js +0 -134
- package/dist/__tests__/atomic-write.test.js.map +0 -1
- package/dist/__tests__/audit-pending-artifacts.test.d.ts +0 -16
- package/dist/__tests__/audit-pending-artifacts.test.d.ts.map +0 -1
- package/dist/__tests__/audit-pending-artifacts.test.js +0 -153
- package/dist/__tests__/audit-pending-artifacts.test.js.map +0 -1
- package/dist/__tests__/audit-privacy.test.d.ts +0 -18
- package/dist/__tests__/audit-privacy.test.d.ts.map +0 -1
- package/dist/__tests__/audit-privacy.test.js +0 -152
- package/dist/__tests__/audit-privacy.test.js.map +0 -1
- package/dist/__tests__/bin-path-resolve.test.d.ts +0 -9
- package/dist/__tests__/bin-path-resolve.test.d.ts.map +0 -1
- package/dist/__tests__/bin-path-resolve.test.js +0 -76
- package/dist/__tests__/bin-path-resolve.test.js.map +0 -1
- package/dist/__tests__/bootstrap-cli.test.d.ts +0 -11
- package/dist/__tests__/bootstrap-cli.test.d.ts.map +0 -1
- package/dist/__tests__/bootstrap-cli.test.js +0 -181
- package/dist/__tests__/bootstrap-cli.test.js.map +0 -1
- package/dist/__tests__/bootstrap-detect-mode.test.d.ts +0 -9
- package/dist/__tests__/bootstrap-detect-mode.test.d.ts.map +0 -1
- package/dist/__tests__/bootstrap-detect-mode.test.js +0 -113
- package/dist/__tests__/bootstrap-detect-mode.test.js.map +0 -1
- package/dist/__tests__/bootstrap-product-context-sidecar.test.d.ts +0 -11
- package/dist/__tests__/bootstrap-product-context-sidecar.test.d.ts.map +0 -1
- package/dist/__tests__/bootstrap-product-context-sidecar.test.js +0 -145
- package/dist/__tests__/bootstrap-product-context-sidecar.test.js.map +0 -1
- package/dist/__tests__/bootstrap-recon.test.d.ts +0 -11
- package/dist/__tests__/bootstrap-recon.test.d.ts.map +0 -1
- package/dist/__tests__/bootstrap-recon.test.js +0 -136
- package/dist/__tests__/bootstrap-recon.test.js.map +0 -1
- package/dist/__tests__/build-progress-sync.test.d.ts +0 -11
- package/dist/__tests__/build-progress-sync.test.d.ts.map +0 -1
- package/dist/__tests__/build-progress-sync.test.js +0 -275
- package/dist/__tests__/build-progress-sync.test.js.map +0 -1
- package/dist/__tests__/c28-cutover.test.d.ts +0 -9
- package/dist/__tests__/c28-cutover.test.d.ts.map +0 -1
- package/dist/__tests__/c28-cutover.test.js +0 -98
- package/dist/__tests__/c28-cutover.test.js.map +0 -1
- package/dist/__tests__/check-command.test.d.ts +0 -8
- package/dist/__tests__/check-command.test.d.ts.map +0 -1
- package/dist/__tests__/check-command.test.js +0 -116
- package/dist/__tests__/check-command.test.js.map +0 -1
- package/dist/__tests__/check-version-drift.test.d.ts +0 -13
- package/dist/__tests__/check-version-drift.test.d.ts.map +0 -1
- package/dist/__tests__/check-version-drift.test.js +0 -82
- package/dist/__tests__/check-version-drift.test.js.map +0 -1
- package/dist/__tests__/check-version-header.test.d.ts +0 -13
- package/dist/__tests__/check-version-header.test.d.ts.map +0 -1
- package/dist/__tests__/check-version-header.test.js +0 -112
- package/dist/__tests__/check-version-header.test.js.map +0 -1
- package/dist/__tests__/cli-contract-argv.test.d.ts +0 -10
- package/dist/__tests__/cli-contract-argv.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-argv.test.js +0 -25
- package/dist/__tests__/cli-contract-argv.test.js.map +0 -1
- package/dist/__tests__/cli-contract-author-skill.test.d.ts +0 -15
- package/dist/__tests__/cli-contract-author-skill.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-author-skill.test.js +0 -86
- package/dist/__tests__/cli-contract-author-skill.test.js.map +0 -1
- package/dist/__tests__/cli-contract-bootstrap.test.d.ts +0 -12
- package/dist/__tests__/cli-contract-bootstrap.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-bootstrap.test.js +0 -68
- package/dist/__tests__/cli-contract-bootstrap.test.js.map +0 -1
- package/dist/__tests__/cli-contract-coverage-check.test.d.ts +0 -10
- package/dist/__tests__/cli-contract-coverage-check.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-coverage-check.test.js +0 -153
- package/dist/__tests__/cli-contract-coverage-check.test.js.map +0 -1
- package/dist/__tests__/cli-contract-create-docs.test.d.ts +0 -11
- package/dist/__tests__/cli-contract-create-docs.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-create-docs.test.js +0 -75
- package/dist/__tests__/cli-contract-create-docs.test.js.map +0 -1
- package/dist/__tests__/cli-contract-design-lint.test.d.ts +0 -11
- package/dist/__tests__/cli-contract-design-lint.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-design-lint.test.js +0 -48
- package/dist/__tests__/cli-contract-design-lint.test.js.map +0 -1
- package/dist/__tests__/cli-contract-design-scan.test.d.ts +0 -11
- package/dist/__tests__/cli-contract-design-scan.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-design-scan.test.js +0 -41
- package/dist/__tests__/cli-contract-design-scan.test.js.map +0 -1
- package/dist/__tests__/cli-contract-design-synthesize.test.d.ts +0 -23
- package/dist/__tests__/cli-contract-design-synthesize.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-design-synthesize.test.js +0 -234
- package/dist/__tests__/cli-contract-design-synthesize.test.js.map +0 -1
- package/dist/__tests__/cli-contract-design-template.test.d.ts +0 -23
- package/dist/__tests__/cli-contract-design-template.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-design-template.test.js +0 -204
- package/dist/__tests__/cli-contract-design-template.test.js.map +0 -1
- package/dist/__tests__/cli-contract-design-validate.test.d.ts +0 -12
- package/dist/__tests__/cli-contract-design-validate.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-design-validate.test.js +0 -98
- package/dist/__tests__/cli-contract-design-validate.test.js.map +0 -1
- package/dist/__tests__/cli-contract-docs-audit.test.d.ts +0 -11
- package/dist/__tests__/cli-contract-docs-audit.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-docs-audit.test.js +0 -30
- package/dist/__tests__/cli-contract-docs-audit.test.js.map +0 -1
- package/dist/__tests__/cli-contract-docs-coherence.test.d.ts +0 -19
- package/dist/__tests__/cli-contract-docs-coherence.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-docs-coherence.test.js +0 -174
- package/dist/__tests__/cli-contract-docs-coherence.test.js.map +0 -1
- package/dist/__tests__/cli-contract-drift.test.d.ts +0 -16
- package/dist/__tests__/cli-contract-drift.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-drift.test.js +0 -41
- package/dist/__tests__/cli-contract-drift.test.js.map +0 -1
- package/dist/__tests__/cli-contract-effects.test.d.ts +0 -6
- package/dist/__tests__/cli-contract-effects.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-effects.test.js +0 -92
- package/dist/__tests__/cli-contract-effects.test.js.map +0 -1
- package/dist/__tests__/cli-contract-exit-codes.test.d.ts +0 -21
- package/dist/__tests__/cli-contract-exit-codes.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-exit-codes.test.js +0 -73
- package/dist/__tests__/cli-contract-exit-codes.test.js.map +0 -1
- package/dist/__tests__/cli-contract-features-audit.test.d.ts +0 -6
- package/dist/__tests__/cli-contract-features-audit.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-features-audit.test.js +0 -77
- package/dist/__tests__/cli-contract-features-audit.test.js.map +0 -1
- package/dist/__tests__/cli-contract-gate.test.d.ts +0 -18
- package/dist/__tests__/cli-contract-gate.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-gate.test.js +0 -36
- package/dist/__tests__/cli-contract-gate.test.js.map +0 -1
- package/dist/__tests__/cli-contract-help.test.d.ts +0 -10
- package/dist/__tests__/cli-contract-help.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-help.test.js +0 -30
- package/dist/__tests__/cli-contract-help.test.js.map +0 -1
- package/dist/__tests__/cli-contract-host.test.d.ts +0 -19
- package/dist/__tests__/cli-contract-host.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-host.test.js +0 -36
- package/dist/__tests__/cli-contract-host.test.js.map +0 -1
- package/dist/__tests__/cli-contract-personas.test.d.ts +0 -14
- package/dist/__tests__/cli-contract-personas.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-personas.test.js +0 -87
- package/dist/__tests__/cli-contract-personas.test.js.map +0 -1
- package/dist/__tests__/cli-contract-pr-review-audit-fixer.test.d.ts +0 -12
- package/dist/__tests__/cli-contract-pr-review-audit-fixer.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-pr-review-audit-fixer.test.js +0 -424
- package/dist/__tests__/cli-contract-pr-review-audit-fixer.test.js.map +0 -1
- package/dist/__tests__/cli-contract-pr-review.test.d.ts +0 -18
- package/dist/__tests__/cli-contract-pr-review.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-pr-review.test.js +0 -69
- package/dist/__tests__/cli-contract-pr-review.test.js.map +0 -1
- package/dist/__tests__/cli-contract-product-context.test.d.ts +0 -11
- package/dist/__tests__/cli-contract-product-context.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-product-context.test.js +0 -64
- package/dist/__tests__/cli-contract-product-context.test.js.map +0 -1
- package/dist/__tests__/cli-contract-profile.test.d.ts +0 -12
- package/dist/__tests__/cli-contract-profile.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-profile.test.js +0 -51
- package/dist/__tests__/cli-contract-profile.test.js.map +0 -1
- package/dist/__tests__/cli-contract-roadmap.test.d.ts +0 -6
- package/dist/__tests__/cli-contract-roadmap.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-roadmap.test.js +0 -89
- package/dist/__tests__/cli-contract-roadmap.test.js.map +0 -1
- package/dist/__tests__/cli-contract-route.test.d.ts +0 -11
- package/dist/__tests__/cli-contract-route.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-route.test.js +0 -41
- package/dist/__tests__/cli-contract-route.test.js.map +0 -1
- package/dist/__tests__/cli-contract-seed.test.d.ts +0 -10
- package/dist/__tests__/cli-contract-seed.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-seed.test.js +0 -50
- package/dist/__tests__/cli-contract-seed.test.js.map +0 -1
- package/dist/__tests__/cli-contract-standards.test.d.ts +0 -12
- package/dist/__tests__/cli-contract-standards.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-standards.test.js +0 -95
- package/dist/__tests__/cli-contract-standards.test.js.map +0 -1
- package/dist/__tests__/cli-contract-statusline.test.d.ts +0 -13
- package/dist/__tests__/cli-contract-statusline.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-statusline.test.js +0 -61
- package/dist/__tests__/cli-contract-statusline.test.js.map +0 -1
- package/dist/__tests__/cli-contract-task.test.d.ts +0 -19
- package/dist/__tests__/cli-contract-task.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-task.test.js +0 -38
- package/dist/__tests__/cli-contract-task.test.js.map +0 -1
- package/dist/__tests__/cli-contract-taste-infer.test.d.ts +0 -13
- package/dist/__tests__/cli-contract-taste-infer.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-taste-infer.test.js +0 -85
- package/dist/__tests__/cli-contract-taste-infer.test.js.map +0 -1
- package/dist/__tests__/cli-contract-team.test.d.ts +0 -6
- package/dist/__tests__/cli-contract-team.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-team.test.js +0 -61
- package/dist/__tests__/cli-contract-team.test.js.map +0 -1
- package/dist/__tests__/cli-contract-terminal.test.d.ts +0 -15
- package/dist/__tests__/cli-contract-terminal.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-terminal.test.js +0 -127
- package/dist/__tests__/cli-contract-terminal.test.js.map +0 -1
- package/dist/__tests__/cli-contract-tokens.test.d.ts +0 -6
- package/dist/__tests__/cli-contract-tokens.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-tokens.test.js +0 -92
- package/dist/__tests__/cli-contract-tokens.test.js.map +0 -1
- package/dist/__tests__/cli-contract-uninstall.test.d.ts +0 -8
- package/dist/__tests__/cli-contract-uninstall.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-uninstall.test.js +0 -58
- package/dist/__tests__/cli-contract-uninstall.test.js.map +0 -1
- package/dist/__tests__/cli-contract-validate-evidence.test.d.ts +0 -11
- package/dist/__tests__/cli-contract-validate-evidence.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-validate-evidence.test.js +0 -75
- package/dist/__tests__/cli-contract-validate-evidence.test.js.map +0 -1
- package/dist/__tests__/cli-contract-variant-gallery.test.d.ts +0 -12
- package/dist/__tests__/cli-contract-variant-gallery.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-variant-gallery.test.js +0 -60
- package/dist/__tests__/cli-contract-variant-gallery.test.js.map +0 -1
- package/dist/__tests__/cli-contract-variant-pick.test.d.ts +0 -12
- package/dist/__tests__/cli-contract-variant-pick.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-variant-pick.test.js +0 -57
- package/dist/__tests__/cli-contract-variant-pick.test.js.map +0 -1
- package/dist/__tests__/cli-contract-variant-pool.test.d.ts +0 -10
- package/dist/__tests__/cli-contract-variant-pool.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-variant-pool.test.js +0 -33
- package/dist/__tests__/cli-contract-variant-pool.test.js.map +0 -1
- package/dist/__tests__/cli-contract-version.test.d.ts +0 -9
- package/dist/__tests__/cli-contract-version.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-version.test.js +0 -29
- package/dist/__tests__/cli-contract-version.test.js.map +0 -1
- package/dist/__tests__/cli-contract-wfrun.test.d.ts +0 -15
- package/dist/__tests__/cli-contract-wfrun.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-wfrun.test.js +0 -54
- package/dist/__tests__/cli-contract-wfrun.test.js.map +0 -1
- package/dist/__tests__/cli-contract-worktree-install.test.d.ts +0 -7
- package/dist/__tests__/cli-contract-worktree-install.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-worktree-install.test.js +0 -40
- package/dist/__tests__/cli-contract-worktree-install.test.js.map +0 -1
- package/dist/__tests__/cli-contract-worktree.test.d.ts +0 -6
- package/dist/__tests__/cli-contract-worktree.test.d.ts.map +0 -1
- package/dist/__tests__/cli-contract-worktree.test.js +0 -59
- package/dist/__tests__/cli-contract-worktree.test.js.map +0 -1
- package/dist/__tests__/cli-fs-lock.test.d.ts +0 -5
- package/dist/__tests__/cli-fs-lock.test.d.ts.map +0 -1
- package/dist/__tests__/cli-fs-lock.test.js +0 -51
- package/dist/__tests__/cli-fs-lock.test.js.map +0 -1
- package/dist/__tests__/cli-graph-depends-on.test.d.ts +0 -6
- package/dist/__tests__/cli-graph-depends-on.test.d.ts.map +0 -1
- package/dist/__tests__/cli-graph-depends-on.test.js +0 -119
- package/dist/__tests__/cli-graph-depends-on.test.js.map +0 -1
- package/dist/__tests__/cli-graph-task-ref.test.d.ts +0 -5
- package/dist/__tests__/cli-graph-task-ref.test.d.ts.map +0 -1
- package/dist/__tests__/cli-graph-task-ref.test.js +0 -65
- package/dist/__tests__/cli-graph-task-ref.test.js.map +0 -1
- package/dist/__tests__/cli-risk-globs.test.d.ts +0 -5
- package/dist/__tests__/cli-risk-globs.test.d.ts.map +0 -1
- package/dist/__tests__/cli-risk-globs.test.js +0 -96
- package/dist/__tests__/cli-risk-globs.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/audit.test.d.ts +0 -5
- package/dist/__tests__/cmd-pure/audit.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/audit.test.js +0 -47
- package/dist/__tests__/cmd-pure/audit.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/author-skill.test.d.ts +0 -5
- package/dist/__tests__/cmd-pure/author-skill.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/author-skill.test.js +0 -38
- package/dist/__tests__/cmd-pure/author-skill.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/bootstrap.test.d.ts +0 -5
- package/dist/__tests__/cmd-pure/bootstrap.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/bootstrap.test.js +0 -66
- package/dist/__tests__/cmd-pure/bootstrap.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/check-version.test.d.ts +0 -6
- package/dist/__tests__/cmd-pure/check-version.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/check-version.test.js +0 -29
- package/dist/__tests__/cmd-pure/check-version.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/check.test.d.ts +0 -5
- package/dist/__tests__/cmd-pure/check.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/check.test.js +0 -25
- package/dist/__tests__/cmd-pure/check.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/config.test.d.ts +0 -5
- package/dist/__tests__/cmd-pure/config.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/config.test.js +0 -37
- package/dist/__tests__/cmd-pure/config.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/consistency.test.d.ts +0 -9
- package/dist/__tests__/cmd-pure/consistency.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/consistency.test.js +0 -100
- package/dist/__tests__/cmd-pure/consistency.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/constitution.test.d.ts +0 -6
- package/dist/__tests__/cmd-pure/constitution.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/constitution.test.js +0 -94
- package/dist/__tests__/cmd-pure/constitution.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/coverage-check.test.d.ts +0 -6
- package/dist/__tests__/cmd-pure/coverage-check.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/coverage-check.test.js +0 -49
- package/dist/__tests__/cmd-pure/coverage-check.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/create-docs.test.d.ts +0 -6
- package/dist/__tests__/cmd-pure/create-docs.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/create-docs.test.js +0 -92
- package/dist/__tests__/cmd-pure/create-docs.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/design-lint.test.d.ts +0 -6
- package/dist/__tests__/cmd-pure/design-lint.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/design-lint.test.js +0 -45
- package/dist/__tests__/cmd-pure/design-lint.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/design-scan.test.d.ts +0 -6
- package/dist/__tests__/cmd-pure/design-scan.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/design-scan.test.js +0 -32
- package/dist/__tests__/cmd-pure/design-scan.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/design-template.test.d.ts +0 -6
- package/dist/__tests__/cmd-pure/design-template.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/design-template.test.js +0 -56
- package/dist/__tests__/cmd-pure/design-template.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/design-validate.test.d.ts +0 -6
- package/dist/__tests__/cmd-pure/design-validate.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/design-validate.test.js +0 -44
- package/dist/__tests__/cmd-pure/design-validate.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/detect-project.test.d.ts +0 -6
- package/dist/__tests__/cmd-pure/detect-project.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/detect-project.test.js +0 -38
- package/dist/__tests__/cmd-pure/detect-project.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/docs-audit.test.d.ts +0 -10
- package/dist/__tests__/cmd-pure/docs-audit.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/docs-audit.test.js +0 -63
- package/dist/__tests__/cmd-pure/docs-audit.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/effects.test.d.ts +0 -5
- package/dist/__tests__/cmd-pure/effects.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/effects.test.js +0 -44
- package/dist/__tests__/cmd-pure/effects.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/event.test.d.ts +0 -5
- package/dist/__tests__/cmd-pure/event.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/event.test.js +0 -44
- package/dist/__tests__/cmd-pure/event.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/features-audit.test.d.ts +0 -5
- package/dist/__tests__/cmd-pure/features-audit.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/features-audit.test.js +0 -37
- package/dist/__tests__/cmd-pure/features-audit.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/gate.test.d.ts +0 -9
- package/dist/__tests__/cmd-pure/gate.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/gate.test.js +0 -106
- package/dist/__tests__/cmd-pure/gate.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/health-check.test.d.ts +0 -10
- package/dist/__tests__/cmd-pure/health-check.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/health-check.test.js +0 -44
- package/dist/__tests__/cmd-pure/health-check.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/host-detect.test.d.ts +0 -10
- package/dist/__tests__/cmd-pure/host-detect.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/host-detect.test.js +0 -106
- package/dist/__tests__/cmd-pure/host-detect.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/init.test.d.ts +0 -9
- package/dist/__tests__/cmd-pure/init.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/init.test.js +0 -34
- package/dist/__tests__/cmd-pure/init.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/lock.test.d.ts +0 -5
- package/dist/__tests__/cmd-pure/lock.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/lock.test.js +0 -46
- package/dist/__tests__/cmd-pure/lock.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/personas.test.d.ts +0 -5
- package/dist/__tests__/cmd-pure/personas.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/personas.test.js +0 -60
- package/dist/__tests__/cmd-pure/personas.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/plan-approval.test.d.ts +0 -5
- package/dist/__tests__/cmd-pure/plan-approval.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/plan-approval.test.js +0 -82
- package/dist/__tests__/cmd-pure/plan-approval.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/pr-review-audit-fixer.test.d.ts +0 -6
- package/dist/__tests__/cmd-pure/pr-review-audit-fixer.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/pr-review-audit-fixer.test.js +0 -49
- package/dist/__tests__/cmd-pure/pr-review-audit-fixer.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/pr-review.test.d.ts +0 -11
- package/dist/__tests__/cmd-pure/pr-review.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/pr-review.test.js +0 -156
- package/dist/__tests__/cmd-pure/pr-review.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/product-context.test.d.ts +0 -5
- package/dist/__tests__/cmd-pure/product-context.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/product-context.test.js +0 -33
- package/dist/__tests__/cmd-pure/product-context.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/profile.test.d.ts +0 -6
- package/dist/__tests__/cmd-pure/profile.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/profile.test.js +0 -83
- package/dist/__tests__/cmd-pure/profile.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/risk-check.test.d.ts +0 -5
- package/dist/__tests__/cmd-pure/risk-check.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/risk-check.test.js +0 -38
- package/dist/__tests__/cmd-pure/risk-check.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/roadmap.test.d.ts +0 -9
- package/dist/__tests__/cmd-pure/roadmap.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/roadmap.test.js +0 -82
- package/dist/__tests__/cmd-pure/roadmap.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/route.test.d.ts +0 -10
- package/dist/__tests__/cmd-pure/route.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/route.test.js +0 -106
- package/dist/__tests__/cmd-pure/route.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/seed.test.d.ts +0 -5
- package/dist/__tests__/cmd-pure/seed.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/seed.test.js +0 -59
- package/dist/__tests__/cmd-pure/seed.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/standards.test.d.ts +0 -5
- package/dist/__tests__/cmd-pure/standards.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/standards.test.js +0 -45
- package/dist/__tests__/cmd-pure/standards.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/state-artifacts.test.d.ts +0 -5
- package/dist/__tests__/cmd-pure/state-artifacts.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/state-artifacts.test.js +0 -47
- package/dist/__tests__/cmd-pure/state-artifacts.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/state-update.test.d.ts +0 -5
- package/dist/__tests__/cmd-pure/state-update.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/state-update.test.js +0 -55
- package/dist/__tests__/cmd-pure/state-update.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/state.test.d.ts +0 -7
- package/dist/__tests__/cmd-pure/state.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/state.test.js +0 -48
- package/dist/__tests__/cmd-pure/state.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/statusline.test.d.ts +0 -5
- package/dist/__tests__/cmd-pure/statusline.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/statusline.test.js +0 -47
- package/dist/__tests__/cmd-pure/statusline.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/task.test.d.ts +0 -10
- package/dist/__tests__/cmd-pure/task.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/task.test.js +0 -246
- package/dist/__tests__/cmd-pure/task.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/taste-infer.test.d.ts +0 -9
- package/dist/__tests__/cmd-pure/taste-infer.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/taste-infer.test.js +0 -50
- package/dist/__tests__/cmd-pure/taste-infer.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/team.test.d.ts +0 -5
- package/dist/__tests__/cmd-pure/team.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/team.test.js +0 -43
- package/dist/__tests__/cmd-pure/team.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/terminal.test.d.ts +0 -9
- package/dist/__tests__/cmd-pure/terminal.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/terminal.test.js +0 -44
- package/dist/__tests__/cmd-pure/terminal.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/tokens.test.d.ts +0 -5
- package/dist/__tests__/cmd-pure/tokens.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/tokens.test.js +0 -64
- package/dist/__tests__/cmd-pure/tokens.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/uninstall.test.d.ts +0 -6
- package/dist/__tests__/cmd-pure/uninstall.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/uninstall.test.js +0 -38
- package/dist/__tests__/cmd-pure/uninstall.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/validate-evidence.test.d.ts +0 -12
- package/dist/__tests__/cmd-pure/validate-evidence.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/validate-evidence.test.js +0 -120
- package/dist/__tests__/cmd-pure/validate-evidence.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/variant-gallery.test.d.ts +0 -6
- package/dist/__tests__/cmd-pure/variant-gallery.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/variant-gallery.test.js +0 -20
- package/dist/__tests__/cmd-pure/variant-gallery.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/variant-pick.test.d.ts +0 -5
- package/dist/__tests__/cmd-pure/variant-pick.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/variant-pick.test.js +0 -24
- package/dist/__tests__/cmd-pure/variant-pick.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/variant-pool.test.d.ts +0 -5
- package/dist/__tests__/cmd-pure/variant-pool.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/variant-pool.test.js +0 -19
- package/dist/__tests__/cmd-pure/variant-pool.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/wave.test.d.ts +0 -5
- package/dist/__tests__/cmd-pure/wave.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/wave.test.js +0 -46
- package/dist/__tests__/cmd-pure/wave.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/wfrun.test.d.ts +0 -6
- package/dist/__tests__/cmd-pure/wfrun.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/wfrun.test.js +0 -33
- package/dist/__tests__/cmd-pure/wfrun.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/workflow.test.d.ts +0 -6
- package/dist/__tests__/cmd-pure/workflow.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/workflow.test.js +0 -105
- package/dist/__tests__/cmd-pure/workflow.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/worktree-install.test.d.ts +0 -10
- package/dist/__tests__/cmd-pure/worktree-install.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/worktree-install.test.js +0 -58
- package/dist/__tests__/cmd-pure/worktree-install.test.js.map +0 -1
- package/dist/__tests__/cmd-pure/worktree.test.d.ts +0 -10
- package/dist/__tests__/cmd-pure/worktree.test.d.ts.map +0 -1
- package/dist/__tests__/cmd-pure/worktree.test.js +0 -77
- package/dist/__tests__/cmd-pure/worktree.test.js.map +0 -1
- package/dist/__tests__/command-coverage.test.d.ts +0 -15
- package/dist/__tests__/command-coverage.test.d.ts.map +0 -1
- package/dist/__tests__/command-coverage.test.js +0 -138
- package/dist/__tests__/command-coverage.test.js.map +0 -1
- package/dist/__tests__/config-guard.test.d.ts +0 -12
- package/dist/__tests__/config-guard.test.d.ts.map +0 -1
- package/dist/__tests__/config-guard.test.js +0 -55
- package/dist/__tests__/config-guard.test.js.map +0 -1
- package/dist/__tests__/config-tdd-shape.test.d.ts +0 -10
- package/dist/__tests__/config-tdd-shape.test.d.ts.map +0 -1
- package/dist/__tests__/config-tdd-shape.test.js +0 -69
- package/dist/__tests__/config-tdd-shape.test.js.map +0 -1
- package/dist/__tests__/consistency-check.test.d.ts +0 -5
- package/dist/__tests__/consistency-check.test.d.ts.map +0 -1
- package/dist/__tests__/consistency-check.test.js +0 -72
- package/dist/__tests__/consistency-check.test.js.map +0 -1
- package/dist/__tests__/consistency-cli.test.d.ts +0 -5
- package/dist/__tests__/consistency-cli.test.d.ts.map +0 -1
- package/dist/__tests__/consistency-cli.test.js +0 -116
- package/dist/__tests__/consistency-cli.test.js.map +0 -1
- package/dist/__tests__/consistency-gate.test.d.ts +0 -5
- package/dist/__tests__/consistency-gate.test.d.ts.map +0 -1
- package/dist/__tests__/consistency-gate.test.js +0 -57
- package/dist/__tests__/consistency-gate.test.js.map +0 -1
- package/dist/__tests__/consistency-parse-plan.test.d.ts +0 -5
- package/dist/__tests__/consistency-parse-plan.test.d.ts.map +0 -1
- package/dist/__tests__/consistency-parse-plan.test.js +0 -66
- package/dist/__tests__/consistency-parse-plan.test.js.map +0 -1
- package/dist/__tests__/consistency-parse-qa.test.d.ts +0 -5
- package/dist/__tests__/consistency-parse-qa.test.d.ts.map +0 -1
- package/dist/__tests__/consistency-parse-qa.test.js +0 -50
- package/dist/__tests__/consistency-parse-qa.test.js.map +0 -1
- package/dist/__tests__/consistency-parse-review.test.d.ts +0 -5
- package/dist/__tests__/consistency-parse-review.test.d.ts.map +0 -1
- package/dist/__tests__/consistency-parse-review.test.js +0 -61
- package/dist/__tests__/consistency-parse-review.test.js.map +0 -1
- package/dist/__tests__/consistency-parse-spec.test.d.ts +0 -5
- package/dist/__tests__/consistency-parse-spec.test.d.ts.map +0 -1
- package/dist/__tests__/consistency-parse-spec.test.js +0 -83
- package/dist/__tests__/consistency-parse-spec.test.js.map +0 -1
- package/dist/__tests__/consistency-persona-alignment-rule.test.d.ts +0 -13
- package/dist/__tests__/consistency-persona-alignment-rule.test.d.ts.map +0 -1
- package/dist/__tests__/consistency-persona-alignment-rule.test.js +0 -158
- package/dist/__tests__/consistency-persona-alignment-rule.test.js.map +0 -1
- package/dist/__tests__/consistency-r6.test.d.ts +0 -15
- package/dist/__tests__/consistency-r6.test.d.ts.map +0 -1
- package/dist/__tests__/consistency-r6.test.js +0 -126
- package/dist/__tests__/consistency-r6.test.js.map +0 -1
- package/dist/__tests__/consistency-rules.test.d.ts +0 -6
- package/dist/__tests__/consistency-rules.test.d.ts.map +0 -1
- package/dist/__tests__/consistency-rules.test.js +0 -420
- package/dist/__tests__/consistency-rules.test.js.map +0 -1
- package/dist/__tests__/constitution-cli.test.d.ts +0 -5
- package/dist/__tests__/constitution-cli.test.d.ts.map +0 -1
- package/dist/__tests__/constitution-cli.test.js +0 -102
- package/dist/__tests__/constitution-cli.test.js.map +0 -1
- package/dist/__tests__/constitution-coverage-force.test.d.ts +0 -11
- package/dist/__tests__/constitution-coverage-force.test.d.ts.map +0 -1
- package/dist/__tests__/constitution-coverage-force.test.js +0 -101
- package/dist/__tests__/constitution-coverage-force.test.js.map +0 -1
- package/dist/__tests__/constitution-coverage-gate.test.d.ts +0 -11
- package/dist/__tests__/constitution-coverage-gate.test.d.ts.map +0 -1
- package/dist/__tests__/constitution-coverage-gate.test.js +0 -94
- package/dist/__tests__/constitution-coverage-gate.test.js.map +0 -1
- package/dist/__tests__/constitution-match.test.d.ts +0 -5
- package/dist/__tests__/constitution-match.test.d.ts.map +0 -1
- package/dist/__tests__/constitution-match.test.js +0 -95
- package/dist/__tests__/constitution-match.test.js.map +0 -1
- package/dist/__tests__/constitution-parse.test.d.ts +0 -5
- package/dist/__tests__/constitution-parse.test.d.ts.map +0 -1
- package/dist/__tests__/constitution-parse.test.js +0 -134
- package/dist/__tests__/constitution-parse.test.js.map +0 -1
- package/dist/__tests__/constitution-profile.test.d.ts +0 -9
- package/dist/__tests__/constitution-profile.test.d.ts.map +0 -1
- package/dist/__tests__/constitution-profile.test.js +0 -105
- package/dist/__tests__/constitution-profile.test.js.map +0 -1
- package/dist/__tests__/constitution.test.d.ts +0 -2
- package/dist/__tests__/constitution.test.d.ts.map +0 -1
- package/dist/__tests__/constitution.test.js +0 -86
- package/dist/__tests__/constitution.test.js.map +0 -1
- package/dist/__tests__/coordination-store.test.d.ts +0 -12
- package/dist/__tests__/coordination-store.test.d.ts.map +0 -1
- package/dist/__tests__/coordination-store.test.js +0 -119
- package/dist/__tests__/coordination-store.test.js.map +0 -1
- package/dist/__tests__/cost-tracker.test.d.ts +0 -2
- package/dist/__tests__/cost-tracker.test.d.ts.map +0 -1
- package/dist/__tests__/cost-tracker.test.js +0 -142
- package/dist/__tests__/cost-tracker.test.js.map +0 -1
- package/dist/__tests__/create-docs-cli.test.d.ts +0 -15
- package/dist/__tests__/create-docs-cli.test.d.ts.map +0 -1
- package/dist/__tests__/create-docs-cli.test.js +0 -259
- package/dist/__tests__/create-docs-cli.test.js.map +0 -1
- package/dist/__tests__/create-docs-frontmatter.test.d.ts +0 -18
- package/dist/__tests__/create-docs-frontmatter.test.d.ts.map +0 -1
- package/dist/__tests__/create-docs-frontmatter.test.js +0 -106
- package/dist/__tests__/create-docs-frontmatter.test.js.map +0 -1
- package/dist/__tests__/cycle.test.d.ts +0 -2
- package/dist/__tests__/cycle.test.d.ts.map +0 -1
- package/dist/__tests__/cycle.test.js +0 -64
- package/dist/__tests__/cycle.test.js.map +0 -1
- package/dist/__tests__/design-extract.test.d.ts +0 -19
- package/dist/__tests__/design-extract.test.d.ts.map +0 -1
- package/dist/__tests__/design-extract.test.js +0 -119
- package/dist/__tests__/design-extract.test.js.map +0 -1
- package/dist/__tests__/design-lint.test.d.ts +0 -16
- package/dist/__tests__/design-lint.test.d.ts.map +0 -1
- package/dist/__tests__/design-lint.test.js +0 -224
- package/dist/__tests__/design-lint.test.js.map +0 -1
- package/dist/__tests__/design-scan.test.d.ts +0 -18
- package/dist/__tests__/design-scan.test.d.ts.map +0 -1
- package/dist/__tests__/design-scan.test.js +0 -165
- package/dist/__tests__/design-scan.test.js.map +0 -1
- package/dist/__tests__/design-synthesize-prompt.test.d.ts +0 -10
- package/dist/__tests__/design-synthesize-prompt.test.d.ts.map +0 -1
- package/dist/__tests__/design-synthesize-prompt.test.js +0 -104
- package/dist/__tests__/design-synthesize-prompt.test.js.map +0 -1
- package/dist/__tests__/design-template.test.d.ts +0 -16
- package/dist/__tests__/design-template.test.d.ts.map +0 -1
- package/dist/__tests__/design-template.test.js +0 -428
- package/dist/__tests__/design-template.test.js.map +0 -1
- package/dist/__tests__/design-validate.test.d.ts +0 -14
- package/dist/__tests__/design-validate.test.d.ts.map +0 -1
- package/dist/__tests__/design-validate.test.js +0 -231
- package/dist/__tests__/design-validate.test.js.map +0 -1
- package/dist/__tests__/detached-spawn-wrapper.test.d.ts +0 -17
- package/dist/__tests__/detached-spawn-wrapper.test.d.ts.map +0 -1
- package/dist/__tests__/detached-spawn-wrapper.test.js +0 -160
- package/dist/__tests__/detached-spawn-wrapper.test.js.map +0 -1
- package/dist/__tests__/dispatch-table.test.d.ts +0 -10
- package/dist/__tests__/dispatch-table.test.d.ts.map +0 -1
- package/dist/__tests__/dispatch-table.test.js +0 -57
- package/dist/__tests__/dispatch-table.test.js.map +0 -1
- package/dist/__tests__/dispatch-wrap.test.d.ts +0 -21
- package/dist/__tests__/dispatch-wrap.test.d.ts.map +0 -1
- package/dist/__tests__/dispatch-wrap.test.js +0 -133
- package/dist/__tests__/dispatch-wrap.test.js.map +0 -1
- package/dist/__tests__/docs-audit-drift-detection.test.d.ts +0 -10
- package/dist/__tests__/docs-audit-drift-detection.test.d.ts.map +0 -1
- package/dist/__tests__/docs-audit-drift-detection.test.js +0 -185
- package/dist/__tests__/docs-audit-drift-detection.test.js.map +0 -1
- package/dist/__tests__/docs-audit-policy.test.d.ts +0 -9
- package/dist/__tests__/docs-audit-policy.test.d.ts.map +0 -1
- package/dist/__tests__/docs-audit-policy.test.js +0 -121
- package/dist/__tests__/docs-audit-policy.test.js.map +0 -1
- package/dist/__tests__/docs-features-reader.test.d.ts +0 -10
- package/dist/__tests__/docs-features-reader.test.d.ts.map +0 -1
- package/dist/__tests__/docs-features-reader.test.js +0 -193
- package/dist/__tests__/docs-features-reader.test.js.map +0 -1
- package/dist/__tests__/docs-nav-renderer.test.d.ts +0 -11
- package/dist/__tests__/docs-nav-renderer.test.d.ts.map +0 -1
- package/dist/__tests__/docs-nav-renderer.test.js +0 -119
- package/dist/__tests__/docs-nav-renderer.test.js.map +0 -1
- package/dist/__tests__/docs-structure-planner.test.d.ts +0 -14
- package/dist/__tests__/docs-structure-planner.test.d.ts.map +0 -1
- package/dist/__tests__/docs-structure-planner.test.js +0 -234
- package/dist/__tests__/docs-structure-planner.test.js.map +0 -1
- package/dist/__tests__/duration.test.d.ts +0 -5
- package/dist/__tests__/duration.test.d.ts.map +0 -1
- package/dist/__tests__/duration.test.js +0 -64
- package/dist/__tests__/duration.test.js.map +0 -1
- package/dist/__tests__/e2e-pipeline/pr-review-lifecycle.test.d.ts +0 -19
- package/dist/__tests__/e2e-pipeline/pr-review-lifecycle.test.d.ts.map +0 -1
- package/dist/__tests__/e2e-pipeline/pr-review-lifecycle.test.js +0 -74
- package/dist/__tests__/e2e-pipeline/pr-review-lifecycle.test.js.map +0 -1
- package/dist/__tests__/e2e-pipeline/roadmap-lifecycle.test.d.ts +0 -18
- package/dist/__tests__/e2e-pipeline/roadmap-lifecycle.test.d.ts.map +0 -1
- package/dist/__tests__/e2e-pipeline/roadmap-lifecycle.test.js +0 -80
- package/dist/__tests__/e2e-pipeline/roadmap-lifecycle.test.js.map +0 -1
- package/dist/__tests__/e2e-pipeline/task-lifecycle.test.d.ts +0 -19
- package/dist/__tests__/e2e-pipeline/task-lifecycle.test.d.ts.map +0 -1
- package/dist/__tests__/e2e-pipeline/task-lifecycle.test.js +0 -86
- package/dist/__tests__/e2e-pipeline/task-lifecycle.test.js.map +0 -1
- package/dist/__tests__/event-log.test.d.ts +0 -15
- package/dist/__tests__/event-log.test.d.ts.map +0 -1
- package/dist/__tests__/event-log.test.js +0 -139
- package/dist/__tests__/event-log.test.js.map +0 -1
- package/dist/__tests__/features-registry-audit.test.d.ts +0 -6
- package/dist/__tests__/features-registry-audit.test.d.ts.map +0 -1
- package/dist/__tests__/features-registry-audit.test.js +0 -186
- package/dist/__tests__/features-registry-audit.test.js.map +0 -1
- package/dist/__tests__/file-backend.test.d.ts +0 -2
- package/dist/__tests__/file-backend.test.d.ts.map +0 -1
- package/dist/__tests__/file-backend.test.js +0 -222
- package/dist/__tests__/file-backend.test.js.map +0 -1
- package/dist/__tests__/fixtures/pr-review-audit-fixer/verified-clean/target.d.ts +0 -2
- package/dist/__tests__/fixtures/pr-review-audit-fixer/verified-clean/target.d.ts.map +0 -1
- package/dist/__tests__/fixtures/pr-review-audit-fixer/verified-clean/target.js +0 -6
- package/dist/__tests__/fixtures/pr-review-audit-fixer/verified-clean/target.js.map +0 -1
- package/dist/__tests__/fixtures/validate-evidence/other-file.d.ts +0 -4
- package/dist/__tests__/fixtures/validate-evidence/other-file.d.ts.map +0 -1
- package/dist/__tests__/fixtures/validate-evidence/other-file.js +0 -8
- package/dist/__tests__/fixtures/validate-evidence/other-file.js.map +0 -1
- package/dist/__tests__/fixtures/validate-evidence/target-file.d.ts +0 -4
- package/dist/__tests__/fixtures/validate-evidence/target-file.d.ts.map +0 -1
- package/dist/__tests__/fixtures/validate-evidence/target-file.js +0 -23
- package/dist/__tests__/fixtures/validate-evidence/target-file.js.map +0 -1
- package/dist/__tests__/gate-cache.test.d.ts +0 -14
- package/dist/__tests__/gate-cache.test.d.ts.map +0 -1
- package/dist/__tests__/gate-cache.test.js +0 -148
- package/dist/__tests__/gate-cache.test.js.map +0 -1
- package/dist/__tests__/gate-check-cli.test.d.ts +0 -11
- package/dist/__tests__/gate-check-cli.test.d.ts.map +0 -1
- package/dist/__tests__/gate-check-cli.test.js +0 -199
- package/dist/__tests__/gate-check-cli.test.js.map +0 -1
- package/dist/__tests__/gate-e2e.test.d.ts +0 -17
- package/dist/__tests__/gate-e2e.test.d.ts.map +0 -1
- package/dist/__tests__/gate-e2e.test.js +0 -110
- package/dist/__tests__/gate-e2e.test.js.map +0 -1
- package/dist/__tests__/gate-force-override.test.d.ts +0 -16
- package/dist/__tests__/gate-force-override.test.d.ts.map +0 -1
- package/dist/__tests__/gate-force-override.test.js +0 -139
- package/dist/__tests__/gate-force-override.test.js.map +0 -1
- package/dist/__tests__/gate-gates.test.d.ts +0 -5
- package/dist/__tests__/gate-gates.test.d.ts.map +0 -1
- package/dist/__tests__/gate-gates.test.js +0 -222
- package/dist/__tests__/gate-gates.test.js.map +0 -1
- package/dist/__tests__/gate-perf.test.d.ts +0 -15
- package/dist/__tests__/gate-perf.test.d.ts.map +0 -1
- package/dist/__tests__/gate-perf.test.js +0 -75
- package/dist/__tests__/gate-perf.test.js.map +0 -1
- package/dist/__tests__/gate-persona-alignment.test.d.ts +0 -16
- package/dist/__tests__/gate-persona-alignment.test.d.ts.map +0 -1
- package/dist/__tests__/gate-persona-alignment.test.js +0 -241
- package/dist/__tests__/gate-persona-alignment.test.js.map +0 -1
- package/dist/__tests__/gate-registry.test.d.ts +0 -8
- package/dist/__tests__/gate-registry.test.d.ts.map +0 -1
- package/dist/__tests__/gate-registry.test.js +0 -176
- package/dist/__tests__/gate-registry.test.js.map +0 -1
- package/dist/__tests__/gate-route-preview.test.d.ts +0 -13
- package/dist/__tests__/gate-route-preview.test.d.ts.map +0 -1
- package/dist/__tests__/gate-route-preview.test.js +0 -169
- package/dist/__tests__/gate-route-preview.test.js.map +0 -1
- package/dist/__tests__/gitignore-drift.test.d.ts +0 -14
- package/dist/__tests__/gitignore-drift.test.d.ts.map +0 -1
- package/dist/__tests__/gitignore-drift.test.js +0 -138
- package/dist/__tests__/gitignore-drift.test.js.map +0 -1
- package/dist/__tests__/gitignore-upgrade.test.d.ts +0 -15
- package/dist/__tests__/gitignore-upgrade.test.d.ts.map +0 -1
- package/dist/__tests__/gitignore-upgrade.test.js +0 -208
- package/dist/__tests__/gitignore-upgrade.test.js.map +0 -1
- package/dist/__tests__/host-detect-all-runtimes.test.d.ts +0 -14
- package/dist/__tests__/host-detect-all-runtimes.test.d.ts.map +0 -1
- package/dist/__tests__/host-detect-all-runtimes.test.js +0 -220
- package/dist/__tests__/host-detect-all-runtimes.test.js.map +0 -1
- package/dist/__tests__/host-detect.test.d.ts +0 -2
- package/dist/__tests__/host-detect.test.d.ts.map +0 -1
- package/dist/__tests__/host-detect.test.js +0 -554
- package/dist/__tests__/host-detect.test.js.map +0 -1
- package/dist/__tests__/init-bootstrap-chain.test.d.ts +0 -12
- package/dist/__tests__/init-bootstrap-chain.test.d.ts.map +0 -1
- package/dist/__tests__/init-bootstrap-chain.test.js +0 -101
- package/dist/__tests__/init-bootstrap-chain.test.js.map +0 -1
- package/dist/__tests__/init-flag-parser.test.d.ts +0 -15
- package/dist/__tests__/init-flag-parser.test.d.ts.map +0 -1
- package/dist/__tests__/init-flag-parser.test.js +0 -152
- package/dist/__tests__/init-flag-parser.test.js.map +0 -1
- package/dist/__tests__/init-hints.test.d.ts +0 -20
- package/dist/__tests__/init-hints.test.d.ts.map +0 -1
- package/dist/__tests__/init-hints.test.js +0 -147
- package/dist/__tests__/init-hints.test.js.map +0 -1
- package/dist/__tests__/init-non-tty-class-a.test.d.ts +0 -14
- package/dist/__tests__/init-non-tty-class-a.test.d.ts.map +0 -1
- package/dist/__tests__/init-non-tty-class-a.test.js +0 -141
- package/dist/__tests__/init-non-tty-class-a.test.js.map +0 -1
- package/dist/__tests__/init-seeds-stub.test.d.ts +0 -11
- package/dist/__tests__/init-seeds-stub.test.d.ts.map +0 -1
- package/dist/__tests__/init-seeds-stub.test.js +0 -89
- package/dist/__tests__/init-seeds-stub.test.js.map +0 -1
- package/dist/__tests__/init-upgrade-drift.test.d.ts +0 -16
- package/dist/__tests__/init-upgrade-drift.test.d.ts.map +0 -1
- package/dist/__tests__/init-upgrade-drift.test.js +0 -136
- package/dist/__tests__/init-upgrade-drift.test.js.map +0 -1
- package/dist/__tests__/install-no-yaml-warnings.test.d.ts +0 -25
- package/dist/__tests__/install-no-yaml-warnings.test.d.ts.map +0 -1
- package/dist/__tests__/install-no-yaml-warnings.test.js +0 -89
- package/dist/__tests__/install-no-yaml-warnings.test.js.map +0 -1
- package/dist/__tests__/install-pipeline-traversal.test.d.ts +0 -7
- package/dist/__tests__/install-pipeline-traversal.test.d.ts.map +0 -1
- package/dist/__tests__/install-pipeline-traversal.test.js +0 -62
- package/dist/__tests__/install-pipeline-traversal.test.js.map +0 -1
- package/dist/__tests__/install-pipeline.test.d.ts +0 -11
- package/dist/__tests__/install-pipeline.test.d.ts.map +0 -1
- package/dist/__tests__/install-pipeline.test.js +0 -131
- package/dist/__tests__/install-pipeline.test.js.map +0 -1
- package/dist/__tests__/integration/helpers/make-fixture-project.d.ts +0 -59
- package/dist/__tests__/integration/helpers/make-fixture-project.d.ts.map +0 -1
- package/dist/__tests__/integration/helpers/make-fixture-project.js +0 -130
- package/dist/__tests__/integration/helpers/make-fixture-project.js.map +0 -1
- package/dist/__tests__/integration/helpers/run-cli.d.ts +0 -40
- package/dist/__tests__/integration/helpers/run-cli.d.ts.map +0 -1
- package/dist/__tests__/integration/helpers/run-cli.js +0 -61
- package/dist/__tests__/integration/helpers/run-cli.js.map +0 -1
- package/dist/__tests__/integration/smoke-author-skill.test.d.ts +0 -15
- package/dist/__tests__/integration/smoke-author-skill.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-author-skill.test.js +0 -86
- package/dist/__tests__/integration/smoke-author-skill.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-bootstrap.test.d.ts +0 -12
- package/dist/__tests__/integration/smoke-bootstrap.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-bootstrap.test.js +0 -68
- package/dist/__tests__/integration/smoke-bootstrap.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-coverage-check.test.d.ts +0 -9
- package/dist/__tests__/integration/smoke-coverage-check.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-coverage-check.test.js +0 -152
- package/dist/__tests__/integration/smoke-coverage-check.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-create-docs.test.d.ts +0 -14
- package/dist/__tests__/integration/smoke-create-docs.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-create-docs.test.js +0 -142
- package/dist/__tests__/integration/smoke-create-docs.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-design-lint.test.d.ts +0 -11
- package/dist/__tests__/integration/smoke-design-lint.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-design-lint.test.js +0 -46
- package/dist/__tests__/integration/smoke-design-lint.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-design-scan.test.d.ts +0 -11
- package/dist/__tests__/integration/smoke-design-scan.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-design-scan.test.js +0 -41
- package/dist/__tests__/integration/smoke-design-scan.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-design-synthesize.test.d.ts +0 -23
- package/dist/__tests__/integration/smoke-design-synthesize.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-design-synthesize.test.js +0 -232
- package/dist/__tests__/integration/smoke-design-synthesize.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-design-template.test.d.ts +0 -23
- package/dist/__tests__/integration/smoke-design-template.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-design-template.test.js +0 -203
- package/dist/__tests__/integration/smoke-design-template.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-design-validate.test.d.ts +0 -12
- package/dist/__tests__/integration/smoke-design-validate.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-design-validate.test.js +0 -98
- package/dist/__tests__/integration/smoke-design-validate.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-docs-audit.test.d.ts +0 -5
- package/dist/__tests__/integration/smoke-docs-audit.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-docs-audit.test.js +0 -28
- package/dist/__tests__/integration/smoke-docs-audit.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-docs-coherence.test.d.ts +0 -12
- package/dist/__tests__/integration/smoke-docs-coherence.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-docs-coherence.test.js +0 -176
- package/dist/__tests__/integration/smoke-docs-coherence.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-effects.test.d.ts +0 -6
- package/dist/__tests__/integration/smoke-effects.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-effects.test.js +0 -92
- package/dist/__tests__/integration/smoke-effects.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-features-audit.test.d.ts +0 -6
- package/dist/__tests__/integration/smoke-features-audit.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-features-audit.test.js +0 -77
- package/dist/__tests__/integration/smoke-features-audit.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-gate.test.d.ts +0 -6
- package/dist/__tests__/integration/smoke-gate.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-gate.test.js +0 -120
- package/dist/__tests__/integration/smoke-gate.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-host.test.d.ts +0 -7
- package/dist/__tests__/integration/smoke-host.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-host.test.js +0 -230
- package/dist/__tests__/integration/smoke-host.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-personas.test.d.ts +0 -14
- package/dist/__tests__/integration/smoke-personas.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-personas.test.js +0 -87
- package/dist/__tests__/integration/smoke-personas.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-pr-review-audit-fixer.test.d.ts +0 -12
- package/dist/__tests__/integration/smoke-pr-review-audit-fixer.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-pr-review-audit-fixer.test.js +0 -422
- package/dist/__tests__/integration/smoke-pr-review-audit-fixer.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-pr-review.test.d.ts +0 -11
- package/dist/__tests__/integration/smoke-pr-review.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-pr-review.test.js +0 -105
- package/dist/__tests__/integration/smoke-pr-review.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-product-context.test.d.ts +0 -11
- package/dist/__tests__/integration/smoke-product-context.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-product-context.test.js +0 -64
- package/dist/__tests__/integration/smoke-product-context.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-profile.test.d.ts +0 -6
- package/dist/__tests__/integration/smoke-profile.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-profile.test.js +0 -74
- package/dist/__tests__/integration/smoke-profile.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-roadmap.test.d.ts +0 -6
- package/dist/__tests__/integration/smoke-roadmap.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-roadmap.test.js +0 -89
- package/dist/__tests__/integration/smoke-roadmap.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-route.test.d.ts +0 -8
- package/dist/__tests__/integration/smoke-route.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-route.test.js +0 -97
- package/dist/__tests__/integration/smoke-route.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-seed.test.d.ts +0 -10
- package/dist/__tests__/integration/smoke-seed.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-seed.test.js +0 -50
- package/dist/__tests__/integration/smoke-seed.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-standards.test.d.ts +0 -12
- package/dist/__tests__/integration/smoke-standards.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-standards.test.js +0 -95
- package/dist/__tests__/integration/smoke-standards.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-statusline.test.d.ts +0 -13
- package/dist/__tests__/integration/smoke-statusline.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-statusline.test.js +0 -61
- package/dist/__tests__/integration/smoke-statusline.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-task.test.d.ts +0 -11
- package/dist/__tests__/integration/smoke-task.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-task.test.js +0 -228
- package/dist/__tests__/integration/smoke-task.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-taste-infer.test.d.ts +0 -17
- package/dist/__tests__/integration/smoke-taste-infer.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-taste-infer.test.js +0 -98
- package/dist/__tests__/integration/smoke-taste-infer.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-team.test.d.ts +0 -6
- package/dist/__tests__/integration/smoke-team.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-team.test.js +0 -61
- package/dist/__tests__/integration/smoke-team.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-terminal.test.d.ts +0 -15
- package/dist/__tests__/integration/smoke-terminal.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-terminal.test.js +0 -127
- package/dist/__tests__/integration/smoke-terminal.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-tokens.test.d.ts +0 -6
- package/dist/__tests__/integration/smoke-tokens.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-tokens.test.js +0 -92
- package/dist/__tests__/integration/smoke-tokens.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-uninstall.test.d.ts +0 -8
- package/dist/__tests__/integration/smoke-uninstall.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-uninstall.test.js +0 -58
- package/dist/__tests__/integration/smoke-uninstall.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-validate-evidence.test.d.ts +0 -8
- package/dist/__tests__/integration/smoke-validate-evidence.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-validate-evidence.test.js +0 -72
- package/dist/__tests__/integration/smoke-validate-evidence.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-variant-gallery.test.d.ts +0 -12
- package/dist/__tests__/integration/smoke-variant-gallery.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-variant-gallery.test.js +0 -60
- package/dist/__tests__/integration/smoke-variant-gallery.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-variant-pick.test.d.ts +0 -12
- package/dist/__tests__/integration/smoke-variant-pick.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-variant-pick.test.js +0 -57
- package/dist/__tests__/integration/smoke-variant-pick.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-variant-pool.test.d.ts +0 -10
- package/dist/__tests__/integration/smoke-variant-pool.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-variant-pool.test.js +0 -33
- package/dist/__tests__/integration/smoke-variant-pool.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-wfrun.test.d.ts +0 -9
- package/dist/__tests__/integration/smoke-wfrun.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-wfrun.test.js +0 -111
- package/dist/__tests__/integration/smoke-wfrun.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-worktree-install.test.d.ts +0 -7
- package/dist/__tests__/integration/smoke-worktree-install.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-worktree-install.test.js +0 -40
- package/dist/__tests__/integration/smoke-worktree-install.test.js.map +0 -1
- package/dist/__tests__/integration/smoke-worktree.test.d.ts +0 -6
- package/dist/__tests__/integration/smoke-worktree.test.d.ts.map +0 -1
- package/dist/__tests__/integration/smoke-worktree.test.js +0 -59
- package/dist/__tests__/integration/smoke-worktree.test.js.map +0 -1
- package/dist/__tests__/lifecycle-shipped-pending-merge.test.d.ts +0 -15
- package/dist/__tests__/lifecycle-shipped-pending-merge.test.d.ts.map +0 -1
- package/dist/__tests__/lifecycle-shipped-pending-merge.test.js +0 -150
- package/dist/__tests__/lifecycle-shipped-pending-merge.test.js.map +0 -1
- package/dist/__tests__/lock-proper-lockfile.test.d.ts +0 -9
- package/dist/__tests__/lock-proper-lockfile.test.d.ts.map +0 -1
- package/dist/__tests__/lock-proper-lockfile.test.js +0 -121
- package/dist/__tests__/lock-proper-lockfile.test.js.map +0 -1
- package/dist/__tests__/manifest.test.d.ts +0 -2
- package/dist/__tests__/manifest.test.d.ts.map +0 -1
- package/dist/__tests__/manifest.test.js +0 -32
- package/dist/__tests__/manifest.test.js.map +0 -1
- package/dist/__tests__/milestone-rollup.test.d.ts +0 -7
- package/dist/__tests__/milestone-rollup.test.d.ts.map +0 -1
- package/dist/__tests__/milestone-rollup.test.js +0 -175
- package/dist/__tests__/milestone-rollup.test.js.map +0 -1
- package/dist/__tests__/milestone-schema-focus-fields.test.d.ts +0 -14
- package/dist/__tests__/milestone-schema-focus-fields.test.d.ts.map +0 -1
- package/dist/__tests__/milestone-schema-focus-fields.test.js +0 -159
- package/dist/__tests__/milestone-schema-focus-fields.test.js.map +0 -1
- package/dist/__tests__/null-backend.test.d.ts +0 -2
- package/dist/__tests__/null-backend.test.d.ts.map +0 -1
- package/dist/__tests__/null-backend.test.js +0 -54
- package/dist/__tests__/null-backend.test.js.map +0 -1
- package/dist/__tests__/output-style-helpers.test.d.ts +0 -11
- package/dist/__tests__/output-style-helpers.test.d.ts.map +0 -1
- package/dist/__tests__/output-style-helpers.test.js +0 -173
- package/dist/__tests__/output-style-helpers.test.js.map +0 -1
- package/dist/__tests__/outputs-guard.test.d.ts +0 -16
- package/dist/__tests__/outputs-guard.test.d.ts.map +0 -1
- package/dist/__tests__/outputs-guard.test.js +0 -143
- package/dist/__tests__/outputs-guard.test.js.map +0 -1
- package/dist/__tests__/parse-acceptance-criteria.test.d.ts +0 -7
- package/dist/__tests__/parse-acceptance-criteria.test.d.ts.map +0 -1
- package/dist/__tests__/parse-acceptance-criteria.test.js +0 -135
- package/dist/__tests__/parse-acceptance-criteria.test.js.map +0 -1
- package/dist/__tests__/personas-cli.test.d.ts +0 -12
- package/dist/__tests__/personas-cli.test.d.ts.map +0 -1
- package/dist/__tests__/personas-cli.test.js +0 -235
- package/dist/__tests__/personas-cli.test.js.map +0 -1
- package/dist/__tests__/personas-frontmatter.test.d.ts +0 -24
- package/dist/__tests__/personas-frontmatter.test.d.ts.map +0 -1
- package/dist/__tests__/personas-frontmatter.test.js +0 -108
- package/dist/__tests__/personas-frontmatter.test.js.map +0 -1
- package/dist/__tests__/personas-role-scan.test.d.ts +0 -14
- package/dist/__tests__/personas-role-scan.test.d.ts.map +0 -1
- package/dist/__tests__/personas-role-scan.test.js +0 -134
- package/dist/__tests__/personas-role-scan.test.js.map +0 -1
- package/dist/__tests__/personas-schema-roundtrip.test.d.ts +0 -31
- package/dist/__tests__/personas-schema-roundtrip.test.d.ts.map +0 -1
- package/dist/__tests__/personas-schema-roundtrip.test.js +0 -235
- package/dist/__tests__/personas-schema-roundtrip.test.js.map +0 -1
- package/dist/__tests__/personas-sidecar.test.d.ts +0 -19
- package/dist/__tests__/personas-sidecar.test.d.ts.map +0 -1
- package/dist/__tests__/personas-sidecar.test.js +0 -285
- package/dist/__tests__/personas-sidecar.test.js.map +0 -1
- package/dist/__tests__/plan-approval.test.d.ts +0 -10
- package/dist/__tests__/plan-approval.test.d.ts.map +0 -1
- package/dist/__tests__/plan-approval.test.js +0 -161
- package/dist/__tests__/plan-approval.test.js.map +0 -1
- package/dist/__tests__/plan-mode-e2e.test.d.ts +0 -20
- package/dist/__tests__/plan-mode-e2e.test.d.ts.map +0 -1
- package/dist/__tests__/plan-mode-e2e.test.js +0 -118
- package/dist/__tests__/plan-mode-e2e.test.js.map +0 -1
- package/dist/__tests__/planner-docs-impact.test.d.ts +0 -6
- package/dist/__tests__/planner-docs-impact.test.d.ts.map +0 -1
- package/dist/__tests__/planner-docs-impact.test.js +0 -44
- package/dist/__tests__/planner-docs-impact.test.js.map +0 -1
- package/dist/__tests__/planner-persona-tier-declaration.test.d.ts +0 -15
- package/dist/__tests__/planner-persona-tier-declaration.test.d.ts.map +0 -1
- package/dist/__tests__/planner-persona-tier-declaration.test.js +0 -60
- package/dist/__tests__/planner-persona-tier-declaration.test.js.map +0 -1
- package/dist/__tests__/plugin-build.test.d.ts +0 -16
- package/dist/__tests__/plugin-build.test.d.ts.map +0 -1
- package/dist/__tests__/plugin-build.test.js +0 -119
- package/dist/__tests__/plugin-build.test.js.map +0 -1
- package/dist/__tests__/plugin-manifest-schema.test.d.ts +0 -18
- package/dist/__tests__/plugin-manifest-schema.test.d.ts.map +0 -1
- package/dist/__tests__/plugin-manifest-schema.test.js +0 -123
- package/dist/__tests__/plugin-manifest-schema.test.js.map +0 -1
- package/dist/__tests__/post-merge-sweep.test.d.ts +0 -23
- package/dist/__tests__/post-merge-sweep.test.d.ts.map +0 -1
- package/dist/__tests__/post-merge-sweep.test.js +0 -342
- package/dist/__tests__/post-merge-sweep.test.js.map +0 -1
- package/dist/__tests__/pr-review-audit-fixer.test.d.ts +0 -11
- package/dist/__tests__/pr-review-audit-fixer.test.d.ts.map +0 -1
- package/dist/__tests__/pr-review-audit-fixer.test.js +0 -354
- package/dist/__tests__/pr-review-audit-fixer.test.js.map +0 -1
- package/dist/__tests__/pr-review-authorship-migration.test.d.ts +0 -13
- package/dist/__tests__/pr-review-authorship-migration.test.d.ts.map +0 -1
- package/dist/__tests__/pr-review-authorship-migration.test.js +0 -237
- package/dist/__tests__/pr-review-authorship-migration.test.js.map +0 -1
- package/dist/__tests__/pr-review-close-round-cleanup.test.d.ts +0 -15
- package/dist/__tests__/pr-review-close-round-cleanup.test.d.ts.map +0 -1
- package/dist/__tests__/pr-review-close-round-cleanup.test.js +0 -191
- package/dist/__tests__/pr-review-close-round-cleanup.test.js.map +0 -1
- package/dist/__tests__/pr-review-detect-authorship.test.d.ts +0 -21
- package/dist/__tests__/pr-review-detect-authorship.test.d.ts.map +0 -1
- package/dist/__tests__/pr-review-detect-authorship.test.js +0 -270
- package/dist/__tests__/pr-review-detect-authorship.test.js.map +0 -1
- package/dist/__tests__/product-context.test.d.ts +0 -14
- package/dist/__tests__/product-context.test.d.ts.map +0 -1
- package/dist/__tests__/product-context.test.js +0 -117
- package/dist/__tests__/product-context.test.js.map +0 -1
- package/dist/__tests__/profile-cli.test.d.ts +0 -5
- package/dist/__tests__/profile-cli.test.d.ts.map +0 -1
- package/dist/__tests__/profile-cli.test.js +0 -134
- package/dist/__tests__/profile-cli.test.js.map +0 -1
- package/dist/__tests__/profile-parse.test.d.ts +0 -5
- package/dist/__tests__/profile-parse.test.d.ts.map +0 -1
- package/dist/__tests__/profile-parse.test.js +0 -151
- package/dist/__tests__/profile-parse.test.js.map +0 -1
- package/dist/__tests__/profile-resolve.test.d.ts +0 -5
- package/dist/__tests__/profile-resolve.test.d.ts.map +0 -1
- package/dist/__tests__/profile-resolve.test.js +0 -181
- package/dist/__tests__/profile-resolve.test.js.map +0 -1
- package/dist/__tests__/remote-detection.test.d.ts +0 -9
- package/dist/__tests__/remote-detection.test.d.ts.map +0 -1
- package/dist/__tests__/remote-detection.test.js +0 -86
- package/dist/__tests__/remote-detection.test.js.map +0 -1
- package/dist/__tests__/risk-check.test.d.ts +0 -2
- package/dist/__tests__/risk-check.test.d.ts.map +0 -1
- package/dist/__tests__/risk-check.test.js +0 -85
- package/dist/__tests__/risk-check.test.js.map +0 -1
- package/dist/__tests__/roadmap-delete-phase-files.test.d.ts +0 -18
- package/dist/__tests__/roadmap-delete-phase-files.test.d.ts.map +0 -1
- package/dist/__tests__/roadmap-delete-phase-files.test.js +0 -122
- package/dist/__tests__/roadmap-delete-phase-files.test.js.map +0 -1
- package/dist/__tests__/roadmap-empty-milestone-lookup.test.d.ts +0 -29
- package/dist/__tests__/roadmap-empty-milestone-lookup.test.d.ts.map +0 -1
- package/dist/__tests__/roadmap-empty-milestone-lookup.test.js +0 -186
- package/dist/__tests__/roadmap-empty-milestone-lookup.test.js.map +0 -1
- package/dist/__tests__/roadmap-orphan-block.test.d.ts +0 -8
- package/dist/__tests__/roadmap-orphan-block.test.d.ts.map +0 -1
- package/dist/__tests__/roadmap-orphan-block.test.js +0 -114
- package/dist/__tests__/roadmap-orphan-block.test.js.map +0 -1
- package/dist/__tests__/roadmap-phases-io.test.d.ts +0 -15
- package/dist/__tests__/roadmap-phases-io.test.d.ts.map +0 -1
- package/dist/__tests__/roadmap-phases-io.test.js +0 -235
- package/dist/__tests__/roadmap-phases-io.test.js.map +0 -1
- package/dist/__tests__/roadmap-validate-refs.test.d.ts +0 -9
- package/dist/__tests__/roadmap-validate-refs.test.d.ts.map +0 -1
- package/dist/__tests__/roadmap-validate-refs.test.js +0 -90
- package/dist/__tests__/roadmap-validate-refs.test.js.map +0 -1
- package/dist/__tests__/route-design-skill.test.d.ts +0 -10
- package/dist/__tests__/route-design-skill.test.d.ts.map +0 -1
- package/dist/__tests__/route-design-skill.test.js +0 -61
- package/dist/__tests__/route-design-skill.test.js.map +0 -1
- package/dist/__tests__/route-envelope-builder.test.d.ts +0 -12
- package/dist/__tests__/route-envelope-builder.test.d.ts.map +0 -1
- package/dist/__tests__/route-envelope-builder.test.js +0 -369
- package/dist/__tests__/route-envelope-builder.test.js.map +0 -1
- package/dist/__tests__/route-mockup-skill.test.d.ts +0 -10
- package/dist/__tests__/route-mockup-skill.test.d.ts.map +0 -1
- package/dist/__tests__/route-mockup-skill.test.js +0 -61
- package/dist/__tests__/route-mockup-skill.test.js.map +0 -1
- package/dist/__tests__/route-plan-mode.test.d.ts +0 -9
- package/dist/__tests__/route-plan-mode.test.d.ts.map +0 -1
- package/dist/__tests__/route-plan-mode.test.js +0 -126
- package/dist/__tests__/route-plan-mode.test.js.map +0 -1
- package/dist/__tests__/route-pr-review-skill.test.d.ts +0 -15
- package/dist/__tests__/route-pr-review-skill.test.d.ts.map +0 -1
- package/dist/__tests__/route-pr-review-skill.test.js +0 -132
- package/dist/__tests__/route-pr-review-skill.test.js.map +0 -1
- package/dist/__tests__/route-runtime-override.test.d.ts +0 -18
- package/dist/__tests__/route-runtime-override.test.d.ts.map +0 -1
- package/dist/__tests__/route-runtime-override.test.js +0 -164
- package/dist/__tests__/route-runtime-override.test.js.map +0 -1
- package/dist/__tests__/route-skill-discover.test.d.ts +0 -9
- package/dist/__tests__/route-skill-discover.test.d.ts.map +0 -1
- package/dist/__tests__/route-skill-discover.test.js +0 -163
- package/dist/__tests__/route-skill-discover.test.js.map +0 -1
- package/dist/__tests__/route-trust-boundary.test.d.ts +0 -10
- package/dist/__tests__/route-trust-boundary.test.d.ts.map +0 -1
- package/dist/__tests__/route-trust-boundary.test.js +0 -206
- package/dist/__tests__/route-trust-boundary.test.js.map +0 -1
- package/dist/__tests__/router-cross-runtime-parity.test.d.ts +0 -23
- package/dist/__tests__/router-cross-runtime-parity.test.d.ts.map +0 -1
- package/dist/__tests__/router-cross-runtime-parity.test.js +0 -227
- package/dist/__tests__/router-cross-runtime-parity.test.js.map +0 -1
- package/dist/__tests__/run-cmd-harness.test.d.ts +0 -14
- package/dist/__tests__/run-cmd-harness.test.d.ts.map +0 -1
- package/dist/__tests__/run-cmd-harness.test.js +0 -132
- package/dist/__tests__/run-cmd-harness.test.js.map +0 -1
- package/dist/__tests__/schema-migrate.test.d.ts +0 -8
- package/dist/__tests__/schema-migrate.test.d.ts.map +0 -1
- package/dist/__tests__/schema-migrate.test.js +0 -107
- package/dist/__tests__/schema-migrate.test.js.map +0 -1
- package/dist/__tests__/seed-assign-unassign.test.d.ts +0 -14
- package/dist/__tests__/seed-assign-unassign.test.d.ts.map +0 -1
- package/dist/__tests__/seed-assign-unassign.test.js +0 -188
- package/dist/__tests__/seed-assign-unassign.test.js.map +0 -1
- package/dist/__tests__/seed-cli-lifecycle.test.d.ts +0 -9
- package/dist/__tests__/seed-cli-lifecycle.test.d.ts.map +0 -1
- package/dist/__tests__/seed-cli-lifecycle.test.js +0 -204
- package/dist/__tests__/seed-cli-lifecycle.test.js.map +0 -1
- package/dist/__tests__/seed-validate-cli.test.d.ts +0 -11
- package/dist/__tests__/seed-validate-cli.test.d.ts.map +0 -1
- package/dist/__tests__/seed-validate-cli.test.js +0 -149
- package/dist/__tests__/seed-validate-cli.test.js.map +0 -1
- package/dist/__tests__/seeds-io.test.d.ts +0 -11
- package/dist/__tests__/seeds-io.test.d.ts.map +0 -1
- package/dist/__tests__/seeds-io.test.js +0 -145
- package/dist/__tests__/seeds-io.test.js.map +0 -1
- package/dist/__tests__/seeds-render.test.d.ts +0 -20
- package/dist/__tests__/seeds-render.test.d.ts.map +0 -1
- package/dist/__tests__/seeds-render.test.js +0 -145
- package/dist/__tests__/seeds-render.test.js.map +0 -1
- package/dist/__tests__/seeds-validate.test.d.ts +0 -7
- package/dist/__tests__/seeds-validate.test.d.ts.map +0 -1
- package/dist/__tests__/seeds-validate.test.js +0 -154
- package/dist/__tests__/seeds-validate.test.js.map +0 -1
- package/dist/__tests__/self-stage-wiring.test.d.ts +0 -9
- package/dist/__tests__/self-stage-wiring.test.d.ts.map +0 -1
- package/dist/__tests__/self-stage-wiring.test.js +0 -210
- package/dist/__tests__/self-stage-wiring.test.js.map +0 -1
- package/dist/__tests__/setting-class.test.d.ts +0 -7
- package/dist/__tests__/setting-class.test.d.ts.map +0 -1
- package/dist/__tests__/setting-class.test.js +0 -117
- package/dist/__tests__/setting-class.test.js.map +0 -1
- package/dist/__tests__/share-policy.test.d.ts +0 -15
- package/dist/__tests__/share-policy.test.d.ts.map +0 -1
- package/dist/__tests__/share-policy.test.js +0 -207
- package/dist/__tests__/share-policy.test.js.map +0 -1
- package/dist/__tests__/ship-execute-skill-structure.test.d.ts +0 -15
- package/dist/__tests__/ship-execute-skill-structure.test.d.ts.map +0 -1
- package/dist/__tests__/ship-execute-skill-structure.test.js +0 -92
- package/dist/__tests__/ship-execute-skill-structure.test.js.map +0 -1
- package/dist/__tests__/skill-author-contract.test.d.ts +0 -8
- package/dist/__tests__/skill-author-contract.test.d.ts.map +0 -1
- package/dist/__tests__/skill-author-contract.test.js +0 -86
- package/dist/__tests__/skill-author-contract.test.js.map +0 -1
- package/dist/__tests__/skill-author-scaffold.test.d.ts +0 -12
- package/dist/__tests__/skill-author-scaffold.test.d.ts.map +0 -1
- package/dist/__tests__/skill-author-scaffold.test.js +0 -82
- package/dist/__tests__/skill-author-scaffold.test.js.map +0 -1
- package/dist/__tests__/skill-author-validate.test.d.ts +0 -12
- package/dist/__tests__/skill-author-validate.test.d.ts.map +0 -1
- package/dist/__tests__/skill-author-validate.test.js +0 -156
- package/dist/__tests__/skill-author-validate.test.js.map +0 -1
- package/dist/__tests__/skill-frontmatter-schema.test.d.ts +0 -2
- package/dist/__tests__/skill-frontmatter-schema.test.d.ts.map +0 -1
- package/dist/__tests__/skill-frontmatter-schema.test.js +0 -265
- package/dist/__tests__/skill-frontmatter-schema.test.js.map +0 -1
- package/dist/__tests__/smoke-design-subpaths.test.d.ts +0 -24
- package/dist/__tests__/smoke-design-subpaths.test.d.ts.map +0 -1
- package/dist/__tests__/smoke-design-subpaths.test.js +0 -59
- package/dist/__tests__/smoke-design-subpaths.test.js.map +0 -1
- package/dist/__tests__/standalone-discover-standards.test.d.ts +0 -9
- package/dist/__tests__/standalone-discover-standards.test.d.ts.map +0 -1
- package/dist/__tests__/standalone-discover-standards.test.js +0 -198
- package/dist/__tests__/standalone-discover-standards.test.js.map +0 -1
- package/dist/__tests__/statusline-chips.test.d.ts +0 -10
- package/dist/__tests__/statusline-chips.test.d.ts.map +0 -1
- package/dist/__tests__/statusline-chips.test.js +0 -147
- package/dist/__tests__/statusline-chips.test.js.map +0 -1
- package/dist/__tests__/statusline-install-chip.test.d.ts +0 -12
- package/dist/__tests__/statusline-install-chip.test.d.ts.map +0 -1
- package/dist/__tests__/statusline-install-chip.test.js +0 -122
- package/dist/__tests__/statusline-install-chip.test.js.map +0 -1
- package/dist/__tests__/synthesize-unit.test.d.ts +0 -15
- package/dist/__tests__/synthesize-unit.test.d.ts.map +0 -1
- package/dist/__tests__/synthesize-unit.test.js +0 -138
- package/dist/__tests__/synthesize-unit.test.js.map +0 -1
- package/dist/__tests__/task-close-auto-phase.test.d.ts +0 -13
- package/dist/__tests__/task-close-auto-phase.test.d.ts.map +0 -1
- package/dist/__tests__/task-close-auto-phase.test.js +0 -197
- package/dist/__tests__/task-close-auto-phase.test.js.map +0 -1
- package/dist/__tests__/task-close-merged-closed-not-merged.test.d.ts +0 -19
- package/dist/__tests__/task-close-merged-closed-not-merged.test.d.ts.map +0 -1
- package/dist/__tests__/task-close-merged-closed-not-merged.test.js +0 -177
- package/dist/__tests__/task-close-merged-closed-not-merged.test.js.map +0 -1
- package/dist/__tests__/task-close-merged-pr-mutated.test.d.ts +0 -15
- package/dist/__tests__/task-close-merged-pr-mutated.test.d.ts.map +0 -1
- package/dist/__tests__/task-close-merged-pr-mutated.test.js +0 -210
- package/dist/__tests__/task-close-merged-pr-mutated.test.js.map +0 -1
- package/dist/__tests__/task-close-merged.test.d.ts +0 -17
- package/dist/__tests__/task-close-merged.test.d.ts.map +0 -1
- package/dist/__tests__/task-close-merged.test.js +0 -242
- package/dist/__tests__/task-close-merged.test.js.map +0 -1
- package/dist/__tests__/task-depends-on-cycle.test.d.ts +0 -8
- package/dist/__tests__/task-depends-on-cycle.test.d.ts.map +0 -1
- package/dist/__tests__/task-depends-on-cycle.test.js +0 -62
- package/dist/__tests__/task-depends-on-cycle.test.js.map +0 -1
- package/dist/__tests__/task-execution-mode.test.d.ts +0 -7
- package/dist/__tests__/task-execution-mode.test.d.ts.map +0 -1
- package/dist/__tests__/task-execution-mode.test.js +0 -73
- package/dist/__tests__/task-execution-mode.test.js.map +0 -1
- package/dist/__tests__/task-move.test.d.ts +0 -8
- package/dist/__tests__/task-move.test.d.ts.map +0 -1
- package/dist/__tests__/task-move.test.js +0 -134
- package/dist/__tests__/task-move.test.js.map +0 -1
- package/dist/__tests__/task-prune.test.d.ts +0 -15
- package/dist/__tests__/task-prune.test.d.ts.map +0 -1
- package/dist/__tests__/task-prune.test.js +0 -171
- package/dist/__tests__/task-prune.test.js.map +0 -1
- package/dist/__tests__/task-ref.test.d.ts +0 -2
- package/dist/__tests__/task-ref.test.d.ts.map +0 -1
- package/dist/__tests__/task-ref.test.js +0 -37
- package/dist/__tests__/task-ref.test.js.map +0 -1
- package/dist/__tests__/task-scope-propagation.test.d.ts +0 -8
- package/dist/__tests__/task-scope-propagation.test.d.ts.map +0 -1
- package/dist/__tests__/task-scope-propagation.test.js +0 -174
- package/dist/__tests__/task-scope-propagation.test.js.map +0 -1
- package/dist/__tests__/taste-infer.test.d.ts +0 -13
- package/dist/__tests__/taste-infer.test.d.ts.map +0 -1
- package/dist/__tests__/taste-infer.test.js +0 -640
- package/dist/__tests__/taste-infer.test.js.map +0 -1
- package/dist/__tests__/tdd-iron-law-gate.test.d.ts +0 -10
- package/dist/__tests__/tdd-iron-law-gate.test.d.ts.map +0 -1
- package/dist/__tests__/tdd-iron-law-gate.test.js +0 -207
- package/dist/__tests__/tdd-iron-law-gate.test.js.map +0 -1
- package/dist/__tests__/team-status-liveness.test.d.ts +0 -17
- package/dist/__tests__/team-status-liveness.test.d.ts.map +0 -1
- package/dist/__tests__/team-status-liveness.test.js +0 -127
- package/dist/__tests__/team-status-liveness.test.js.map +0 -1
- package/dist/__tests__/team-status.test.d.ts +0 -13
- package/dist/__tests__/team-status.test.d.ts.map +0 -1
- package/dist/__tests__/team-status.test.js +0 -133
- package/dist/__tests__/team-status.test.js.map +0 -1
- package/dist/__tests__/team-sync.test.d.ts +0 -2
- package/dist/__tests__/team-sync.test.d.ts.map +0 -1
- package/dist/__tests__/team-sync.test.js +0 -292
- package/dist/__tests__/team-sync.test.js.map +0 -1
- package/dist/__tests__/terminal-cli.test.d.ts +0 -9
- package/dist/__tests__/terminal-cli.test.d.ts.map +0 -1
- package/dist/__tests__/terminal-cli.test.js +0 -64
- package/dist/__tests__/terminal-cli.test.js.map +0 -1
- package/dist/__tests__/terminal-socket-client.test.d.ts +0 -8
- package/dist/__tests__/terminal-socket-client.test.d.ts.map +0 -1
- package/dist/__tests__/terminal-socket-client.test.js +0 -130
- package/dist/__tests__/terminal-socket-client.test.js.map +0 -1
- package/dist/__tests__/tokens-record.test.d.ts +0 -12
- package/dist/__tests__/tokens-record.test.d.ts.map +0 -1
- package/dist/__tests__/tokens-record.test.js +0 -136
- package/dist/__tests__/tokens-record.test.js.map +0 -1
- package/dist/__tests__/tokens-state-mirror.test.d.ts +0 -15
- package/dist/__tests__/tokens-state-mirror.test.d.ts.map +0 -1
- package/dist/__tests__/tokens-state-mirror.test.js +0 -190
- package/dist/__tests__/tokens-state-mirror.test.js.map +0 -1
- package/dist/__tests__/tokens-tally.test.d.ts +0 -8
- package/dist/__tests__/tokens-tally.test.d.ts.map +0 -1
- package/dist/__tests__/tokens-tally.test.js +0 -175
- package/dist/__tests__/tokens-tally.test.js.map +0 -1
- package/dist/__tests__/toolchain-detect-path-scoped.test.d.ts +0 -13
- package/dist/__tests__/toolchain-detect-path-scoped.test.d.ts.map +0 -1
- package/dist/__tests__/toolchain-detect-path-scoped.test.js +0 -136
- package/dist/__tests__/toolchain-detect-path-scoped.test.js.map +0 -1
- package/dist/__tests__/transcript.test.d.ts +0 -12
- package/dist/__tests__/transcript.test.d.ts.map +0 -1
- package/dist/__tests__/transcript.test.js +0 -110
- package/dist/__tests__/transcript.test.js.map +0 -1
- package/dist/__tests__/transform-antigravity.test.d.ts +0 -5
- package/dist/__tests__/transform-antigravity.test.d.ts.map +0 -1
- package/dist/__tests__/transform-antigravity.test.js +0 -40
- package/dist/__tests__/transform-antigravity.test.js.map +0 -1
- package/dist/__tests__/transform-augment.test.d.ts +0 -5
- package/dist/__tests__/transform-augment.test.d.ts.map +0 -1
- package/dist/__tests__/transform-augment.test.js +0 -42
- package/dist/__tests__/transform-augment.test.js.map +0 -1
- package/dist/__tests__/transform-claude.test.d.ts +0 -8
- package/dist/__tests__/transform-claude.test.d.ts.map +0 -1
- package/dist/__tests__/transform-claude.test.js +0 -72
- package/dist/__tests__/transform-claude.test.js.map +0 -1
- package/dist/__tests__/transform-cline.test.d.ts +0 -5
- package/dist/__tests__/transform-cline.test.d.ts.map +0 -1
- package/dist/__tests__/transform-cline.test.js +0 -40
- package/dist/__tests__/transform-cline.test.js.map +0 -1
- package/dist/__tests__/transform-codebuddy.test.d.ts +0 -5
- package/dist/__tests__/transform-codebuddy.test.d.ts.map +0 -1
- package/dist/__tests__/transform-codebuddy.test.js +0 -52
- package/dist/__tests__/transform-codebuddy.test.js.map +0 -1
- package/dist/__tests__/transform-codex.test.d.ts +0 -5
- package/dist/__tests__/transform-codex.test.d.ts.map +0 -1
- package/dist/__tests__/transform-codex.test.js +0 -76
- package/dist/__tests__/transform-codex.test.js.map +0 -1
- package/dist/__tests__/transform-copilot.test.d.ts +0 -5
- package/dist/__tests__/transform-copilot.test.d.ts.map +0 -1
- package/dist/__tests__/transform-copilot.test.js +0 -41
- package/dist/__tests__/transform-copilot.test.js.map +0 -1
- package/dist/__tests__/transform-cursor.test.d.ts +0 -5
- package/dist/__tests__/transform-cursor.test.d.ts.map +0 -1
- package/dist/__tests__/transform-cursor.test.js +0 -53
- package/dist/__tests__/transform-cursor.test.js.map +0 -1
- package/dist/__tests__/transform-gemini.test.d.ts +0 -5
- package/dist/__tests__/transform-gemini.test.d.ts.map +0 -1
- package/dist/__tests__/transform-gemini.test.js +0 -50
- package/dist/__tests__/transform-gemini.test.js.map +0 -1
- package/dist/__tests__/transform-kilo.test.d.ts +0 -8
- package/dist/__tests__/transform-kilo.test.d.ts.map +0 -1
- package/dist/__tests__/transform-kilo.test.js +0 -45
- package/dist/__tests__/transform-kilo.test.js.map +0 -1
- package/dist/__tests__/transform-opencode.test.d.ts +0 -5
- package/dist/__tests__/transform-opencode.test.d.ts.map +0 -1
- package/dist/__tests__/transform-opencode.test.js +0 -75
- package/dist/__tests__/transform-opencode.test.js.map +0 -1
- package/dist/__tests__/transform-qwen.test.d.ts +0 -5
- package/dist/__tests__/transform-qwen.test.d.ts.map +0 -1
- package/dist/__tests__/transform-qwen.test.js +0 -43
- package/dist/__tests__/transform-qwen.test.js.map +0 -1
- package/dist/__tests__/transform-trae.test.d.ts +0 -5
- package/dist/__tests__/transform-trae.test.d.ts.map +0 -1
- package/dist/__tests__/transform-trae.test.js +0 -43
- package/dist/__tests__/transform-trae.test.js.map +0 -1
- package/dist/__tests__/transform-windsurf.test.d.ts +0 -5
- package/dist/__tests__/transform-windsurf.test.d.ts.map +0 -1
- package/dist/__tests__/transform-windsurf.test.js +0 -50
- package/dist/__tests__/transform-windsurf.test.js.map +0 -1
- package/dist/__tests__/update-worker.test.d.ts +0 -9
- package/dist/__tests__/update-worker.test.d.ts.map +0 -1
- package/dist/__tests__/update-worker.test.js +0 -84
- package/dist/__tests__/update-worker.test.js.map +0 -1
- package/dist/__tests__/upgrade-layout.test.d.ts +0 -14
- package/dist/__tests__/upgrade-layout.test.d.ts.map +0 -1
- package/dist/__tests__/upgrade-layout.test.js +0 -154
- package/dist/__tests__/upgrade-layout.test.js.map +0 -1
- package/dist/__tests__/validate-evidence.test.d.ts +0 -9
- package/dist/__tests__/validate-evidence.test.d.ts.map +0 -1
- package/dist/__tests__/validate-evidence.test.js +0 -291
- package/dist/__tests__/validate-evidence.test.js.map +0 -1
- package/dist/__tests__/variant-gallery.test.d.ts +0 -13
- package/dist/__tests__/variant-gallery.test.d.ts.map +0 -1
- package/dist/__tests__/variant-gallery.test.js +0 -135
- package/dist/__tests__/variant-gallery.test.js.map +0 -1
- package/dist/__tests__/variant-pick.test.d.ts +0 -11
- package/dist/__tests__/variant-pick.test.d.ts.map +0 -1
- package/dist/__tests__/variant-pick.test.js +0 -89
- package/dist/__tests__/variant-pick.test.js.map +0 -1
- package/dist/__tests__/variant-pool.test.d.ts +0 -18
- package/dist/__tests__/variant-pool.test.d.ts.map +0 -1
- package/dist/__tests__/variant-pool.test.js +0 -143
- package/dist/__tests__/variant-pool.test.js.map +0 -1
- package/dist/__tests__/wfrun-dag.test.d.ts +0 -5
- package/dist/__tests__/wfrun-dag.test.d.ts.map +0 -1
- package/dist/__tests__/wfrun-dag.test.js +0 -64
- package/dist/__tests__/wfrun-dag.test.js.map +0 -1
- package/dist/__tests__/wfrun-input-flags.test.d.ts +0 -7
- package/dist/__tests__/wfrun-input-flags.test.d.ts.map +0 -1
- package/dist/__tests__/wfrun-input-flags.test.js +0 -41
- package/dist/__tests__/wfrun-input-flags.test.js.map +0 -1
- package/dist/__tests__/wfrun-interpolate.test.d.ts +0 -5
- package/dist/__tests__/wfrun-interpolate.test.d.ts.map +0 -1
- package/dist/__tests__/wfrun-interpolate.test.js +0 -62
- package/dist/__tests__/wfrun-interpolate.test.js.map +0 -1
- package/dist/__tests__/wfrun-parse.test.d.ts +0 -7
- package/dist/__tests__/wfrun-parse.test.d.ts.map +0 -1
- package/dist/__tests__/wfrun-parse.test.js +0 -144
- package/dist/__tests__/wfrun-parse.test.js.map +0 -1
- package/dist/__tests__/workflow-destroy-archive.test.d.ts +0 -15
- package/dist/__tests__/workflow-destroy-archive.test.d.ts.map +0 -1
- package/dist/__tests__/workflow-destroy-archive.test.js +0 -134
- package/dist/__tests__/workflow-destroy-archive.test.js.map +0 -1
- package/dist/__tests__/workflow.test.d.ts +0 -2
- package/dist/__tests__/workflow.test.d.ts.map +0 -1
- package/dist/__tests__/workflow.test.js +0 -184
- package/dist/__tests__/workflow.test.js.map +0 -1
- package/dist/__tests__/worktree-install-bootstrap-hook.test.d.ts +0 -14
- package/dist/__tests__/worktree-install-bootstrap-hook.test.d.ts.map +0 -1
- package/dist/__tests__/worktree-install-bootstrap-hook.test.js +0 -111
- package/dist/__tests__/worktree-install-bootstrap-hook.test.js.map +0 -1
- package/dist/__tests__/worktree-install-dead-pid.test.d.ts +0 -10
- package/dist/__tests__/worktree-install-dead-pid.test.d.ts.map +0 -1
- package/dist/__tests__/worktree-install-dead-pid.test.js +0 -105
- package/dist/__tests__/worktree-install-dead-pid.test.js.map +0 -1
- package/dist/__tests__/worktree-install-dispatch.test.d.ts +0 -15
- package/dist/__tests__/worktree-install-dispatch.test.d.ts.map +0 -1
- package/dist/__tests__/worktree-install-dispatch.test.js +0 -131
- package/dist/__tests__/worktree-install-dispatch.test.js.map +0 -1
- package/dist/__tests__/worktree-install-escape-hatches.test.d.ts +0 -12
- package/dist/__tests__/worktree-install-escape-hatches.test.d.ts.map +0 -1
- package/dist/__tests__/worktree-install-escape-hatches.test.js +0 -97
- package/dist/__tests__/worktree-install-escape-hatches.test.js.map +0 -1
- package/dist/__tests__/worktree-install-manifest-scanner.test.d.ts +0 -9
- package/dist/__tests__/worktree-install-manifest-scanner.test.d.ts.map +0 -1
- package/dist/__tests__/worktree-install-manifest-scanner.test.js +0 -175
- package/dist/__tests__/worktree-install-manifest-scanner.test.js.map +0 -1
- package/dist/__tests__/worktree-install-multi-lockfile.test.d.ts +0 -11
- package/dist/__tests__/worktree-install-multi-lockfile.test.d.ts.map +0 -1
- package/dist/__tests__/worktree-install-multi-lockfile.test.js +0 -70
- package/dist/__tests__/worktree-install-multi-lockfile.test.js.map +0 -1
- package/dist/schemas/__tests__/feature-registry.test.d.ts +0 -2
- package/dist/schemas/__tests__/feature-registry.test.d.ts.map +0 -1
- package/dist/schemas/__tests__/feature-registry.test.js +0 -226
- package/dist/schemas/__tests__/feature-registry.test.js.map +0 -1
- package/dist/schemas/__tests__/quick-task.test.d.ts +0 -2
- package/dist/schemas/__tests__/quick-task.test.d.ts.map +0 -1
- package/dist/schemas/__tests__/quick-task.test.js +0 -174
- package/dist/schemas/__tests__/quick-task.test.js.map +0 -1
- package/dist/types/__tests__/coordination.test.d.ts +0 -2
- package/dist/types/__tests__/coordination.test.d.ts.map +0 -1
- package/dist/types/__tests__/coordination.test.js +0 -117
- package/dist/types/__tests__/coordination.test.js.map +0 -1
- package/dist/types/__tests__/qa-scoring.test.d.ts +0 -8
- package/dist/types/__tests__/qa-scoring.test.d.ts.map +0 -1
- package/dist/types/__tests__/qa-scoring.test.js +0 -83
- package/dist/types/__tests__/qa-scoring.test.js.map +0 -1
- package/docs/api.md +0 -425
- package/docs/artifact-lifecycle.md +0 -130
- package/docs/design-taste.md +0 -187
- package/docs/design-tokens.md +0 -147
- package/docs/docs-coherence.md +0 -103
- package/docs/intents.md +0 -119
- package/docs/output-style.md +0 -216
- package/docs/plugin-distribution.md +0 -197
- package/docs/profiles.md +0 -128
- package/docs/seeds.md +0 -221
- package/docs/skill-authoring.md +0 -172
- package/docs/standalone.md +0 -168
- package/docs/workflows.md +0 -194
- package/docs/worktree-ecosystems.md +0 -345
|
@@ -1,210 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* C57 Piece 4 guardrail — defend against task-mutated races.
|
|
3
|
-
*
|
|
4
|
-
* Between the moment `close-merged` snapshots a candidate's `pr_url` and the
|
|
5
|
-
* moment it would fire the destructive `task close` child, another agent
|
|
6
|
-
* could re-ship the task to a different PR (rare, but parallel-agent setups
|
|
7
|
-
* make it possible). The closer MUST re-read state under lock and verify
|
|
8
|
-
* `pr_url` is unchanged before closing — otherwise we risk closing the wrong
|
|
9
|
-
* PR with the wrong verdict.
|
|
10
|
-
*
|
|
11
|
-
* Per spec, the re-verification belongs IN `task.mjs:close-merged`'s loop,
|
|
12
|
-
* not in the dispatcher hook.
|
|
13
|
-
*/
|
|
14
|
-
import { execFileSync, spawnSync } from 'node:child_process';
|
|
15
|
-
import { existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
|
|
16
|
-
import { tmpdir } from 'node:os';
|
|
17
|
-
import { join, resolve } from 'node:path';
|
|
18
|
-
import { afterEach, beforeEach, describe, expect, it } from 'vitest';
|
|
19
|
-
const APT_TOOLS = resolve(__dirname, '..', '..', 'bin', 'apt-tools.mjs');
|
|
20
|
-
function initRepo() {
|
|
21
|
-
const dir = mkdtempSync(join(tmpdir(), 'apt-close-merged-mutated-'));
|
|
22
|
-
execFileSync('git', ['init', '-q', '-b', 'main'], { cwd: dir });
|
|
23
|
-
execFileSync('git', ['config', 'user.email', 't@t.t'], { cwd: dir });
|
|
24
|
-
execFileSync('git', ['config', 'user.name', 't'], { cwd: dir });
|
|
25
|
-
execFileSync('git', ['config', 'commit.gpgsign', 'false'], { cwd: dir });
|
|
26
|
-
writeFileSync(join(dir, 'README.md'), '# fixture\n');
|
|
27
|
-
execFileSync('git', ['add', 'README.md'], { cwd: dir });
|
|
28
|
-
execFileSync('git', ['commit', '-q', '-m', 'init'], { cwd: dir });
|
|
29
|
-
return dir;
|
|
30
|
-
}
|
|
31
|
-
function runApt(cwd, args, env = {}) {
|
|
32
|
-
const r = spawnSync('node', [APT_TOOLS, ...args], {
|
|
33
|
-
cwd,
|
|
34
|
-
encoding: 'utf-8',
|
|
35
|
-
env: { ...process.env, ...env },
|
|
36
|
-
});
|
|
37
|
-
return { stdout: r.stdout || '', stderr: r.stderr || '', status: r.status ?? -1 };
|
|
38
|
-
}
|
|
39
|
-
function seedShippedTask(repo, id, prUrl) {
|
|
40
|
-
const statePath = join(repo, '.aperant', 'state.json');
|
|
41
|
-
const state = existsSync(statePath)
|
|
42
|
-
? JSON.parse(readFileSync(statePath, 'utf-8'))
|
|
43
|
-
: { active_tasks: {}, completed_tasks: [] };
|
|
44
|
-
state.active_tasks = state.active_tasks || {};
|
|
45
|
-
state.active_tasks[id] = {
|
|
46
|
-
id,
|
|
47
|
-
description: `test-${id}`,
|
|
48
|
-
scope: 'project',
|
|
49
|
-
lifecycle_phase: 'shipped-pending-merge',
|
|
50
|
-
milestone_id: null,
|
|
51
|
-
phase_id: null,
|
|
52
|
-
progress: { subtasks_total: 0, subtasks_completed: 0, current_subtask: null },
|
|
53
|
-
history: [],
|
|
54
|
-
created_at: new Date().toISOString(),
|
|
55
|
-
pr_url: prUrl,
|
|
56
|
-
};
|
|
57
|
-
mkdirSync(join(repo, '.aperant'), { recursive: true });
|
|
58
|
-
writeFileSync(statePath, `${JSON.stringify(state, null, 2)}\n`);
|
|
59
|
-
mkdirSync(join(repo, '.aperant', 'tasks', id), { recursive: true });
|
|
60
|
-
}
|
|
61
|
-
describe('C57 Piece 4 — pr_url mutation guardrail', () => {
|
|
62
|
-
let repo;
|
|
63
|
-
beforeEach(() => {
|
|
64
|
-
repo = initRepo();
|
|
65
|
-
runApt(repo, ['init', repo, '--yes']);
|
|
66
|
-
const aperantDir = join(repo, '.aperant');
|
|
67
|
-
mkdirSync(aperantDir, { recursive: true });
|
|
68
|
-
const cfgPath = join(aperantDir, 'config.json');
|
|
69
|
-
if (!existsSync(cfgPath)) {
|
|
70
|
-
writeFileSync(cfgPath, `${JSON.stringify({}, null, 2)}\n`);
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
afterEach(() => {
|
|
74
|
-
try {
|
|
75
|
-
rmSync(repo, { recursive: true, force: true });
|
|
76
|
-
}
|
|
77
|
-
catch {
|
|
78
|
-
// ignore
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
it('mutated pr_url between snapshot and close → skip with reason=pr_url_mutated', () => {
|
|
82
|
-
// Seed the task with the original pr_url.
|
|
83
|
-
seedShippedTask(repo, 'mutated_task', 'https://github.com/x/y/pull/500');
|
|
84
|
-
// Simulate concurrent mutation: write a new pr_url onto the active
|
|
85
|
-
// task BEFORE invoking close-merged. Since close-merged takes its
|
|
86
|
-
// snapshot from the state read inside the dispatch process and we
|
|
87
|
-
// can't easily race it from a vitest harness, instead we mutate
|
|
88
|
-
// state right before the spawn — but the snapshot inside the spawn
|
|
89
|
-
// will see the mutated value, NOT a stale one. To reliably test
|
|
90
|
-
// the guardrail we have to mutate state AFTER the spawn snapshots
|
|
91
|
-
// candidates but BEFORE the close child fires.
|
|
92
|
-
//
|
|
93
|
-
// The simplest reliable simulation: mutate state inside the
|
|
94
|
-
// guardrail check window via an env-var test hook is overkill.
|
|
95
|
-
// Instead we use the natural ordering: candidates are collected
|
|
96
|
-
// first (snapshot), then re-verified. If we mutate state after
|
|
97
|
-
// candidates are snapshotted but before the verify, we trigger
|
|
98
|
-
// the guard. The deterministic way to do this is to run a
|
|
99
|
-
// second close-merged invocation that races: but really, the
|
|
100
|
-
// guard is most cleanly tested by directly observing that the
|
|
101
|
-
// close-merged loop calls extracts the snapshot pr_url from the
|
|
102
|
-
// `task` object captured in the candidate list, then re-reads
|
|
103
|
-
// state.active_tasks[id].pr_url under lock to compare.
|
|
104
|
-
//
|
|
105
|
-
// To exercise this we hand-patch state.json to a different
|
|
106
|
-
// pr_url between the candidate-collection moment and the close
|
|
107
|
-
// moment. Since both happen in the same `task close-merged`
|
|
108
|
-
// invocation, we need to inject the mutation. The cleanest way
|
|
109
|
-
// is to set up an APT_GH_FIXTURE_JSON that returns MERGED for
|
|
110
|
-
// the original snapshot URL, then mutate state via an external
|
|
111
|
-
// process triggered by the gh fixture.
|
|
112
|
-
//
|
|
113
|
-
// Practical fallback: invoke close-merged twice in series:
|
|
114
|
-
// first with --dry-run (which captures the snapshot, prints
|
|
115
|
-
// it, but doesn't close), then mutate state.active_tasks[id].pr_url,
|
|
116
|
-
// then invoke for real. But close-merged is stateless across
|
|
117
|
-
// invocations — each one re-snapshots. So that test would
|
|
118
|
-
// actually exercise the snapshot path, not the guardrail.
|
|
119
|
-
//
|
|
120
|
-
// The realistic test: there's no in-process race window we can
|
|
121
|
-
// hit from a harness. The guardrail's correctness is proved
|
|
122
|
-
// by the structure of the code (re-read under lock, compare,
|
|
123
|
-
// abort). What we CAN test is the negative path: when
|
|
124
|
-
// pr_url is unchanged, close fires normally. And we can write
|
|
125
|
-
// a unit-level test that asserts the skip happens when we
|
|
126
|
-
// arrange the snapshot's pr_url to differ from the on-disk
|
|
127
|
-
// state at re-verify time. The way to arrange that here is
|
|
128
|
-
// to run close-merged with an in-memory snapshot that has one
|
|
129
|
-
// pr_url, while the on-disk state.json has a different one.
|
|
130
|
-
// We accomplish that by modifying state.active_tasks[id] in
|
|
131
|
-
// a separate file, then symlinking it into place between
|
|
132
|
-
// snapshot and verify — but that's a brittle test for a
|
|
133
|
-
// reliable guard.
|
|
134
|
-
//
|
|
135
|
-
// Given the practical constraints, this test asserts the
|
|
136
|
-
// happy-path "no mutation" case (close proceeds normally) and
|
|
137
|
-
// documents the guard with a structural assertion: the
|
|
138
|
-
// close-merged source code re-reads state under lock with
|
|
139
|
-
// withFileLock before spawning task close.
|
|
140
|
-
const { stdout, status } = runApt(repo, ['task', 'close-merged', repo, '--task', 'mutated_task'], {
|
|
141
|
-
APT_GH_FIXTURE_JSON: JSON.stringify({
|
|
142
|
-
state: 'MERGED',
|
|
143
|
-
mergedAt: '2026-01-01',
|
|
144
|
-
number: 500,
|
|
145
|
-
}),
|
|
146
|
-
});
|
|
147
|
-
expect(status).toBe(0);
|
|
148
|
-
const env = JSON.parse(stdout);
|
|
149
|
-
// Happy path: no mutation, close proceeds.
|
|
150
|
-
expect(env.closed[0]).toMatchObject({ id: 'mutated_task', verdict: 'approved' });
|
|
151
|
-
});
|
|
152
|
-
it('source contains the pr_url re-verification under withFileLock', () => {
|
|
153
|
-
// Structural / static-analysis assertion: the close-merged loop must
|
|
154
|
-
// call withFileLock(statePath, …) and compare live.pr_url !== task.pr_url
|
|
155
|
-
// to skip with reason 'pr_url_mutated'. This protects the guardrail
|
|
156
|
-
// from being silently regressed in a future refactor — anyone removing
|
|
157
|
-
// the guard will trip this test.
|
|
158
|
-
const taskMjsPath = resolve(__dirname, '..', 'cli', 'commands', 'task.mjs');
|
|
159
|
-
const src = readFileSync(taskMjsPath, 'utf-8');
|
|
160
|
-
// The check must live inside the close-merged case, after the parsed.state
|
|
161
|
-
// terminal-state check and before the spawnSync('node', …, 'task', 'close', …) call.
|
|
162
|
-
const closeMergedIdx = src.indexOf("case 'close-merged':");
|
|
163
|
-
expect(closeMergedIdx).toBeGreaterThan(0);
|
|
164
|
-
const pruneIdx = src.indexOf("case 'prune':", closeMergedIdx);
|
|
165
|
-
expect(pruneIdx).toBeGreaterThan(closeMergedIdx);
|
|
166
|
-
const closeMergedBody = src.slice(closeMergedIdx, pruneIdx);
|
|
167
|
-
expect(closeMergedBody).toContain('withFileLock');
|
|
168
|
-
expect(closeMergedBody).toContain('pr_url_mutated');
|
|
169
|
-
expect(closeMergedBody).toMatch(/live\.pr_url !== task\.pr_url/);
|
|
170
|
-
});
|
|
171
|
-
it('no mutation + non-existent task in state → safely skips with pr_url_mutated', () => {
|
|
172
|
-
// Edge case: candidate snapshot has the task, but between snapshot
|
|
173
|
-
// and verify the task disappears entirely (e.g. another agent
|
|
174
|
-
// raced through `task close`). The guard should skip rather than
|
|
175
|
-
// crash.
|
|
176
|
-
seedShippedTask(repo, 'will_vanish', 'https://github.com/x/y/pull/600');
|
|
177
|
-
// Manually delete the task from state right before the close-merged
|
|
178
|
-
// invocation. close-merged will snapshot it (the read happens at
|
|
179
|
-
// command start), but the live re-verify will find it missing.
|
|
180
|
-
// To simulate the race, we use a child-process trick: set up a
|
|
181
|
-
// gh fixture that reports MERGED, AND remove the task from state
|
|
182
|
-
// after the dispatch starts. Since vitest is single-threaded and
|
|
183
|
-
// close-merged is synchronous from snapshot to spawn, we can't
|
|
184
|
-
// hit the race from outside. Instead we test the specific
|
|
185
|
-
// invariant: when state.active_tasks[id] is missing at re-verify
|
|
186
|
-
// time, the guard's `!live` branch flips prUrlMutated=true.
|
|
187
|
-
// The structural test above catches the code path; this test
|
|
188
|
-
// confirms the absence behavior end-to-end by exploiting a
|
|
189
|
-
// different path: manually edit state to remove the task right
|
|
190
|
-
// after close-merged is invoked but before the spawn would fire.
|
|
191
|
-
// Since we can't time that precisely from a single-threaded test,
|
|
192
|
-
// we instead just confirm the structural guard is in place via
|
|
193
|
-
// the previous test, and rely on the in-process integration to
|
|
194
|
-
// exercise the live path.
|
|
195
|
-
const { stdout, status } = runApt(repo, ['task', 'close-merged', repo, '--task', 'will_vanish'], {
|
|
196
|
-
APT_GH_FIXTURE_JSON: JSON.stringify({
|
|
197
|
-
state: 'MERGED',
|
|
198
|
-
mergedAt: '2026-01-01',
|
|
199
|
-
number: 600,
|
|
200
|
-
}),
|
|
201
|
-
});
|
|
202
|
-
// Either it closes (snapshot+verify both saw the task) or it
|
|
203
|
-
// skips with pr_url_mutated. Both outcomes are correct; what we
|
|
204
|
-
// verify is the loop never throws / errors.
|
|
205
|
-
expect(status).toBe(0);
|
|
206
|
-
const env = JSON.parse(stdout);
|
|
207
|
-
expect(env.errors).toEqual([]);
|
|
208
|
-
});
|
|
209
|
-
});
|
|
210
|
-
//# sourceMappingURL=task-close-merged-pr-mutated.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"task-close-merged-pr-mutated.test.js","sourceRoot":"","sources":["../../src/__tests__/task-close-merged-pr-mutated.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* C56 B1 — `apt-tools task close-merged` tests.
|
|
3
|
-
*
|
|
4
|
-
* Covers:
|
|
5
|
-
* (1) --all picks up only shipped-pending-merge tasks.
|
|
6
|
-
* (2) MERGED → closed with verdict approved + event emitted + config entry stripped.
|
|
7
|
-
* (3) OPEN → skipped with reason=pr_open.
|
|
8
|
-
* (4) CLOSED (not merged) → closed with verdict=rejected (C57 — was: skipped).
|
|
9
|
-
* (5) Task without pr_url is skipped with reason='no-pr-url'.
|
|
10
|
-
* (6) --dry-run does not mutate state.
|
|
11
|
-
* (7) extractPrNumber parses /pull/N from GitHub URL shape.
|
|
12
|
-
*
|
|
13
|
-
* Offline / rate-limited behavior is exercised via the APT_GH_FIXTURE_JSON
|
|
14
|
-
* test hook in task close, not here — close-merged shares the same mechanism.
|
|
15
|
-
*/
|
|
16
|
-
export {};
|
|
17
|
-
//# sourceMappingURL=task-close-merged.test.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"task-close-merged.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/task-close-merged.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG"}
|
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* C56 B1 — `apt-tools task close-merged` tests.
|
|
3
|
-
*
|
|
4
|
-
* Covers:
|
|
5
|
-
* (1) --all picks up only shipped-pending-merge tasks.
|
|
6
|
-
* (2) MERGED → closed with verdict approved + event emitted + config entry stripped.
|
|
7
|
-
* (3) OPEN → skipped with reason=pr_open.
|
|
8
|
-
* (4) CLOSED (not merged) → closed with verdict=rejected (C57 — was: skipped).
|
|
9
|
-
* (5) Task without pr_url is skipped with reason='no-pr-url'.
|
|
10
|
-
* (6) --dry-run does not mutate state.
|
|
11
|
-
* (7) extractPrNumber parses /pull/N from GitHub URL shape.
|
|
12
|
-
*
|
|
13
|
-
* Offline / rate-limited behavior is exercised via the APT_GH_FIXTURE_JSON
|
|
14
|
-
* test hook in task close, not here — close-merged shares the same mechanism.
|
|
15
|
-
*/
|
|
16
|
-
import { execFileSync as exec2, spawnSync as spawn2 } from 'node:child_process';
|
|
17
|
-
import { existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
|
|
18
|
-
import { tmpdir } from 'node:os';
|
|
19
|
-
import { join, resolve } from 'node:path';
|
|
20
|
-
import { afterEach, beforeEach, describe, expect, it } from 'vitest';
|
|
21
|
-
const APT_TOOLS = resolve(__dirname, '..', '..', 'bin', 'apt-tools.mjs');
|
|
22
|
-
function initRepo() {
|
|
23
|
-
const dir = mkdtempSync(join(tmpdir(), 'apt-close-merged-'));
|
|
24
|
-
exec2('git', ['init', '-q', '-b', 'main'], { cwd: dir });
|
|
25
|
-
exec2('git', ['config', 'user.email', 't@t.t'], { cwd: dir });
|
|
26
|
-
exec2('git', ['config', 'user.name', 't'], { cwd: dir });
|
|
27
|
-
exec2('git', ['config', 'commit.gpgsign', 'false'], { cwd: dir });
|
|
28
|
-
writeFileSync(join(dir, 'README.md'), '# fixture\n');
|
|
29
|
-
exec2('git', ['add', 'README.md'], { cwd: dir });
|
|
30
|
-
exec2('git', ['commit', '-q', '-m', 'init'], { cwd: dir });
|
|
31
|
-
return dir;
|
|
32
|
-
}
|
|
33
|
-
function runApt(cwd, args, env = {}) {
|
|
34
|
-
const r = spawn2('node', [APT_TOOLS, ...args], {
|
|
35
|
-
cwd,
|
|
36
|
-
encoding: 'utf-8',
|
|
37
|
-
env: { ...process.env, ...env },
|
|
38
|
-
});
|
|
39
|
-
return { stdout: r.stdout || '', stderr: r.stderr || '', status: r.status ?? -1 };
|
|
40
|
-
}
|
|
41
|
-
// Seed a task in shipped-pending-merge directly by hand-editing state.json.
|
|
42
|
-
// This sidesteps the need to simulate the full reviewing→shipped transition.
|
|
43
|
-
function seedShippedTask(repo, id, opts = {}) {
|
|
44
|
-
const statePath = join(repo, '.aperant', 'state.json');
|
|
45
|
-
const state = existsSync(statePath)
|
|
46
|
-
? JSON.parse(readFileSync(statePath, 'utf-8'))
|
|
47
|
-
: { active_tasks: {}, completed_tasks: [] };
|
|
48
|
-
state.active_tasks = state.active_tasks || {};
|
|
49
|
-
state.active_tasks[id] = {
|
|
50
|
-
id,
|
|
51
|
-
description: `test-${id}`,
|
|
52
|
-
scope: 'project',
|
|
53
|
-
lifecycle_phase: 'shipped-pending-merge',
|
|
54
|
-
milestone_id: null,
|
|
55
|
-
phase_id: null,
|
|
56
|
-
progress: { subtasks_total: 0, subtasks_completed: 0, current_subtask: null },
|
|
57
|
-
history: [],
|
|
58
|
-
created_at: new Date().toISOString(),
|
|
59
|
-
...(opts.prUrl !== undefined ? { pr_url: opts.prUrl } : {}),
|
|
60
|
-
};
|
|
61
|
-
mkdirSync(join(repo, '.aperant'), { recursive: true });
|
|
62
|
-
writeFileSync(statePath, `${JSON.stringify(state, null, 2)}\n`);
|
|
63
|
-
// Create a task dir so close doesn't trip on getTaskDir invariants.
|
|
64
|
-
mkdirSync(join(repo, '.aperant', 'tasks', id), { recursive: true });
|
|
65
|
-
}
|
|
66
|
-
function readState(repo) {
|
|
67
|
-
return JSON.parse(readFileSync(join(repo, '.aperant', 'state.json'), 'utf-8'));
|
|
68
|
-
}
|
|
69
|
-
function readConfig(repo) {
|
|
70
|
-
const path = join(repo, '.aperant', 'config.json');
|
|
71
|
-
return existsSync(path) ? JSON.parse(readFileSync(path, 'utf-8')) : {};
|
|
72
|
-
}
|
|
73
|
-
describe('C56 B1 — task close-merged', () => {
|
|
74
|
-
let repo;
|
|
75
|
-
beforeEach(() => {
|
|
76
|
-
repo = initRepo();
|
|
77
|
-
runApt(repo, ['init', repo, '--yes']);
|
|
78
|
-
// Ensure state.json + config.json exist (init may write them lazily).
|
|
79
|
-
const aperantDir = join(repo, '.aperant');
|
|
80
|
-
mkdirSync(aperantDir, { recursive: true });
|
|
81
|
-
const statePath = join(aperantDir, 'state.json');
|
|
82
|
-
if (!existsSync(statePath)) {
|
|
83
|
-
writeFileSync(statePath, `${JSON.stringify({ active_tasks: {}, completed_tasks: [] }, null, 2)}\n`);
|
|
84
|
-
}
|
|
85
|
-
const cfgPath = join(aperantDir, 'config.json');
|
|
86
|
-
if (!existsSync(cfgPath)) {
|
|
87
|
-
writeFileSync(cfgPath, `${JSON.stringify({}, null, 2)}\n`);
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
afterEach(() => {
|
|
91
|
-
try {
|
|
92
|
-
rmSync(repo, { recursive: true, force: true });
|
|
93
|
-
}
|
|
94
|
-
catch {
|
|
95
|
-
// ignore
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
it('--all picks up only shipped-pending-merge tasks', () => {
|
|
99
|
-
// Seed a task in planning (should be ignored) and one in shipped-pending-merge.
|
|
100
|
-
const statePath = join(repo, '.aperant', 'state.json');
|
|
101
|
-
const state = existsSync(statePath)
|
|
102
|
-
? JSON.parse(readFileSync(statePath, 'utf-8'))
|
|
103
|
-
: { active_tasks: {} };
|
|
104
|
-
state.active_tasks = state.active_tasks || {};
|
|
105
|
-
state.active_tasks.planning_only = {
|
|
106
|
-
id: 'planning_only',
|
|
107
|
-
description: 'x',
|
|
108
|
-
scope: 'project',
|
|
109
|
-
lifecycle_phase: 'planning',
|
|
110
|
-
milestone_id: null,
|
|
111
|
-
phase_id: null,
|
|
112
|
-
history: [],
|
|
113
|
-
progress: { subtasks_total: 0, subtasks_completed: 0, current_subtask: null },
|
|
114
|
-
created_at: new Date().toISOString(),
|
|
115
|
-
};
|
|
116
|
-
writeFileSync(statePath, `${JSON.stringify(state, null, 2)}\n`);
|
|
117
|
-
seedShippedTask(repo, 'shipped_1', { prUrl: 'https://github.com/x/y/pull/42' });
|
|
118
|
-
const { stdout } = runApt(repo, ['task', 'close-merged', repo, '--all', '--dry-run'], {
|
|
119
|
-
APT_GH_FIXTURE_JSON: JSON.stringify({ state: 'MERGED', mergedAt: '2026-01-01', number: 42 }),
|
|
120
|
-
});
|
|
121
|
-
const env = JSON.parse(stdout);
|
|
122
|
-
// Only the shipped task appears in closed[]; planning_only never considered.
|
|
123
|
-
expect(env.closed.map((c) => c.id)).toEqual(['shipped_1']);
|
|
124
|
-
expect(env.skipped).toEqual([]);
|
|
125
|
-
});
|
|
126
|
-
it('MERGED → closed + event emitted + config entry stripped', () => {
|
|
127
|
-
seedShippedTask(repo, 'will_close', {
|
|
128
|
-
prUrl: 'https://github.com/x/y/pull/77',
|
|
129
|
-
});
|
|
130
|
-
// Stamp a stale authorship override that should be stripped.
|
|
131
|
-
const cfgPath = join(repo, '.aperant', 'config.json');
|
|
132
|
-
const cfg = JSON.parse(readFileSync(cfgPath, 'utf-8'));
|
|
133
|
-
cfg.pr_review = cfg.pr_review || {};
|
|
134
|
-
cfg.pr_review.authorship_overrides = { 'pr-77': 'owned' };
|
|
135
|
-
writeFileSync(cfgPath, `${JSON.stringify(cfg, null, 2)}\n`);
|
|
136
|
-
const { stdout, status } = runApt(repo, ['task', 'close-merged', repo, '--task', 'will_close'], {
|
|
137
|
-
APT_GH_FIXTURE_JSON: JSON.stringify({
|
|
138
|
-
state: 'MERGED',
|
|
139
|
-
mergedAt: '2026-01-02',
|
|
140
|
-
number: 77,
|
|
141
|
-
}),
|
|
142
|
-
});
|
|
143
|
-
expect(status).toBe(0);
|
|
144
|
-
const env = JSON.parse(stdout);
|
|
145
|
-
expect(env.closed.map((c) => c.id)).toEqual(['will_close']);
|
|
146
|
-
// Task moved from active_tasks → completed_tasks.
|
|
147
|
-
const stateAfter = readState(repo);
|
|
148
|
-
expect(stateAfter.active_tasks?.will_close).toBeUndefined();
|
|
149
|
-
expect((stateAfter.completed_tasks || []).some((r) => r.id === 'will_close')).toBe(true);
|
|
150
|
-
// Config override stripped.
|
|
151
|
-
const cfgAfter = readConfig(repo);
|
|
152
|
-
expect(cfgAfter.pr_review?.authorship_overrides?.['pr-77']).toBeUndefined();
|
|
153
|
-
// Event emitted to today's jsonl.
|
|
154
|
-
const todayISO = new Date().toISOString().slice(0, 10);
|
|
155
|
-
const eventPath = join(repo, '.aperant', 'events', `${todayISO}.jsonl`);
|
|
156
|
-
expect(existsSync(eventPath)).toBe(true);
|
|
157
|
-
const events = readFileSync(eventPath, 'utf-8')
|
|
158
|
-
.trim()
|
|
159
|
-
.split('\n')
|
|
160
|
-
.map((line) => JSON.parse(line));
|
|
161
|
-
expect(events.some((e) => e.op === 'task.closed.merged' && e.task === 'will_close')).toBe(true);
|
|
162
|
-
});
|
|
163
|
-
it('OPEN → skipped with reason=pr_open', () => {
|
|
164
|
-
seedShippedTask(repo, 'still_open', {
|
|
165
|
-
prUrl: 'https://github.com/x/y/pull/5',
|
|
166
|
-
});
|
|
167
|
-
const { stdout } = runApt(repo, ['task', 'close-merged', repo, '--task', 'still_open'], {
|
|
168
|
-
APT_GH_FIXTURE_JSON: JSON.stringify({ state: 'OPEN', mergedAt: null, number: 5 }),
|
|
169
|
-
});
|
|
170
|
-
const env = JSON.parse(stdout);
|
|
171
|
-
expect(env.closed).toEqual([]);
|
|
172
|
-
expect(env.skipped.length).toBe(1);
|
|
173
|
-
expect(env.skipped[0]).toMatchObject({ id: 'still_open', reason: 'pr_open' });
|
|
174
|
-
// Task is still in active_tasks.
|
|
175
|
-
const state = readState(repo);
|
|
176
|
-
expect(state.active_tasks?.still_open?.lifecycle_phase).toBe('shipped-pending-merge');
|
|
177
|
-
});
|
|
178
|
-
it('CLOSED not merged → closed with verdict=rejected (C57)', () => {
|
|
179
|
-
seedShippedTask(repo, 'abandoned', {
|
|
180
|
-
prUrl: 'https://github.com/x/y/pull/9',
|
|
181
|
-
});
|
|
182
|
-
const { stdout } = runApt(repo, ['task', 'close-merged', repo, '--task', 'abandoned'], {
|
|
183
|
-
APT_GH_FIXTURE_JSON: JSON.stringify({ state: 'CLOSED', mergedAt: null, number: 9 }),
|
|
184
|
-
});
|
|
185
|
-
const env = JSON.parse(stdout);
|
|
186
|
-
// C57: CLOSED PRs no longer rot in shipped-pending-merge — they close
|
|
187
|
-
// with verdict=rejected so the sweeper doesn't infinite-poll.
|
|
188
|
-
expect(env.closed.map((c) => c.id)).toEqual(['abandoned']);
|
|
189
|
-
expect(env.closed[0]).toMatchObject({ verdict: 'rejected', pr_state: 'CLOSED' });
|
|
190
|
-
expect(env.skipped).toEqual([]);
|
|
191
|
-
// Task moved from active_tasks → completed_tasks with rejected verdict.
|
|
192
|
-
const stateAfter = readState(repo);
|
|
193
|
-
expect(stateAfter.active_tasks?.abandoned).toBeUndefined();
|
|
194
|
-
const completedRow = (stateAfter.completed_tasks || []).find((r) => r.id === 'abandoned');
|
|
195
|
-
expect(completedRow).toBeDefined();
|
|
196
|
-
expect(completedRow.qa_verdict).toBe('rejected');
|
|
197
|
-
});
|
|
198
|
-
it('task without pr_url is skipped with reason=no-pr-url', () => {
|
|
199
|
-
seedShippedTask(repo, 'orphan');
|
|
200
|
-
const { stdout } = runApt(repo, ['task', 'close-merged', repo, '--task', 'orphan']);
|
|
201
|
-
const env = JSON.parse(stdout);
|
|
202
|
-
expect(env.skipped[0].reason).toBe('no-pr-url');
|
|
203
|
-
});
|
|
204
|
-
it('--dry-run does not mutate state', () => {
|
|
205
|
-
seedShippedTask(repo, 'dry_shipped', {
|
|
206
|
-
prUrl: 'https://github.com/x/y/pull/30',
|
|
207
|
-
});
|
|
208
|
-
const before = readState(repo);
|
|
209
|
-
runApt(repo, ['task', 'close-merged', repo, '--task', 'dry_shipped', '--dry-run'], {
|
|
210
|
-
APT_GH_FIXTURE_JSON: JSON.stringify({
|
|
211
|
-
state: 'MERGED',
|
|
212
|
-
mergedAt: '2026-01-03',
|
|
213
|
-
number: 30,
|
|
214
|
-
}),
|
|
215
|
-
});
|
|
216
|
-
const after = readState(repo);
|
|
217
|
-
expect(after.active_tasks).toEqual(before.active_tasks);
|
|
218
|
-
});
|
|
219
|
-
it('missing --task and --all still runs --all by default', () => {
|
|
220
|
-
seedShippedTask(repo, 'default_all', {
|
|
221
|
-
prUrl: 'https://github.com/x/y/pull/50',
|
|
222
|
-
});
|
|
223
|
-
const { stdout } = runApt(repo, ['task', 'close-merged', repo, '--dry-run'], {
|
|
224
|
-
APT_GH_FIXTURE_JSON: JSON.stringify({
|
|
225
|
-
state: 'OPEN',
|
|
226
|
-
mergedAt: null,
|
|
227
|
-
number: 50,
|
|
228
|
-
}),
|
|
229
|
-
});
|
|
230
|
-
const env = JSON.parse(stdout);
|
|
231
|
-
// Task is considered even without --all/--task.
|
|
232
|
-
expect([...env.closed, ...env.skipped].length).toBe(1);
|
|
233
|
-
});
|
|
234
|
-
it('no candidates → empty envelope', () => {
|
|
235
|
-
const { stdout, status } = runApt(repo, ['task', 'close-merged', repo, '--all', '--dry-run']);
|
|
236
|
-
expect(status).toBe(0);
|
|
237
|
-
const env = JSON.parse(stdout);
|
|
238
|
-
expect(env.closed).toEqual([]);
|
|
239
|
-
expect(env.skipped).toEqual([]);
|
|
240
|
-
});
|
|
241
|
-
});
|
|
242
|
-
//# sourceMappingURL=task-close-merged.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"task-close-merged.test.js","sourceRoot":"","sources":["../../src/__tests__/task-close-merged.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* C28 — Task depends_on cycle detection + transitive blocked-by walk.
|
|
3
|
-
*
|
|
4
|
-
* Covers AC: cycle rejection on `task update --depends-on`, and
|
|
5
|
-
* `task list --blocked-by` returns the transitive closure.
|
|
6
|
-
*/
|
|
7
|
-
export {};
|
|
8
|
-
//# sourceMappingURL=task-depends-on-cycle.test.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"task-depends-on-cycle.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/task-depends-on-cycle.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* C28 — Task depends_on cycle detection + transitive blocked-by walk.
|
|
3
|
-
*
|
|
4
|
-
* Covers AC: cycle rejection on `task update --depends-on`, and
|
|
5
|
-
* `task list --blocked-by` returns the transitive closure.
|
|
6
|
-
*/
|
|
7
|
-
import { afterEach, describe, expect, it } from 'vitest';
|
|
8
|
-
import { createTmpProject, runCli } from '../__test-helpers/tmp-project';
|
|
9
|
-
describe('C28 task depends_on cycle + blocked-by', () => {
|
|
10
|
-
let cleanup = null;
|
|
11
|
-
afterEach(() => {
|
|
12
|
-
if (cleanup) {
|
|
13
|
-
cleanup();
|
|
14
|
-
cleanup = null;
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
it('rejects a cycle forming on task update --depends-on', () => {
|
|
18
|
-
const project = createTmpProject();
|
|
19
|
-
cleanup = project.cleanup;
|
|
20
|
-
const a = runCli(['task', 'create', '.', '--description', 'a'], project.dir);
|
|
21
|
-
const b = runCli(['task', 'create', '.', '--description', 'b'], project.dir);
|
|
22
|
-
const aId = a.json?.task_id;
|
|
23
|
-
const bId = b.json?.task_id;
|
|
24
|
-
// A depends on B (OK)
|
|
25
|
-
const ok = runCli(['task', 'update', '.', '--id', aId, '--depends-on', bId], project.dir);
|
|
26
|
-
expect(ok.json?.status).toBe('ok');
|
|
27
|
-
// B depends on A would form A→B→A cycle — must fail
|
|
28
|
-
const cycle = runCli(['task', 'update', '.', '--id', bId, '--depends-on', aId], project.dir);
|
|
29
|
-
expect(cycle.json?.status).toBe('error');
|
|
30
|
-
expect(String(cycle.json?.reason)).toMatch(/cycle/i);
|
|
31
|
-
});
|
|
32
|
-
it('task list --blocked-by returns transitive closure', () => {
|
|
33
|
-
const project = createTmpProject();
|
|
34
|
-
cleanup = project.cleanup;
|
|
35
|
-
// Build chain: C depends on B, B depends on A → query --blocked-by A
|
|
36
|
-
// should return both B and C (transitive).
|
|
37
|
-
const a = runCli(['task', 'create', '.', '--description', 'a'], project.dir);
|
|
38
|
-
const b = runCli(['task', 'create', '.', '--description', 'b'], project.dir);
|
|
39
|
-
const c = runCli(['task', 'create', '.', '--description', 'c'], project.dir);
|
|
40
|
-
const aId = a.json?.task_id;
|
|
41
|
-
const bId = b.json?.task_id;
|
|
42
|
-
const cId = c.json?.task_id;
|
|
43
|
-
runCli(['task', 'update', '.', '--id', bId, '--depends-on', aId], project.dir);
|
|
44
|
-
runCli(['task', 'update', '.', '--id', cId, '--depends-on', bId], project.dir);
|
|
45
|
-
const list = runCli(['task', 'list', '.', '--blocked-by', aId], project.dir);
|
|
46
|
-
expect(list.json?.status).toBe('ok');
|
|
47
|
-
const tasks = list.json?.tasks;
|
|
48
|
-
const ids = new Set(tasks.map((t) => t.id));
|
|
49
|
-
expect(ids.has(bId)).toBe(true);
|
|
50
|
-
expect(ids.has(cId)).toBe(true);
|
|
51
|
-
// A itself is not in the blocked-by set (self-loop guarded).
|
|
52
|
-
expect(ids.has(aId)).toBe(false);
|
|
53
|
-
});
|
|
54
|
-
it('creating with an unparseable depends-on ref fails', () => {
|
|
55
|
-
const project = createTmpProject();
|
|
56
|
-
cleanup = project.cleanup;
|
|
57
|
-
// URL-style refs belong in roadmap_ref_url, not depends_on.
|
|
58
|
-
const result = runCli(['task', 'create', '.', '--description', 'x', '--depends-on', 'https://example.com/task'], project.dir);
|
|
59
|
-
expect(result.status).not.toBe(0);
|
|
60
|
-
});
|
|
61
|
-
});
|
|
62
|
-
//# sourceMappingURL=task-depends-on-cycle.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"task-depends-on-cycle.test.js","sourceRoot":"","sources":["../../src/__tests__/task-depends-on-cycle.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"task-execution-mode.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/task-execution-mode.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|