@aperant/framework 0.6.2 → 0.6.3
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 +595 -0
- package/README.md +6 -11
- package/package.json +7 -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,117 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* product-context.test.ts — unit coverage for design/product-context.mjs (C44).
|
|
3
|
-
*
|
|
4
|
-
* Pins the pure-function contract of `loadProductContext`:
|
|
5
|
-
* - missing file ≠ error (present:false, source:none)
|
|
6
|
-
* - valid file → normalized WizardProductContext shape
|
|
7
|
-
* - malformed JSON → errors[] populated
|
|
8
|
-
* - schema violation (missing required field) → errors[] populated
|
|
9
|
-
* - additive keys pass through (permissive, matches design-frontmatter style)
|
|
10
|
-
*
|
|
11
|
-
* No network, no spawnSync — the loader is a pure file read.
|
|
12
|
-
*/
|
|
13
|
-
import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from 'node:fs';
|
|
14
|
-
import { tmpdir } from 'node:os';
|
|
15
|
-
import { join } from 'node:path';
|
|
16
|
-
import { afterEach, beforeEach, describe, expect, it } from 'vitest';
|
|
17
|
-
import { loadProductContext, productContextPath } from '../cli/design/product-context.mjs';
|
|
18
|
-
function writeFixture(root, contents) {
|
|
19
|
-
const aperant = join(root, '.aperant');
|
|
20
|
-
mkdirSync(aperant, { recursive: true });
|
|
21
|
-
const target = join(aperant, 'product-context.json');
|
|
22
|
-
const body = typeof contents === 'string' ? contents : JSON.stringify(contents, null, 2);
|
|
23
|
-
writeFileSync(target, body, 'utf8');
|
|
24
|
-
return target;
|
|
25
|
-
}
|
|
26
|
-
describe('loadProductContext', () => {
|
|
27
|
-
let root;
|
|
28
|
-
beforeEach(() => {
|
|
29
|
-
root = mkdtempSync(join(tmpdir(), 'apt-c44-'));
|
|
30
|
-
});
|
|
31
|
-
afterEach(() => {
|
|
32
|
-
try {
|
|
33
|
-
rmSync(root, { recursive: true, force: true });
|
|
34
|
-
}
|
|
35
|
-
catch {
|
|
36
|
-
/* best-effort */
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
it('returns present:false with no errors when product-context.json is absent', () => {
|
|
40
|
-
const res = loadProductContext(root);
|
|
41
|
-
expect(res.present).toBe(false);
|
|
42
|
-
expect(res.source).toBe('none');
|
|
43
|
-
expect(res.productContext).toBeNull();
|
|
44
|
-
expect(res.errors).toEqual([]);
|
|
45
|
-
expect(res.warnings).toEqual([]);
|
|
46
|
-
expect(res.path).toBe(productContextPath(root));
|
|
47
|
-
});
|
|
48
|
-
it('parses and normalizes a valid product-context.json to WizardProductContext shape', () => {
|
|
49
|
-
writeFixture(root, {
|
|
50
|
-
productName: 'DevLogs',
|
|
51
|
-
productDescription: 'CLI log analyzer for senior backend engineers.',
|
|
52
|
-
targetAudience: 'developers',
|
|
53
|
-
features: [
|
|
54
|
-
{ id: 'regex', name: 'Regex filtering', description: 'Filter lines by pattern.' },
|
|
55
|
-
{ id: 'json', name: 'JSON parsing' },
|
|
56
|
-
],
|
|
57
|
-
_meta: { source: 'wizard-manual', updatedAt: '2026-04-19T10:00:00Z' },
|
|
58
|
-
});
|
|
59
|
-
const res = loadProductContext(root);
|
|
60
|
-
expect(res.errors).toEqual([]);
|
|
61
|
-
expect(res.present).toBe(true);
|
|
62
|
-
expect(res.source).toBe('aperant-file');
|
|
63
|
-
expect(res.productContext).not.toBeNull();
|
|
64
|
-
const pc = res.productContext;
|
|
65
|
-
if (!pc)
|
|
66
|
-
throw new Error('expected productContext to be populated');
|
|
67
|
-
expect(pc.productName).toBe('DevLogs');
|
|
68
|
-
expect(pc.targetAudience).toBe('developers');
|
|
69
|
-
expect(pc.features.length).toBe(2);
|
|
70
|
-
expect(pc.features[0]?.id).toBe('regex');
|
|
71
|
-
expect(pc.features[0]?.description).toBe('Filter lines by pattern.');
|
|
72
|
-
// Feature without description normalizes to empty string (never undefined).
|
|
73
|
-
expect(pc.features[1]?.description).toBe('');
|
|
74
|
-
expect(pc._meta?.source).toBe('wizard-manual');
|
|
75
|
-
});
|
|
76
|
-
it('returns an error when product-context.json is malformed JSON', () => {
|
|
77
|
-
writeFixture(root, '{ this is not json ');
|
|
78
|
-
const res = loadProductContext(root);
|
|
79
|
-
expect(res.present).toBe(false);
|
|
80
|
-
expect(res.productContext).toBeNull();
|
|
81
|
-
expect(res.errors.length).toBeGreaterThan(0);
|
|
82
|
-
expect(res.errors.join('\n')).toMatch(/invalid JSON/);
|
|
83
|
-
});
|
|
84
|
-
it('returns an error when a required field (productName) is missing', () => {
|
|
85
|
-
writeFixture(root, {
|
|
86
|
-
// productName intentionally missing
|
|
87
|
-
productDescription: 'Something.',
|
|
88
|
-
targetAudience: 'anyone',
|
|
89
|
-
features: [],
|
|
90
|
-
});
|
|
91
|
-
const res = loadProductContext(root);
|
|
92
|
-
expect(res.present).toBe(false);
|
|
93
|
-
expect(res.errors.length).toBeGreaterThan(0);
|
|
94
|
-
expect(res.errors.some((e) => e.includes('productName'))).toBe(true);
|
|
95
|
-
});
|
|
96
|
-
it('accepts additive top-level keys (permissive shape, no strict rejection)', () => {
|
|
97
|
-
writeFixture(root, {
|
|
98
|
-
productName: 'LearnBuddy',
|
|
99
|
-
productDescription: 'Interactive reading app for ages 5-8.',
|
|
100
|
-
targetAudience: 'children and parents',
|
|
101
|
-
features: [],
|
|
102
|
-
// extra top-level key the schema does not know about
|
|
103
|
-
experimentalNotes: 'seeded from inference',
|
|
104
|
-
});
|
|
105
|
-
const res = loadProductContext(root);
|
|
106
|
-
expect(res.errors).toEqual([]);
|
|
107
|
-
expect(res.present).toBe(true);
|
|
108
|
-
expect(res.productContext?.productName).toBe('LearnBuddy');
|
|
109
|
-
});
|
|
110
|
-
it('rejects a non-object top-level value (e.g., an array) with a structured error', () => {
|
|
111
|
-
writeFixture(root, [{ productName: 'x' }]);
|
|
112
|
-
const res = loadProductContext(root);
|
|
113
|
-
expect(res.present).toBe(false);
|
|
114
|
-
expect(res.errors.length).toBeGreaterThan(0);
|
|
115
|
-
});
|
|
116
|
-
});
|
|
117
|
-
//# sourceMappingURL=product-context.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"product-context.test.js","sourceRoot":"","sources":["../../src/__tests__/product-context.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"profile-cli.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/profile-cli.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* C19 subtask 8 — apt-tools profile CLI tests.
|
|
3
|
-
*/
|
|
4
|
-
import { execSync } from 'node:child_process';
|
|
5
|
-
import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from 'node:fs';
|
|
6
|
-
import { tmpdir } from 'node:os';
|
|
7
|
-
import { join, resolve } from 'node:path';
|
|
8
|
-
import { afterEach, describe, expect, it } from 'vitest';
|
|
9
|
-
const APT_TOOLS = resolve(__dirname, '../../bin/apt-tools.mjs');
|
|
10
|
-
function makeProject() {
|
|
11
|
-
const root = mkdtempSync(join(tmpdir(), 'apt-profile-cli-'));
|
|
12
|
-
mkdirSync(join(root, '.aperant', 'profiles'), { recursive: true });
|
|
13
|
-
return root;
|
|
14
|
-
}
|
|
15
|
-
function writeProfile(root, name, yaml) {
|
|
16
|
-
writeFileSync(join(root, '.aperant', 'profiles', `${name}.yaml`), yaml);
|
|
17
|
-
}
|
|
18
|
-
function run(cwd, ...args) {
|
|
19
|
-
try {
|
|
20
|
-
const out = execSync(`node ${APT_TOOLS} ${args.join(' ')}`, {
|
|
21
|
-
encoding: 'utf-8',
|
|
22
|
-
cwd,
|
|
23
|
-
env: { ...process.env, APT_SUPPRESS_GITIGNORE_DRIFT: '1' },
|
|
24
|
-
});
|
|
25
|
-
return { code: 0, out };
|
|
26
|
-
}
|
|
27
|
-
catch (err) {
|
|
28
|
-
const e = err;
|
|
29
|
-
return { code: e.status ?? 1, out: e.stdout ?? '' };
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
describe('apt-tools profile list', () => {
|
|
33
|
-
let root;
|
|
34
|
-
afterEach(() => {
|
|
35
|
-
if (root)
|
|
36
|
-
rmSync(root, { recursive: true, force: true });
|
|
37
|
-
});
|
|
38
|
-
it('emits ok + count: 0 when no profiles exist', () => {
|
|
39
|
-
root = makeProject();
|
|
40
|
-
const { code, out } = run(root, 'profile', 'list', '.');
|
|
41
|
-
expect(code).toBe(0);
|
|
42
|
-
const env = JSON.parse(out);
|
|
43
|
-
expect(env.status).toBe('ok');
|
|
44
|
-
expect(env.command).toBe('profile-list');
|
|
45
|
-
expect(env.count).toBe(0);
|
|
46
|
-
});
|
|
47
|
-
it('lists seeded profiles', () => {
|
|
48
|
-
root = makeProject();
|
|
49
|
-
writeProfile(root, 'default', 'name: default\n');
|
|
50
|
-
writeProfile(root, 'team-platform', 'name: team-platform\nextends: default\n');
|
|
51
|
-
const { code, out } = run(root, 'profile', 'list', '.');
|
|
52
|
-
expect(code).toBe(0);
|
|
53
|
-
const env = JSON.parse(out);
|
|
54
|
-
expect(env.count).toBe(2);
|
|
55
|
-
const names = env.profiles.map((p) => p.name).sort();
|
|
56
|
-
expect(names).toEqual(['default', 'team-platform']);
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
describe('apt-tools profile validate', () => {
|
|
60
|
-
let root;
|
|
61
|
-
afterEach(() => {
|
|
62
|
-
if (root)
|
|
63
|
-
rmSync(root, { recursive: true, force: true });
|
|
64
|
-
});
|
|
65
|
-
it('returns ok for a valid linear chain', () => {
|
|
66
|
-
root = makeProject();
|
|
67
|
-
writeProfile(root, 'default', 'name: default\n');
|
|
68
|
-
writeProfile(root, 'team', 'name: team\nextends: default\n');
|
|
69
|
-
const { code, out } = run(root, 'profile', 'validate', '.', '--name', 'team');
|
|
70
|
-
expect(code).toBe(0);
|
|
71
|
-
const env = JSON.parse(out);
|
|
72
|
-
expect(env.status).toBe('ok');
|
|
73
|
-
expect(env.chain).toEqual(['default', 'team']);
|
|
74
|
-
});
|
|
75
|
-
it('returns fail for a cycle', () => {
|
|
76
|
-
root = makeProject();
|
|
77
|
-
writeProfile(root, 'a', 'name: a\nextends: b\n');
|
|
78
|
-
writeProfile(root, 'b', 'name: b\nextends: a\n');
|
|
79
|
-
const { code, out } = run(root, 'profile', 'validate', '.', '--name', 'a');
|
|
80
|
-
expect(code).toBe(0);
|
|
81
|
-
const env = JSON.parse(out);
|
|
82
|
-
expect(env.status).toBe('fail');
|
|
83
|
-
expect(env.reason).toMatch(/cycle detected/);
|
|
84
|
-
});
|
|
85
|
-
it('returns fail for dangling extends', () => {
|
|
86
|
-
root = makeProject();
|
|
87
|
-
writeProfile(root, 'team', 'name: team\nextends: ghost\n');
|
|
88
|
-
const { code, out } = run(root, 'profile', 'validate', '.', '--name', 'team');
|
|
89
|
-
const env = JSON.parse(out);
|
|
90
|
-
expect(env.status).toBe('fail');
|
|
91
|
-
expect(env.reason).toMatch(/unknown parent profile: ghost/);
|
|
92
|
-
});
|
|
93
|
-
});
|
|
94
|
-
describe('apt-tools profile resolve', () => {
|
|
95
|
-
let root;
|
|
96
|
-
afterEach(() => {
|
|
97
|
-
if (root)
|
|
98
|
-
rmSync(root, { recursive: true, force: true });
|
|
99
|
-
});
|
|
100
|
-
it('returns the merged resolved output', () => {
|
|
101
|
-
root = makeProject();
|
|
102
|
-
writeProfile(root, 'default', [
|
|
103
|
-
'name: default',
|
|
104
|
-
'obligations:',
|
|
105
|
-
' - id: o1',
|
|
106
|
-
' title: Parent obligation',
|
|
107
|
-
' text: parent',
|
|
108
|
-
' severity: must',
|
|
109
|
-
'',
|
|
110
|
-
].join('\n'));
|
|
111
|
-
writeProfile(root, 'team', [
|
|
112
|
-
'name: team',
|
|
113
|
-
'extends: default',
|
|
114
|
-
'merge_obligations: true',
|
|
115
|
-
'obligations:',
|
|
116
|
-
' - id: o2',
|
|
117
|
-
' title: Child obligation',
|
|
118
|
-
' text: child',
|
|
119
|
-
' severity: should',
|
|
120
|
-
'',
|
|
121
|
-
].join('\n'));
|
|
122
|
-
const { code, out } = run(root, 'profile', 'resolve', '.', '--name', 'team');
|
|
123
|
-
expect(code).toBe(0);
|
|
124
|
-
const env = JSON.parse(out);
|
|
125
|
-
expect(env.status).toBe('ok');
|
|
126
|
-
expect(env.command).toBe('profile-resolve');
|
|
127
|
-
expect(env.chain).toEqual(['default', 'team']);
|
|
128
|
-
expect(env.resolved.name).toBe('team');
|
|
129
|
-
expect(env.resolved.obligations).toHaveLength(2);
|
|
130
|
-
// merge_* sentinels must not leak into the resolved output
|
|
131
|
-
expect(env.resolved).not.toHaveProperty('merge_obligations');
|
|
132
|
-
});
|
|
133
|
-
});
|
|
134
|
-
//# sourceMappingURL=profile-cli.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"profile-cli.test.js","sourceRoot":"","sources":["../../src/__tests__/profile-cli.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"profile-parse.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/profile-parse.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* C19 subtask 6 — profile parse + schema unit tests.
|
|
3
|
-
*/
|
|
4
|
-
import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from 'node:fs';
|
|
5
|
-
import { tmpdir } from 'node:os';
|
|
6
|
-
import { join } from 'node:path';
|
|
7
|
-
import { afterEach, describe, expect, it } from 'vitest';
|
|
8
|
-
import { listProfiles, loadProfile } from '../cli/profile/parse.mjs';
|
|
9
|
-
function makeProject() {
|
|
10
|
-
const root = mkdtempSync(join(tmpdir(), 'apt-profile-parse-'));
|
|
11
|
-
mkdirSync(join(root, '.aperant', 'profiles'), { recursive: true });
|
|
12
|
-
return root;
|
|
13
|
-
}
|
|
14
|
-
function writeProfile(root, name, yaml) {
|
|
15
|
-
writeFileSync(join(root, '.aperant', 'profiles', `${name}.yaml`), yaml);
|
|
16
|
-
}
|
|
17
|
-
describe('loadProfile', () => {
|
|
18
|
-
let root;
|
|
19
|
-
afterEach(() => {
|
|
20
|
-
if (root)
|
|
21
|
-
rmSync(root, { recursive: true, force: true });
|
|
22
|
-
});
|
|
23
|
-
it('loads a valid minimal profile (name only)', () => {
|
|
24
|
-
root = makeProject();
|
|
25
|
-
writeProfile(root, 'default', 'name: default\n');
|
|
26
|
-
const res = loadProfile(root, 'default');
|
|
27
|
-
expect(res.ok).toBe(true);
|
|
28
|
-
if (res.ok) {
|
|
29
|
-
expect(res.profile.name).toBe('default');
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
it('loads a valid full profile', () => {
|
|
33
|
-
root = makeProject();
|
|
34
|
-
writeProfile(root, 'team-platform', [
|
|
35
|
-
'name: team-platform',
|
|
36
|
-
'extends: default',
|
|
37
|
-
'description: Platform team conventions',
|
|
38
|
-
'merge_obligations: true',
|
|
39
|
-
'merge_conventions: true',
|
|
40
|
-
'merge_tooling: true',
|
|
41
|
-
'obligations:',
|
|
42
|
-
' - id: obs-traces',
|
|
43
|
-
' title: Emit OpenTelemetry traces',
|
|
44
|
-
' text: HTTP handlers wrap into otel.trace.startActiveSpan',
|
|
45
|
-
' severity: must',
|
|
46
|
-
'conventions:',
|
|
47
|
-
' imports: extensionless',
|
|
48
|
-
'tooling:',
|
|
49
|
-
' linter: biome',
|
|
50
|
-
'',
|
|
51
|
-
].join('\n'));
|
|
52
|
-
const res = loadProfile(root, 'team-platform');
|
|
53
|
-
expect(res.ok).toBe(true);
|
|
54
|
-
if (res.ok) {
|
|
55
|
-
expect(res.profile.extends).toBe('default');
|
|
56
|
-
expect(res.profile.obligations?.[0].id).toBe('obs-traces');
|
|
57
|
-
expect(res.profile.merge_obligations).toBe(true);
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
it('rejects an invalid name (uppercase / spaces)', () => {
|
|
61
|
-
root = makeProject();
|
|
62
|
-
writeProfile(root, 'bad-name', 'name: BadName\n');
|
|
63
|
-
const res = loadProfile(root, 'bad-name');
|
|
64
|
-
expect(res.ok).toBe(false);
|
|
65
|
-
});
|
|
66
|
-
it('rejects an unknown top-level key (.strict())', () => {
|
|
67
|
-
root = makeProject();
|
|
68
|
-
writeProfile(root, 'default', 'name: default\nextra_field: nope\n');
|
|
69
|
-
const res = loadProfile(root, 'default');
|
|
70
|
-
expect(res.ok).toBe(false);
|
|
71
|
-
});
|
|
72
|
-
it('rejects an invalid severity value', () => {
|
|
73
|
-
root = makeProject();
|
|
74
|
-
writeProfile(root, 'default', [
|
|
75
|
-
'name: default',
|
|
76
|
-
'obligations:',
|
|
77
|
-
' - id: x',
|
|
78
|
-
' title: t',
|
|
79
|
-
' text: body',
|
|
80
|
-
' severity: bogus',
|
|
81
|
-
].join('\n'));
|
|
82
|
-
const res = loadProfile(root, 'default');
|
|
83
|
-
expect(res.ok).toBe(false);
|
|
84
|
-
});
|
|
85
|
-
it('rejects filename/name mismatch', () => {
|
|
86
|
-
root = makeProject();
|
|
87
|
-
writeProfile(root, 'foo', 'name: bar\n');
|
|
88
|
-
const res = loadProfile(root, 'foo');
|
|
89
|
-
expect(res.ok).toBe(false);
|
|
90
|
-
if (!res.ok) {
|
|
91
|
-
expect(res.errors[0].message).toMatch(/does not match filename/);
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
it('reports a clear error for malformed YAML', () => {
|
|
95
|
-
root = makeProject();
|
|
96
|
-
writeProfile(root, 'default', 'name: default\n:::not: valid');
|
|
97
|
-
const res = loadProfile(root, 'default');
|
|
98
|
-
expect(res.ok).toBe(false);
|
|
99
|
-
});
|
|
100
|
-
it('reports profile-not-found when the file is missing', () => {
|
|
101
|
-
root = makeProject();
|
|
102
|
-
const res = loadProfile(root, 'missing');
|
|
103
|
-
expect(res.ok).toBe(false);
|
|
104
|
-
if (!res.ok) {
|
|
105
|
-
expect(res.errors[0].message).toMatch(/profile not found/);
|
|
106
|
-
}
|
|
107
|
-
});
|
|
108
|
-
it('rejects path-traversal style names without touching the filesystem', () => {
|
|
109
|
-
// Defense-in-depth: a CLI --name flag must not be able to read outside
|
|
110
|
-
// .aperant/profiles/. The slug regex is enforced before any fs call.
|
|
111
|
-
root = makeProject();
|
|
112
|
-
for (const bad of ['../etc/passwd', '..', 'foo/bar', 'A', '']) {
|
|
113
|
-
const res = loadProfile(root, bad);
|
|
114
|
-
expect(res.ok).toBe(false);
|
|
115
|
-
if (!res.ok) {
|
|
116
|
-
expect(res.errors[0].message).toMatch(/invalid profile name/);
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
});
|
|
120
|
-
});
|
|
121
|
-
describe('listProfiles', () => {
|
|
122
|
-
let root;
|
|
123
|
-
afterEach(() => {
|
|
124
|
-
if (root)
|
|
125
|
-
rmSync(root, { recursive: true, force: true });
|
|
126
|
-
});
|
|
127
|
-
it('returns [] when .aperant/profiles/ does not exist', () => {
|
|
128
|
-
root = mkdtempSync(join(tmpdir(), 'apt-profile-list-empty-'));
|
|
129
|
-
expect(listProfiles(root)).toEqual([]);
|
|
130
|
-
});
|
|
131
|
-
it('returns [] when profiles dir is empty', () => {
|
|
132
|
-
root = makeProject();
|
|
133
|
-
expect(listProfiles(root)).toEqual([]);
|
|
134
|
-
});
|
|
135
|
-
it('lists mixed valid + invalid profiles', () => {
|
|
136
|
-
root = makeProject();
|
|
137
|
-
writeProfile(root, 'default', 'name: default\n');
|
|
138
|
-
writeProfile(root, 'broken', 'name: BadName\n'); // invalid slug
|
|
139
|
-
writeProfile(root, 'team-platform', 'name: team-platform\nextends: default\n');
|
|
140
|
-
// Also drop a non-yaml file — should be ignored.
|
|
141
|
-
writeFileSync(join(root, '.aperant', 'profiles', 'README.md'), 'ignored');
|
|
142
|
-
const entries = listProfiles(root);
|
|
143
|
-
expect(entries).toHaveLength(3);
|
|
144
|
-
const byName = new Map(entries.map((e) => [e.name, e]));
|
|
145
|
-
expect(byName.get('default')?.valid).toBe(true);
|
|
146
|
-
expect(byName.get('team-platform')?.valid).toBe(true);
|
|
147
|
-
expect(byName.get('team-platform')?.extends).toBe('default');
|
|
148
|
-
expect(byName.get('broken')?.valid).toBe(false);
|
|
149
|
-
});
|
|
150
|
-
});
|
|
151
|
-
//# sourceMappingURL=profile-parse.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"profile-parse.test.js","sourceRoot":"","sources":["../../src/__tests__/profile-parse.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"profile-resolve.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/profile-resolve.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* C19 subtask 7 — profile cascade resolution unit tests.
|
|
3
|
-
*/
|
|
4
|
-
import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from 'node:fs';
|
|
5
|
-
import { tmpdir } from 'node:os';
|
|
6
|
-
import { join } from 'node:path';
|
|
7
|
-
import { afterEach, describe, expect, it } from 'vitest';
|
|
8
|
-
import { MAX_PROFILE_DEPTH, resolveProfile } from '../cli/profile/resolve.mjs';
|
|
9
|
-
function makeProject() {
|
|
10
|
-
const root = mkdtempSync(join(tmpdir(), 'apt-profile-resolve-'));
|
|
11
|
-
mkdirSync(join(root, '.aperant', 'profiles'), { recursive: true });
|
|
12
|
-
return root;
|
|
13
|
-
}
|
|
14
|
-
function writeProfile(root, name, body) {
|
|
15
|
-
const lines = [`name: ${name}`];
|
|
16
|
-
for (const [k, v] of Object.entries(body)) {
|
|
17
|
-
if (v === undefined)
|
|
18
|
-
continue;
|
|
19
|
-
if (typeof v === 'string' || typeof v === 'boolean' || typeof v === 'number') {
|
|
20
|
-
lines.push(`${k}: ${v}`);
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
lines.push(`${k}: ${JSON.stringify(v)}`);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
writeFileSync(join(root, '.aperant', 'profiles', `${name}.yaml`), `${lines.join('\n')}\n`);
|
|
27
|
-
}
|
|
28
|
-
describe('resolveProfile', () => {
|
|
29
|
-
let root;
|
|
30
|
-
afterEach(() => {
|
|
31
|
-
if (root)
|
|
32
|
-
rmSync(root, { recursive: true, force: true });
|
|
33
|
-
});
|
|
34
|
-
it('no extends → resolved equals source (minus merge_* sentinels)', () => {
|
|
35
|
-
root = makeProject();
|
|
36
|
-
writeProfile(root, 'default', {
|
|
37
|
-
description: 'root',
|
|
38
|
-
obligations: [{ id: 'o1', title: 'T', text: 'body', severity: 'must' }],
|
|
39
|
-
merge_obligations: true, // should be stripped
|
|
40
|
-
});
|
|
41
|
-
const res = resolveProfile(root, 'default');
|
|
42
|
-
expect(res.ok).toBe(true);
|
|
43
|
-
if (!res.ok)
|
|
44
|
-
return;
|
|
45
|
-
expect(res.chain).toEqual(['default']);
|
|
46
|
-
expect(res.resolved.name).toBe('default');
|
|
47
|
-
expect(Object.hasOwn(res.resolved, 'merge_obligations')).toBe(false);
|
|
48
|
-
expect(res.resolved.obligations).toHaveLength(1);
|
|
49
|
-
});
|
|
50
|
-
it('merge_obligations: true → concat + dedup by id (child wins)', () => {
|
|
51
|
-
root = makeProject();
|
|
52
|
-
writeProfile(root, 'default', {
|
|
53
|
-
obligations: [
|
|
54
|
-
{ id: 'a', title: 'A-parent', text: 'p', severity: 'must' },
|
|
55
|
-
{ id: 'b', title: 'B', text: 'p', severity: 'must' },
|
|
56
|
-
],
|
|
57
|
-
});
|
|
58
|
-
writeProfile(root, 'team', {
|
|
59
|
-
extends: 'default',
|
|
60
|
-
merge_obligations: true,
|
|
61
|
-
obligations: [
|
|
62
|
-
{ id: 'a', title: 'A-child', text: 'c', severity: 'should' }, // overrides
|
|
63
|
-
{ id: 'c', title: 'C', text: 'c', severity: 'must' },
|
|
64
|
-
],
|
|
65
|
-
});
|
|
66
|
-
const res = resolveProfile(root, 'team');
|
|
67
|
-
expect(res.ok).toBe(true);
|
|
68
|
-
if (!res.ok)
|
|
69
|
-
return;
|
|
70
|
-
expect(res.chain).toEqual(['default', 'team']);
|
|
71
|
-
const obs = res.resolved.obligations;
|
|
72
|
-
const byId = new Map(obs.map((o) => [o.id, o]));
|
|
73
|
-
expect(byId.size).toBe(3);
|
|
74
|
-
expect(byId.get('a')?.title).toBe('A-child');
|
|
75
|
-
expect(byId.get('a')?.severity).toBe('should');
|
|
76
|
-
});
|
|
77
|
-
it('merge_obligations unset → child replaces parent entirely', () => {
|
|
78
|
-
root = makeProject();
|
|
79
|
-
writeProfile(root, 'default', {
|
|
80
|
-
obligations: [{ id: 'a', title: 'A', text: 'p', severity: 'must' }],
|
|
81
|
-
});
|
|
82
|
-
writeProfile(root, 'team', {
|
|
83
|
-
extends: 'default',
|
|
84
|
-
obligations: [{ id: 'z', title: 'Z', text: 'c', severity: 'should' }],
|
|
85
|
-
});
|
|
86
|
-
const res = resolveProfile(root, 'team');
|
|
87
|
-
expect(res.ok).toBe(true);
|
|
88
|
-
if (!res.ok)
|
|
89
|
-
return;
|
|
90
|
-
expect(res.resolved.obligations).toHaveLength(1);
|
|
91
|
-
expect(res.resolved.obligations[0].id).toBe('z');
|
|
92
|
-
});
|
|
93
|
-
it('cycle a → b → a produces cycle detected', () => {
|
|
94
|
-
root = makeProject();
|
|
95
|
-
writeProfile(root, 'a', { extends: 'b' });
|
|
96
|
-
writeProfile(root, 'b', { extends: 'a' });
|
|
97
|
-
const res = resolveProfile(root, 'a');
|
|
98
|
-
expect(res.ok).toBe(false);
|
|
99
|
-
if (res.ok)
|
|
100
|
-
return;
|
|
101
|
-
expect(res.reason).toMatch(/cycle detected/);
|
|
102
|
-
});
|
|
103
|
-
it('self-cycle a → a fails', () => {
|
|
104
|
-
root = makeProject();
|
|
105
|
-
writeProfile(root, 'a', { extends: 'a' });
|
|
106
|
-
const res = resolveProfile(root, 'a');
|
|
107
|
-
expect(res.ok).toBe(false);
|
|
108
|
-
if (res.ok)
|
|
109
|
-
return;
|
|
110
|
-
expect(res.reason).toMatch(/cycle detected/);
|
|
111
|
-
});
|
|
112
|
-
it('dangling extends → unknown parent profile', () => {
|
|
113
|
-
root = makeProject();
|
|
114
|
-
writeProfile(root, 'team', { extends: 'ghost' });
|
|
115
|
-
const res = resolveProfile(root, 'team');
|
|
116
|
-
expect(res.ok).toBe(false);
|
|
117
|
-
if (res.ok)
|
|
118
|
-
return;
|
|
119
|
-
expect(res.reason).toMatch(/unknown parent profile: ghost/);
|
|
120
|
-
});
|
|
121
|
-
it('depth > 8 fails with max profile depth exceeded', () => {
|
|
122
|
-
root = makeProject();
|
|
123
|
-
// Build a 10-deep chain: p0 extends p1 extends p2 … extends p9
|
|
124
|
-
for (let i = 0; i < 10; i++) {
|
|
125
|
-
const body = {};
|
|
126
|
-
if (i < 9)
|
|
127
|
-
body.extends = `p${i + 1}`;
|
|
128
|
-
writeProfile(root, `p${i}`, body);
|
|
129
|
-
}
|
|
130
|
-
const res = resolveProfile(root, 'p0');
|
|
131
|
-
expect(res.ok).toBe(false);
|
|
132
|
-
if (res.ok)
|
|
133
|
-
return;
|
|
134
|
-
expect(res.reason).toMatch(/max profile depth exceeded/);
|
|
135
|
-
expect(MAX_PROFILE_DEPTH).toBe(8);
|
|
136
|
-
});
|
|
137
|
-
it('3-level default → team → feature with mixed merge flags folds in order', () => {
|
|
138
|
-
root = makeProject();
|
|
139
|
-
writeProfile(root, 'default', {
|
|
140
|
-
obligations: [{ id: 'a', title: 'A', text: 'p', severity: 'must' }],
|
|
141
|
-
});
|
|
142
|
-
writeProfile(root, 'team', {
|
|
143
|
-
extends: 'default',
|
|
144
|
-
merge_obligations: true,
|
|
145
|
-
obligations: [{ id: 'b', title: 'B', text: 'p', severity: 'must' }],
|
|
146
|
-
});
|
|
147
|
-
writeProfile(root, 'feature', {
|
|
148
|
-
extends: 'team',
|
|
149
|
-
merge_obligations: true,
|
|
150
|
-
obligations: [{ id: 'c', title: 'C', text: 'p', severity: 'must' }],
|
|
151
|
-
});
|
|
152
|
-
const res = resolveProfile(root, 'feature');
|
|
153
|
-
expect(res.ok).toBe(true);
|
|
154
|
-
if (!res.ok)
|
|
155
|
-
return;
|
|
156
|
-
expect(res.chain).toEqual(['default', 'team', 'feature']);
|
|
157
|
-
const ids = res.resolved.obligations.map((o) => o.id).sort();
|
|
158
|
-
expect(ids).toEqual(['a', 'b', 'c']);
|
|
159
|
-
});
|
|
160
|
-
it('merge_conventions / merge_tooling shallow-merge child-wins per key', () => {
|
|
161
|
-
root = makeProject();
|
|
162
|
-
writeProfile(root, 'default', {
|
|
163
|
-
conventions: { imports: 'extension', other: 'keep' },
|
|
164
|
-
tooling: { linter: 'eslint', test: 'jest' },
|
|
165
|
-
});
|
|
166
|
-
writeProfile(root, 'team', {
|
|
167
|
-
extends: 'default',
|
|
168
|
-
merge_conventions: true,
|
|
169
|
-
merge_tooling: true,
|
|
170
|
-
conventions: { imports: 'extensionless' }, // override one key
|
|
171
|
-
tooling: { linter: 'biome' },
|
|
172
|
-
});
|
|
173
|
-
const res = resolveProfile(root, 'team');
|
|
174
|
-
expect(res.ok).toBe(true);
|
|
175
|
-
if (!res.ok)
|
|
176
|
-
return;
|
|
177
|
-
expect(res.resolved.conventions).toEqual({ imports: 'extensionless', other: 'keep' });
|
|
178
|
-
expect(res.resolved.tooling).toEqual({ linter: 'biome', test: 'jest' });
|
|
179
|
-
});
|
|
180
|
-
});
|
|
181
|
-
//# sourceMappingURL=profile-resolve.test.js.map
|