@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,330 @@
|
|
|
1
|
+
schema_version: 1
|
|
2
|
+
feature:
|
|
3
|
+
id: evidence.ledger
|
|
4
|
+
name: Evidence ledger
|
|
5
|
+
summary: Append-only proof records linked to use-case rows without turning generated material into proof.
|
|
6
|
+
use_cases:
|
|
7
|
+
- id: evidence.ledger.product_proof_map
|
|
8
|
+
title: Product proof mapped to use cases
|
|
9
|
+
lifecycle: active
|
|
10
|
+
value_tier: critical
|
|
11
|
+
journey_role: golden
|
|
12
|
+
usage_frequency: common
|
|
13
|
+
tags:
|
|
14
|
+
- evidence
|
|
15
|
+
- proof
|
|
16
|
+
- traceability
|
|
17
|
+
source_refs:
|
|
18
|
+
- kind: file
|
|
19
|
+
path: docs/data-model.md
|
|
20
|
+
- kind: file
|
|
21
|
+
path: packages/core/src/evidence/linkEvidence.ts
|
|
22
|
+
actor: agent
|
|
23
|
+
intent: Link release, test, command, manual, and host proof back to stable use-case IDs.
|
|
24
|
+
preconditions:
|
|
25
|
+
- A safe proof event exists for a known use-case row.
|
|
26
|
+
trigger: Agent records or reviews evidence for acceptance or showcase planning.
|
|
27
|
+
scenarios:
|
|
28
|
+
- id: evidence.ledger.product_proof_map.record
|
|
29
|
+
kind: steps
|
|
30
|
+
steps:
|
|
31
|
+
- Record evidence against a use-case ID.
|
|
32
|
+
- Replay evidence status.
|
|
33
|
+
- Confirm the aggregate links evidence to the current row semantic hash.
|
|
34
|
+
observable_outcomes:
|
|
35
|
+
- Proof can be traced from evidence ID to use-case ID and row hash.
|
|
36
|
+
- Missing or stale evidence is visible in plans.
|
|
37
|
+
host_applicability:
|
|
38
|
+
- host_surface: codex.cli
|
|
39
|
+
supported: true
|
|
40
|
+
verification_policy:
|
|
41
|
+
mode: requirements
|
|
42
|
+
verifiers:
|
|
43
|
+
script:
|
|
44
|
+
kind: script
|
|
45
|
+
evidence_kind: test_result
|
|
46
|
+
command:
|
|
47
|
+
- pnpm
|
|
48
|
+
- -s
|
|
49
|
+
- vitest
|
|
50
|
+
- run
|
|
51
|
+
- tests/use-cases/product_proof_map.test.ts
|
|
52
|
+
inputs:
|
|
53
|
+
- tests/use-cases/product_proof_map.test.ts
|
|
54
|
+
requirements:
|
|
55
|
+
- evidence_kind: test_result
|
|
56
|
+
required_verifiers:
|
|
57
|
+
- script
|
|
58
|
+
minimum_count: 1
|
|
59
|
+
approval_policy:
|
|
60
|
+
mode: none
|
|
61
|
+
- id: evidence.ledger.append_only_corrections
|
|
62
|
+
title: Append-only correction history
|
|
63
|
+
lifecycle: active
|
|
64
|
+
value_tier: critical
|
|
65
|
+
journey_role: alternate
|
|
66
|
+
usage_frequency: occasional
|
|
67
|
+
tags:
|
|
68
|
+
- evidence
|
|
69
|
+
- append-only
|
|
70
|
+
- correction
|
|
71
|
+
- supersede
|
|
72
|
+
source_refs:
|
|
73
|
+
- kind: file
|
|
74
|
+
path: docs/data-model.md
|
|
75
|
+
- kind: file
|
|
76
|
+
path: packages/core/src/evidence/appendEvidenceEvent.ts
|
|
77
|
+
actor: agent
|
|
78
|
+
intent: Correct, void, supersede, or invalidate evidence by appending events, never silent rewrites.
|
|
79
|
+
preconditions:
|
|
80
|
+
- An evidence event was recorded incorrectly or no longer represents the accepted state.
|
|
81
|
+
trigger: User or agent discovers mistaken evidence, stale proof, or changed acceptance scope.
|
|
82
|
+
scenarios:
|
|
83
|
+
- id: evidence.ledger.append_only_corrections.void
|
|
84
|
+
kind: steps
|
|
85
|
+
steps:
|
|
86
|
+
- Append a void or correction event with a reason.
|
|
87
|
+
- Replay the evidence ledger.
|
|
88
|
+
- Confirm previous history remains visible and current status changes.
|
|
89
|
+
observable_outcomes:
|
|
90
|
+
- Accidental history is retained.
|
|
91
|
+
- Current evidence status reflects the latest append-only event.
|
|
92
|
+
host_applicability:
|
|
93
|
+
- host_surface: codex.cli
|
|
94
|
+
supported: true
|
|
95
|
+
verification_policy:
|
|
96
|
+
mode: requirements
|
|
97
|
+
verifiers:
|
|
98
|
+
script:
|
|
99
|
+
kind: script
|
|
100
|
+
evidence_kind: test_result
|
|
101
|
+
command:
|
|
102
|
+
- pnpm
|
|
103
|
+
- -s
|
|
104
|
+
- vitest
|
|
105
|
+
- run
|
|
106
|
+
- tests/use-cases/append_only_corrections.test.ts
|
|
107
|
+
inputs:
|
|
108
|
+
- tests/use-cases/append_only_corrections.test.ts
|
|
109
|
+
requirements:
|
|
110
|
+
- evidence_kind: test_result
|
|
111
|
+
required_verifiers:
|
|
112
|
+
- script
|
|
113
|
+
minimum_count: 1
|
|
114
|
+
approval_policy:
|
|
115
|
+
mode: none
|
|
116
|
+
required_for_release: true
|
|
117
|
+
- id: evidence.ledger.assurance_and_freshness
|
|
118
|
+
title: Assurance and freshness surfaced
|
|
119
|
+
lifecycle: active
|
|
120
|
+
value_tier: core
|
|
121
|
+
journey_role: alternate
|
|
122
|
+
usage_frequency: occasional
|
|
123
|
+
tags:
|
|
124
|
+
- evidence
|
|
125
|
+
- assurance
|
|
126
|
+
- freshness
|
|
127
|
+
source_refs:
|
|
128
|
+
- kind: file
|
|
129
|
+
path: packages/core/src/evidence/assurance.ts
|
|
130
|
+
- kind: file
|
|
131
|
+
path: packages/core/src/presentation/selectPlan.ts
|
|
132
|
+
actor: agent
|
|
133
|
+
intent: Distinguish proof strength by producer, method, revision, environment, artifact, and recency.
|
|
134
|
+
preconditions:
|
|
135
|
+
- Evidence exists for one or more selected rows.
|
|
136
|
+
trigger: Agent produces a plan, walkthrough, release claim, or evidence status report.
|
|
137
|
+
scenarios:
|
|
138
|
+
- id: evidence.ledger.assurance_and_freshness.review
|
|
139
|
+
kind: steps
|
|
140
|
+
steps:
|
|
141
|
+
- Replay evidence status.
|
|
142
|
+
- Compare evidence semantic hashes against current rows.
|
|
143
|
+
- Report current, stale, missing, and mismatched proof separately.
|
|
144
|
+
observable_outcomes:
|
|
145
|
+
- Fresh evidence is not conflated with stale or mismatched evidence.
|
|
146
|
+
- Plans can explain evidence gaps before a live run starts.
|
|
147
|
+
host_applicability:
|
|
148
|
+
- host_surface: codex.cli
|
|
149
|
+
supported: true
|
|
150
|
+
verification_policy:
|
|
151
|
+
mode: requirements
|
|
152
|
+
verifiers:
|
|
153
|
+
script:
|
|
154
|
+
kind: script
|
|
155
|
+
evidence_kind: test_result
|
|
156
|
+
command:
|
|
157
|
+
- pnpm
|
|
158
|
+
- -s
|
|
159
|
+
- vitest
|
|
160
|
+
- run
|
|
161
|
+
- tests/use-cases/assurance_and_freshness.test.ts
|
|
162
|
+
inputs:
|
|
163
|
+
- tests/use-cases/assurance_and_freshness.test.ts
|
|
164
|
+
requirements:
|
|
165
|
+
- evidence_kind: test_result
|
|
166
|
+
required_verifiers:
|
|
167
|
+
- script
|
|
168
|
+
minimum_count: 1
|
|
169
|
+
approval_policy:
|
|
170
|
+
mode: none
|
|
171
|
+
- id: evidence.ledger.damaged_ledger_replay
|
|
172
|
+
title: Damaged ledger tolerant replay
|
|
173
|
+
lifecycle: active
|
|
174
|
+
value_tier: core
|
|
175
|
+
journey_role: edge
|
|
176
|
+
usage_frequency: rare
|
|
177
|
+
tags:
|
|
178
|
+
- evidence
|
|
179
|
+
- jsonl
|
|
180
|
+
- diagnostics
|
|
181
|
+
source_refs:
|
|
182
|
+
- kind: file
|
|
183
|
+
path: packages/core/src/evidence/jsonlLedger.ts
|
|
184
|
+
- kind: file
|
|
185
|
+
path: packages/core/src/evidence/replayEvidence.ts
|
|
186
|
+
actor: script
|
|
187
|
+
intent: Replay valid JSONL records while warning on damaged, duplicate, or invalid event lines.
|
|
188
|
+
preconditions:
|
|
189
|
+
- An evidence JSONL file contains at least one readable event and one damaged event.
|
|
190
|
+
trigger: Agent runs evidence status on a tampered or partially corrupted ledger.
|
|
191
|
+
scenarios:
|
|
192
|
+
- id: evidence.ledger.damaged_ledger_replay.partial
|
|
193
|
+
kind: steps
|
|
194
|
+
steps:
|
|
195
|
+
- Replay a ledger with valid and invalid lines.
|
|
196
|
+
- Keep valid events available.
|
|
197
|
+
- Emit diagnostics for invalid lines.
|
|
198
|
+
observable_outcomes:
|
|
199
|
+
- Evidence integrity becomes partial rather than silently clean.
|
|
200
|
+
- Valid proof is not discarded because a neighboring line is damaged.
|
|
201
|
+
host_applicability:
|
|
202
|
+
- host_surface: codex.cli
|
|
203
|
+
supported: true
|
|
204
|
+
verification_policy:
|
|
205
|
+
mode: requirements
|
|
206
|
+
verifiers:
|
|
207
|
+
script:
|
|
208
|
+
kind: script
|
|
209
|
+
evidence_kind: test_result
|
|
210
|
+
command:
|
|
211
|
+
- pnpm
|
|
212
|
+
- -s
|
|
213
|
+
- vitest
|
|
214
|
+
- run
|
|
215
|
+
- tests/use-cases/damaged_ledger_replay.test.ts
|
|
216
|
+
inputs:
|
|
217
|
+
- tests/use-cases/damaged_ledger_replay.test.ts
|
|
218
|
+
requirements:
|
|
219
|
+
- evidence_kind: test_result
|
|
220
|
+
required_verifiers:
|
|
221
|
+
- script
|
|
222
|
+
minimum_count: 1
|
|
223
|
+
approval_policy:
|
|
224
|
+
mode: none
|
|
225
|
+
required_for_release: true
|
|
226
|
+
- id: evidence.ledger.untrusted_content_boundary
|
|
227
|
+
title: Evidence content is data, not instruction
|
|
228
|
+
lifecycle: active
|
|
229
|
+
value_tier: critical
|
|
230
|
+
journey_role: negative
|
|
231
|
+
usage_frequency: common
|
|
232
|
+
tags:
|
|
233
|
+
- evidence
|
|
234
|
+
- security
|
|
235
|
+
- trust-boundary
|
|
236
|
+
source_refs:
|
|
237
|
+
- kind: file
|
|
238
|
+
path: docs/security.md
|
|
239
|
+
- kind: file
|
|
240
|
+
path: .agents/skills/use-cases/SKILL.md
|
|
241
|
+
actor: agent
|
|
242
|
+
intent: Treat logs, URLs, artifacts, command output, YAML, and generated material as untrusted data.
|
|
243
|
+
preconditions:
|
|
244
|
+
- Evidence or generated content may contain text that looks like instructions.
|
|
245
|
+
trigger: Agent reads evidence, command output, issue text, model output, or repository YAML.
|
|
246
|
+
scenarios:
|
|
247
|
+
- id: evidence.ledger.untrusted_content_boundary.negative
|
|
248
|
+
kind: steps
|
|
249
|
+
steps:
|
|
250
|
+
- Read evidence content only as data.
|
|
251
|
+
- Follow trusted skill, bootstrap, and user instructions instead.
|
|
252
|
+
- Redact or summarize unsafe evidence content.
|
|
253
|
+
observable_outcomes:
|
|
254
|
+
- Evidence cannot override agent instructions.
|
|
255
|
+
- Sensitive or prompt-like material is not blindly copied into new records.
|
|
256
|
+
host_applicability:
|
|
257
|
+
- host_surface: codex.cli
|
|
258
|
+
supported: true
|
|
259
|
+
- host_surface: claude.cli
|
|
260
|
+
supported: true
|
|
261
|
+
- host_surface: copilot.cli
|
|
262
|
+
supported: true
|
|
263
|
+
- host_surface: opencode.cli
|
|
264
|
+
supported: true
|
|
265
|
+
verification_policy:
|
|
266
|
+
mode: requirements
|
|
267
|
+
requirements:
|
|
268
|
+
- evidence_kind: agent_observation
|
|
269
|
+
required_verifiers:
|
|
270
|
+
- agent
|
|
271
|
+
minimum_count: 1
|
|
272
|
+
approval_policy:
|
|
273
|
+
mode: none
|
|
274
|
+
- id: evidence.ledger.crash_durable_ledger_writes
|
|
275
|
+
title: Crash-durable ledger writes
|
|
276
|
+
lifecycle: active
|
|
277
|
+
value_tier: core
|
|
278
|
+
journey_role: edge
|
|
279
|
+
usage_frequency: rare
|
|
280
|
+
tags:
|
|
281
|
+
- evidence
|
|
282
|
+
- durability
|
|
283
|
+
- jsonl
|
|
284
|
+
- integrity
|
|
285
|
+
source_refs:
|
|
286
|
+
- kind: file
|
|
287
|
+
path: packages/core/src/durableWrite.ts
|
|
288
|
+
- kind: file
|
|
289
|
+
path: packages/core/src/evidence/appendEvidenceEvent.ts
|
|
290
|
+
- kind: file
|
|
291
|
+
path: packages/core/src/showcase/jsonlLedger.ts
|
|
292
|
+
actor: script
|
|
293
|
+
intent: Append evidence and showcase events through an atomic temp-file write with best-effort fsync so a crash or interruption cannot leave a half-written or truncated ledger.
|
|
294
|
+
preconditions:
|
|
295
|
+
- An append to an evidence or showcase JSONL ledger is in progress.
|
|
296
|
+
trigger: Agent or script records an evidence or showcase event, possibly on a flaky or interruptible filesystem.
|
|
297
|
+
scenarios:
|
|
298
|
+
- id: evidence.ledger.crash_durable_ledger_writes.atomic
|
|
299
|
+
kind: steps
|
|
300
|
+
steps:
|
|
301
|
+
- Append an event so it is staged and flushed before the live ledger is replaced.
|
|
302
|
+
- Confirm the ledger either contains the whole event or none of it, never a partial line.
|
|
303
|
+
- Confirm filesystems that cannot fsync a temp file degrade to best-effort instead of failing the write.
|
|
304
|
+
observable_outcomes:
|
|
305
|
+
- An interrupted append does not corrupt or truncate the existing ledger.
|
|
306
|
+
- Durability degrades gracefully rather than throwing on unsupported temp-file sync.
|
|
307
|
+
host_applicability:
|
|
308
|
+
- host_surface: codex.cli
|
|
309
|
+
supported: true
|
|
310
|
+
verification_policy:
|
|
311
|
+
mode: requirements
|
|
312
|
+
verifiers:
|
|
313
|
+
script:
|
|
314
|
+
kind: script
|
|
315
|
+
evidence_kind: test_result
|
|
316
|
+
command:
|
|
317
|
+
- pnpm
|
|
318
|
+
- -s
|
|
319
|
+
- vitest
|
|
320
|
+
- run
|
|
321
|
+
- tests/use-cases/crash_durable_ledger_writes.test.ts
|
|
322
|
+
inputs:
|
|
323
|
+
- tests/use-cases/crash_durable_ledger_writes.test.ts
|
|
324
|
+
requirements:
|
|
325
|
+
- evidence_kind: test_result
|
|
326
|
+
required_verifiers:
|
|
327
|
+
- script
|
|
328
|
+
minimum_count: 1
|
|
329
|
+
approval_policy:
|
|
330
|
+
mode: none
|
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
schema_version: 1
|
|
2
|
+
feature:
|
|
3
|
+
id: hosts.profiles
|
|
4
|
+
name: Host profiles and conformance
|
|
5
|
+
summary: First-class host families with truthful projection, activation, and support status.
|
|
6
|
+
use_cases:
|
|
7
|
+
- id: hosts.profiles.first_class_profile_set
|
|
8
|
+
title: Four first-class host families
|
|
9
|
+
lifecycle: active
|
|
10
|
+
value_tier: critical
|
|
11
|
+
journey_role: golden
|
|
12
|
+
usage_frequency: common
|
|
13
|
+
tags:
|
|
14
|
+
- hosts
|
|
15
|
+
- claude
|
|
16
|
+
- codex
|
|
17
|
+
- copilot
|
|
18
|
+
- opencode
|
|
19
|
+
source_refs:
|
|
20
|
+
- kind: file
|
|
21
|
+
path: docs/hosts.md
|
|
22
|
+
- kind: file
|
|
23
|
+
path: hosts/claude.yml
|
|
24
|
+
- kind: file
|
|
25
|
+
path: hosts/codex.yml
|
|
26
|
+
- kind: file
|
|
27
|
+
path: hosts/copilot.yml
|
|
28
|
+
- kind: file
|
|
29
|
+
path: hosts/opencode.yml
|
|
30
|
+
actor: agent
|
|
31
|
+
intent: Maintain Claude, Codex, Copilot, and OpenCode as explicit host families with profiles.
|
|
32
|
+
preconditions:
|
|
33
|
+
- Host profile files are part of the package and docs.
|
|
34
|
+
trigger: Agent checks host support shape or release packaging.
|
|
35
|
+
scenarios:
|
|
36
|
+
- id: hosts.profiles.first_class_profile_set.profiles
|
|
37
|
+
kind: steps
|
|
38
|
+
steps:
|
|
39
|
+
- Inspect the host profile set.
|
|
40
|
+
- Confirm Claude, Codex, Copilot, and OpenCode are represented.
|
|
41
|
+
- Keep host profiles separate from live support proof.
|
|
42
|
+
observable_outcomes:
|
|
43
|
+
- Each first-class host family has a profile target.
|
|
44
|
+
- Profile existence is not described as live host support.
|
|
45
|
+
host_applicability:
|
|
46
|
+
- host_surface: codex.cli
|
|
47
|
+
supported: true
|
|
48
|
+
- host_surface: claude.cli
|
|
49
|
+
supported: true
|
|
50
|
+
notes: Profile target only; live support proof is separate.
|
|
51
|
+
- host_surface: copilot.cli
|
|
52
|
+
supported: true
|
|
53
|
+
notes: Profile target only; live support proof is separate.
|
|
54
|
+
- host_surface: opencode.cli
|
|
55
|
+
supported: true
|
|
56
|
+
notes: Profile target only; live support proof is separate.
|
|
57
|
+
verification_policy:
|
|
58
|
+
mode: requirements
|
|
59
|
+
requirements:
|
|
60
|
+
- evidence_kind: command_result
|
|
61
|
+
required_verifiers:
|
|
62
|
+
- script
|
|
63
|
+
minimum_count: 1
|
|
64
|
+
approval_policy:
|
|
65
|
+
mode: none
|
|
66
|
+
- id: hosts.profiles.projection_checksum_integrity
|
|
67
|
+
title: Canonical skill projection integrity
|
|
68
|
+
lifecycle: active
|
|
69
|
+
value_tier: core
|
|
70
|
+
journey_role: golden
|
|
71
|
+
usage_frequency: common
|
|
72
|
+
tags:
|
|
73
|
+
- hosts
|
|
74
|
+
- projection
|
|
75
|
+
- checksum
|
|
76
|
+
source_refs:
|
|
77
|
+
- kind: file
|
|
78
|
+
path: docs/hosts.md
|
|
79
|
+
- kind: file
|
|
80
|
+
path: packages/core/src/hosts/projectHostFiles.ts
|
|
81
|
+
actor: script
|
|
82
|
+
intent: Project host files from canonical skills and detect drift with source hashes.
|
|
83
|
+
preconditions:
|
|
84
|
+
- Canonical agent skills exist in `.agents/skills`.
|
|
85
|
+
trigger: Host projection or conformance status is generated.
|
|
86
|
+
scenarios:
|
|
87
|
+
- id: hosts.profiles.projection_checksum_integrity.check
|
|
88
|
+
kind: steps
|
|
89
|
+
steps:
|
|
90
|
+
- Project host files from canonical skill sources.
|
|
91
|
+
- Compare recorded source hashes with current canonical files.
|
|
92
|
+
- Report drift instead of silently accepting stale projections.
|
|
93
|
+
observable_outcomes:
|
|
94
|
+
- Host projection files can be checked against canonical skill content.
|
|
95
|
+
host_applicability:
|
|
96
|
+
- host_surface: codex.cli
|
|
97
|
+
supported: true
|
|
98
|
+
verification_policy:
|
|
99
|
+
mode: requirements
|
|
100
|
+
requirements:
|
|
101
|
+
- evidence_kind: command_result
|
|
102
|
+
required_verifiers:
|
|
103
|
+
- script
|
|
104
|
+
minimum_count: 1
|
|
105
|
+
approval_policy:
|
|
106
|
+
mode: none
|
|
107
|
+
- id: hosts.profiles.live_activation_caveat
|
|
108
|
+
title: Static projection is not live support
|
|
109
|
+
lifecycle: active
|
|
110
|
+
value_tier: critical
|
|
111
|
+
journey_role: edge
|
|
112
|
+
usage_frequency: occasional
|
|
113
|
+
tags:
|
|
114
|
+
- hosts
|
|
115
|
+
- claim-boundary
|
|
116
|
+
- support
|
|
117
|
+
source_refs:
|
|
118
|
+
- kind: file
|
|
119
|
+
path: docs/activation.md
|
|
120
|
+
- kind: file
|
|
121
|
+
path: docs/hosts.md
|
|
122
|
+
actor: agent
|
|
123
|
+
intent: Make Copilot and OpenCode static conformance caveats visible when live executables are unavailable.
|
|
124
|
+
preconditions:
|
|
125
|
+
- A host profile or projection exists without live host execution evidence.
|
|
126
|
+
trigger: Agent summarizes host support or release status.
|
|
127
|
+
scenarios:
|
|
128
|
+
- id: hosts.profiles.live_activation_caveat.claim
|
|
129
|
+
kind: steps
|
|
130
|
+
steps:
|
|
131
|
+
- Inspect host conformance evidence.
|
|
132
|
+
- Identify static-only or not_run hosts.
|
|
133
|
+
- State caveats before claiming support.
|
|
134
|
+
observable_outcomes:
|
|
135
|
+
- Static projections are not inflated into live host support claims.
|
|
136
|
+
host_applicability:
|
|
137
|
+
- host_surface: codex.cli
|
|
138
|
+
supported: true
|
|
139
|
+
- host_surface: copilot.cli
|
|
140
|
+
supported: true
|
|
141
|
+
notes: Caveat row applies when live executable proof is missing.
|
|
142
|
+
- host_surface: opencode.cli
|
|
143
|
+
supported: true
|
|
144
|
+
notes: Caveat row applies when live executable proof is missing.
|
|
145
|
+
verification_policy:
|
|
146
|
+
mode: requirements
|
|
147
|
+
requirements:
|
|
148
|
+
- evidence_kind: agent_observation
|
|
149
|
+
required_verifiers:
|
|
150
|
+
- agent
|
|
151
|
+
minimum_count: 1
|
|
152
|
+
approval_policy:
|
|
153
|
+
mode: none
|
|
154
|
+
- id: hosts.profiles.bootstrap_visibility
|
|
155
|
+
title: Trusted bootstrap visibility
|
|
156
|
+
lifecycle: active
|
|
157
|
+
value_tier: core
|
|
158
|
+
journey_role: alternate
|
|
159
|
+
usage_frequency: occasional
|
|
160
|
+
tags:
|
|
161
|
+
- hosts
|
|
162
|
+
- bootstrap
|
|
163
|
+
- activation
|
|
164
|
+
source_refs:
|
|
165
|
+
- kind: file
|
|
166
|
+
path: docs/activation.md
|
|
167
|
+
- kind: file
|
|
168
|
+
path: bootstrap/use-cases.md
|
|
169
|
+
- kind: file
|
|
170
|
+
path: packages/core/src/skills/validateSkillAssets.ts
|
|
171
|
+
actor: script
|
|
172
|
+
intent: Check whether the trusted bootstrap is present or visible through each host projection path.
|
|
173
|
+
preconditions:
|
|
174
|
+
- Host projection or skill package assets exist.
|
|
175
|
+
trigger: Agent verifies activation-critical instructions for a host.
|
|
176
|
+
scenarios:
|
|
177
|
+
- id: hosts.profiles.bootstrap_visibility.check
|
|
178
|
+
kind: steps
|
|
179
|
+
steps:
|
|
180
|
+
- Validate skill assets.
|
|
181
|
+
- Confirm bootstrap content is packaged or referenced through expected host paths.
|
|
182
|
+
- Report missing bootstrap visibility as a conformance gap.
|
|
183
|
+
observable_outcomes:
|
|
184
|
+
- Future agents can discover when to use the plugin skills.
|
|
185
|
+
host_applicability:
|
|
186
|
+
- host_surface: codex.cli
|
|
187
|
+
supported: true
|
|
188
|
+
- host_surface: claude.cli
|
|
189
|
+
supported: true
|
|
190
|
+
- host_surface: copilot.cli
|
|
191
|
+
supported: true
|
|
192
|
+
- host_surface: opencode.cli
|
|
193
|
+
supported: true
|
|
194
|
+
verification_policy:
|
|
195
|
+
mode: requirements
|
|
196
|
+
requirements:
|
|
197
|
+
- evidence_kind: command_result
|
|
198
|
+
required_verifiers:
|
|
199
|
+
- script
|
|
200
|
+
minimum_count: 1
|
|
201
|
+
approval_policy:
|
|
202
|
+
mode: none
|
|
203
|
+
- id: hosts.profiles.surface_limitations
|
|
204
|
+
title: Host limitations are explicit
|
|
205
|
+
lifecycle: active
|
|
206
|
+
value_tier: supporting
|
|
207
|
+
journey_role: alternate
|
|
208
|
+
usage_frequency: occasional
|
|
209
|
+
tags:
|
|
210
|
+
- hosts
|
|
211
|
+
- limitations
|
|
212
|
+
- permissions
|
|
213
|
+
source_refs:
|
|
214
|
+
- kind: file
|
|
215
|
+
path: docs/hosts.md
|
|
216
|
+
- kind: file
|
|
217
|
+
path: hosts/copilot.yml
|
|
218
|
+
- kind: file
|
|
219
|
+
path: hosts/opencode.yml
|
|
220
|
+
actor: agent
|
|
221
|
+
intent: Show known host limitations, permissions, and unavailable capabilities without hiding gaps.
|
|
222
|
+
preconditions:
|
|
223
|
+
- A host has missing executable proof, limited projection support, or different tool semantics.
|
|
224
|
+
trigger: Agent chooses a host workflow or reports host readiness.
|
|
225
|
+
scenarios:
|
|
226
|
+
- id: hosts.profiles.surface_limitations.report
|
|
227
|
+
kind: steps
|
|
228
|
+
steps:
|
|
229
|
+
- Inspect host profile and conformance status.
|
|
230
|
+
- Report unavailable commands, unknown activation paths, or untested surfaces.
|
|
231
|
+
- Avoid blanket support claims.
|
|
232
|
+
observable_outcomes:
|
|
233
|
+
- Host-specific limitations are visible before users rely on them.
|
|
234
|
+
host_applicability:
|
|
235
|
+
- host_surface: codex.cli
|
|
236
|
+
supported: true
|
|
237
|
+
- host_surface: claude.cli
|
|
238
|
+
supported: true
|
|
239
|
+
- host_surface: copilot.cli
|
|
240
|
+
supported: true
|
|
241
|
+
- host_surface: opencode.cli
|
|
242
|
+
supported: true
|
|
243
|
+
verification_policy:
|
|
244
|
+
mode: requirements
|
|
245
|
+
requirements:
|
|
246
|
+
- evidence_kind: agent_observation
|
|
247
|
+
required_verifiers:
|
|
248
|
+
- agent
|
|
249
|
+
minimum_count: 1
|
|
250
|
+
approval_policy:
|
|
251
|
+
mode: none
|
|
252
|
+
- id: hosts.profiles.smoke_signal_resilience
|
|
253
|
+
title: Signal-killed host smoke is not_run, never passed
|
|
254
|
+
lifecycle: active
|
|
255
|
+
value_tier: core
|
|
256
|
+
journey_role: failure
|
|
257
|
+
usage_frequency: rare
|
|
258
|
+
tags:
|
|
259
|
+
- hosts
|
|
260
|
+
- conformance
|
|
261
|
+
- resilience
|
|
262
|
+
source_refs:
|
|
263
|
+
- kind: file
|
|
264
|
+
path: packages/core/src/hosts/conformanceStatus.ts
|
|
265
|
+
- kind: file
|
|
266
|
+
path: tests/conformance/hosts/p13-host-conformance.test.ts
|
|
267
|
+
actor: script
|
|
268
|
+
intent: When a host smoke executable is terminated by a signal or exits without a status, report it as warning-backed not_run rather than counting it as passed.
|
|
269
|
+
preconditions:
|
|
270
|
+
- A host smoke command is available but is killed by a signal or returns no exit status.
|
|
271
|
+
trigger: Release gate or agent runs host conformance and a smoke executable is terminated abnormally.
|
|
272
|
+
scenarios:
|
|
273
|
+
- id: hosts.profiles.smoke_signal_resilience.terminated
|
|
274
|
+
kind: steps
|
|
275
|
+
steps:
|
|
276
|
+
- Run host conformance with a smoke executable that is terminated by a signal.
|
|
277
|
+
- Confirm the host is reported as not_run with an executable-unavailable reason.
|
|
278
|
+
- Confirm the abnormal termination is not counted as a passed conformance result.
|
|
279
|
+
observable_outcomes:
|
|
280
|
+
- A signal-killed smoke run is treated as inconclusive, not as proof of support.
|
|
281
|
+
- The reason for the not_run status is visible to the reviewer.
|
|
282
|
+
host_applicability:
|
|
283
|
+
- host_surface: codex.cli
|
|
284
|
+
supported: true
|
|
285
|
+
- host_surface: claude.cli
|
|
286
|
+
supported: true
|
|
287
|
+
- host_surface: copilot.cli
|
|
288
|
+
supported: true
|
|
289
|
+
- host_surface: opencode.cli
|
|
290
|
+
supported: true
|
|
291
|
+
verification_policy:
|
|
292
|
+
mode: requirements
|
|
293
|
+
requirements:
|
|
294
|
+
- evidence_kind: test_result
|
|
295
|
+
required_verifiers:
|
|
296
|
+
- script
|
|
297
|
+
minimum_count: 1
|
|
298
|
+
approval_policy:
|
|
299
|
+
mode: none
|
|
300
|
+
- id: hosts.profiles.bootstrap_autoinject
|
|
301
|
+
title: Trusted bootstrap is auto-injected at session start per host
|
|
302
|
+
lifecycle: active
|
|
303
|
+
value_tier: core
|
|
304
|
+
journey_role: golden
|
|
305
|
+
usage_frequency: common
|
|
306
|
+
tags:
|
|
307
|
+
- hosts
|
|
308
|
+
- bootstrap
|
|
309
|
+
- activation
|
|
310
|
+
source_refs:
|
|
311
|
+
- kind: file
|
|
312
|
+
path: hooks/session-start
|
|
313
|
+
- kind: file
|
|
314
|
+
path: hooks/hooks.json
|
|
315
|
+
- kind: file
|
|
316
|
+
path: hooks/hooks-codex.json
|
|
317
|
+
- kind: file
|
|
318
|
+
path: .opencode/plugin/use-cases.js
|
|
319
|
+
- kind: file
|
|
320
|
+
path: bootstrap/use-cases.md
|
|
321
|
+
actor: agent
|
|
322
|
+
intent: Deliver the trusted bootstrap into an installed agent's context at session start through each host's real mechanism, so the plugin activates without the agent having to discover it by reading the repo.
|
|
323
|
+
preconditions:
|
|
324
|
+
- The plugin is installed in a supported host and the host fires its session-start lifecycle.
|
|
325
|
+
trigger: A session starts (or resumes / clears / compacts) in a host with the plugin installed.
|
|
326
|
+
scenarios:
|
|
327
|
+
- id: hosts.profiles.bootstrap_autoinject.per_host
|
|
328
|
+
kind: steps
|
|
329
|
+
steps:
|
|
330
|
+
- Run the session-start hook under each host's environment (Claude, Copilot, Codex).
|
|
331
|
+
- Confirm it emits the trusted bootstrap in that host's context shape.
|
|
332
|
+
- Confirm the OpenCode plugin returns the bootstrap as session.started context.
|
|
333
|
+
observable_outcomes:
|
|
334
|
+
- Claude and Codex receive the bootstrap as hookSpecificOutput.additionalContext; Copilot as top-level additionalContext; OpenCode as session.started context.
|
|
335
|
+
- The injected content is the trusted EXTREMELY_IMPORTANT bootstrap block, delivered whole (no truncation), not arbitrary text.
|
|
336
|
+
host_applicability:
|
|
337
|
+
- host_surface: claude.cli
|
|
338
|
+
supported: true
|
|
339
|
+
- host_surface: codex.cli
|
|
340
|
+
supported: true
|
|
341
|
+
- host_surface: copilot.cli
|
|
342
|
+
supported: true
|
|
343
|
+
- host_surface: opencode.cli
|
|
344
|
+
supported: true
|
|
345
|
+
verification_policy:
|
|
346
|
+
mode: requirements
|
|
347
|
+
verifiers:
|
|
348
|
+
script:
|
|
349
|
+
kind: script
|
|
350
|
+
evidence_kind: test_result
|
|
351
|
+
command:
|
|
352
|
+
- pnpm
|
|
353
|
+
- -s
|
|
354
|
+
- vitest
|
|
355
|
+
- run
|
|
356
|
+
- tests/conformance/bootstrap/session-start.test.ts
|
|
357
|
+
inputs:
|
|
358
|
+
- tests/conformance/bootstrap/session-start.test.ts
|
|
359
|
+
requirements:
|
|
360
|
+
- evidence_kind: test_result
|
|
361
|
+
required_verifiers:
|
|
362
|
+
- script
|
|
363
|
+
minimum_count: 1
|
|
364
|
+
approval_policy:
|
|
365
|
+
mode: none
|