@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.
Files changed (704) hide show
  1. package/.agents/skills/migration/SKILL.md +85 -0
  2. package/.agents/skills/showcase/SKILL.md +60 -0
  3. package/.agents/skills/use-cases/SKILL.md +161 -0
  4. package/.agents/skills/walkthrough/SKILL.md +48 -0
  5. package/.claude-plugin/plugin.json +14 -0
  6. package/.codex-plugin/plugin.json +33 -0
  7. package/.mcp.json +8 -0
  8. package/.opencode/plugin/use-cases.js +32 -0
  9. package/CHANGELOG.md +125 -0
  10. package/LICENSE +21 -0
  11. package/README.md +112 -0
  12. package/bootstrap/use-cases.md +60 -0
  13. package/docs/README.md +51 -0
  14. package/docs/acceptance.md +16 -0
  15. package/docs/activation.md +89 -0
  16. package/docs/adr/0001-p0-bootstrap-decisions.md +107 -0
  17. package/docs/adr/0002-p1-schema-contracts.md +136 -0
  18. package/docs/adr/0003-p2-use-case-matrix-contracts.md +67 -0
  19. package/docs/adr/0004-p3-evidence-ledger-contracts.md +85 -0
  20. package/docs/adr/0005-p4-cli-contract.md +70 -0
  21. package/docs/adr/0006-trusted-user-approval-path.md +125 -0
  22. package/docs/cli.md +108 -0
  23. package/docs/data-model.md +56 -0
  24. package/docs/getting-started.md +296 -0
  25. package/docs/hosts.md +30 -0
  26. package/docs/markers-adoption.md +100 -0
  27. package/docs/mcp.md +114 -0
  28. package/docs/migration.md +90 -0
  29. package/docs/reference/error-codes.md +123 -0
  30. package/docs/reference/stability.md +123 -0
  31. package/docs/release.md +26 -0
  32. package/docs/security/ci-hardening.md +144 -0
  33. package/docs/security/key-management.md +158 -0
  34. package/docs/security.md +66 -0
  35. package/docs/showcase.md +39 -0
  36. package/docs/tutorials/python-pytest.md +188 -0
  37. package/examples/basic-product/demo-capsules/product-search.yml +23 -0
  38. package/examples/basic-product/evidence/by-id/ev/evidence-basic-search.jsonl +1 -0
  39. package/examples/basic-product/showcase-runs/run.basic.product.search/events.jsonl +4 -0
  40. package/examples/basic-product/use-cases/product.yml +85 -0
  41. package/examples/basic-product/use-cases.yml +9 -0
  42. package/examples/damaged-product/evidence/broken.jsonl +1 -0
  43. package/examples/damaged-product/use-cases/duplicate-a.yml +28 -0
  44. package/examples/damaged-product/use-cases/duplicate-b.yml +28 -0
  45. package/examples/damaged-product/use-cases/malformed.yml +14 -0
  46. package/examples/damaged-product/use-cases/valid-sibling.yml +28 -0
  47. package/examples/damaged-product/use-cases.yml +9 -0
  48. package/examples/host-projections/use-cases.yml +9 -0
  49. package/examples/python-pytest/README.md +39 -0
  50. package/examples/python-pytest/pytest.ini +8 -0
  51. package/examples/python-pytest/src/coupon.py +32 -0
  52. package/examples/python-pytest/tests/use_cases/example.checkout.apply_coupon_test.py +31 -0
  53. package/examples/python-pytest/use-cases/checkout.yml +47 -0
  54. package/examples/python-pytest/use-cases.yml +19 -0
  55. package/hooks/hooks-codex.json +16 -0
  56. package/hooks/hooks.json +16 -0
  57. package/hooks/session-start +42 -0
  58. package/hosts/claude.yml +29 -0
  59. package/hosts/codex.yml +29 -0
  60. package/hosts/copilot.yml +29 -0
  61. package/hosts/opencode.yml +29 -0
  62. package/package.json +81 -0
  63. package/packages/cli/README.md +37 -0
  64. package/packages/cli/dist/args/parse.d.ts +6 -0
  65. package/packages/cli/dist/args/parse.d.ts.map +1 -0
  66. package/packages/cli/dist/args/parse.js +55 -0
  67. package/packages/cli/dist/args/parse.js.map +1 -0
  68. package/packages/cli/dist/args/validate.d.ts +3 -0
  69. package/packages/cli/dist/args/validate.d.ts.map +1 -0
  70. package/packages/cli/dist/args/validate.js +80 -0
  71. package/packages/cli/dist/args/validate.js.map +1 -0
  72. package/packages/cli/dist/builtins.d.ts +2 -0
  73. package/packages/cli/dist/builtins.d.ts.map +1 -0
  74. package/packages/cli/dist/builtins.js +235 -0
  75. package/packages/cli/dist/builtins.js.map +1 -0
  76. package/packages/cli/dist/command/dispatch.d.ts +4 -0
  77. package/packages/cli/dist/command/dispatch.d.ts.map +1 -0
  78. package/packages/cli/dist/command/dispatch.js +45 -0
  79. package/packages/cli/dist/command/dispatch.js.map +1 -0
  80. package/packages/cli/dist/command/help-catalog.d.ts +13 -0
  81. package/packages/cli/dist/command/help-catalog.d.ts.map +1 -0
  82. package/packages/cli/dist/command/help-catalog.js +42 -0
  83. package/packages/cli/dist/command/help-catalog.js.map +1 -0
  84. package/packages/cli/dist/command/registry.d.ts +3 -0
  85. package/packages/cli/dist/command/registry.d.ts.map +1 -0
  86. package/packages/cli/dist/command/registry.js +33 -0
  87. package/packages/cli/dist/command/registry.js.map +1 -0
  88. package/packages/cli/dist/command/types.d.ts +32 -0
  89. package/packages/cli/dist/command/types.d.ts.map +1 -0
  90. package/packages/cli/dist/command/types.js +6 -0
  91. package/packages/cli/dist/command/types.js.map +1 -0
  92. package/packages/cli/dist/commands/capsule.d.ts +7 -0
  93. package/packages/cli/dist/commands/capsule.d.ts.map +1 -0
  94. package/packages/cli/dist/commands/capsule.js +178 -0
  95. package/packages/cli/dist/commands/capsule.js.map +1 -0
  96. package/packages/cli/dist/commands/common.d.ts +7 -0
  97. package/packages/cli/dist/commands/common.d.ts.map +1 -0
  98. package/packages/cli/dist/commands/common.js +32 -0
  99. package/packages/cli/dist/commands/common.js.map +1 -0
  100. package/packages/cli/dist/commands/doctor.d.ts +6 -0
  101. package/packages/cli/dist/commands/doctor.d.ts.map +1 -0
  102. package/packages/cli/dist/commands/doctor.js +133 -0
  103. package/packages/cli/dist/commands/doctor.js.map +1 -0
  104. package/packages/cli/dist/commands/evidence.d.ts +6 -0
  105. package/packages/cli/dist/commands/evidence.d.ts.map +1 -0
  106. package/packages/cli/dist/commands/evidence.js +191 -0
  107. package/packages/cli/dist/commands/evidence.js.map +1 -0
  108. package/packages/cli/dist/commands/host.d.ts +6 -0
  109. package/packages/cli/dist/commands/host.d.ts.map +1 -0
  110. package/packages/cli/dist/commands/host.js +180 -0
  111. package/packages/cli/dist/commands/host.js.map +1 -0
  112. package/packages/cli/dist/commands/keygen.d.ts +4 -0
  113. package/packages/cli/dist/commands/keygen.d.ts.map +1 -0
  114. package/packages/cli/dist/commands/keygen.js +132 -0
  115. package/packages/cli/dist/commands/keygen.js.map +1 -0
  116. package/packages/cli/dist/commands/markers.d.ts +8 -0
  117. package/packages/cli/dist/commands/markers.d.ts.map +1 -0
  118. package/packages/cli/dist/commands/markers.js +455 -0
  119. package/packages/cli/dist/commands/markers.js.map +1 -0
  120. package/packages/cli/dist/commands/matrix.d.ts +8 -0
  121. package/packages/cli/dist/commands/matrix.d.ts.map +1 -0
  122. package/packages/cli/dist/commands/matrix.js +237 -0
  123. package/packages/cli/dist/commands/matrix.js.map +1 -0
  124. package/packages/cli/dist/commands/migrate.d.ts +4 -0
  125. package/packages/cli/dist/commands/migrate.d.ts.map +1 -0
  126. package/packages/cli/dist/commands/migrate.js +82 -0
  127. package/packages/cli/dist/commands/migrate.js.map +1 -0
  128. package/packages/cli/dist/commands/plan.d.ts +6 -0
  129. package/packages/cli/dist/commands/plan.d.ts.map +1 -0
  130. package/packages/cli/dist/commands/plan.js +129 -0
  131. package/packages/cli/dist/commands/plan.js.map +1 -0
  132. package/packages/cli/dist/commands/recover.d.ts +4 -0
  133. package/packages/cli/dist/commands/recover.d.ts.map +1 -0
  134. package/packages/cli/dist/commands/recover.js +352 -0
  135. package/packages/cli/dist/commands/recover.js.map +1 -0
  136. package/packages/cli/dist/commands/schema.d.ts +5 -0
  137. package/packages/cli/dist/commands/schema.d.ts.map +1 -0
  138. package/packages/cli/dist/commands/schema.js +51 -0
  139. package/packages/cli/dist/commands/schema.js.map +1 -0
  140. package/packages/cli/dist/commands/showcase.d.ts +14 -0
  141. package/packages/cli/dist/commands/showcase.d.ts.map +1 -0
  142. package/packages/cli/dist/commands/showcase.js +638 -0
  143. package/packages/cli/dist/commands/showcase.js.map +1 -0
  144. package/packages/cli/dist/commands/workflow.d.ts +5 -0
  145. package/packages/cli/dist/commands/workflow.d.ts.map +1 -0
  146. package/packages/cli/dist/commands/workflow.js +107 -0
  147. package/packages/cli/dist/commands/workflow.js.map +1 -0
  148. package/packages/cli/dist/coreLoader.d.ts +6 -0
  149. package/packages/cli/dist/coreLoader.d.ts.map +1 -0
  150. package/packages/cli/dist/coreLoader.js +34 -0
  151. package/packages/cli/dist/coreLoader.js.map +1 -0
  152. package/packages/cli/dist/index.d.ts +5 -0
  153. package/packages/cli/dist/index.d.ts.map +1 -0
  154. package/packages/cli/dist/index.js +83 -0
  155. package/packages/cli/dist/index.js.map +1 -0
  156. package/packages/cli/dist/render.d.ts +2 -0
  157. package/packages/cli/dist/render.d.ts.map +1 -0
  158. package/packages/cli/dist/render.js +88 -0
  159. package/packages/cli/dist/render.js.map +1 -0
  160. package/packages/cli/dist/runtime.d.ts +25 -0
  161. package/packages/cli/dist/runtime.d.ts.map +1 -0
  162. package/packages/cli/dist/runtime.js +89 -0
  163. package/packages/cli/dist/runtime.js.map +1 -0
  164. package/packages/cli/package.json +38 -0
  165. package/packages/core/README.md +37 -0
  166. package/packages/core/dist/capsules/index.d.ts +4 -0
  167. package/packages/core/dist/capsules/index.d.ts.map +1 -0
  168. package/packages/core/dist/capsules/index.js +4 -0
  169. package/packages/core/dist/capsules/index.js.map +1 -0
  170. package/packages/core/dist/capsules/loadCapsule.d.ts +11 -0
  171. package/packages/core/dist/capsules/loadCapsule.d.ts.map +1 -0
  172. package/packages/core/dist/capsules/loadCapsule.js +167 -0
  173. package/packages/core/dist/capsules/loadCapsule.js.map +1 -0
  174. package/packages/core/dist/capsules/runCapsule.d.ts +3 -0
  175. package/packages/core/dist/capsules/runCapsule.d.ts.map +1 -0
  176. package/packages/core/dist/capsules/runCapsule.js +333 -0
  177. package/packages/core/dist/capsules/runCapsule.js.map +1 -0
  178. package/packages/core/dist/capsules/types.d.ts +106 -0
  179. package/packages/core/dist/capsules/types.d.ts.map +1 -0
  180. package/packages/core/dist/capsules/types.js +2 -0
  181. package/packages/core/dist/capsules/types.js.map +1 -0
  182. package/packages/core/dist/durableWrite.d.ts +2 -0
  183. package/packages/core/dist/durableWrite.d.ts.map +1 -0
  184. package/packages/core/dist/durableWrite.js +34 -0
  185. package/packages/core/dist/durableWrite.js.map +1 -0
  186. package/packages/core/dist/errors/registry.d.ts +122 -0
  187. package/packages/core/dist/errors/registry.d.ts.map +1 -0
  188. package/packages/core/dist/errors/registry.js +206 -0
  189. package/packages/core/dist/errors/registry.js.map +1 -0
  190. package/packages/core/dist/errors/render.d.ts +3 -0
  191. package/packages/core/dist/errors/render.d.ts.map +1 -0
  192. package/packages/core/dist/errors/render.js +64 -0
  193. package/packages/core/dist/errors/render.js.map +1 -0
  194. package/packages/core/dist/errors.d.ts +5 -0
  195. package/packages/core/dist/errors.d.ts.map +1 -0
  196. package/packages/core/dist/errors.js +9 -0
  197. package/packages/core/dist/errors.js.map +1 -0
  198. package/packages/core/dist/evidence/appendEvidenceEvent.d.ts +27 -0
  199. package/packages/core/dist/evidence/appendEvidenceEvent.d.ts.map +1 -0
  200. package/packages/core/dist/evidence/appendEvidenceEvent.js +218 -0
  201. package/packages/core/dist/evidence/appendEvidenceEvent.js.map +1 -0
  202. package/packages/core/dist/evidence/assurance.d.ts +18 -0
  203. package/packages/core/dist/evidence/assurance.d.ts.map +1 -0
  204. package/packages/core/dist/evidence/assurance.js +38 -0
  205. package/packages/core/dist/evidence/assurance.js.map +1 -0
  206. package/packages/core/dist/evidence/index.d.ts +8 -0
  207. package/packages/core/dist/evidence/index.d.ts.map +1 -0
  208. package/packages/core/dist/evidence/index.js +8 -0
  209. package/packages/core/dist/evidence/index.js.map +1 -0
  210. package/packages/core/dist/evidence/jsonlLedger.d.ts +13 -0
  211. package/packages/core/dist/evidence/jsonlLedger.d.ts.map +1 -0
  212. package/packages/core/dist/evidence/jsonlLedger.js +171 -0
  213. package/packages/core/dist/evidence/jsonlLedger.js.map +1 -0
  214. package/packages/core/dist/evidence/linkEvidence.d.ts +4 -0
  215. package/packages/core/dist/evidence/linkEvidence.d.ts.map +1 -0
  216. package/packages/core/dist/evidence/linkEvidence.js +53 -0
  217. package/packages/core/dist/evidence/linkEvidence.js.map +1 -0
  218. package/packages/core/dist/evidence/replayEvidence.d.ts +6 -0
  219. package/packages/core/dist/evidence/replayEvidence.d.ts.map +1 -0
  220. package/packages/core/dist/evidence/replayEvidence.js +216 -0
  221. package/packages/core/dist/evidence/replayEvidence.js.map +1 -0
  222. package/packages/core/dist/evidence/results.d.ts +4 -0
  223. package/packages/core/dist/evidence/results.d.ts.map +1 -0
  224. package/packages/core/dist/evidence/results.js +32 -0
  225. package/packages/core/dist/evidence/results.js.map +1 -0
  226. package/packages/core/dist/evidence/types.d.ts +149 -0
  227. package/packages/core/dist/evidence/types.d.ts.map +1 -0
  228. package/packages/core/dist/evidence/types.js +2 -0
  229. package/packages/core/dist/evidence/types.js.map +1 -0
  230. package/packages/core/dist/host-profiles/claude.yml +29 -0
  231. package/packages/core/dist/host-profiles/codex.yml +29 -0
  232. package/packages/core/dist/host-profiles/copilot.yml +29 -0
  233. package/packages/core/dist/host-profiles/opencode.yml +29 -0
  234. package/packages/core/dist/hosts/conformanceStatus.d.ts +16 -0
  235. package/packages/core/dist/hosts/conformanceStatus.d.ts.map +1 -0
  236. package/packages/core/dist/hosts/conformanceStatus.js +160 -0
  237. package/packages/core/dist/hosts/conformanceStatus.js.map +1 -0
  238. package/packages/core/dist/hosts/index.d.ts +5 -0
  239. package/packages/core/dist/hosts/index.d.ts.map +1 -0
  240. package/packages/core/dist/hosts/index.js +5 -0
  241. package/packages/core/dist/hosts/index.js.map +1 -0
  242. package/packages/core/dist/hosts/loadHostProfile.d.ts +6 -0
  243. package/packages/core/dist/hosts/loadHostProfile.d.ts.map +1 -0
  244. package/packages/core/dist/hosts/loadHostProfile.js +41 -0
  245. package/packages/core/dist/hosts/loadHostProfile.js.map +1 -0
  246. package/packages/core/dist/hosts/projectHostFiles.d.ts +16 -0
  247. package/packages/core/dist/hosts/projectHostFiles.d.ts.map +1 -0
  248. package/packages/core/dist/hosts/projectHostFiles.js +272 -0
  249. package/packages/core/dist/hosts/projectHostFiles.js.map +1 -0
  250. package/packages/core/dist/hosts/types.d.ts +122 -0
  251. package/packages/core/dist/hosts/types.d.ts.map +1 -0
  252. package/packages/core/dist/hosts/types.js +2 -0
  253. package/packages/core/dist/hosts/types.js.map +1 -0
  254. package/packages/core/dist/index.d.ts +26 -0
  255. package/packages/core/dist/index.d.ts.map +1 -0
  256. package/packages/core/dist/index.js +31 -0
  257. package/packages/core/dist/index.js.map +1 -0
  258. package/packages/core/dist/init/index.d.ts +2 -0
  259. package/packages/core/dist/init/index.d.ts.map +1 -0
  260. package/packages/core/dist/init/index.js +3 -0
  261. package/packages/core/dist/init/index.js.map +1 -0
  262. package/packages/core/dist/init/scaffold.d.ts +28 -0
  263. package/packages/core/dist/init/scaffold.d.ts.map +1 -0
  264. package/packages/core/dist/init/scaffold.js +293 -0
  265. package/packages/core/dist/init/scaffold.js.map +1 -0
  266. package/packages/core/dist/markers/appendOnly.d.ts +23 -0
  267. package/packages/core/dist/markers/appendOnly.d.ts.map +1 -0
  268. package/packages/core/dist/markers/appendOnly.js +75 -0
  269. package/packages/core/dist/markers/appendOnly.js.map +1 -0
  270. package/packages/core/dist/markers/bindingSetHash.d.ts +28 -0
  271. package/packages/core/dist/markers/bindingSetHash.d.ts.map +1 -0
  272. package/packages/core/dist/markers/bindingSetHash.js +33 -0
  273. package/packages/core/dist/markers/bindingSetHash.js.map +1 -0
  274. package/packages/core/dist/markers/canonicalJson.d.ts +4 -0
  275. package/packages/core/dist/markers/canonicalJson.d.ts.map +1 -0
  276. package/packages/core/dist/markers/canonicalJson.js +51 -0
  277. package/packages/core/dist/markers/canonicalJson.js.map +1 -0
  278. package/packages/core/dist/markers/ciAuthority.d.ts +17 -0
  279. package/packages/core/dist/markers/ciAuthority.d.ts.map +1 -0
  280. package/packages/core/dist/markers/ciAuthority.js +131 -0
  281. package/packages/core/dist/markers/ciAuthority.js.map +1 -0
  282. package/packages/core/dist/markers/cli/bind.d.ts +48 -0
  283. package/packages/core/dist/markers/cli/bind.d.ts.map +1 -0
  284. package/packages/core/dist/markers/cli/bind.js +198 -0
  285. package/packages/core/dist/markers/cli/bind.js.map +1 -0
  286. package/packages/core/dist/markers/cli/index.d.ts +9 -0
  287. package/packages/core/dist/markers/cli/index.d.ts.map +1 -0
  288. package/packages/core/dist/markers/cli/index.js +15 -0
  289. package/packages/core/dist/markers/cli/index.js.map +1 -0
  290. package/packages/core/dist/markers/cli/io.d.ts +18 -0
  291. package/packages/core/dist/markers/cli/io.d.ts.map +1 -0
  292. package/packages/core/dist/markers/cli/io.js +62 -0
  293. package/packages/core/dist/markers/cli/io.js.map +1 -0
  294. package/packages/core/dist/markers/cli/precommit.d.ts +32 -0
  295. package/packages/core/dist/markers/cli/precommit.d.ts.map +1 -0
  296. package/packages/core/dist/markers/cli/precommit.js +174 -0
  297. package/packages/core/dist/markers/cli/precommit.js.map +1 -0
  298. package/packages/core/dist/markers/cli/prove.d.ts +69 -0
  299. package/packages/core/dist/markers/cli/prove.d.ts.map +1 -0
  300. package/packages/core/dist/markers/cli/prove.js +381 -0
  301. package/packages/core/dist/markers/cli/prove.js.map +1 -0
  302. package/packages/core/dist/markers/cli/scan.d.ts +63 -0
  303. package/packages/core/dist/markers/cli/scan.d.ts.map +1 -0
  304. package/packages/core/dist/markers/cli/scan.js +233 -0
  305. package/packages/core/dist/markers/cli/scan.js.map +1 -0
  306. package/packages/core/dist/markers/cli/shared.d.ts +25 -0
  307. package/packages/core/dist/markers/cli/shared.d.ts.map +1 -0
  308. package/packages/core/dist/markers/cli/shared.js +123 -0
  309. package/packages/core/dist/markers/cli/shared.js.map +1 -0
  310. package/packages/core/dist/markers/cli/validateLedger.d.ts +38 -0
  311. package/packages/core/dist/markers/cli/validateLedger.d.ts.map +1 -0
  312. package/packages/core/dist/markers/cli/validateLedger.js +81 -0
  313. package/packages/core/dist/markers/cli/validateLedger.js.map +1 -0
  314. package/packages/core/dist/markers/cli/verify.d.ts +65 -0
  315. package/packages/core/dist/markers/cli/verify.d.ts.map +1 -0
  316. package/packages/core/dist/markers/cli/verify.js +245 -0
  317. package/packages/core/dist/markers/cli/verify.js.map +1 -0
  318. package/packages/core/dist/markers/commentPrefix.d.ts +7 -0
  319. package/packages/core/dist/markers/commentPrefix.d.ts.map +1 -0
  320. package/packages/core/dist/markers/commentPrefix.js +79 -0
  321. package/packages/core/dist/markers/commentPrefix.js.map +1 -0
  322. package/packages/core/dist/markers/constants.d.ts +10 -0
  323. package/packages/core/dist/markers/constants.d.ts.map +1 -0
  324. package/packages/core/dist/markers/constants.js +13 -0
  325. package/packages/core/dist/markers/constants.js.map +1 -0
  326. package/packages/core/dist/markers/evidenceLedger.d.ts +150 -0
  327. package/packages/core/dist/markers/evidenceLedger.d.ts.map +1 -0
  328. package/packages/core/dist/markers/evidenceLedger.js +391 -0
  329. package/packages/core/dist/markers/evidenceLedger.js.map +1 -0
  330. package/packages/core/dist/markers/freshness.d.ts +125 -0
  331. package/packages/core/dist/markers/freshness.d.ts.map +1 -0
  332. package/packages/core/dist/markers/freshness.js +605 -0
  333. package/packages/core/dist/markers/freshness.js.map +1 -0
  334. package/packages/core/dist/markers/index.d.ts +26 -0
  335. package/packages/core/dist/markers/index.d.ts.map +1 -0
  336. package/packages/core/dist/markers/index.js +38 -0
  337. package/packages/core/dist/markers/index.js.map +1 -0
  338. package/packages/core/dist/markers/keygen.d.ts +6 -0
  339. package/packages/core/dist/markers/keygen.d.ts.map +1 -0
  340. package/packages/core/dist/markers/keygen.js +18 -0
  341. package/packages/core/dist/markers/keygen.js.map +1 -0
  342. package/packages/core/dist/markers/keyring.d.ts +23 -0
  343. package/packages/core/dist/markers/keyring.d.ts.map +1 -0
  344. package/packages/core/dist/markers/keyring.js +93 -0
  345. package/packages/core/dist/markers/keyring.js.map +1 -0
  346. package/packages/core/dist/markers/markerLine.d.ts +35 -0
  347. package/packages/core/dist/markers/markerLine.d.ts.map +1 -0
  348. package/packages/core/dist/markers/markerLine.js +125 -0
  349. package/packages/core/dist/markers/markerLine.js.map +1 -0
  350. package/packages/core/dist/markers/physicalLines.d.ts +10 -0
  351. package/packages/core/dist/markers/physicalLines.d.ts.map +1 -0
  352. package/packages/core/dist/markers/physicalLines.js +48 -0
  353. package/packages/core/dist/markers/physicalLines.js.map +1 -0
  354. package/packages/core/dist/markers/policyHash.d.ts +4 -0
  355. package/packages/core/dist/markers/policyHash.d.ts.map +1 -0
  356. package/packages/core/dist/markers/policyHash.js +14 -0
  357. package/packages/core/dist/markers/policyHash.js.map +1 -0
  358. package/packages/core/dist/markers/proofSignature.d.ts +29 -0
  359. package/packages/core/dist/markers/proofSignature.d.ts.map +1 -0
  360. package/packages/core/dist/markers/proofSignature.js +106 -0
  361. package/packages/core/dist/markers/proofSignature.js.map +1 -0
  362. package/packages/core/dist/markers/reconcile.d.ts +26 -0
  363. package/packages/core/dist/markers/reconcile.d.ts.map +1 -0
  364. package/packages/core/dist/markers/reconcile.js +52 -0
  365. package/packages/core/dist/markers/reconcile.js.map +1 -0
  366. package/packages/core/dist/markers/registry.d.ts +53 -0
  367. package/packages/core/dist/markers/registry.d.ts.map +1 -0
  368. package/packages/core/dist/markers/registry.js +161 -0
  369. package/packages/core/dist/markers/registry.js.map +1 -0
  370. package/packages/core/dist/markers/rowHash.d.ts +2 -0
  371. package/packages/core/dist/markers/rowHash.d.ts.map +1 -0
  372. package/packages/core/dist/markers/rowHash.js +10 -0
  373. package/packages/core/dist/markers/rowHash.js.map +1 -0
  374. package/packages/core/dist/markers/scanner.d.ts +67 -0
  375. package/packages/core/dist/markers/scanner.d.ts.map +1 -0
  376. package/packages/core/dist/markers/scanner.js +292 -0
  377. package/packages/core/dist/markers/scanner.js.map +1 -0
  378. package/packages/core/dist/markers/schemas/binding-registry-event.schema.json +41 -0
  379. package/packages/core/dist/markers/schemas/freshness-status.schema.json +134 -0
  380. package/packages/core/dist/markers/schemas/proof-event.schema.json +170 -0
  381. package/packages/core/dist/markers/spanCanon.d.ts +4 -0
  382. package/packages/core/dist/markers/spanCanon.d.ts.map +1 -0
  383. package/packages/core/dist/markers/spanCanon.js +42 -0
  384. package/packages/core/dist/markers/spanCanon.js.map +1 -0
  385. package/packages/core/dist/markers/swiftFuncRecognizer.d.ts +36 -0
  386. package/packages/core/dist/markers/swiftFuncRecognizer.d.ts.map +1 -0
  387. package/packages/core/dist/markers/swiftFuncRecognizer.js +638 -0
  388. package/packages/core/dist/markers/swiftFuncRecognizer.js.map +1 -0
  389. package/packages/core/dist/markers/validators.d.ts +13 -0
  390. package/packages/core/dist/markers/validators.d.ts.map +1 -0
  391. package/packages/core/dist/markers/validators.js +64 -0
  392. package/packages/core/dist/markers/validators.js.map +1 -0
  393. package/packages/core/dist/markers/verificationContextHash.d.ts +23 -0
  394. package/packages/core/dist/markers/verificationContextHash.d.ts.map +1 -0
  395. package/packages/core/dist/markers/verificationContextHash.js +96 -0
  396. package/packages/core/dist/markers/verificationContextHash.js.map +1 -0
  397. package/packages/core/dist/markers/verifierPresets.d.ts +18 -0
  398. package/packages/core/dist/markers/verifierPresets.d.ts.map +1 -0
  399. package/packages/core/dist/markers/verifierPresets.js +71 -0
  400. package/packages/core/dist/markers/verifierPresets.js.map +1 -0
  401. package/packages/core/dist/markers/verifierResolver.d.ts +27 -0
  402. package/packages/core/dist/markers/verifierResolver.d.ts.map +1 -0
  403. package/packages/core/dist/markers/verifierResolver.js +151 -0
  404. package/packages/core/dist/markers/verifierResolver.js.map +1 -0
  405. package/packages/core/dist/migration/index.d.ts +2 -0
  406. package/packages/core/dist/migration/index.d.ts.map +1 -0
  407. package/packages/core/dist/migration/index.js +2 -0
  408. package/packages/core/dist/migration/index.js.map +1 -0
  409. package/packages/core/dist/migration/testMatrix.d.ts +42 -0
  410. package/packages/core/dist/migration/testMatrix.d.ts.map +1 -0
  411. package/packages/core/dist/migration/testMatrix.js +351 -0
  412. package/packages/core/dist/migration/testMatrix.js.map +1 -0
  413. package/packages/core/dist/package/index.d.ts +2 -0
  414. package/packages/core/dist/package/index.d.ts.map +1 -0
  415. package/packages/core/dist/package/index.js +2 -0
  416. package/packages/core/dist/package/index.js.map +1 -0
  417. package/packages/core/dist/package/inspectPackage.d.ts +67 -0
  418. package/packages/core/dist/package/inspectPackage.d.ts.map +1 -0
  419. package/packages/core/dist/package/inspectPackage.js +371 -0
  420. package/packages/core/dist/package/inspectPackage.js.map +1 -0
  421. package/packages/core/dist/presentation/candidates.d.ts +13 -0
  422. package/packages/core/dist/presentation/candidates.d.ts.map +1 -0
  423. package/packages/core/dist/presentation/candidates.js +86 -0
  424. package/packages/core/dist/presentation/candidates.js.map +1 -0
  425. package/packages/core/dist/presentation/index.d.ts +8 -0
  426. package/packages/core/dist/presentation/index.d.ts.map +1 -0
  427. package/packages/core/dist/presentation/index.js +8 -0
  428. package/packages/core/dist/presentation/index.js.map +1 -0
  429. package/packages/core/dist/presentation/items.d.ts +18 -0
  430. package/packages/core/dist/presentation/items.d.ts.map +1 -0
  431. package/packages/core/dist/presentation/items.js +228 -0
  432. package/packages/core/dist/presentation/items.js.map +1 -0
  433. package/packages/core/dist/presentation/ordering.d.ts +8 -0
  434. package/packages/core/dist/presentation/ordering.d.ts.map +1 -0
  435. package/packages/core/dist/presentation/ordering.js +31 -0
  436. package/packages/core/dist/presentation/ordering.js.map +1 -0
  437. package/packages/core/dist/presentation/planHelpers.d.ts +26 -0
  438. package/packages/core/dist/presentation/planHelpers.d.ts.map +1 -0
  439. package/packages/core/dist/presentation/planHelpers.js +62 -0
  440. package/packages/core/dist/presentation/planHelpers.js.map +1 -0
  441. package/packages/core/dist/presentation/presentationFormat.d.ts +39 -0
  442. package/packages/core/dist/presentation/presentationFormat.d.ts.map +1 -0
  443. package/packages/core/dist/presentation/presentationFormat.js +58 -0
  444. package/packages/core/dist/presentation/presentationFormat.js.map +1 -0
  445. package/packages/core/dist/presentation/renderCard.d.ts +37 -0
  446. package/packages/core/dist/presentation/renderCard.d.ts.map +1 -0
  447. package/packages/core/dist/presentation/renderCard.js +129 -0
  448. package/packages/core/dist/presentation/renderCard.js.map +1 -0
  449. package/packages/core/dist/presentation/scoring.d.ts +10 -0
  450. package/packages/core/dist/presentation/scoring.d.ts.map +1 -0
  451. package/packages/core/dist/presentation/scoring.js +82 -0
  452. package/packages/core/dist/presentation/scoring.js.map +1 -0
  453. package/packages/core/dist/presentation/selectPlan.d.ts +4 -0
  454. package/packages/core/dist/presentation/selectPlan.d.ts.map +1 -0
  455. package/packages/core/dist/presentation/selectPlan.js +122 -0
  456. package/packages/core/dist/presentation/selectPlan.js.map +1 -0
  457. package/packages/core/dist/presentation/selectShowcasePlan.d.ts +3 -0
  458. package/packages/core/dist/presentation/selectShowcasePlan.d.ts.map +1 -0
  459. package/packages/core/dist/presentation/selectShowcasePlan.js +6 -0
  460. package/packages/core/dist/presentation/selectShowcasePlan.js.map +1 -0
  461. package/packages/core/dist/presentation/selectWalkthroughPlan.d.ts +3 -0
  462. package/packages/core/dist/presentation/selectWalkthroughPlan.d.ts.map +1 -0
  463. package/packages/core/dist/presentation/selectWalkthroughPlan.js +6 -0
  464. package/packages/core/dist/presentation/selectWalkthroughPlan.js.map +1 -0
  465. package/packages/core/dist/presentation/selection.d.ts +7 -0
  466. package/packages/core/dist/presentation/selection.d.ts.map +1 -0
  467. package/packages/core/dist/presentation/selection.js +20 -0
  468. package/packages/core/dist/presentation/selection.js.map +1 -0
  469. package/packages/core/dist/presentation/snapshot.d.ts +12 -0
  470. package/packages/core/dist/presentation/snapshot.d.ts.map +1 -0
  471. package/packages/core/dist/presentation/snapshot.js +53 -0
  472. package/packages/core/dist/presentation/snapshot.js.map +1 -0
  473. package/packages/core/dist/presentation/types.d.ts +172 -0
  474. package/packages/core/dist/presentation/types.d.ts.map +1 -0
  475. package/packages/core/dist/presentation/types.js +2 -0
  476. package/packages/core/dist/presentation/types.js.map +1 -0
  477. package/packages/core/dist/redact.d.ts +11 -0
  478. package/packages/core/dist/redact.d.ts.map +1 -0
  479. package/packages/core/dist/redact.js +17 -0
  480. package/packages/core/dist/redact.js.map +1 -0
  481. package/packages/core/dist/roots.d.ts +81 -0
  482. package/packages/core/dist/roots.d.ts.map +1 -0
  483. package/packages/core/dist/roots.js +220 -0
  484. package/packages/core/dist/roots.js.map +1 -0
  485. package/packages/core/dist/schema/cliResult.d.ts +34 -0
  486. package/packages/core/dist/schema/cliResult.d.ts.map +1 -0
  487. package/packages/core/dist/schema/cliResult.js +35 -0
  488. package/packages/core/dist/schema/cliResult.js.map +1 -0
  489. package/packages/core/dist/schema/diagnostic.d.ts +26 -0
  490. package/packages/core/dist/schema/diagnostic.d.ts.map +1 -0
  491. package/packages/core/dist/schema/diagnostic.js +28 -0
  492. package/packages/core/dist/schema/diagnostic.js.map +1 -0
  493. package/packages/core/dist/schema/index.d.ts +8 -0
  494. package/packages/core/dist/schema/index.d.ts.map +1 -0
  495. package/packages/core/dist/schema/index.js +9 -0
  496. package/packages/core/dist/schema/index.js.map +1 -0
  497. package/packages/core/dist/schema/registry.d.ts +15 -0
  498. package/packages/core/dist/schema/registry.d.ts.map +1 -0
  499. package/packages/core/dist/schema/registry.js +206 -0
  500. package/packages/core/dist/schema/registry.js.map +1 -0
  501. package/packages/core/dist/schema/syntheticContracts.d.ts +3 -0
  502. package/packages/core/dist/schema/syntheticContracts.d.ts.map +1 -0
  503. package/packages/core/dist/schema/syntheticContracts.js +342 -0
  504. package/packages/core/dist/schema/syntheticContracts.js.map +1 -0
  505. package/packages/core/dist/schema/validate.d.ts +21 -0
  506. package/packages/core/dist/schema/validate.d.ts.map +1 -0
  507. package/packages/core/dist/schema/validate.js +210 -0
  508. package/packages/core/dist/schema/validate.js.map +1 -0
  509. package/packages/core/dist/schemas/v1/authority.schema.json +70 -0
  510. package/packages/core/dist/schemas/v1/cli-result.schema.json +30 -0
  511. package/packages/core/dist/schemas/v1/common.schema.json +274 -0
  512. package/packages/core/dist/schemas/v1/demo-capsule.schema.json +78 -0
  513. package/packages/core/dist/schemas/v1/evidence-append-result.schema.json +14 -0
  514. package/packages/core/dist/schemas/v1/evidence-event.schema.json +181 -0
  515. package/packages/core/dist/schemas/v1/evidence-status-result.schema.json +68 -0
  516. package/packages/core/dist/schemas/v1/host-profile.schema.json +94 -0
  517. package/packages/core/dist/schemas/v1/host-status-result.schema.json +49 -0
  518. package/packages/core/dist/schemas/v1/keyring.schema.json +77 -0
  519. package/packages/core/dist/schemas/v1/ledger.schema.json +99 -0
  520. package/packages/core/dist/schemas/v1/marker.schema.json +84 -0
  521. package/packages/core/dist/schemas/v1/matrix-list-result.schema.json +67 -0
  522. package/packages/core/dist/schemas/v1/matrix-mutation-result.schema.json +49 -0
  523. package/packages/core/dist/schemas/v1/matrix-validation-result.schema.json +77 -0
  524. package/packages/core/dist/schemas/v1/mcp-tool-results.schema.json +34 -0
  525. package/packages/core/dist/schemas/v1/migration-test-matrix-result.schema.json +76 -0
  526. package/packages/core/dist/schemas/v1/presentation-plan-result.schema.json +62 -0
  527. package/packages/core/dist/schemas/v1/presentation-plan.schema.json +259 -0
  528. package/packages/core/dist/schemas/v1/release-gate-result.schema.json +136 -0
  529. package/packages/core/dist/schemas/v1/showcase-approval-result.schema.json +5 -0
  530. package/packages/core/dist/schemas/v1/showcase-event-append-result.schema.json +17 -0
  531. package/packages/core/dist/schemas/v1/showcase-event.schema.json +235 -0
  532. package/packages/core/dist/schemas/v1/showcase-finish-result.schema.json +5 -0
  533. package/packages/core/dist/schemas/v1/showcase-run-status-result.schema.json +70 -0
  534. package/packages/core/dist/schemas/v1/showcase-start-result.schema.json +5 -0
  535. package/packages/core/dist/schemas/v1/use-case-file.schema.json +178 -0
  536. package/packages/core/dist/schemas/v1/workflow-mode.schema.json +16 -0
  537. package/packages/core/dist/schemas/v1/workspace-config.schema.json +58 -0
  538. package/packages/core/dist/showcase/appendShowcaseEvent.d.ts +116 -0
  539. package/packages/core/dist/showcase/appendShowcaseEvent.d.ts.map +1 -0
  540. package/packages/core/dist/showcase/appendShowcaseEvent.js +353 -0
  541. package/packages/core/dist/showcase/appendShowcaseEvent.js.map +1 -0
  542. package/packages/core/dist/showcase/approval.d.ts +2 -0
  543. package/packages/core/dist/showcase/approval.d.ts.map +1 -0
  544. package/packages/core/dist/showcase/approval.js +2 -0
  545. package/packages/core/dist/showcase/approval.js.map +1 -0
  546. package/packages/core/dist/showcase/approvalAuthority.d.ts +19 -0
  547. package/packages/core/dist/showcase/approvalAuthority.d.ts.map +1 -0
  548. package/packages/core/dist/showcase/approvalAuthority.js +46 -0
  549. package/packages/core/dist/showcase/approvalAuthority.js.map +1 -0
  550. package/packages/core/dist/showcase/index.d.ts +11 -0
  551. package/packages/core/dist/showcase/index.d.ts.map +1 -0
  552. package/packages/core/dist/showcase/index.js +11 -0
  553. package/packages/core/dist/showcase/index.js.map +1 -0
  554. package/packages/core/dist/showcase/jsonlLedger.d.ts +11 -0
  555. package/packages/core/dist/showcase/jsonlLedger.d.ts.map +1 -0
  556. package/packages/core/dist/showcase/jsonlLedger.js +50 -0
  557. package/packages/core/dist/showcase/jsonlLedger.js.map +1 -0
  558. package/packages/core/dist/showcase/planBinding.d.ts +5 -0
  559. package/packages/core/dist/showcase/planBinding.d.ts.map +1 -0
  560. package/packages/core/dist/showcase/planBinding.js +33 -0
  561. package/packages/core/dist/showcase/planBinding.js.map +1 -0
  562. package/packages/core/dist/showcase/replayRun.d.ts +5 -0
  563. package/packages/core/dist/showcase/replayRun.d.ts.map +1 -0
  564. package/packages/core/dist/showcase/replayRun.js +199 -0
  565. package/packages/core/dist/showcase/replayRun.js.map +1 -0
  566. package/packages/core/dist/showcase/results.d.ts +3 -0
  567. package/packages/core/dist/showcase/results.d.ts.map +1 -0
  568. package/packages/core/dist/showcase/results.js +4 -0
  569. package/packages/core/dist/showcase/results.js.map +1 -0
  570. package/packages/core/dist/showcase/revisionEpochs.d.ts +2 -0
  571. package/packages/core/dist/showcase/revisionEpochs.d.ts.map +1 -0
  572. package/packages/core/dist/showcase/revisionEpochs.js +2 -0
  573. package/packages/core/dist/showcase/revisionEpochs.js.map +1 -0
  574. package/packages/core/dist/showcase/startRun.d.ts +2 -0
  575. package/packages/core/dist/showcase/startRun.d.ts.map +1 -0
  576. package/packages/core/dist/showcase/startRun.js +2 -0
  577. package/packages/core/dist/showcase/startRun.js.map +1 -0
  578. package/packages/core/dist/showcase/types.d.ts +66 -0
  579. package/packages/core/dist/showcase/types.d.ts.map +1 -0
  580. package/packages/core/dist/showcase/types.js +2 -0
  581. package/packages/core/dist/showcase/types.js.map +1 -0
  582. package/packages/core/dist/skills/canonicalSkills.d.ts +3 -0
  583. package/packages/core/dist/skills/canonicalSkills.d.ts.map +1 -0
  584. package/packages/core/dist/skills/canonicalSkills.js +7 -0
  585. package/packages/core/dist/skills/canonicalSkills.js.map +1 -0
  586. package/packages/core/dist/skills/index.d.ts +4 -0
  587. package/packages/core/dist/skills/index.d.ts.map +1 -0
  588. package/packages/core/dist/skills/index.js +4 -0
  589. package/packages/core/dist/skills/index.js.map +1 -0
  590. package/packages/core/dist/skills/types.d.ts +26 -0
  591. package/packages/core/dist/skills/types.d.ts.map +1 -0
  592. package/packages/core/dist/skills/types.js +2 -0
  593. package/packages/core/dist/skills/types.js.map +1 -0
  594. package/packages/core/dist/skills/validateSkillAssets.d.ts +6 -0
  595. package/packages/core/dist/skills/validateSkillAssets.d.ts.map +1 -0
  596. package/packages/core/dist/skills/validateSkillAssets.js +218 -0
  597. package/packages/core/dist/skills/validateSkillAssets.js.map +1 -0
  598. package/packages/core/dist/useCases/integrity.d.ts +11 -0
  599. package/packages/core/dist/useCases/integrity.d.ts.map +1 -0
  600. package/packages/core/dist/useCases/integrity.js +178 -0
  601. package/packages/core/dist/useCases/integrity.js.map +1 -0
  602. package/packages/core/dist/useCases/loadUseCaseMatrix.d.ts +7 -0
  603. package/packages/core/dist/useCases/loadUseCaseMatrix.d.ts.map +1 -0
  604. package/packages/core/dist/useCases/loadUseCaseMatrix.js +74 -0
  605. package/packages/core/dist/useCases/loadUseCaseMatrix.js.map +1 -0
  606. package/packages/core/dist/useCases/mutateUseCaseMatrix.d.ts +25 -0
  607. package/packages/core/dist/useCases/mutateUseCaseMatrix.d.ts.map +1 -0
  608. package/packages/core/dist/useCases/mutateUseCaseMatrix.js +198 -0
  609. package/packages/core/dist/useCases/mutateUseCaseMatrix.js.map +1 -0
  610. package/packages/core/dist/useCases/query.d.ts +12 -0
  611. package/packages/core/dist/useCases/query.d.ts.map +1 -0
  612. package/packages/core/dist/useCases/query.js +47 -0
  613. package/packages/core/dist/useCases/query.js.map +1 -0
  614. package/packages/core/dist/useCases/types.d.ts +149 -0
  615. package/packages/core/dist/useCases/types.d.ts.map +1 -0
  616. package/packages/core/dist/useCases/types.js +2 -0
  617. package/packages/core/dist/useCases/types.js.map +1 -0
  618. package/packages/core/dist/useCases/validateUseCaseFile.d.ts +9 -0
  619. package/packages/core/dist/useCases/validateUseCaseFile.d.ts.map +1 -0
  620. package/packages/core/dist/useCases/validateUseCaseFile.js +107 -0
  621. package/packages/core/dist/useCases/validateUseCaseFile.js.map +1 -0
  622. package/packages/core/dist/version.d.ts +9 -0
  623. package/packages/core/dist/version.d.ts.map +1 -0
  624. package/packages/core/dist/version.js +17 -0
  625. package/packages/core/dist/version.js.map +1 -0
  626. package/packages/core/package.json +39 -0
  627. package/packages/mcp/README.md +48 -0
  628. package/packages/mcp/dist/index.d.ts +20 -0
  629. package/packages/mcp/dist/index.d.ts.map +1 -0
  630. package/packages/mcp/dist/index.js +180 -0
  631. package/packages/mcp/dist/index.js.map +1 -0
  632. package/packages/mcp/dist/prompts.d.ts +32 -0
  633. package/packages/mcp/dist/prompts.d.ts.map +1 -0
  634. package/packages/mcp/dist/prompts.js +199 -0
  635. package/packages/mcp/dist/prompts.js.map +1 -0
  636. package/packages/mcp/dist/resources.d.ts +22 -0
  637. package/packages/mcp/dist/resources.d.ts.map +1 -0
  638. package/packages/mcp/dist/resources.js +342 -0
  639. package/packages/mcp/dist/resources.js.map +1 -0
  640. package/packages/mcp/dist/toolHandlers.d.ts +28 -0
  641. package/packages/mcp/dist/toolHandlers.d.ts.map +1 -0
  642. package/packages/mcp/dist/toolHandlers.js +592 -0
  643. package/packages/mcp/dist/toolHandlers.js.map +1 -0
  644. package/packages/mcp/dist/toolSchemas.d.ts +23 -0
  645. package/packages/mcp/dist/toolSchemas.d.ts.map +1 -0
  646. package/packages/mcp/dist/toolSchemas.js +223 -0
  647. package/packages/mcp/dist/toolSchemas.js.map +1 -0
  648. package/packages/mcp/dist/tools.d.ts +22 -0
  649. package/packages/mcp/dist/tools.d.ts.map +1 -0
  650. package/packages/mcp/dist/tools.js +65 -0
  651. package/packages/mcp/dist/tools.js.map +1 -0
  652. package/packages/mcp/package.json +38 -0
  653. package/plugin.json +6 -0
  654. package/schemas/v1/authority.schema.json +70 -0
  655. package/schemas/v1/cli-result.schema.json +30 -0
  656. package/schemas/v1/common.schema.json +274 -0
  657. package/schemas/v1/demo-capsule.schema.json +78 -0
  658. package/schemas/v1/evidence-append-result.schema.json +14 -0
  659. package/schemas/v1/evidence-event.schema.json +181 -0
  660. package/schemas/v1/evidence-status-result.schema.json +68 -0
  661. package/schemas/v1/host-profile.schema.json +94 -0
  662. package/schemas/v1/host-status-result.schema.json +49 -0
  663. package/schemas/v1/keyring.schema.json +77 -0
  664. package/schemas/v1/ledger.schema.json +99 -0
  665. package/schemas/v1/marker.schema.json +84 -0
  666. package/schemas/v1/matrix-list-result.schema.json +67 -0
  667. package/schemas/v1/matrix-mutation-result.schema.json +49 -0
  668. package/schemas/v1/matrix-validation-result.schema.json +77 -0
  669. package/schemas/v1/mcp-tool-results.schema.json +34 -0
  670. package/schemas/v1/migration-test-matrix-result.schema.json +76 -0
  671. package/schemas/v1/presentation-plan-result.schema.json +62 -0
  672. package/schemas/v1/presentation-plan.schema.json +259 -0
  673. package/schemas/v1/release-gate-result.schema.json +136 -0
  674. package/schemas/v1/showcase-approval-result.schema.json +5 -0
  675. package/schemas/v1/showcase-event-append-result.schema.json +17 -0
  676. package/schemas/v1/showcase-event.schema.json +235 -0
  677. package/schemas/v1/showcase-finish-result.schema.json +5 -0
  678. package/schemas/v1/showcase-run-status-result.schema.json +70 -0
  679. package/schemas/v1/showcase-start-result.schema.json +5 -0
  680. package/schemas/v1/use-case-file.schema.json +178 -0
  681. package/schemas/v1/workflow-mode.schema.json +16 -0
  682. package/schemas/v1/workspace-config.schema.json +58 -0
  683. package/use-cases/capsule/demos.yml +212 -0
  684. package/use-cases/capsule/runner.yml +49 -0
  685. package/use-cases/diagnostics/contracts.yml +239 -0
  686. package/use-cases/evidence/core.yml +32 -0
  687. package/use-cases/evidence/ledger.yml +330 -0
  688. package/use-cases/hosts/profiles.yml +365 -0
  689. package/use-cases/hosts/projections.yml +96 -0
  690. package/use-cases/lifecycle/loop.yml +229 -0
  691. package/use-cases/matrix/core.yml +92 -0
  692. package/use-cases/matrix/product.yml +289 -0
  693. package/use-cases/mcp/surface.yml +257 -0
  694. package/use-cases/mcp/wrapper.yml +100 -0
  695. package/use-cases/migration/importer.yml +171 -0
  696. package/use-cases/migration/test-matrix.yml +32 -0
  697. package/use-cases/planning/cards.yml +215 -0
  698. package/use-cases/release/package.yml +80 -0
  699. package/use-cases/release/proof.yml +180 -0
  700. package/use-cases/roadmap/deferred.yml +184 -0
  701. package/use-cases/showcase/flow.yml +269 -0
  702. package/use-cases/showcase/live.yml +44 -0
  703. package/use-cases/skills/assets.yml +92 -0
  704. 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