@adammcarter/use-cases 0.1.0
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/.agents/skills/migration/SKILL.md +85 -0
- package/.agents/skills/showcase/SKILL.md +60 -0
- package/.agents/skills/use-cases/SKILL.md +161 -0
- package/.agents/skills/walkthrough/SKILL.md +48 -0
- package/.claude-plugin/plugin.json +14 -0
- package/.codex-plugin/plugin.json +33 -0
- package/.mcp.json +8 -0
- package/.opencode/plugin/use-cases.js +32 -0
- package/CHANGELOG.md +125 -0
- package/LICENSE +21 -0
- package/README.md +112 -0
- package/bootstrap/use-cases.md +60 -0
- package/docs/README.md +51 -0
- package/docs/acceptance.md +16 -0
- package/docs/activation.md +89 -0
- package/docs/adr/0001-p0-bootstrap-decisions.md +107 -0
- package/docs/adr/0002-p1-schema-contracts.md +136 -0
- package/docs/adr/0003-p2-use-case-matrix-contracts.md +67 -0
- package/docs/adr/0004-p3-evidence-ledger-contracts.md +85 -0
- package/docs/adr/0005-p4-cli-contract.md +70 -0
- package/docs/adr/0006-trusted-user-approval-path.md +125 -0
- package/docs/cli.md +108 -0
- package/docs/data-model.md +56 -0
- package/docs/getting-started.md +296 -0
- package/docs/hosts.md +30 -0
- package/docs/markers-adoption.md +100 -0
- package/docs/mcp.md +114 -0
- package/docs/migration.md +90 -0
- package/docs/reference/error-codes.md +123 -0
- package/docs/reference/stability.md +123 -0
- package/docs/release.md +26 -0
- package/docs/security/ci-hardening.md +144 -0
- package/docs/security/key-management.md +158 -0
- package/docs/security.md +66 -0
- package/docs/showcase.md +39 -0
- package/docs/tutorials/python-pytest.md +188 -0
- package/examples/basic-product/demo-capsules/product-search.yml +23 -0
- package/examples/basic-product/evidence/by-id/ev/evidence-basic-search.jsonl +1 -0
- package/examples/basic-product/showcase-runs/run.basic.product.search/events.jsonl +4 -0
- package/examples/basic-product/use-cases/product.yml +85 -0
- package/examples/basic-product/use-cases.yml +9 -0
- package/examples/damaged-product/evidence/broken.jsonl +1 -0
- package/examples/damaged-product/use-cases/duplicate-a.yml +28 -0
- package/examples/damaged-product/use-cases/duplicate-b.yml +28 -0
- package/examples/damaged-product/use-cases/malformed.yml +14 -0
- package/examples/damaged-product/use-cases/valid-sibling.yml +28 -0
- package/examples/damaged-product/use-cases.yml +9 -0
- package/examples/host-projections/use-cases.yml +9 -0
- package/examples/python-pytest/README.md +39 -0
- package/examples/python-pytest/pytest.ini +8 -0
- package/examples/python-pytest/src/coupon.py +32 -0
- package/examples/python-pytest/tests/use_cases/example.checkout.apply_coupon_test.py +31 -0
- package/examples/python-pytest/use-cases/checkout.yml +47 -0
- package/examples/python-pytest/use-cases.yml +19 -0
- package/hooks/hooks-codex.json +16 -0
- package/hooks/hooks.json +16 -0
- package/hooks/session-start +42 -0
- package/hosts/claude.yml +29 -0
- package/hosts/codex.yml +29 -0
- package/hosts/copilot.yml +29 -0
- package/hosts/opencode.yml +29 -0
- package/package.json +81 -0
- package/packages/cli/README.md +37 -0
- package/packages/cli/dist/args/parse.d.ts +6 -0
- package/packages/cli/dist/args/parse.d.ts.map +1 -0
- package/packages/cli/dist/args/parse.js +55 -0
- package/packages/cli/dist/args/parse.js.map +1 -0
- package/packages/cli/dist/args/validate.d.ts +3 -0
- package/packages/cli/dist/args/validate.d.ts.map +1 -0
- package/packages/cli/dist/args/validate.js +80 -0
- package/packages/cli/dist/args/validate.js.map +1 -0
- package/packages/cli/dist/builtins.d.ts +2 -0
- package/packages/cli/dist/builtins.d.ts.map +1 -0
- package/packages/cli/dist/builtins.js +235 -0
- package/packages/cli/dist/builtins.js.map +1 -0
- package/packages/cli/dist/command/dispatch.d.ts +4 -0
- package/packages/cli/dist/command/dispatch.d.ts.map +1 -0
- package/packages/cli/dist/command/dispatch.js +45 -0
- package/packages/cli/dist/command/dispatch.js.map +1 -0
- package/packages/cli/dist/command/help-catalog.d.ts +13 -0
- package/packages/cli/dist/command/help-catalog.d.ts.map +1 -0
- package/packages/cli/dist/command/help-catalog.js +42 -0
- package/packages/cli/dist/command/help-catalog.js.map +1 -0
- package/packages/cli/dist/command/registry.d.ts +3 -0
- package/packages/cli/dist/command/registry.d.ts.map +1 -0
- package/packages/cli/dist/command/registry.js +33 -0
- package/packages/cli/dist/command/registry.js.map +1 -0
- package/packages/cli/dist/command/types.d.ts +32 -0
- package/packages/cli/dist/command/types.d.ts.map +1 -0
- package/packages/cli/dist/command/types.js +6 -0
- package/packages/cli/dist/command/types.js.map +1 -0
- package/packages/cli/dist/commands/capsule.d.ts +7 -0
- package/packages/cli/dist/commands/capsule.d.ts.map +1 -0
- package/packages/cli/dist/commands/capsule.js +178 -0
- package/packages/cli/dist/commands/capsule.js.map +1 -0
- package/packages/cli/dist/commands/common.d.ts +7 -0
- package/packages/cli/dist/commands/common.d.ts.map +1 -0
- package/packages/cli/dist/commands/common.js +32 -0
- package/packages/cli/dist/commands/common.js.map +1 -0
- package/packages/cli/dist/commands/doctor.d.ts +6 -0
- package/packages/cli/dist/commands/doctor.d.ts.map +1 -0
- package/packages/cli/dist/commands/doctor.js +133 -0
- package/packages/cli/dist/commands/doctor.js.map +1 -0
- package/packages/cli/dist/commands/evidence.d.ts +6 -0
- package/packages/cli/dist/commands/evidence.d.ts.map +1 -0
- package/packages/cli/dist/commands/evidence.js +191 -0
- package/packages/cli/dist/commands/evidence.js.map +1 -0
- package/packages/cli/dist/commands/host.d.ts +6 -0
- package/packages/cli/dist/commands/host.d.ts.map +1 -0
- package/packages/cli/dist/commands/host.js +180 -0
- package/packages/cli/dist/commands/host.js.map +1 -0
- package/packages/cli/dist/commands/keygen.d.ts +4 -0
- package/packages/cli/dist/commands/keygen.d.ts.map +1 -0
- package/packages/cli/dist/commands/keygen.js +132 -0
- package/packages/cli/dist/commands/keygen.js.map +1 -0
- package/packages/cli/dist/commands/markers.d.ts +8 -0
- package/packages/cli/dist/commands/markers.d.ts.map +1 -0
- package/packages/cli/dist/commands/markers.js +455 -0
- package/packages/cli/dist/commands/markers.js.map +1 -0
- package/packages/cli/dist/commands/matrix.d.ts +8 -0
- package/packages/cli/dist/commands/matrix.d.ts.map +1 -0
- package/packages/cli/dist/commands/matrix.js +237 -0
- package/packages/cli/dist/commands/matrix.js.map +1 -0
- package/packages/cli/dist/commands/migrate.d.ts +4 -0
- package/packages/cli/dist/commands/migrate.d.ts.map +1 -0
- package/packages/cli/dist/commands/migrate.js +82 -0
- package/packages/cli/dist/commands/migrate.js.map +1 -0
- package/packages/cli/dist/commands/plan.d.ts +6 -0
- package/packages/cli/dist/commands/plan.d.ts.map +1 -0
- package/packages/cli/dist/commands/plan.js +129 -0
- package/packages/cli/dist/commands/plan.js.map +1 -0
- package/packages/cli/dist/commands/recover.d.ts +4 -0
- package/packages/cli/dist/commands/recover.d.ts.map +1 -0
- package/packages/cli/dist/commands/recover.js +352 -0
- package/packages/cli/dist/commands/recover.js.map +1 -0
- package/packages/cli/dist/commands/schema.d.ts +5 -0
- package/packages/cli/dist/commands/schema.d.ts.map +1 -0
- package/packages/cli/dist/commands/schema.js +51 -0
- package/packages/cli/dist/commands/schema.js.map +1 -0
- package/packages/cli/dist/commands/showcase.d.ts +14 -0
- package/packages/cli/dist/commands/showcase.d.ts.map +1 -0
- package/packages/cli/dist/commands/showcase.js +638 -0
- package/packages/cli/dist/commands/showcase.js.map +1 -0
- package/packages/cli/dist/commands/workflow.d.ts +5 -0
- package/packages/cli/dist/commands/workflow.d.ts.map +1 -0
- package/packages/cli/dist/commands/workflow.js +107 -0
- package/packages/cli/dist/commands/workflow.js.map +1 -0
- package/packages/cli/dist/coreLoader.d.ts +6 -0
- package/packages/cli/dist/coreLoader.d.ts.map +1 -0
- package/packages/cli/dist/coreLoader.js +34 -0
- package/packages/cli/dist/coreLoader.js.map +1 -0
- package/packages/cli/dist/index.d.ts +5 -0
- package/packages/cli/dist/index.d.ts.map +1 -0
- package/packages/cli/dist/index.js +83 -0
- package/packages/cli/dist/index.js.map +1 -0
- package/packages/cli/dist/render.d.ts +2 -0
- package/packages/cli/dist/render.d.ts.map +1 -0
- package/packages/cli/dist/render.js +88 -0
- package/packages/cli/dist/render.js.map +1 -0
- package/packages/cli/dist/runtime.d.ts +25 -0
- package/packages/cli/dist/runtime.d.ts.map +1 -0
- package/packages/cli/dist/runtime.js +89 -0
- package/packages/cli/dist/runtime.js.map +1 -0
- package/packages/cli/package.json +38 -0
- package/packages/core/README.md +37 -0
- package/packages/core/dist/capsules/index.d.ts +4 -0
- package/packages/core/dist/capsules/index.d.ts.map +1 -0
- package/packages/core/dist/capsules/index.js +4 -0
- package/packages/core/dist/capsules/index.js.map +1 -0
- package/packages/core/dist/capsules/loadCapsule.d.ts +11 -0
- package/packages/core/dist/capsules/loadCapsule.d.ts.map +1 -0
- package/packages/core/dist/capsules/loadCapsule.js +167 -0
- package/packages/core/dist/capsules/loadCapsule.js.map +1 -0
- package/packages/core/dist/capsules/runCapsule.d.ts +3 -0
- package/packages/core/dist/capsules/runCapsule.d.ts.map +1 -0
- package/packages/core/dist/capsules/runCapsule.js +333 -0
- package/packages/core/dist/capsules/runCapsule.js.map +1 -0
- package/packages/core/dist/capsules/types.d.ts +106 -0
- package/packages/core/dist/capsules/types.d.ts.map +1 -0
- package/packages/core/dist/capsules/types.js +2 -0
- package/packages/core/dist/capsules/types.js.map +1 -0
- package/packages/core/dist/durableWrite.d.ts +2 -0
- package/packages/core/dist/durableWrite.d.ts.map +1 -0
- package/packages/core/dist/durableWrite.js +34 -0
- package/packages/core/dist/durableWrite.js.map +1 -0
- package/packages/core/dist/errors/registry.d.ts +122 -0
- package/packages/core/dist/errors/registry.d.ts.map +1 -0
- package/packages/core/dist/errors/registry.js +206 -0
- package/packages/core/dist/errors/registry.js.map +1 -0
- package/packages/core/dist/errors/render.d.ts +3 -0
- package/packages/core/dist/errors/render.d.ts.map +1 -0
- package/packages/core/dist/errors/render.js +64 -0
- package/packages/core/dist/errors/render.js.map +1 -0
- package/packages/core/dist/errors.d.ts +5 -0
- package/packages/core/dist/errors.d.ts.map +1 -0
- package/packages/core/dist/errors.js +9 -0
- package/packages/core/dist/errors.js.map +1 -0
- package/packages/core/dist/evidence/appendEvidenceEvent.d.ts +27 -0
- package/packages/core/dist/evidence/appendEvidenceEvent.d.ts.map +1 -0
- package/packages/core/dist/evidence/appendEvidenceEvent.js +218 -0
- package/packages/core/dist/evidence/appendEvidenceEvent.js.map +1 -0
- package/packages/core/dist/evidence/assurance.d.ts +18 -0
- package/packages/core/dist/evidence/assurance.d.ts.map +1 -0
- package/packages/core/dist/evidence/assurance.js +38 -0
- package/packages/core/dist/evidence/assurance.js.map +1 -0
- package/packages/core/dist/evidence/index.d.ts +8 -0
- package/packages/core/dist/evidence/index.d.ts.map +1 -0
- package/packages/core/dist/evidence/index.js +8 -0
- package/packages/core/dist/evidence/index.js.map +1 -0
- package/packages/core/dist/evidence/jsonlLedger.d.ts +13 -0
- package/packages/core/dist/evidence/jsonlLedger.d.ts.map +1 -0
- package/packages/core/dist/evidence/jsonlLedger.js +171 -0
- package/packages/core/dist/evidence/jsonlLedger.js.map +1 -0
- package/packages/core/dist/evidence/linkEvidence.d.ts +4 -0
- package/packages/core/dist/evidence/linkEvidence.d.ts.map +1 -0
- package/packages/core/dist/evidence/linkEvidence.js +53 -0
- package/packages/core/dist/evidence/linkEvidence.js.map +1 -0
- package/packages/core/dist/evidence/replayEvidence.d.ts +6 -0
- package/packages/core/dist/evidence/replayEvidence.d.ts.map +1 -0
- package/packages/core/dist/evidence/replayEvidence.js +216 -0
- package/packages/core/dist/evidence/replayEvidence.js.map +1 -0
- package/packages/core/dist/evidence/results.d.ts +4 -0
- package/packages/core/dist/evidence/results.d.ts.map +1 -0
- package/packages/core/dist/evidence/results.js +32 -0
- package/packages/core/dist/evidence/results.js.map +1 -0
- package/packages/core/dist/evidence/types.d.ts +149 -0
- package/packages/core/dist/evidence/types.d.ts.map +1 -0
- package/packages/core/dist/evidence/types.js +2 -0
- package/packages/core/dist/evidence/types.js.map +1 -0
- package/packages/core/dist/host-profiles/claude.yml +29 -0
- package/packages/core/dist/host-profiles/codex.yml +29 -0
- package/packages/core/dist/host-profiles/copilot.yml +29 -0
- package/packages/core/dist/host-profiles/opencode.yml +29 -0
- package/packages/core/dist/hosts/conformanceStatus.d.ts +16 -0
- package/packages/core/dist/hosts/conformanceStatus.d.ts.map +1 -0
- package/packages/core/dist/hosts/conformanceStatus.js +160 -0
- package/packages/core/dist/hosts/conformanceStatus.js.map +1 -0
- package/packages/core/dist/hosts/index.d.ts +5 -0
- package/packages/core/dist/hosts/index.d.ts.map +1 -0
- package/packages/core/dist/hosts/index.js +5 -0
- package/packages/core/dist/hosts/index.js.map +1 -0
- package/packages/core/dist/hosts/loadHostProfile.d.ts +6 -0
- package/packages/core/dist/hosts/loadHostProfile.d.ts.map +1 -0
- package/packages/core/dist/hosts/loadHostProfile.js +41 -0
- package/packages/core/dist/hosts/loadHostProfile.js.map +1 -0
- package/packages/core/dist/hosts/projectHostFiles.d.ts +16 -0
- package/packages/core/dist/hosts/projectHostFiles.d.ts.map +1 -0
- package/packages/core/dist/hosts/projectHostFiles.js +272 -0
- package/packages/core/dist/hosts/projectHostFiles.js.map +1 -0
- package/packages/core/dist/hosts/types.d.ts +122 -0
- package/packages/core/dist/hosts/types.d.ts.map +1 -0
- package/packages/core/dist/hosts/types.js +2 -0
- package/packages/core/dist/hosts/types.js.map +1 -0
- package/packages/core/dist/index.d.ts +26 -0
- package/packages/core/dist/index.d.ts.map +1 -0
- package/packages/core/dist/index.js +31 -0
- package/packages/core/dist/index.js.map +1 -0
- package/packages/core/dist/init/index.d.ts +2 -0
- package/packages/core/dist/init/index.d.ts.map +1 -0
- package/packages/core/dist/init/index.js +3 -0
- package/packages/core/dist/init/index.js.map +1 -0
- package/packages/core/dist/init/scaffold.d.ts +28 -0
- package/packages/core/dist/init/scaffold.d.ts.map +1 -0
- package/packages/core/dist/init/scaffold.js +293 -0
- package/packages/core/dist/init/scaffold.js.map +1 -0
- package/packages/core/dist/markers/appendOnly.d.ts +23 -0
- package/packages/core/dist/markers/appendOnly.d.ts.map +1 -0
- package/packages/core/dist/markers/appendOnly.js +75 -0
- package/packages/core/dist/markers/appendOnly.js.map +1 -0
- package/packages/core/dist/markers/bindingSetHash.d.ts +28 -0
- package/packages/core/dist/markers/bindingSetHash.d.ts.map +1 -0
- package/packages/core/dist/markers/bindingSetHash.js +33 -0
- package/packages/core/dist/markers/bindingSetHash.js.map +1 -0
- package/packages/core/dist/markers/canonicalJson.d.ts +4 -0
- package/packages/core/dist/markers/canonicalJson.d.ts.map +1 -0
- package/packages/core/dist/markers/canonicalJson.js +51 -0
- package/packages/core/dist/markers/canonicalJson.js.map +1 -0
- package/packages/core/dist/markers/ciAuthority.d.ts +17 -0
- package/packages/core/dist/markers/ciAuthority.d.ts.map +1 -0
- package/packages/core/dist/markers/ciAuthority.js +131 -0
- package/packages/core/dist/markers/ciAuthority.js.map +1 -0
- package/packages/core/dist/markers/cli/bind.d.ts +48 -0
- package/packages/core/dist/markers/cli/bind.d.ts.map +1 -0
- package/packages/core/dist/markers/cli/bind.js +198 -0
- package/packages/core/dist/markers/cli/bind.js.map +1 -0
- package/packages/core/dist/markers/cli/index.d.ts +9 -0
- package/packages/core/dist/markers/cli/index.d.ts.map +1 -0
- package/packages/core/dist/markers/cli/index.js +15 -0
- package/packages/core/dist/markers/cli/index.js.map +1 -0
- package/packages/core/dist/markers/cli/io.d.ts +18 -0
- package/packages/core/dist/markers/cli/io.d.ts.map +1 -0
- package/packages/core/dist/markers/cli/io.js +62 -0
- package/packages/core/dist/markers/cli/io.js.map +1 -0
- package/packages/core/dist/markers/cli/precommit.d.ts +32 -0
- package/packages/core/dist/markers/cli/precommit.d.ts.map +1 -0
- package/packages/core/dist/markers/cli/precommit.js +174 -0
- package/packages/core/dist/markers/cli/precommit.js.map +1 -0
- package/packages/core/dist/markers/cli/prove.d.ts +69 -0
- package/packages/core/dist/markers/cli/prove.d.ts.map +1 -0
- package/packages/core/dist/markers/cli/prove.js +381 -0
- package/packages/core/dist/markers/cli/prove.js.map +1 -0
- package/packages/core/dist/markers/cli/scan.d.ts +63 -0
- package/packages/core/dist/markers/cli/scan.d.ts.map +1 -0
- package/packages/core/dist/markers/cli/scan.js +233 -0
- package/packages/core/dist/markers/cli/scan.js.map +1 -0
- package/packages/core/dist/markers/cli/shared.d.ts +25 -0
- package/packages/core/dist/markers/cli/shared.d.ts.map +1 -0
- package/packages/core/dist/markers/cli/shared.js +123 -0
- package/packages/core/dist/markers/cli/shared.js.map +1 -0
- package/packages/core/dist/markers/cli/validateLedger.d.ts +38 -0
- package/packages/core/dist/markers/cli/validateLedger.d.ts.map +1 -0
- package/packages/core/dist/markers/cli/validateLedger.js +81 -0
- package/packages/core/dist/markers/cli/validateLedger.js.map +1 -0
- package/packages/core/dist/markers/cli/verify.d.ts +65 -0
- package/packages/core/dist/markers/cli/verify.d.ts.map +1 -0
- package/packages/core/dist/markers/cli/verify.js +245 -0
- package/packages/core/dist/markers/cli/verify.js.map +1 -0
- package/packages/core/dist/markers/commentPrefix.d.ts +7 -0
- package/packages/core/dist/markers/commentPrefix.d.ts.map +1 -0
- package/packages/core/dist/markers/commentPrefix.js +79 -0
- package/packages/core/dist/markers/commentPrefix.js.map +1 -0
- package/packages/core/dist/markers/constants.d.ts +10 -0
- package/packages/core/dist/markers/constants.d.ts.map +1 -0
- package/packages/core/dist/markers/constants.js +13 -0
- package/packages/core/dist/markers/constants.js.map +1 -0
- package/packages/core/dist/markers/evidenceLedger.d.ts +150 -0
- package/packages/core/dist/markers/evidenceLedger.d.ts.map +1 -0
- package/packages/core/dist/markers/evidenceLedger.js +391 -0
- package/packages/core/dist/markers/evidenceLedger.js.map +1 -0
- package/packages/core/dist/markers/freshness.d.ts +125 -0
- package/packages/core/dist/markers/freshness.d.ts.map +1 -0
- package/packages/core/dist/markers/freshness.js +605 -0
- package/packages/core/dist/markers/freshness.js.map +1 -0
- package/packages/core/dist/markers/index.d.ts +26 -0
- package/packages/core/dist/markers/index.d.ts.map +1 -0
- package/packages/core/dist/markers/index.js +38 -0
- package/packages/core/dist/markers/index.js.map +1 -0
- package/packages/core/dist/markers/keygen.d.ts +6 -0
- package/packages/core/dist/markers/keygen.d.ts.map +1 -0
- package/packages/core/dist/markers/keygen.js +18 -0
- package/packages/core/dist/markers/keygen.js.map +1 -0
- package/packages/core/dist/markers/keyring.d.ts +23 -0
- package/packages/core/dist/markers/keyring.d.ts.map +1 -0
- package/packages/core/dist/markers/keyring.js +93 -0
- package/packages/core/dist/markers/keyring.js.map +1 -0
- package/packages/core/dist/markers/markerLine.d.ts +35 -0
- package/packages/core/dist/markers/markerLine.d.ts.map +1 -0
- package/packages/core/dist/markers/markerLine.js +125 -0
- package/packages/core/dist/markers/markerLine.js.map +1 -0
- package/packages/core/dist/markers/physicalLines.d.ts +10 -0
- package/packages/core/dist/markers/physicalLines.d.ts.map +1 -0
- package/packages/core/dist/markers/physicalLines.js +48 -0
- package/packages/core/dist/markers/physicalLines.js.map +1 -0
- package/packages/core/dist/markers/policyHash.d.ts +4 -0
- package/packages/core/dist/markers/policyHash.d.ts.map +1 -0
- package/packages/core/dist/markers/policyHash.js +14 -0
- package/packages/core/dist/markers/policyHash.js.map +1 -0
- package/packages/core/dist/markers/proofSignature.d.ts +29 -0
- package/packages/core/dist/markers/proofSignature.d.ts.map +1 -0
- package/packages/core/dist/markers/proofSignature.js +106 -0
- package/packages/core/dist/markers/proofSignature.js.map +1 -0
- package/packages/core/dist/markers/reconcile.d.ts +26 -0
- package/packages/core/dist/markers/reconcile.d.ts.map +1 -0
- package/packages/core/dist/markers/reconcile.js +52 -0
- package/packages/core/dist/markers/reconcile.js.map +1 -0
- package/packages/core/dist/markers/registry.d.ts +53 -0
- package/packages/core/dist/markers/registry.d.ts.map +1 -0
- package/packages/core/dist/markers/registry.js +161 -0
- package/packages/core/dist/markers/registry.js.map +1 -0
- package/packages/core/dist/markers/rowHash.d.ts +2 -0
- package/packages/core/dist/markers/rowHash.d.ts.map +1 -0
- package/packages/core/dist/markers/rowHash.js +10 -0
- package/packages/core/dist/markers/rowHash.js.map +1 -0
- package/packages/core/dist/markers/scanner.d.ts +67 -0
- package/packages/core/dist/markers/scanner.d.ts.map +1 -0
- package/packages/core/dist/markers/scanner.js +292 -0
- package/packages/core/dist/markers/scanner.js.map +1 -0
- package/packages/core/dist/markers/schemas/binding-registry-event.schema.json +41 -0
- package/packages/core/dist/markers/schemas/freshness-status.schema.json +134 -0
- package/packages/core/dist/markers/schemas/proof-event.schema.json +170 -0
- package/packages/core/dist/markers/spanCanon.d.ts +4 -0
- package/packages/core/dist/markers/spanCanon.d.ts.map +1 -0
- package/packages/core/dist/markers/spanCanon.js +42 -0
- package/packages/core/dist/markers/spanCanon.js.map +1 -0
- package/packages/core/dist/markers/swiftFuncRecognizer.d.ts +36 -0
- package/packages/core/dist/markers/swiftFuncRecognizer.d.ts.map +1 -0
- package/packages/core/dist/markers/swiftFuncRecognizer.js +638 -0
- package/packages/core/dist/markers/swiftFuncRecognizer.js.map +1 -0
- package/packages/core/dist/markers/validators.d.ts +13 -0
- package/packages/core/dist/markers/validators.d.ts.map +1 -0
- package/packages/core/dist/markers/validators.js +64 -0
- package/packages/core/dist/markers/validators.js.map +1 -0
- package/packages/core/dist/markers/verificationContextHash.d.ts +23 -0
- package/packages/core/dist/markers/verificationContextHash.d.ts.map +1 -0
- package/packages/core/dist/markers/verificationContextHash.js +96 -0
- package/packages/core/dist/markers/verificationContextHash.js.map +1 -0
- package/packages/core/dist/markers/verifierPresets.d.ts +18 -0
- package/packages/core/dist/markers/verifierPresets.d.ts.map +1 -0
- package/packages/core/dist/markers/verifierPresets.js +71 -0
- package/packages/core/dist/markers/verifierPresets.js.map +1 -0
- package/packages/core/dist/markers/verifierResolver.d.ts +27 -0
- package/packages/core/dist/markers/verifierResolver.d.ts.map +1 -0
- package/packages/core/dist/markers/verifierResolver.js +151 -0
- package/packages/core/dist/markers/verifierResolver.js.map +1 -0
- package/packages/core/dist/migration/index.d.ts +2 -0
- package/packages/core/dist/migration/index.d.ts.map +1 -0
- package/packages/core/dist/migration/index.js +2 -0
- package/packages/core/dist/migration/index.js.map +1 -0
- package/packages/core/dist/migration/testMatrix.d.ts +42 -0
- package/packages/core/dist/migration/testMatrix.d.ts.map +1 -0
- package/packages/core/dist/migration/testMatrix.js +351 -0
- package/packages/core/dist/migration/testMatrix.js.map +1 -0
- package/packages/core/dist/package/index.d.ts +2 -0
- package/packages/core/dist/package/index.d.ts.map +1 -0
- package/packages/core/dist/package/index.js +2 -0
- package/packages/core/dist/package/index.js.map +1 -0
- package/packages/core/dist/package/inspectPackage.d.ts +67 -0
- package/packages/core/dist/package/inspectPackage.d.ts.map +1 -0
- package/packages/core/dist/package/inspectPackage.js +371 -0
- package/packages/core/dist/package/inspectPackage.js.map +1 -0
- package/packages/core/dist/presentation/candidates.d.ts +13 -0
- package/packages/core/dist/presentation/candidates.d.ts.map +1 -0
- package/packages/core/dist/presentation/candidates.js +86 -0
- package/packages/core/dist/presentation/candidates.js.map +1 -0
- package/packages/core/dist/presentation/index.d.ts +8 -0
- package/packages/core/dist/presentation/index.d.ts.map +1 -0
- package/packages/core/dist/presentation/index.js +8 -0
- package/packages/core/dist/presentation/index.js.map +1 -0
- package/packages/core/dist/presentation/items.d.ts +18 -0
- package/packages/core/dist/presentation/items.d.ts.map +1 -0
- package/packages/core/dist/presentation/items.js +228 -0
- package/packages/core/dist/presentation/items.js.map +1 -0
- package/packages/core/dist/presentation/ordering.d.ts +8 -0
- package/packages/core/dist/presentation/ordering.d.ts.map +1 -0
- package/packages/core/dist/presentation/ordering.js +31 -0
- package/packages/core/dist/presentation/ordering.js.map +1 -0
- package/packages/core/dist/presentation/planHelpers.d.ts +26 -0
- package/packages/core/dist/presentation/planHelpers.d.ts.map +1 -0
- package/packages/core/dist/presentation/planHelpers.js +62 -0
- package/packages/core/dist/presentation/planHelpers.js.map +1 -0
- package/packages/core/dist/presentation/presentationFormat.d.ts +39 -0
- package/packages/core/dist/presentation/presentationFormat.d.ts.map +1 -0
- package/packages/core/dist/presentation/presentationFormat.js +58 -0
- package/packages/core/dist/presentation/presentationFormat.js.map +1 -0
- package/packages/core/dist/presentation/renderCard.d.ts +37 -0
- package/packages/core/dist/presentation/renderCard.d.ts.map +1 -0
- package/packages/core/dist/presentation/renderCard.js +129 -0
- package/packages/core/dist/presentation/renderCard.js.map +1 -0
- package/packages/core/dist/presentation/scoring.d.ts +10 -0
- package/packages/core/dist/presentation/scoring.d.ts.map +1 -0
- package/packages/core/dist/presentation/scoring.js +82 -0
- package/packages/core/dist/presentation/scoring.js.map +1 -0
- package/packages/core/dist/presentation/selectPlan.d.ts +4 -0
- package/packages/core/dist/presentation/selectPlan.d.ts.map +1 -0
- package/packages/core/dist/presentation/selectPlan.js +122 -0
- package/packages/core/dist/presentation/selectPlan.js.map +1 -0
- package/packages/core/dist/presentation/selectShowcasePlan.d.ts +3 -0
- package/packages/core/dist/presentation/selectShowcasePlan.d.ts.map +1 -0
- package/packages/core/dist/presentation/selectShowcasePlan.js +6 -0
- package/packages/core/dist/presentation/selectShowcasePlan.js.map +1 -0
- package/packages/core/dist/presentation/selectWalkthroughPlan.d.ts +3 -0
- package/packages/core/dist/presentation/selectWalkthroughPlan.d.ts.map +1 -0
- package/packages/core/dist/presentation/selectWalkthroughPlan.js +6 -0
- package/packages/core/dist/presentation/selectWalkthroughPlan.js.map +1 -0
- package/packages/core/dist/presentation/selection.d.ts +7 -0
- package/packages/core/dist/presentation/selection.d.ts.map +1 -0
- package/packages/core/dist/presentation/selection.js +20 -0
- package/packages/core/dist/presentation/selection.js.map +1 -0
- package/packages/core/dist/presentation/snapshot.d.ts +12 -0
- package/packages/core/dist/presentation/snapshot.d.ts.map +1 -0
- package/packages/core/dist/presentation/snapshot.js +53 -0
- package/packages/core/dist/presentation/snapshot.js.map +1 -0
- package/packages/core/dist/presentation/types.d.ts +172 -0
- package/packages/core/dist/presentation/types.d.ts.map +1 -0
- package/packages/core/dist/presentation/types.js +2 -0
- package/packages/core/dist/presentation/types.js.map +1 -0
- package/packages/core/dist/redact.d.ts +11 -0
- package/packages/core/dist/redact.d.ts.map +1 -0
- package/packages/core/dist/redact.js +17 -0
- package/packages/core/dist/redact.js.map +1 -0
- package/packages/core/dist/roots.d.ts +81 -0
- package/packages/core/dist/roots.d.ts.map +1 -0
- package/packages/core/dist/roots.js +220 -0
- package/packages/core/dist/roots.js.map +1 -0
- package/packages/core/dist/schema/cliResult.d.ts +34 -0
- package/packages/core/dist/schema/cliResult.d.ts.map +1 -0
- package/packages/core/dist/schema/cliResult.js +35 -0
- package/packages/core/dist/schema/cliResult.js.map +1 -0
- package/packages/core/dist/schema/diagnostic.d.ts +26 -0
- package/packages/core/dist/schema/diagnostic.d.ts.map +1 -0
- package/packages/core/dist/schema/diagnostic.js +28 -0
- package/packages/core/dist/schema/diagnostic.js.map +1 -0
- package/packages/core/dist/schema/index.d.ts +8 -0
- package/packages/core/dist/schema/index.d.ts.map +1 -0
- package/packages/core/dist/schema/index.js +9 -0
- package/packages/core/dist/schema/index.js.map +1 -0
- package/packages/core/dist/schema/registry.d.ts +15 -0
- package/packages/core/dist/schema/registry.d.ts.map +1 -0
- package/packages/core/dist/schema/registry.js +206 -0
- package/packages/core/dist/schema/registry.js.map +1 -0
- package/packages/core/dist/schema/syntheticContracts.d.ts +3 -0
- package/packages/core/dist/schema/syntheticContracts.d.ts.map +1 -0
- package/packages/core/dist/schema/syntheticContracts.js +342 -0
- package/packages/core/dist/schema/syntheticContracts.js.map +1 -0
- package/packages/core/dist/schema/validate.d.ts +21 -0
- package/packages/core/dist/schema/validate.d.ts.map +1 -0
- package/packages/core/dist/schema/validate.js +210 -0
- package/packages/core/dist/schema/validate.js.map +1 -0
- package/packages/core/dist/schemas/v1/authority.schema.json +70 -0
- package/packages/core/dist/schemas/v1/cli-result.schema.json +30 -0
- package/packages/core/dist/schemas/v1/common.schema.json +274 -0
- package/packages/core/dist/schemas/v1/demo-capsule.schema.json +78 -0
- package/packages/core/dist/schemas/v1/evidence-append-result.schema.json +14 -0
- package/packages/core/dist/schemas/v1/evidence-event.schema.json +181 -0
- package/packages/core/dist/schemas/v1/evidence-status-result.schema.json +68 -0
- package/packages/core/dist/schemas/v1/host-profile.schema.json +94 -0
- package/packages/core/dist/schemas/v1/host-status-result.schema.json +49 -0
- package/packages/core/dist/schemas/v1/keyring.schema.json +77 -0
- package/packages/core/dist/schemas/v1/ledger.schema.json +99 -0
- package/packages/core/dist/schemas/v1/marker.schema.json +84 -0
- package/packages/core/dist/schemas/v1/matrix-list-result.schema.json +67 -0
- package/packages/core/dist/schemas/v1/matrix-mutation-result.schema.json +49 -0
- package/packages/core/dist/schemas/v1/matrix-validation-result.schema.json +77 -0
- package/packages/core/dist/schemas/v1/mcp-tool-results.schema.json +34 -0
- package/packages/core/dist/schemas/v1/migration-test-matrix-result.schema.json +76 -0
- package/packages/core/dist/schemas/v1/presentation-plan-result.schema.json +62 -0
- package/packages/core/dist/schemas/v1/presentation-plan.schema.json +259 -0
- package/packages/core/dist/schemas/v1/release-gate-result.schema.json +136 -0
- package/packages/core/dist/schemas/v1/showcase-approval-result.schema.json +5 -0
- package/packages/core/dist/schemas/v1/showcase-event-append-result.schema.json +17 -0
- package/packages/core/dist/schemas/v1/showcase-event.schema.json +235 -0
- package/packages/core/dist/schemas/v1/showcase-finish-result.schema.json +5 -0
- package/packages/core/dist/schemas/v1/showcase-run-status-result.schema.json +70 -0
- package/packages/core/dist/schemas/v1/showcase-start-result.schema.json +5 -0
- package/packages/core/dist/schemas/v1/use-case-file.schema.json +178 -0
- package/packages/core/dist/schemas/v1/workflow-mode.schema.json +16 -0
- package/packages/core/dist/schemas/v1/workspace-config.schema.json +58 -0
- package/packages/core/dist/showcase/appendShowcaseEvent.d.ts +116 -0
- package/packages/core/dist/showcase/appendShowcaseEvent.d.ts.map +1 -0
- package/packages/core/dist/showcase/appendShowcaseEvent.js +353 -0
- package/packages/core/dist/showcase/appendShowcaseEvent.js.map +1 -0
- package/packages/core/dist/showcase/approval.d.ts +2 -0
- package/packages/core/dist/showcase/approval.d.ts.map +1 -0
- package/packages/core/dist/showcase/approval.js +2 -0
- package/packages/core/dist/showcase/approval.js.map +1 -0
- package/packages/core/dist/showcase/approvalAuthority.d.ts +19 -0
- package/packages/core/dist/showcase/approvalAuthority.d.ts.map +1 -0
- package/packages/core/dist/showcase/approvalAuthority.js +46 -0
- package/packages/core/dist/showcase/approvalAuthority.js.map +1 -0
- package/packages/core/dist/showcase/index.d.ts +11 -0
- package/packages/core/dist/showcase/index.d.ts.map +1 -0
- package/packages/core/dist/showcase/index.js +11 -0
- package/packages/core/dist/showcase/index.js.map +1 -0
- package/packages/core/dist/showcase/jsonlLedger.d.ts +11 -0
- package/packages/core/dist/showcase/jsonlLedger.d.ts.map +1 -0
- package/packages/core/dist/showcase/jsonlLedger.js +50 -0
- package/packages/core/dist/showcase/jsonlLedger.js.map +1 -0
- package/packages/core/dist/showcase/planBinding.d.ts +5 -0
- package/packages/core/dist/showcase/planBinding.d.ts.map +1 -0
- package/packages/core/dist/showcase/planBinding.js +33 -0
- package/packages/core/dist/showcase/planBinding.js.map +1 -0
- package/packages/core/dist/showcase/replayRun.d.ts +5 -0
- package/packages/core/dist/showcase/replayRun.d.ts.map +1 -0
- package/packages/core/dist/showcase/replayRun.js +199 -0
- package/packages/core/dist/showcase/replayRun.js.map +1 -0
- package/packages/core/dist/showcase/results.d.ts +3 -0
- package/packages/core/dist/showcase/results.d.ts.map +1 -0
- package/packages/core/dist/showcase/results.js +4 -0
- package/packages/core/dist/showcase/results.js.map +1 -0
- package/packages/core/dist/showcase/revisionEpochs.d.ts +2 -0
- package/packages/core/dist/showcase/revisionEpochs.d.ts.map +1 -0
- package/packages/core/dist/showcase/revisionEpochs.js +2 -0
- package/packages/core/dist/showcase/revisionEpochs.js.map +1 -0
- package/packages/core/dist/showcase/startRun.d.ts +2 -0
- package/packages/core/dist/showcase/startRun.d.ts.map +1 -0
- package/packages/core/dist/showcase/startRun.js +2 -0
- package/packages/core/dist/showcase/startRun.js.map +1 -0
- package/packages/core/dist/showcase/types.d.ts +66 -0
- package/packages/core/dist/showcase/types.d.ts.map +1 -0
- package/packages/core/dist/showcase/types.js +2 -0
- package/packages/core/dist/showcase/types.js.map +1 -0
- package/packages/core/dist/skills/canonicalSkills.d.ts +3 -0
- package/packages/core/dist/skills/canonicalSkills.d.ts.map +1 -0
- package/packages/core/dist/skills/canonicalSkills.js +7 -0
- package/packages/core/dist/skills/canonicalSkills.js.map +1 -0
- package/packages/core/dist/skills/index.d.ts +4 -0
- package/packages/core/dist/skills/index.d.ts.map +1 -0
- package/packages/core/dist/skills/index.js +4 -0
- package/packages/core/dist/skills/index.js.map +1 -0
- package/packages/core/dist/skills/types.d.ts +26 -0
- package/packages/core/dist/skills/types.d.ts.map +1 -0
- package/packages/core/dist/skills/types.js +2 -0
- package/packages/core/dist/skills/types.js.map +1 -0
- package/packages/core/dist/skills/validateSkillAssets.d.ts +6 -0
- package/packages/core/dist/skills/validateSkillAssets.d.ts.map +1 -0
- package/packages/core/dist/skills/validateSkillAssets.js +218 -0
- package/packages/core/dist/skills/validateSkillAssets.js.map +1 -0
- package/packages/core/dist/useCases/integrity.d.ts +11 -0
- package/packages/core/dist/useCases/integrity.d.ts.map +1 -0
- package/packages/core/dist/useCases/integrity.js +178 -0
- package/packages/core/dist/useCases/integrity.js.map +1 -0
- package/packages/core/dist/useCases/loadUseCaseMatrix.d.ts +7 -0
- package/packages/core/dist/useCases/loadUseCaseMatrix.d.ts.map +1 -0
- package/packages/core/dist/useCases/loadUseCaseMatrix.js +74 -0
- package/packages/core/dist/useCases/loadUseCaseMatrix.js.map +1 -0
- package/packages/core/dist/useCases/mutateUseCaseMatrix.d.ts +25 -0
- package/packages/core/dist/useCases/mutateUseCaseMatrix.d.ts.map +1 -0
- package/packages/core/dist/useCases/mutateUseCaseMatrix.js +198 -0
- package/packages/core/dist/useCases/mutateUseCaseMatrix.js.map +1 -0
- package/packages/core/dist/useCases/query.d.ts +12 -0
- package/packages/core/dist/useCases/query.d.ts.map +1 -0
- package/packages/core/dist/useCases/query.js +47 -0
- package/packages/core/dist/useCases/query.js.map +1 -0
- package/packages/core/dist/useCases/types.d.ts +149 -0
- package/packages/core/dist/useCases/types.d.ts.map +1 -0
- package/packages/core/dist/useCases/types.js +2 -0
- package/packages/core/dist/useCases/types.js.map +1 -0
- package/packages/core/dist/useCases/validateUseCaseFile.d.ts +9 -0
- package/packages/core/dist/useCases/validateUseCaseFile.d.ts.map +1 -0
- package/packages/core/dist/useCases/validateUseCaseFile.js +107 -0
- package/packages/core/dist/useCases/validateUseCaseFile.js.map +1 -0
- package/packages/core/dist/version.d.ts +9 -0
- package/packages/core/dist/version.d.ts.map +1 -0
- package/packages/core/dist/version.js +17 -0
- package/packages/core/dist/version.js.map +1 -0
- package/packages/core/package.json +39 -0
- package/packages/mcp/README.md +48 -0
- package/packages/mcp/dist/index.d.ts +20 -0
- package/packages/mcp/dist/index.d.ts.map +1 -0
- package/packages/mcp/dist/index.js +180 -0
- package/packages/mcp/dist/index.js.map +1 -0
- package/packages/mcp/dist/prompts.d.ts +32 -0
- package/packages/mcp/dist/prompts.d.ts.map +1 -0
- package/packages/mcp/dist/prompts.js +199 -0
- package/packages/mcp/dist/prompts.js.map +1 -0
- package/packages/mcp/dist/resources.d.ts +22 -0
- package/packages/mcp/dist/resources.d.ts.map +1 -0
- package/packages/mcp/dist/resources.js +342 -0
- package/packages/mcp/dist/resources.js.map +1 -0
- package/packages/mcp/dist/toolHandlers.d.ts +28 -0
- package/packages/mcp/dist/toolHandlers.d.ts.map +1 -0
- package/packages/mcp/dist/toolHandlers.js +592 -0
- package/packages/mcp/dist/toolHandlers.js.map +1 -0
- package/packages/mcp/dist/toolSchemas.d.ts +23 -0
- package/packages/mcp/dist/toolSchemas.d.ts.map +1 -0
- package/packages/mcp/dist/toolSchemas.js +223 -0
- package/packages/mcp/dist/toolSchemas.js.map +1 -0
- package/packages/mcp/dist/tools.d.ts +22 -0
- package/packages/mcp/dist/tools.d.ts.map +1 -0
- package/packages/mcp/dist/tools.js +65 -0
- package/packages/mcp/dist/tools.js.map +1 -0
- package/packages/mcp/package.json +38 -0
- package/plugin.json +6 -0
- package/schemas/v1/authority.schema.json +70 -0
- package/schemas/v1/cli-result.schema.json +30 -0
- package/schemas/v1/common.schema.json +274 -0
- package/schemas/v1/demo-capsule.schema.json +78 -0
- package/schemas/v1/evidence-append-result.schema.json +14 -0
- package/schemas/v1/evidence-event.schema.json +181 -0
- package/schemas/v1/evidence-status-result.schema.json +68 -0
- package/schemas/v1/host-profile.schema.json +94 -0
- package/schemas/v1/host-status-result.schema.json +49 -0
- package/schemas/v1/keyring.schema.json +77 -0
- package/schemas/v1/ledger.schema.json +99 -0
- package/schemas/v1/marker.schema.json +84 -0
- package/schemas/v1/matrix-list-result.schema.json +67 -0
- package/schemas/v1/matrix-mutation-result.schema.json +49 -0
- package/schemas/v1/matrix-validation-result.schema.json +77 -0
- package/schemas/v1/mcp-tool-results.schema.json +34 -0
- package/schemas/v1/migration-test-matrix-result.schema.json +76 -0
- package/schemas/v1/presentation-plan-result.schema.json +62 -0
- package/schemas/v1/presentation-plan.schema.json +259 -0
- package/schemas/v1/release-gate-result.schema.json +136 -0
- package/schemas/v1/showcase-approval-result.schema.json +5 -0
- package/schemas/v1/showcase-event-append-result.schema.json +17 -0
- package/schemas/v1/showcase-event.schema.json +235 -0
- package/schemas/v1/showcase-finish-result.schema.json +5 -0
- package/schemas/v1/showcase-run-status-result.schema.json +70 -0
- package/schemas/v1/showcase-start-result.schema.json +5 -0
- package/schemas/v1/use-case-file.schema.json +178 -0
- package/schemas/v1/workflow-mode.schema.json +16 -0
- package/schemas/v1/workspace-config.schema.json +58 -0
- package/use-cases/capsule/demos.yml +212 -0
- package/use-cases/capsule/runner.yml +49 -0
- package/use-cases/diagnostics/contracts.yml +239 -0
- package/use-cases/evidence/core.yml +32 -0
- package/use-cases/evidence/ledger.yml +330 -0
- package/use-cases/hosts/profiles.yml +365 -0
- package/use-cases/hosts/projections.yml +96 -0
- package/use-cases/lifecycle/loop.yml +229 -0
- package/use-cases/matrix/core.yml +92 -0
- package/use-cases/matrix/product.yml +289 -0
- package/use-cases/mcp/surface.yml +257 -0
- package/use-cases/mcp/wrapper.yml +100 -0
- package/use-cases/migration/importer.yml +171 -0
- package/use-cases/migration/test-matrix.yml +32 -0
- package/use-cases/planning/cards.yml +215 -0
- package/use-cases/release/package.yml +80 -0
- package/use-cases/release/proof.yml +180 -0
- package/use-cases/roadmap/deferred.yml +184 -0
- package/use-cases/showcase/flow.yml +269 -0
- package/use-cases/showcase/live.yml +44 -0
- package/use-cases/skills/assets.yml +92 -0
- package/use-cases.yml +9 -0
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
schema_version: 1
|
|
2
|
+
feature:
|
|
3
|
+
id: mcp.surface
|
|
4
|
+
name: MCP wrapper
|
|
5
|
+
summary: Agent tool access that wraps the CLI contract without weakening write gates or approval boundaries.
|
|
6
|
+
use_cases:
|
|
7
|
+
- id: mcp.surface.cli_contract_transport
|
|
8
|
+
title: MCP mirrors CLI contract
|
|
9
|
+
lifecycle: active
|
|
10
|
+
value_tier: critical
|
|
11
|
+
journey_role: golden
|
|
12
|
+
usage_frequency: common
|
|
13
|
+
tags:
|
|
14
|
+
- mcp
|
|
15
|
+
- cli-parity
|
|
16
|
+
- contract
|
|
17
|
+
source_refs:
|
|
18
|
+
- kind: file
|
|
19
|
+
path: docs/mcp.md
|
|
20
|
+
- kind: file
|
|
21
|
+
path: packages/mcp/src/tools.ts
|
|
22
|
+
actor: agent
|
|
23
|
+
intent: Return the same semantic envelopes as the CLI without reimplementing product logic.
|
|
24
|
+
preconditions:
|
|
25
|
+
- The CLI command exists and returns a structured envelope.
|
|
26
|
+
trigger: An agent calls the MCP tool equivalent of a CLI command.
|
|
27
|
+
scenarios:
|
|
28
|
+
- id: mcp.surface.cli_contract_transport.parity
|
|
29
|
+
kind: steps
|
|
30
|
+
steps:
|
|
31
|
+
- Run a CLI command.
|
|
32
|
+
- Run the equivalent MCP tool.
|
|
33
|
+
- Compare semantic result fields rather than transport details.
|
|
34
|
+
observable_outcomes:
|
|
35
|
+
- MCP output preserves command semantics.
|
|
36
|
+
- Core product logic remains in the CLI/core layer.
|
|
37
|
+
host_applicability:
|
|
38
|
+
- host_surface: codex.cli
|
|
39
|
+
supported: true
|
|
40
|
+
- host_surface: claude.cli
|
|
41
|
+
supported: true
|
|
42
|
+
- host_surface: copilot.cli
|
|
43
|
+
supported: true
|
|
44
|
+
- host_surface: opencode.cli
|
|
45
|
+
supported: true
|
|
46
|
+
verification_policy:
|
|
47
|
+
mode: requirements
|
|
48
|
+
requirements:
|
|
49
|
+
- evidence_kind: test_result
|
|
50
|
+
required_verifiers:
|
|
51
|
+
- script
|
|
52
|
+
minimum_count: 1
|
|
53
|
+
approval_policy:
|
|
54
|
+
mode: none
|
|
55
|
+
- id: mcp.surface.write_gating
|
|
56
|
+
title: MCP read-only default and explicit writes
|
|
57
|
+
lifecycle: active
|
|
58
|
+
value_tier: critical
|
|
59
|
+
journey_role: negative
|
|
60
|
+
usage_frequency: common
|
|
61
|
+
tags:
|
|
62
|
+
- mcp
|
|
63
|
+
- write-gate
|
|
64
|
+
- safety
|
|
65
|
+
source_refs:
|
|
66
|
+
- kind: file
|
|
67
|
+
path: docs/mcp.md
|
|
68
|
+
- kind: file
|
|
69
|
+
path: packages/mcp/src/index.ts
|
|
70
|
+
actor: agent
|
|
71
|
+
intent: Require explicit write permission and workspace roots for mutating MCP tools.
|
|
72
|
+
preconditions:
|
|
73
|
+
- MCP server is running in read-only or write-enabled mode.
|
|
74
|
+
trigger: An agent calls a mutating MCP tool.
|
|
75
|
+
scenarios:
|
|
76
|
+
- id: mcp.surface.write_gating.block
|
|
77
|
+
kind: steps
|
|
78
|
+
steps:
|
|
79
|
+
- Call a mutating MCP tool without write permission.
|
|
80
|
+
- Confirm the tool returns a structured refusal.
|
|
81
|
+
- Enable writes explicitly and repeat only inside the workspace root.
|
|
82
|
+
observable_outcomes:
|
|
83
|
+
- Read-only MCP sessions cannot mutate workspace records.
|
|
84
|
+
- Mutations are constrained to configured roots.
|
|
85
|
+
host_applicability:
|
|
86
|
+
- host_surface: codex.cli
|
|
87
|
+
supported: true
|
|
88
|
+
- host_surface: claude.cli
|
|
89
|
+
supported: true
|
|
90
|
+
- host_surface: copilot.cli
|
|
91
|
+
supported: true
|
|
92
|
+
- host_surface: opencode.cli
|
|
93
|
+
supported: true
|
|
94
|
+
verification_policy:
|
|
95
|
+
mode: requirements
|
|
96
|
+
requirements:
|
|
97
|
+
- evidence_kind: test_result
|
|
98
|
+
required_verifiers:
|
|
99
|
+
- script
|
|
100
|
+
minimum_count: 1
|
|
101
|
+
approval_policy:
|
|
102
|
+
mode: none
|
|
103
|
+
- id: mcp.surface.approval_request_only
|
|
104
|
+
title: MCP approval request only
|
|
105
|
+
lifecycle: active
|
|
106
|
+
value_tier: critical
|
|
107
|
+
journey_role: negative
|
|
108
|
+
usage_frequency: common
|
|
109
|
+
tags:
|
|
110
|
+
- mcp
|
|
111
|
+
- approval
|
|
112
|
+
- trust-boundary
|
|
113
|
+
source_refs:
|
|
114
|
+
- kind: file
|
|
115
|
+
path: docs/mcp.md
|
|
116
|
+
- kind: file
|
|
117
|
+
path: packages/mcp/src/tools.ts
|
|
118
|
+
- kind: file
|
|
119
|
+
path: packages/core/src/showcase/approvalAuthority.ts
|
|
120
|
+
actor: agent
|
|
121
|
+
intent: Let MCP request approval and suggest the trusted CLI path, but never write user approval.
|
|
122
|
+
preconditions:
|
|
123
|
+
- A showcase run has finished and user approval may be needed.
|
|
124
|
+
trigger: An agent calls the MCP approval request tool.
|
|
125
|
+
scenarios:
|
|
126
|
+
- id: mcp.surface.approval_request_only.boundary
|
|
127
|
+
kind: steps
|
|
128
|
+
steps:
|
|
129
|
+
- Call the approval request MCP tool.
|
|
130
|
+
- Confirm the tool returns a trusted CLI-mediated approval command.
|
|
131
|
+
- Confirm no user approval event is appended by MCP.
|
|
132
|
+
observable_outcomes:
|
|
133
|
+
- MCP cannot approve or reject on behalf of the user.
|
|
134
|
+
- The user-facing trusted path remains explicit.
|
|
135
|
+
host_applicability:
|
|
136
|
+
- host_surface: codex.cli
|
|
137
|
+
supported: true
|
|
138
|
+
- host_surface: claude.cli
|
|
139
|
+
supported: true
|
|
140
|
+
- host_surface: copilot.cli
|
|
141
|
+
supported: true
|
|
142
|
+
- host_surface: opencode.cli
|
|
143
|
+
supported: true
|
|
144
|
+
verification_policy:
|
|
145
|
+
mode: requirements
|
|
146
|
+
requirements:
|
|
147
|
+
- evidence_kind: test_result
|
|
148
|
+
required_verifiers:
|
|
149
|
+
- script
|
|
150
|
+
minimum_count: 1
|
|
151
|
+
approval_policy:
|
|
152
|
+
mode: none
|
|
153
|
+
- id: mcp.surface.domain_results_not_transport_failures
|
|
154
|
+
title: Domain-negative results stay structured
|
|
155
|
+
lifecycle: active
|
|
156
|
+
value_tier: supporting
|
|
157
|
+
journey_role: edge
|
|
158
|
+
usage_frequency: occasional
|
|
159
|
+
tags:
|
|
160
|
+
- mcp
|
|
161
|
+
- diagnostics
|
|
162
|
+
- envelope
|
|
163
|
+
source_refs:
|
|
164
|
+
- kind: file
|
|
165
|
+
path: docs/mcp.md
|
|
166
|
+
- kind: file
|
|
167
|
+
path: docs/adr/0005-p4-cli-contract.md
|
|
168
|
+
- kind: file
|
|
169
|
+
path: packages/mcp/src/tools.ts
|
|
170
|
+
actor: agent
|
|
171
|
+
intent: Return validation failures, warnings, and integrity gaps as structured command results.
|
|
172
|
+
preconditions:
|
|
173
|
+
- A domain command detects invalid matrix, partial evidence, or missing preconditions.
|
|
174
|
+
trigger: An MCP caller invokes a command that has domain-level diagnostics.
|
|
175
|
+
scenarios:
|
|
176
|
+
- id: mcp.surface.domain_results_not_transport_failures.envelope
|
|
177
|
+
kind: steps
|
|
178
|
+
steps:
|
|
179
|
+
- Call an MCP tool against damaged or incomplete input.
|
|
180
|
+
- Confirm transport remains successful when the tool can report diagnostics.
|
|
181
|
+
- Inspect the structured command envelope for domain outcome and diagnostics.
|
|
182
|
+
observable_outcomes:
|
|
183
|
+
- Agents receive actionable diagnostics instead of opaque transport failure.
|
|
184
|
+
host_applicability:
|
|
185
|
+
- host_surface: codex.cli
|
|
186
|
+
supported: true
|
|
187
|
+
- host_surface: claude.cli
|
|
188
|
+
supported: true
|
|
189
|
+
- host_surface: copilot.cli
|
|
190
|
+
supported: true
|
|
191
|
+
- host_surface: opencode.cli
|
|
192
|
+
supported: true
|
|
193
|
+
verification_policy:
|
|
194
|
+
mode: requirements
|
|
195
|
+
requirements:
|
|
196
|
+
- evidence_kind: test_result
|
|
197
|
+
required_verifiers:
|
|
198
|
+
- script
|
|
199
|
+
minimum_count: 1
|
|
200
|
+
approval_policy:
|
|
201
|
+
mode: none
|
|
202
|
+
- id: mcp.surface.declared_tool_schemas
|
|
203
|
+
title: MCP tools declare their real input parameters
|
|
204
|
+
lifecycle: active
|
|
205
|
+
value_tier: core
|
|
206
|
+
journey_role: golden
|
|
207
|
+
usage_frequency: common
|
|
208
|
+
tags:
|
|
209
|
+
- mcp
|
|
210
|
+
- schema
|
|
211
|
+
- discoverability
|
|
212
|
+
source_refs:
|
|
213
|
+
- kind: file
|
|
214
|
+
path: packages/mcp/src/tools.ts
|
|
215
|
+
- kind: file
|
|
216
|
+
path: tests/conformance/mcp/tool-input-schemas.test.ts
|
|
217
|
+
actor: agent
|
|
218
|
+
intent: Expose each MCP tool's real parameters in its input schema so an agent can discover them from the tool definition instead of reverse-engineering them from the CLI or tests.
|
|
219
|
+
preconditions:
|
|
220
|
+
- The MCP server is registered and its tools are listed by the host.
|
|
221
|
+
trigger: An agent inspects an MCP tool's input schema before calling it.
|
|
222
|
+
scenarios:
|
|
223
|
+
- id: mcp.surface.declared_tool_schemas.declared
|
|
224
|
+
kind: steps
|
|
225
|
+
steps:
|
|
226
|
+
- List the MCP tools and read a high-value tool's input schema.
|
|
227
|
+
- Confirm named parameters with descriptions are present.
|
|
228
|
+
- Call the tool and confirm the CLI-parity result is unchanged.
|
|
229
|
+
observable_outcomes:
|
|
230
|
+
- High-value tool input schemas declare their real named parameters with descriptions rather than only an open passthrough.
|
|
231
|
+
- repo stays required for workspace-scoped tools, and CLI-parity forwarding behaviour is unchanged.
|
|
232
|
+
host_applicability:
|
|
233
|
+
- host_surface: codex.cli
|
|
234
|
+
supported: true
|
|
235
|
+
- host_surface: claude.cli
|
|
236
|
+
supported: true
|
|
237
|
+
verification_policy:
|
|
238
|
+
mode: requirements
|
|
239
|
+
verifiers:
|
|
240
|
+
script:
|
|
241
|
+
kind: script
|
|
242
|
+
evidence_kind: test_result
|
|
243
|
+
command:
|
|
244
|
+
- pnpm
|
|
245
|
+
- -s
|
|
246
|
+
- vitest
|
|
247
|
+
- run
|
|
248
|
+
- tests/conformance/mcp/tool-input-schemas.test.ts
|
|
249
|
+
inputs:
|
|
250
|
+
- tests/conformance/mcp/tool-input-schemas.test.ts
|
|
251
|
+
requirements:
|
|
252
|
+
- evidence_kind: test_result
|
|
253
|
+
required_verifiers:
|
|
254
|
+
- script
|
|
255
|
+
minimum_count: 1
|
|
256
|
+
approval_policy:
|
|
257
|
+
mode: none
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
schema_version: 1
|
|
2
|
+
feature:
|
|
3
|
+
id: mcp.wrapper
|
|
4
|
+
name: MCP wrapper
|
|
5
|
+
summary: MCP tools preserve the CLI envelope contract.
|
|
6
|
+
use_cases:
|
|
7
|
+
- id: mcp.wrapper.parity
|
|
8
|
+
title: Compiled MCP stdio preserves generated-plan showcase parity
|
|
9
|
+
lifecycle: active
|
|
10
|
+
value_tier: core
|
|
11
|
+
journey_role: alternate
|
|
12
|
+
usage_frequency: common
|
|
13
|
+
tags:
|
|
14
|
+
- mcp
|
|
15
|
+
- cli
|
|
16
|
+
source_refs:
|
|
17
|
+
- kind: file
|
|
18
|
+
path: packages/mcp/src/tools.ts
|
|
19
|
+
actor: agent
|
|
20
|
+
intent: Use MCP without inventing separate showcase or approval behavior.
|
|
21
|
+
preconditions:
|
|
22
|
+
- The compiled MCP server can load the packaged core.
|
|
23
|
+
trigger: Agent runs a showcase through MCP stdio.
|
|
24
|
+
scenarios:
|
|
25
|
+
- id: mcp.wrapper.parity.cli
|
|
26
|
+
kind: steps
|
|
27
|
+
steps:
|
|
28
|
+
- Generate a showcase plan through MCP.
|
|
29
|
+
- Start from the generated plan file through compiled stdio MCP.
|
|
30
|
+
- Record observation, verdict, and finish through MCP.
|
|
31
|
+
- Request approval through MCP without appending approval.
|
|
32
|
+
observable_outcomes:
|
|
33
|
+
- MCP returns CLI envelopes
|
|
34
|
+
- records the same lifecycle events
|
|
35
|
+
- and keeps approval pending.
|
|
36
|
+
host_applicability:
|
|
37
|
+
- host_surface: codex.cli
|
|
38
|
+
supported: true
|
|
39
|
+
verification_policy:
|
|
40
|
+
mode: none
|
|
41
|
+
approval_policy:
|
|
42
|
+
mode: none
|
|
43
|
+
- id: mcp.use_case_mutation.safe
|
|
44
|
+
title: MCP safely mutates use-case rows through core policy
|
|
45
|
+
lifecycle: active
|
|
46
|
+
value_tier: core
|
|
47
|
+
journey_role: golden
|
|
48
|
+
usage_frequency: common
|
|
49
|
+
tags:
|
|
50
|
+
- mcp
|
|
51
|
+
- matrix
|
|
52
|
+
- mutation
|
|
53
|
+
- safety
|
|
54
|
+
source_refs:
|
|
55
|
+
- kind: file
|
|
56
|
+
path: packages/mcp/src/tools.ts
|
|
57
|
+
- kind: file
|
|
58
|
+
path: packages/core/src/useCases/mutateUseCaseMatrix.ts
|
|
59
|
+
actor: agent
|
|
60
|
+
intent: Add, update, or retire use-case rows from an MCP host without bypassing CLI-equivalent validation.
|
|
61
|
+
preconditions:
|
|
62
|
+
- The caller passes an explicit repo root.
|
|
63
|
+
- Write tools are called with allow_write true.
|
|
64
|
+
- The current use-case matrix is complete enough to mutate safely.
|
|
65
|
+
trigger: Agent calls use_case_upsert or use_case_remove through MCP.
|
|
66
|
+
scenarios:
|
|
67
|
+
- id: mcp.use_case_mutation.safe.upsert
|
|
68
|
+
kind: steps
|
|
69
|
+
steps:
|
|
70
|
+
- Call use_case_upsert with a target use-cases YAML file and one use_case object.
|
|
71
|
+
- Validate that the matrix remains complete after the write.
|
|
72
|
+
- id: mcp.use_case_mutation.safe.remove
|
|
73
|
+
kind: steps
|
|
74
|
+
steps:
|
|
75
|
+
- Call use_case_remove with a use-case id and removal reason.
|
|
76
|
+
- Confirm the row is marked lifecycle removed rather than physically deleted.
|
|
77
|
+
- id: mcp.use_case_mutation.safe.boundary
|
|
78
|
+
kind: steps
|
|
79
|
+
steps:
|
|
80
|
+
- Try a path escape, damaged matrix, or actor_type user claim.
|
|
81
|
+
- Confirm MCP returns a blocked CLI envelope and does not write.
|
|
82
|
+
observable_outcomes:
|
|
83
|
+
- MCP returns matrix.upsert or matrix.remove envelopes.
|
|
84
|
+
- Write mode is required before any mutation.
|
|
85
|
+
- User approval or user actor claims are rejected without trusted host confirmation.
|
|
86
|
+
- Delete is lifecycle removal, not physical deletion.
|
|
87
|
+
- Damaged input or a path escape prevents mutation.
|
|
88
|
+
host_applicability:
|
|
89
|
+
- host_surface: codex.cli
|
|
90
|
+
supported: true
|
|
91
|
+
- host_surface: claude.cli
|
|
92
|
+
supported: true
|
|
93
|
+
- host_surface: copilot.cli
|
|
94
|
+
supported: true
|
|
95
|
+
- host_surface: opencode.cli
|
|
96
|
+
supported: true
|
|
97
|
+
verification_policy:
|
|
98
|
+
mode: none
|
|
99
|
+
approval_policy:
|
|
100
|
+
mode: none
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
schema_version: 1
|
|
2
|
+
feature:
|
|
3
|
+
id: migration.importer
|
|
4
|
+
name: TEST-MATRIX migration
|
|
5
|
+
summary: Reviewable migration from legacy test matrices into use-case rows without laundering old proof.
|
|
6
|
+
use_cases:
|
|
7
|
+
- id: migration.importer.reviewable_draft_import
|
|
8
|
+
title: Reviewable TEST-MATRIX draft import
|
|
9
|
+
lifecycle: active
|
|
10
|
+
value_tier: core
|
|
11
|
+
journey_role: alternate
|
|
12
|
+
usage_frequency: occasional
|
|
13
|
+
tags:
|
|
14
|
+
- migration
|
|
15
|
+
- test-matrix
|
|
16
|
+
- backfill
|
|
17
|
+
source_refs:
|
|
18
|
+
- kind: file
|
|
19
|
+
path: docs/migration.md
|
|
20
|
+
- kind: file
|
|
21
|
+
path: packages/core/src/migration/testMatrix.ts
|
|
22
|
+
actor: agent
|
|
23
|
+
intent: Convert legacy TEST-MATRIX rows into draft use-case YAML with review warnings.
|
|
24
|
+
preconditions:
|
|
25
|
+
- A legacy TEST-MATRIX.md file exists.
|
|
26
|
+
trigger: User or agent backfills an existing project into Use Cases.
|
|
27
|
+
scenarios:
|
|
28
|
+
- id: migration.importer.reviewable_draft_import.dry_run
|
|
29
|
+
kind: steps
|
|
30
|
+
steps:
|
|
31
|
+
- Run migrate test-matrix in dry-run mode.
|
|
32
|
+
- Inspect generated draft rows and diagnostics.
|
|
33
|
+
- Write drafts only when the output is reviewable.
|
|
34
|
+
observable_outcomes:
|
|
35
|
+
- Legacy rows become draft use cases, not silent active acceptance.
|
|
36
|
+
- Review warnings identify ambiguous titles, old statuses, and missing detail.
|
|
37
|
+
host_applicability:
|
|
38
|
+
- host_surface: codex.cli
|
|
39
|
+
supported: true
|
|
40
|
+
verification_policy:
|
|
41
|
+
mode: requirements
|
|
42
|
+
requirements:
|
|
43
|
+
- evidence_kind: command_result
|
|
44
|
+
required_verifiers:
|
|
45
|
+
- script
|
|
46
|
+
minimum_count: 1
|
|
47
|
+
approval_policy:
|
|
48
|
+
mode: ask
|
|
49
|
+
- id: migration.importer.no_legacy_pass_as_proof
|
|
50
|
+
title: Legacy pass marks are not evidence
|
|
51
|
+
lifecycle: active
|
|
52
|
+
value_tier: critical
|
|
53
|
+
journey_role: negative
|
|
54
|
+
usage_frequency: common
|
|
55
|
+
tags:
|
|
56
|
+
- migration
|
|
57
|
+
- evidence
|
|
58
|
+
- proof-boundary
|
|
59
|
+
source_refs:
|
|
60
|
+
- kind: file
|
|
61
|
+
path: docs/migration.md
|
|
62
|
+
- kind: file
|
|
63
|
+
path: packages/core/src/migration/testMatrix.ts
|
|
64
|
+
actor: agent
|
|
65
|
+
intent: Prevent old pass or status cells from becoming current evidence or approval.
|
|
66
|
+
preconditions:
|
|
67
|
+
- Legacy matrix rows include status text such as pass, fail, done, or accepted.
|
|
68
|
+
trigger: Agent migrates legacy matrix content.
|
|
69
|
+
scenarios:
|
|
70
|
+
- id: migration.importer.no_legacy_pass_as_proof.guard
|
|
71
|
+
kind: steps
|
|
72
|
+
steps:
|
|
73
|
+
- Parse legacy rows with old status marks.
|
|
74
|
+
- Generate use-case rows without evidence IDs.
|
|
75
|
+
- Preserve old status only as review context when safe.
|
|
76
|
+
observable_outcomes:
|
|
77
|
+
- Current evidence must be recorded separately through the evidence ledger.
|
|
78
|
+
- Migration cannot invent modern proof or user approval.
|
|
79
|
+
host_applicability:
|
|
80
|
+
- host_surface: codex.cli
|
|
81
|
+
supported: true
|
|
82
|
+
verification_policy:
|
|
83
|
+
mode: requirements
|
|
84
|
+
requirements:
|
|
85
|
+
- evidence_kind: test_result
|
|
86
|
+
required_verifiers:
|
|
87
|
+
- script
|
|
88
|
+
minimum_count: 1
|
|
89
|
+
approval_policy:
|
|
90
|
+
mode: none
|
|
91
|
+
- id: migration.importer.source_traceability
|
|
92
|
+
title: Migration source traceability
|
|
93
|
+
lifecycle: active
|
|
94
|
+
value_tier: supporting
|
|
95
|
+
journey_role: alternate
|
|
96
|
+
usage_frequency: rare
|
|
97
|
+
tags:
|
|
98
|
+
- migration
|
|
99
|
+
- traceability
|
|
100
|
+
source_refs:
|
|
101
|
+
- kind: file
|
|
102
|
+
path: docs/migration.md
|
|
103
|
+
- kind: file
|
|
104
|
+
path: tests/fixtures/workspaces/test-matrix-source/TEST-MATRIX.md
|
|
105
|
+
actor: agent
|
|
106
|
+
intent: Preserve original markdown row references so reviewers can audit generated draft rows.
|
|
107
|
+
preconditions:
|
|
108
|
+
- A migration source file has identifiable source rows.
|
|
109
|
+
trigger: Agent writes or reviews migrated draft use-case YAML.
|
|
110
|
+
scenarios:
|
|
111
|
+
- id: migration.importer.source_traceability.refs
|
|
112
|
+
kind: steps
|
|
113
|
+
steps:
|
|
114
|
+
- Generate draft rows from a TEST-MATRIX source.
|
|
115
|
+
- Include source references or diagnostics for the original rows.
|
|
116
|
+
- Let reviewers compare generated rows to source intent.
|
|
117
|
+
observable_outcomes:
|
|
118
|
+
- Migration output can be audited against its source.
|
|
119
|
+
host_applicability:
|
|
120
|
+
- host_surface: codex.cli
|
|
121
|
+
supported: true
|
|
122
|
+
verification_policy:
|
|
123
|
+
mode: requirements
|
|
124
|
+
requirements:
|
|
125
|
+
- evidence_kind: agent_observation
|
|
126
|
+
required_verifiers:
|
|
127
|
+
- agent
|
|
128
|
+
minimum_count: 1
|
|
129
|
+
approval_policy:
|
|
130
|
+
mode: none
|
|
131
|
+
- id: migration.importer.human_review_activation
|
|
132
|
+
title: Human review before activation
|
|
133
|
+
lifecycle: active
|
|
134
|
+
value_tier: core
|
|
135
|
+
journey_role: alternate
|
|
136
|
+
usage_frequency: occasional
|
|
137
|
+
tags:
|
|
138
|
+
- migration
|
|
139
|
+
- review
|
|
140
|
+
- activation
|
|
141
|
+
source_refs:
|
|
142
|
+
- kind: file
|
|
143
|
+
path: docs/migration.md
|
|
144
|
+
- kind: file
|
|
145
|
+
path: .agents/skills/use-cases/SKILL.md
|
|
146
|
+
actor: agent
|
|
147
|
+
intent: Keep migrated rows draft or planned until a human reviews the high-level feature printout.
|
|
148
|
+
preconditions:
|
|
149
|
+
- Migration output contains draft or uncertain rows.
|
|
150
|
+
trigger: Agent considers activating migrated rows.
|
|
151
|
+
scenarios:
|
|
152
|
+
- id: migration.importer.human_review_activation.review
|
|
153
|
+
kind: steps
|
|
154
|
+
steps:
|
|
155
|
+
- Present a concise feature printout of migrated rows.
|
|
156
|
+
- Ask the user to confirm high-value behavior and scope.
|
|
157
|
+
- Activate only rows that are reviewed and structurally usable.
|
|
158
|
+
observable_outcomes:
|
|
159
|
+
- Migration review separates mechanical parsing from product acceptance.
|
|
160
|
+
host_applicability:
|
|
161
|
+
- host_surface: codex.cli
|
|
162
|
+
supported: true
|
|
163
|
+
verification_policy:
|
|
164
|
+
mode: requirements
|
|
165
|
+
requirements:
|
|
166
|
+
- evidence_kind: manual_observation
|
|
167
|
+
required_verifiers:
|
|
168
|
+
- user
|
|
169
|
+
minimum_count: 1
|
|
170
|
+
approval_policy:
|
|
171
|
+
mode: ask
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
schema_version: 1
|
|
2
|
+
feature:
|
|
3
|
+
id: migration.test_matrix
|
|
4
|
+
name: TEST-MATRIX migration
|
|
5
|
+
summary: Legacy TEST-MATRIX.md files become draft intended behavior.
|
|
6
|
+
use_cases:
|
|
7
|
+
- id: migration.test_matrix.draft
|
|
8
|
+
title: Migrate TEST-MATRIX without laundering proof
|
|
9
|
+
lifecycle: active
|
|
10
|
+
value_tier: core
|
|
11
|
+
journey_role: alternate
|
|
12
|
+
usage_frequency: occasional
|
|
13
|
+
tags: [migration, test-matrix]
|
|
14
|
+
source_refs:
|
|
15
|
+
- kind: file
|
|
16
|
+
path: packages/core/src/migration/testMatrix.ts
|
|
17
|
+
actor: agent
|
|
18
|
+
intent: Backfill use-case drafts from a legacy matrix safely.
|
|
19
|
+
preconditions: [A legacy TEST-MATRIX.md file exists.]
|
|
20
|
+
trigger: User wants to replace a legacy matrix.
|
|
21
|
+
scenarios:
|
|
22
|
+
- id: migration.test_matrix.draft.cli
|
|
23
|
+
kind: steps
|
|
24
|
+
steps: [Run migrate test-matrix in dry-run or write mode.]
|
|
25
|
+
observable_outcomes: [Generated YAML is draft behavior and old status is review context only.]
|
|
26
|
+
host_applicability:
|
|
27
|
+
- host_surface: codex.cli
|
|
28
|
+
supported: true
|
|
29
|
+
verification_policy:
|
|
30
|
+
mode: none
|
|
31
|
+
approval_policy:
|
|
32
|
+
mode: none
|