coding-agent-skills 0.2.8

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 (357) hide show
  1. package/AGENTS.md +44 -0
  2. package/CHANGELOG.md +205 -0
  3. package/CONTRIBUTING.md +54 -0
  4. package/LICENSE +21 -0
  5. package/README.md +85 -0
  6. package/ROADMAP.md +87 -0
  7. package/RUNBOOK.md +47 -0
  8. package/bin/coding-agent-skills +75 -0
  9. package/contracts/evidence-pack/README.md +22 -0
  10. package/contracts/evidence-pack/evidence-pack.example.json +60 -0
  11. package/contracts/evidence-pack/evidence-pack.example.md +49 -0
  12. package/contracts/evidence-pack/evidence-pack.schema.json +156 -0
  13. package/docs/adapters/README.md +82 -0
  14. package/docs/adapters/discovery.md +50 -0
  15. package/docs/adapters/external-adapters.md +42 -0
  16. package/docs/adapters/project-installation.md +135 -0
  17. package/docs/adapters/real-project-adoption.md +193 -0
  18. package/docs/adapters/upgrade-evidence.md +67 -0
  19. package/docs/adapters/upgrades.md +83 -0
  20. package/docs/architecture/README.md +23 -0
  21. package/docs/authoring/README.md +54 -0
  22. package/docs/evidence-bundles/README.md +94 -0
  23. package/docs/privacy/README.md +26 -0
  24. package/docs/release/README.md +42 -0
  25. package/docs/release/npm-package.md +85 -0
  26. package/docs/safety/README.md +94 -0
  27. package/docs/testing/README.md +100 -0
  28. package/docs/usage/README.md +89 -0
  29. package/docs/versioning/README.md +30 -0
  30. package/docs/versioning/adapter-compatibility.md +54 -0
  31. package/examples/README.md +12 -0
  32. package/examples/adapters/README.md +9 -0
  33. package/examples/adapters/documentation-precedence.json +62 -0
  34. package/examples/adapters/narrow-repo-map.json +64 -0
  35. package/examples/adapters/runtime-status-hints.json +76 -0
  36. package/examples/command-policies/README.md +3 -0
  37. package/examples/command-policies/build-verify.json +57 -0
  38. package/examples/command-policies/git-preflight.json +44 -0
  39. package/examples/command-policies/llm-drift-control.json +45 -0
  40. package/examples/command-policies/repo-map.json +59 -0
  41. package/examples/command-policies/runtime-truth.json +59 -0
  42. package/examples/evidence-packs/README.md +3 -0
  43. package/examples/evidence-packs/build-verify.json +68 -0
  44. package/examples/evidence-packs/git-preflight.json +55 -0
  45. package/examples/evidence-packs/llm-drift-control.json +55 -0
  46. package/examples/evidence-packs/repo-map.json +55 -0
  47. package/examples/evidence-packs/runtime-truth.json +55 -0
  48. package/examples/manifests/README.md +3 -0
  49. package/examples/manifests/build-verify.json +14 -0
  50. package/examples/manifests/git-preflight.json +14 -0
  51. package/examples/manifests/llm-drift-control.json +14 -0
  52. package/examples/manifests/repo-map.json +14 -0
  53. package/examples/manifests/runtime-truth.json +14 -0
  54. package/examples/upgrade-evidence/README.md +14 -0
  55. package/examples/upgrade-evidence/chain-fail.evidence.json +155 -0
  56. package/examples/upgrade-evidence/chain-fail.evidence.md +14 -0
  57. package/examples/upgrade-evidence/chain-pass.evidence.json +156 -0
  58. package/examples/upgrade-evidence/stale-pin.evidence.json +117 -0
  59. package/examples/upgrade-evidence/unsafe-upgrade.evidence.json +128 -0
  60. package/examples/upgrade-evidence/valid-upgrade.evidence.json +105 -0
  61. package/examples/upgrade-evidence/valid-upgrade.evidence.md +13 -0
  62. package/examples/workflows/README.md +3 -0
  63. package/examples/workflows/build-verify.md +20 -0
  64. package/examples/workflows/git-preflight.md +18 -0
  65. package/examples/workflows/llm-drift-control.md +16 -0
  66. package/examples/workflows/repo-map.md +20 -0
  67. package/examples/workflows/runtime-truth.md +17 -0
  68. package/package.json +58 -0
  69. package/runs/skill-runs.md +162 -0
  70. package/schemas/adapter-upgrade-evidence.schema.json +443 -0
  71. package/schemas/archive-index.schema.json +174 -0
  72. package/schemas/archive-report.schema.json +322 -0
  73. package/schemas/command-policy.schema.json +125 -0
  74. package/schemas/evidence-bundle.schema.json +394 -0
  75. package/schemas/project-adapter-installation.schema.json +127 -0
  76. package/schemas/project-adapter.schema.json +328 -0
  77. package/schemas/skill-manifest.schema.json +40 -0
  78. package/scripts/check-adapter-upgrade-chain.mjs +32 -0
  79. package/scripts/check-adapter-upgrade.mjs +31 -0
  80. package/scripts/lib/adapter-discovery.mjs +441 -0
  81. package/scripts/lib/adapter-repo-map.mjs +358 -0
  82. package/scripts/lib/adapter-upgrade-chain.mjs +261 -0
  83. package/scripts/lib/adapter-upgrade.mjs +434 -0
  84. package/scripts/lib/evidence-bundle.mjs +831 -0
  85. package/scripts/lib/pack-rules.mjs +704 -0
  86. package/scripts/lib/project-adapter-installation.mjs +327 -0
  87. package/scripts/lib/safe-evidence-output.mjs +92 -0
  88. package/scripts/lib/schema-validator.mjs +146 -0
  89. package/scripts/lib/semver.mjs +54 -0
  90. package/scripts/lib/upgrade-evidence.mjs +276 -0
  91. package/scripts/render-adapter-repo-map.mjs +8 -0
  92. package/scripts/render-evidence-archive-report.mjs +18 -0
  93. package/scripts/run-next +220 -0
  94. package/scripts/test-pack.mjs +2232 -0
  95. package/scripts/validate-adapters.mjs +10 -0
  96. package/scripts/validate-maintainer-loop.mjs +146 -0
  97. package/scripts/validate-pack.mjs +950 -0
  98. package/scripts/validate-project-adapters.mjs +8 -0
  99. package/scripts/verify-evidence-bundle.mjs +18 -0
  100. package/skills/build-verify/SKILL.md +62 -0
  101. package/skills/build-verify/adapter-interface.md +7 -0
  102. package/skills/build-verify/agents/openai.yaml +4 -0
  103. package/skills/build-verify/checklist.md +12 -0
  104. package/skills/build-verify/evidence-template.md +11 -0
  105. package/skills/build-verify/examples.md +16 -0
  106. package/skills/build-verify/failure-modes.md +14 -0
  107. package/skills/git-preflight/SKILL.md +65 -0
  108. package/skills/git-preflight/adapter-interface.md +7 -0
  109. package/skills/git-preflight/agents/openai.yaml +4 -0
  110. package/skills/git-preflight/checklist.md +11 -0
  111. package/skills/git-preflight/evidence-template.md +10 -0
  112. package/skills/git-preflight/examples.md +18 -0
  113. package/skills/git-preflight/failure-modes.md +13 -0
  114. package/skills/llm-drift-control/SKILL.md +67 -0
  115. package/skills/llm-drift-control/adapter-interface.md +7 -0
  116. package/skills/llm-drift-control/agents/openai.yaml +4 -0
  117. package/skills/llm-drift-control/checklist.md +11 -0
  118. package/skills/llm-drift-control/evidence-template.md +13 -0
  119. package/skills/llm-drift-control/examples.md +15 -0
  120. package/skills/llm-drift-control/failure-modes.md +13 -0
  121. package/skills/repo-map/SKILL.md +71 -0
  122. package/skills/repo-map/adapter-interface.md +18 -0
  123. package/skills/repo-map/agents/openai.yaml +4 -0
  124. package/skills/repo-map/checklist.md +15 -0
  125. package/skills/repo-map/evidence-template.md +29 -0
  126. package/skills/repo-map/examples.md +19 -0
  127. package/skills/repo-map/failure-modes.md +16 -0
  128. package/skills/runtime-truth/SKILL.md +62 -0
  129. package/skills/runtime-truth/adapter-interface.md +7 -0
  130. package/skills/runtime-truth/agents/openai.yaml +4 -0
  131. package/skills/runtime-truth/checklist.md +11 -0
  132. package/skills/runtime-truth/evidence-template.md +12 -0
  133. package/skills/runtime-truth/examples.md +20 -0
  134. package/skills/runtime-truth/failure-modes.md +13 -0
  135. package/tests/README.md +44 -0
  136. package/tests/adapters/README.md +15 -0
  137. package/tests/completion/README.md +15 -0
  138. package/tests/evidence/README.md +15 -0
  139. package/tests/fixtures/README.md +23 -0
  140. package/tests/fixtures/adapters/allow-deploy.json +60 -0
  141. package/tests/fixtures/adapters/allow-git-push.json +60 -0
  142. package/tests/fixtures/adapters/expand-scope.json +53 -0
  143. package/tests/fixtures/adapters/expose-secrets.json +53 -0
  144. package/tests/fixtures/adapters/incompatible-version.json +53 -0
  145. package/tests/fixtures/adapters/override-audit-only.json +53 -0
  146. package/tests/fixtures/adapters/redefine-completion.json +53 -0
  147. package/tests/fixtures/adapters/remove-required-evidence.json +53 -0
  148. package/tests/fixtures/adapters/suppress-failures.json +53 -0
  149. package/tests/fixtures/adapters/valid-narrowing.json +53 -0
  150. package/tests/fixtures/adapters/valid-repo-map.json +53 -0
  151. package/tests/fixtures/adapters/weakening-repo-map.json +42 -0
  152. package/tests/fixtures/completion/cases.json +143 -0
  153. package/tests/fixtures/completion/false-complete.json +51 -0
  154. package/tests/fixtures/evidence-bundles/advisory-review-soon/archive/evidence-archive-index.json +52 -0
  155. package/tests/fixtures/evidence-bundles/advisory-review-soon/evidence/repo-map.evidence.json +68 -0
  156. package/tests/fixtures/evidence-bundles/advisory-review-soon/evidence/valid-upgrade.evidence.json +105 -0
  157. package/tests/fixtures/evidence-bundles/advisory-review-soon/evidence-bundle.json +109 -0
  158. package/tests/fixtures/evidence-bundles/invalid-archive/archive/evidence-archive-index.json +52 -0
  159. package/tests/fixtures/evidence-bundles/invalid-archive/evidence/repo-map.evidence.json +68 -0
  160. package/tests/fixtures/evidence-bundles/invalid-archive/evidence/valid-upgrade.evidence.json +105 -0
  161. package/tests/fixtures/evidence-bundles/invalid-archive/evidence-bundle.json +109 -0
  162. package/tests/fixtures/evidence-bundles/invalid-archive-index/archive/evidence-archive-index.json +52 -0
  163. package/tests/fixtures/evidence-bundles/invalid-archive-index/evidence/repo-map.evidence.json +68 -0
  164. package/tests/fixtures/evidence-bundles/invalid-archive-index/evidence/valid-upgrade.evidence.json +105 -0
  165. package/tests/fixtures/evidence-bundles/invalid-archive-index/evidence-bundle.json +109 -0
  166. package/tests/fixtures/evidence-bundles/invalid-hash/archive/evidence-archive-index.json +52 -0
  167. package/tests/fixtures/evidence-bundles/invalid-hash/evidence/repo-map.evidence.json +68 -0
  168. package/tests/fixtures/evidence-bundles/invalid-hash/evidence/valid-upgrade.evidence.json +105 -0
  169. package/tests/fixtures/evidence-bundles/invalid-hash/evidence-bundle.json +109 -0
  170. package/tests/fixtures/evidence-bundles/invalid-missing-entry/archive/evidence-archive-index.json +52 -0
  171. package/tests/fixtures/evidence-bundles/invalid-missing-entry/evidence/repo-map.evidence.json +68 -0
  172. package/tests/fixtures/evidence-bundles/invalid-missing-entry/evidence/valid-upgrade.evidence.json +105 -0
  173. package/tests/fixtures/evidence-bundles/invalid-missing-entry/evidence-bundle.json +109 -0
  174. package/tests/fixtures/evidence-bundles/invalid-path/archive/evidence-archive-index.json +52 -0
  175. package/tests/fixtures/evidence-bundles/invalid-path/evidence/repo-map.evidence.json +68 -0
  176. package/tests/fixtures/evidence-bundles/invalid-path/evidence/valid-upgrade.evidence.json +105 -0
  177. package/tests/fixtures/evidence-bundles/invalid-path/evidence-bundle.json +109 -0
  178. package/tests/fixtures/evidence-bundles/invalid-provenance/archive/evidence-archive-index.json +52 -0
  179. package/tests/fixtures/evidence-bundles/invalid-provenance/evidence/repo-map.evidence.json +68 -0
  180. package/tests/fixtures/evidence-bundles/invalid-provenance/evidence/valid-upgrade.evidence.json +105 -0
  181. package/tests/fixtures/evidence-bundles/invalid-provenance/evidence-bundle.json +109 -0
  182. package/tests/fixtures/evidence-bundles/invalid-regression/archive/evidence-archive-index.json +52 -0
  183. package/tests/fixtures/evidence-bundles/invalid-regression/evidence/repo-map.evidence.json +68 -0
  184. package/tests/fixtures/evidence-bundles/invalid-regression/evidence/valid-upgrade.evidence.json +105 -0
  185. package/tests/fixtures/evidence-bundles/invalid-regression/evidence-bundle.json +113 -0
  186. package/tests/fixtures/evidence-bundles/invalid-retention/archive/evidence-archive-index.json +52 -0
  187. package/tests/fixtures/evidence-bundles/invalid-retention/evidence/repo-map.evidence.json +68 -0
  188. package/tests/fixtures/evidence-bundles/invalid-retention/evidence/valid-upgrade.evidence.json +105 -0
  189. package/tests/fixtures/evidence-bundles/invalid-retention/evidence-bundle.json +109 -0
  190. package/tests/fixtures/evidence-bundles/invalid-signature-plan/archive/evidence-archive-index.json +52 -0
  191. package/tests/fixtures/evidence-bundles/invalid-signature-plan/evidence/repo-map.evidence.json +68 -0
  192. package/tests/fixtures/evidence-bundles/invalid-signature-plan/evidence/valid-upgrade.evidence.json +105 -0
  193. package/tests/fixtures/evidence-bundles/invalid-signature-plan/evidence-bundle.json +109 -0
  194. package/tests/fixtures/evidence-bundles/valid-bundle/archive/evidence-archive-index.json +52 -0
  195. package/tests/fixtures/evidence-bundles/valid-bundle/evidence/repo-map.evidence.json +68 -0
  196. package/tests/fixtures/evidence-bundles/valid-bundle/evidence/valid-upgrade.evidence.json +105 -0
  197. package/tests/fixtures/evidence-bundles/valid-bundle/evidence-bundle.json +109 -0
  198. package/tests/fixtures/external-adapters/empty/README.md +3 -0
  199. package/tests/fixtures/external-adapters/invalid-completion-override/.coding-agent/adapters/completion/adapter.json +53 -0
  200. package/tests/fixtures/external-adapters/invalid-deploy/.coding-agent/adapters/deploy/adapter.json +60 -0
  201. package/tests/fixtures/external-adapters/invalid-evidence-suppression/.coding-agent/adapters/evidence/adapter.json +53 -0
  202. package/tests/fixtures/external-adapters/invalid-failure-suppression/.coding-agent/adapters/failures/adapter.json +53 -0
  203. package/tests/fixtures/external-adapters/invalid-git-push/.coding-agent/adapters/publish/adapter.json +60 -0
  204. package/tests/fixtures/external-adapters/invalid-malformed/.coding-agent/adapters/malformed/adapter.json +1 -0
  205. package/tests/fixtures/external-adapters/invalid-malformed/malformed-adapter.txt +1 -0
  206. package/tests/fixtures/external-adapters/invalid-mode-escalation/.coding-agent/adapters/mode/adapter.json +53 -0
  207. package/tests/fixtures/external-adapters/invalid-path-traversal/.coding-agent/adapters/path/adapter.json +53 -0
  208. package/tests/fixtures/external-adapters/invalid-restriction-removal/.coding-agent/adapters/restrictions/adapter.json +52 -0
  209. package/tests/fixtures/external-adapters/invalid-scope-expansion/.coding-agent/adapters/scope/adapter.json +53 -0
  210. package/tests/fixtures/external-adapters/invalid-secret-exposure/.coding-agent/adapters/secrets/adapter.json +53 -0
  211. package/tests/fixtures/external-adapters/invalid-skill-id/.coding-agent/adapters/skill/adapter.json +53 -0
  212. package/tests/fixtures/external-adapters/invalid-skill-version/.coding-agent/adapters/skill-version/adapter.json +53 -0
  213. package/tests/fixtures/external-adapters/invalid-unknown-manifest/.coding-agent/adapters/unknown/manifest.json +1 -0
  214. package/tests/fixtures/external-adapters/invalid-version/.coding-agent/adapters/version/adapter.json +53 -0
  215. package/tests/fixtures/external-adapters/mixed/.coding-agent/adapters/invalid/adapter.json +60 -0
  216. package/tests/fixtures/external-adapters/mixed/.coding-agent/adapters/valid/adapter.json +53 -0
  217. package/tests/fixtures/external-adapters/valid-basic/.coding-agent/adapters/basic/adapter.json +53 -0
  218. package/tests/fixtures/external-adapters/valid-doc-precedence/coding-agent/adapters/docs/adapter.json +53 -0
  219. package/tests/fixtures/external-adapters/valid-runtime-status/adapters/coding-agent/runtime/adapter.json +65 -0
  220. package/tests/fixtures/mutation/cases.json +87 -0
  221. package/tests/fixtures/mutation/snapshot-target/README.md +3 -0
  222. package/tests/fixtures/mutation/snapshot-target/state.json +4 -0
  223. package/tests/fixtures/policy/commands.json +164 -0
  224. package/tests/fixtures/policy/properties.json +126 -0
  225. package/tests/fixtures/privacy/cases.json +47 -0
  226. package/tests/fixtures/project-adapter-installation/invalid-adapter-location/.agents/adapters/basic/adapter.json +53 -0
  227. package/tests/fixtures/project-adapter-installation/invalid-adapter-location/.coding-agent/skills.json +23 -0
  228. package/tests/fixtures/project-adapter-installation/invalid-adapter-schema-version/.coding-agent/adapters/basic/adapter.json +53 -0
  229. package/tests/fixtures/project-adapter-installation/invalid-adapter-schema-version/.coding-agent/skills.json +23 -0
  230. package/tests/fixtures/project-adapter-installation/invalid-adapter-version-mismatch/.coding-agent/adapters/basic/adapter.json +53 -0
  231. package/tests/fixtures/project-adapter-installation/invalid-adapter-version-mismatch/.coding-agent/skills.json +23 -0
  232. package/tests/fixtures/project-adapter-installation/invalid-bad-semver/.coding-agent/adapters/basic/adapter.json +53 -0
  233. package/tests/fixtures/project-adapter-installation/invalid-bad-semver/.coding-agent/skills.json +23 -0
  234. package/tests/fixtures/project-adapter-installation/invalid-completion-override/.coding-agent/adapters/basic/adapter.json +53 -0
  235. package/tests/fixtures/project-adapter-installation/invalid-completion-override/.coding-agent/skills.json +23 -0
  236. package/tests/fixtures/project-adapter-installation/invalid-failure-suppression/.coding-agent/adapters/basic/adapter.json +53 -0
  237. package/tests/fixtures/project-adapter-installation/invalid-failure-suppression/.coding-agent/skills.json +23 -0
  238. package/tests/fixtures/project-adapter-installation/invalid-missing-declaration/.coding-agent/adapters/basic/adapter.json +53 -0
  239. package/tests/fixtures/project-adapter-installation/invalid-mode-escalation/.coding-agent/adapters/basic/adapter.json +53 -0
  240. package/tests/fixtures/project-adapter-installation/invalid-mode-escalation/.coding-agent/skills.json +23 -0
  241. package/tests/fixtures/project-adapter-installation/invalid-path-traversal/.coding-agent/adapters/basic/adapter.json +53 -0
  242. package/tests/fixtures/project-adapter-installation/invalid-path-traversal/.coding-agent/skills.json +23 -0
  243. package/tests/fixtures/project-adapter-installation/invalid-scope-expansion/.coding-agent/adapters/basic/adapter.json +53 -0
  244. package/tests/fixtures/project-adapter-installation/invalid-scope-expansion/.coding-agent/skills.json +23 -0
  245. package/tests/fixtures/project-adapter-installation/invalid-secret-exposure/.coding-agent/adapters/basic/adapter.json +53 -0
  246. package/tests/fixtures/project-adapter-installation/invalid-secret-exposure/.coding-agent/skills.json +23 -0
  247. package/tests/fixtures/project-adapter-installation/invalid-skill-mismatch/.coding-agent/adapters/basic/adapter.json +53 -0
  248. package/tests/fixtures/project-adapter-installation/invalid-skill-mismatch/.coding-agent/skills.json +23 -0
  249. package/tests/fixtures/project-adapter-installation/invalid-unknown-skill/.coding-agent/adapters/basic/adapter.json +53 -0
  250. package/tests/fixtures/project-adapter-installation/invalid-unknown-skill/.coding-agent/skills.json +23 -0
  251. package/tests/fixtures/project-adapter-installation/invalid-unsupported-core-version/.coding-agent/adapters/basic/adapter.json +53 -0
  252. package/tests/fixtures/project-adapter-installation/invalid-unsupported-core-version/.coding-agent/skills.json +23 -0
  253. package/tests/fixtures/project-adapter-installation/invalid-weakens-restrictions/.coding-agent/adapters/basic/adapter.json +52 -0
  254. package/tests/fixtures/project-adapter-installation/invalid-weakens-restrictions/.coding-agent/skills.json +23 -0
  255. package/tests/fixtures/project-adapter-installation/valid-compatible-range/coding-agent/adapters/docs/adapter.json +53 -0
  256. package/tests/fixtures/project-adapter-installation/valid-compatible-range/coding-agent.skills.json +23 -0
  257. package/tests/fixtures/project-adapter-installation/valid-exact-pin/.coding-agent/adapters/basic/adapter.json +53 -0
  258. package/tests/fixtures/project-adapter-installation/valid-exact-pin/.coding-agent/skills.json +23 -0
  259. package/tests/fixtures/project-adapter-installation/valid-multiple-adapters/.coding-agent/skills.json +28 -0
  260. package/tests/fixtures/project-adapter-installation/valid-multiple-adapters/adapters/coding-agent/repo/adapter.json +53 -0
  261. package/tests/fixtures/project-adapter-installation/valid-multiple-adapters/adapters/coding-agent/runtime/adapter.json +58 -0
  262. package/tests/fixtures/project-adapter-upgrade-chains/broken-compatibility-chain/01-current/.coding-agent/adapters/fixture-chain-adapter/adapter.json +70 -0
  263. package/tests/fixtures/project-adapter-upgrade-chains/broken-compatibility-chain/01-current/.coding-agent/skills.json +27 -0
  264. package/tests/fixtures/project-adapter-upgrade-chains/broken-compatibility-chain/02-incompatible/.coding-agent/adapters/fixture-chain-adapter/adapter.json +70 -0
  265. package/tests/fixtures/project-adapter-upgrade-chains/broken-compatibility-chain/02-incompatible/.coding-agent/skills.json +27 -0
  266. package/tests/fixtures/project-adapter-upgrade-chains/broken-compatibility-chain/03-target/.coding-agent/adapters/fixture-chain-adapter/adapter.json +70 -0
  267. package/tests/fixtures/project-adapter-upgrade-chains/broken-compatibility-chain/03-target/.coding-agent/skills.json +27 -0
  268. package/tests/fixtures/project-adapter-upgrade-chains/schema-drift-chain/01-current/.coding-agent/adapters/fixture-chain-adapter/adapter.json +70 -0
  269. package/tests/fixtures/project-adapter-upgrade-chains/schema-drift-chain/01-current/.coding-agent/skills.json +27 -0
  270. package/tests/fixtures/project-adapter-upgrade-chains/schema-drift-chain/02-schema-drift/.coding-agent/adapters/fixture-chain-adapter/adapter.json +70 -0
  271. package/tests/fixtures/project-adapter-upgrade-chains/schema-drift-chain/02-schema-drift/.coding-agent/skills.json +27 -0
  272. package/tests/fixtures/project-adapter-upgrade-chains/skill-drift-chain/01-current/.coding-agent/adapters/fixture-chain-adapter/adapter.json +70 -0
  273. package/tests/fixtures/project-adapter-upgrade-chains/skill-drift-chain/01-current/.coding-agent/skills.json +27 -0
  274. package/tests/fixtures/project-adapter-upgrade-chains/skill-drift-chain/02-skill-drift/.coding-agent/adapters/fixture-chain-adapter/adapter.json +70 -0
  275. package/tests/fixtures/project-adapter-upgrade-chains/skill-drift-chain/02-skill-drift/.coding-agent/skills.json +27 -0
  276. package/tests/fixtures/project-adapter-upgrade-chains/stale-pin-chain/01-current/.coding-agent/adapters/fixture-chain-adapter/adapter.json +70 -0
  277. package/tests/fixtures/project-adapter-upgrade-chains/stale-pin-chain/01-current/.coding-agent/skills.json +27 -0
  278. package/tests/fixtures/project-adapter-upgrade-chains/stale-pin-chain/02-stale/.coding-agent/adapters/fixture-chain-adapter/adapter.json +70 -0
  279. package/tests/fixtures/project-adapter-upgrade-chains/stale-pin-chain/02-stale/.coding-agent/skills.json +27 -0
  280. package/tests/fixtures/project-adapter-upgrade-chains/stale-pin-chain/03-target/.coding-agent/adapters/fixture-chain-adapter/adapter.json +70 -0
  281. package/tests/fixtures/project-adapter-upgrade-chains/stale-pin-chain/03-target/.coding-agent/skills.json +27 -0
  282. package/tests/fixtures/project-adapter-upgrade-chains/unsafe-weakening-chain/01-current/.coding-agent/adapters/fixture-chain-adapter/adapter.json +70 -0
  283. package/tests/fixtures/project-adapter-upgrade-chains/unsafe-weakening-chain/01-current/.coding-agent/skills.json +27 -0
  284. package/tests/fixtures/project-adapter-upgrade-chains/unsafe-weakening-chain/02-safe/.coding-agent/adapters/fixture-chain-adapter/adapter.json +70 -0
  285. package/tests/fixtures/project-adapter-upgrade-chains/unsafe-weakening-chain/02-safe/.coding-agent/skills.json +27 -0
  286. package/tests/fixtures/project-adapter-upgrade-chains/unsafe-weakening-chain/03-weakens-restrictions/.coding-agent/adapters/fixture-chain-adapter/adapter.json +69 -0
  287. package/tests/fixtures/project-adapter-upgrade-chains/unsafe-weakening-chain/03-weakens-restrictions/.coding-agent/skills.json +27 -0
  288. package/tests/fixtures/project-adapter-upgrade-chains/valid-chain/01-current/.coding-agent/adapters/fixture-chain-adapter/adapter.json +70 -0
  289. package/tests/fixtures/project-adapter-upgrade-chains/valid-chain/01-current/.coding-agent/skills.json +27 -0
  290. package/tests/fixtures/project-adapter-upgrade-chains/valid-chain/02-upgrade/.coding-agent/adapters/fixture-chain-adapter/adapter.json +70 -0
  291. package/tests/fixtures/project-adapter-upgrade-chains/valid-chain/02-upgrade/.coding-agent/skills.json +27 -0
  292. package/tests/fixtures/project-adapter-upgrade-chains/valid-chain/03-upgrade/.coding-agent/adapters/fixture-chain-adapter/adapter.json +70 -0
  293. package/tests/fixtures/project-adapter-upgrade-chains/valid-chain/03-upgrade/.coding-agent/skills.json +27 -0
  294. package/tests/fixtures/project-adapter-upgrade-chains/valid-chain/04-upgrade/.coding-agent/adapters/fixture-chain-adapter/adapter.json +70 -0
  295. package/tests/fixtures/project-adapter-upgrade-chains/valid-chain/04-upgrade/.coding-agent/skills.json +27 -0
  296. package/tests/fixtures/project-adapter-upgrade-chains/valid-chain/05-upgrade/.coding-agent/adapters/fixture-chain-adapter/adapter.json +70 -0
  297. package/tests/fixtures/project-adapter-upgrade-chains/valid-chain/05-upgrade/.coding-agent/skills.json +27 -0
  298. package/tests/fixtures/project-adapter-upgrade-chains/valid-chain/06-upgrade/.coding-agent/adapters/fixture-chain-adapter/adapter.json +70 -0
  299. package/tests/fixtures/project-adapter-upgrade-chains/valid-chain/06-upgrade/.coding-agent/skills.json +27 -0
  300. package/tests/fixtures/project-adapter-upgrade-chains/valid-chain/07-upgrade/.coding-agent/adapters/fixture-chain-adapter/adapter.json +70 -0
  301. package/tests/fixtures/project-adapter-upgrade-chains/valid-chain/07-upgrade/.coding-agent/skills.json +27 -0
  302. package/tests/fixtures/project-adapter-upgrades/adapter-schema-drift/after/.coding-agent/adapters/fixture-upgrade-adapter/adapter.json +70 -0
  303. package/tests/fixtures/project-adapter-upgrades/adapter-schema-drift/after/.coding-agent/skills.json +27 -0
  304. package/tests/fixtures/project-adapter-upgrades/adapter-schema-drift/before/.coding-agent/adapters/fixture-upgrade-adapter/adapter.json +70 -0
  305. package/tests/fixtures/project-adapter-upgrades/adapter-schema-drift/before/.coding-agent/skills.json +27 -0
  306. package/tests/fixtures/project-adapter-upgrades/safe-upgrade-preserves-restrictions/after/.coding-agent/adapters/fixture-upgrade-adapter/adapter.json +71 -0
  307. package/tests/fixtures/project-adapter-upgrades/safe-upgrade-preserves-restrictions/after/.coding-agent/skills.json +27 -0
  308. package/tests/fixtures/project-adapter-upgrades/safe-upgrade-preserves-restrictions/before/.coding-agent/adapters/fixture-upgrade-adapter/adapter.json +70 -0
  309. package/tests/fixtures/project-adapter-upgrades/safe-upgrade-preserves-restrictions/before/.coding-agent/skills.json +27 -0
  310. package/tests/fixtures/project-adapter-upgrades/skill-compatibility-drift/after/.coding-agent/adapters/fixture-upgrade-adapter/adapter.json +70 -0
  311. package/tests/fixtures/project-adapter-upgrades/skill-compatibility-drift/after/.coding-agent/skills.json +27 -0
  312. package/tests/fixtures/project-adapter-upgrades/skill-compatibility-drift/before/.coding-agent/adapters/fixture-upgrade-adapter/adapter.json +70 -0
  313. package/tests/fixtures/project-adapter-upgrades/skill-compatibility-drift/before/.coding-agent/skills.json +27 -0
  314. package/tests/fixtures/project-adapter-upgrades/stale-compatible-range/after/.coding-agent/adapters/fixture-upgrade-adapter/adapter.json +70 -0
  315. package/tests/fixtures/project-adapter-upgrades/stale-compatible-range/after/.coding-agent/skills.json +27 -0
  316. package/tests/fixtures/project-adapter-upgrades/stale-compatible-range/before/.coding-agent/adapters/fixture-upgrade-adapter/adapter.json +70 -0
  317. package/tests/fixtures/project-adapter-upgrades/stale-compatible-range/before/.coding-agent/skills.json +27 -0
  318. package/tests/fixtures/project-adapter-upgrades/stale-exact-pin/after/.coding-agent/adapters/fixture-upgrade-adapter/adapter.json +70 -0
  319. package/tests/fixtures/project-adapter-upgrades/stale-exact-pin/after/.coding-agent/skills.json +27 -0
  320. package/tests/fixtures/project-adapter-upgrades/stale-exact-pin/before/.coding-agent/adapters/fixture-upgrade-adapter/adapter.json +70 -0
  321. package/tests/fixtures/project-adapter-upgrades/stale-exact-pin/before/.coding-agent/skills.json +27 -0
  322. package/tests/fixtures/project-adapter-upgrades/unsafe-upgrade-mode-escalation/after/.coding-agent/adapters/fixture-upgrade-adapter/adapter.json +70 -0
  323. package/tests/fixtures/project-adapter-upgrades/unsafe-upgrade-mode-escalation/after/.coding-agent/skills.json +27 -0
  324. package/tests/fixtures/project-adapter-upgrades/unsafe-upgrade-mode-escalation/before/.coding-agent/adapters/fixture-upgrade-adapter/adapter.json +70 -0
  325. package/tests/fixtures/project-adapter-upgrades/unsafe-upgrade-mode-escalation/before/.coding-agent/skills.json +27 -0
  326. package/tests/fixtures/project-adapter-upgrades/unsafe-upgrade-removes-evidence/after/.coding-agent/adapters/fixture-upgrade-adapter/adapter.json +69 -0
  327. package/tests/fixtures/project-adapter-upgrades/unsafe-upgrade-removes-evidence/after/.coding-agent/skills.json +27 -0
  328. package/tests/fixtures/project-adapter-upgrades/unsafe-upgrade-removes-evidence/before/.coding-agent/adapters/fixture-upgrade-adapter/adapter.json +70 -0
  329. package/tests/fixtures/project-adapter-upgrades/unsafe-upgrade-removes-evidence/before/.coding-agent/skills.json +27 -0
  330. package/tests/fixtures/project-adapter-upgrades/unsafe-upgrade-weakens-restrictions/after/.coding-agent/adapters/fixture-upgrade-adapter/adapter.json +69 -0
  331. package/tests/fixtures/project-adapter-upgrades/unsafe-upgrade-weakens-restrictions/after/.coding-agent/skills.json +27 -0
  332. package/tests/fixtures/project-adapter-upgrades/unsafe-upgrade-weakens-restrictions/before/.coding-agent/adapters/fixture-upgrade-adapter/adapter.json +70 -0
  333. package/tests/fixtures/project-adapter-upgrades/unsafe-upgrade-weakens-restrictions/before/.coding-agent/skills.json +27 -0
  334. package/tests/fixtures/project-adapter-upgrades/unsupported-future-core/after/.coding-agent/adapters/fixture-upgrade-adapter/adapter.json +70 -0
  335. package/tests/fixtures/project-adapter-upgrades/unsupported-future-core/after/.coding-agent/skills.json +27 -0
  336. package/tests/fixtures/project-adapter-upgrades/unsupported-future-core/before/.coding-agent/adapters/fixture-upgrade-adapter/adapter.json +70 -0
  337. package/tests/fixtures/project-adapter-upgrades/unsupported-future-core/before/.coding-agent/skills.json +27 -0
  338. package/tests/fixtures/project-adapter-upgrades/unsupported-old-core/after/.coding-agent/adapters/fixture-upgrade-adapter/adapter.json +70 -0
  339. package/tests/fixtures/project-adapter-upgrades/unsupported-old-core/after/.coding-agent/skills.json +27 -0
  340. package/tests/fixtures/project-adapter-upgrades/unsupported-old-core/before/.coding-agent/adapters/fixture-upgrade-adapter/adapter.json +70 -0
  341. package/tests/fixtures/project-adapter-upgrades/unsupported-old-core/before/.coding-agent/skills.json +27 -0
  342. package/tests/fixtures/project-adapter-upgrades/valid-upgrade/after/.coding-agent/adapters/fixture-upgrade-adapter/adapter.json +70 -0
  343. package/tests/fixtures/project-adapter-upgrades/valid-upgrade/after/.coding-agent/skills.json +27 -0
  344. package/tests/fixtures/project-adapter-upgrades/valid-upgrade/before/.coding-agent/adapters/fixture-upgrade-adapter/adapter.json +70 -0
  345. package/tests/fixtures/project-adapter-upgrades/valid-upgrade/before/.coding-agent/skills.json +27 -0
  346. package/tests/fixtures/sample-repo/.env.example +1 -0
  347. package/tests/fixtures/sample-repo/README.md +4 -0
  348. package/tests/fixtures/sample-repo/docs/architecture.md +3 -0
  349. package/tests/fixtures/sample-repo/package.json +11 -0
  350. package/tests/fixtures/sample-repo/src/index.js +3 -0
  351. package/tests/fixtures/sample-repo/test/index.test.js +8 -0
  352. package/tests/fixtures/triggers/cases.json +101 -0
  353. package/tests/policy/README.md +16 -0
  354. package/tests/privacy/README.md +14 -0
  355. package/tests/safety/README.md +17 -0
  356. package/tests/trigger/README.md +11 -0
  357. package/work-ledger.md +159 -0
@@ -0,0 +1,155 @@
1
+ {
2
+ "contractVersion": "1.0.0",
3
+ "validator": {
4
+ "name": "check-adapter-upgrade-chain",
5
+ "version": "0.2.3"
6
+ },
7
+ "invocation": {
8
+ "id": "example-chain-fail-001",
9
+ "timestamp": "2026-06-14T12:04:00Z"
10
+ },
11
+ "beforeProject": {
12
+ "reference": "before",
13
+ "declarationStatus": "present",
14
+ "validationStatus": "pass"
15
+ },
16
+ "afterProject": {
17
+ "reference": "after",
18
+ "declarationStatus": "present",
19
+ "validationStatus": "fail"
20
+ },
21
+ "coreVersions": {
22
+ "before": "0.1.4",
23
+ "after": "0.2.3"
24
+ },
25
+ "adapterIds": [
26
+ "fixture-chain-adapter"
27
+ ],
28
+ "adapterVersions": {
29
+ "before": [
30
+ {
31
+ "adapterId": "fixture-chain-adapter",
32
+ "version": "1.0.0"
33
+ }
34
+ ],
35
+ "after": [
36
+ {
37
+ "adapterId": "fixture-chain-adapter",
38
+ "version": "1.0.0"
39
+ }
40
+ ]
41
+ },
42
+ "adapterSchemaVersions": {
43
+ "before": "1.0.0",
44
+ "after": "1.0.0"
45
+ },
46
+ "supportedSkillIds": {
47
+ "before": [
48
+ "repo-map"
49
+ ],
50
+ "after": [
51
+ "repo-map"
52
+ ]
53
+ },
54
+ "skillCompatibility": {
55
+ "before": [
56
+ {
57
+ "adapterId": "fixture-chain-adapter",
58
+ "skillId": "repo-map",
59
+ "versions": [
60
+ "0.1.4"
61
+ ],
62
+ "mode": "audit-only"
63
+ }
64
+ ],
65
+ "after": []
66
+ },
67
+ "pinStatus": {
68
+ "before": "0.1.4",
69
+ "after": "0.2.3",
70
+ "result": "accepted",
71
+ "staleClassification": "none"
72
+ },
73
+ "compatibilityResult": {
74
+ "result": "fail",
75
+ "codes": [
76
+ "adapter-set-drift",
77
+ "after-project-invalid",
78
+ "restriction-weakening"
79
+ ]
80
+ },
81
+ "restrictionInheritanceResult": {
82
+ "result": "fail",
83
+ "codes": [
84
+ "restriction-weakening"
85
+ ]
86
+ },
87
+ "approvalRequirements": [],
88
+ "detectedRisks": [
89
+ {
90
+ "code": "adapter-set-drift",
91
+ "summary": "The installed adapter set changed across revisions."
92
+ },
93
+ {
94
+ "code": "after-project-invalid",
95
+ "summary": "The proposed project revision did not validate."
96
+ },
97
+ {
98
+ "code": "restriction-weakening",
99
+ "summary": "Inherited restrictions were weakened."
100
+ }
101
+ ],
102
+ "blockingFailures": [
103
+ {
104
+ "code": "adapter-set-drift",
105
+ "summary": "The installed adapter set changed across revisions."
106
+ },
107
+ {
108
+ "code": "after-project-invalid",
109
+ "summary": "The proposed project revision did not validate."
110
+ },
111
+ {
112
+ "code": "restriction-weakening",
113
+ "summary": "Inherited restrictions were weakened."
114
+ }
115
+ ],
116
+ "warnings": [],
117
+ "safeSummary": "The read-only compatibility check rejected 3 condition(s).",
118
+ "finalStatus": "fail",
119
+ "confidence": {
120
+ "level": "high",
121
+ "reason": "Both sanitized revision summaries and compatibility results were available."
122
+ },
123
+ "changedState": {
124
+ "changed": false,
125
+ "summary": "No project, adapter, Git, runtime, service, database, or remote state was changed."
126
+ },
127
+ "recommendedNextAction": "Resolve every blocking failure and rerun the read-only validation.",
128
+ "chainId": "example-rejected-chain",
129
+ "chainSummary": {
130
+ "revisionCount": 3,
131
+ "transitionCount": 2,
132
+ "passedTransitions": 1,
133
+ "failedTransitions": 1,
134
+ "steps": [
135
+ {
136
+ "stepIndex": 1,
137
+ "beforeRevision": "revision-1",
138
+ "afterRevision": "revision-2",
139
+ "status": "pass",
140
+ "codes": []
141
+ },
142
+ {
143
+ "stepIndex": 2,
144
+ "beforeRevision": "revision-2",
145
+ "afterRevision": "revision-3",
146
+ "status": "fail",
147
+ "codes": [
148
+ "adapter-set-drift",
149
+ "after-project-invalid",
150
+ "restriction-weakening"
151
+ ]
152
+ }
153
+ ]
154
+ }
155
+ }
@@ -0,0 +1,14 @@
1
+ # Failed Chain Evidence
2
+
3
+ - Validator: `check-adapter-upgrade-chain` `0.2.3`
4
+ - Revisions: 3
5
+ - Transitions: 2
6
+ - Failed transitions: 1
7
+ - Compatibility: fail
8
+ - Restriction inheritance: fail
9
+ - Final status: fail
10
+ - Changed state: false
11
+
12
+ Blocking condition: inherited restrictions were weakened in one proposed revision.
13
+
14
+ Recommended action: repair every blocking transition and rerun the read-only chain check.
@@ -0,0 +1,156 @@
1
+ {
2
+ "contractVersion": "1.0.0",
3
+ "validator": {
4
+ "name": "check-adapter-upgrade-chain",
5
+ "version": "0.2.3"
6
+ },
7
+ "invocation": {
8
+ "id": "example-chain-pass-001",
9
+ "timestamp": "2026-06-14T12:03:00Z"
10
+ },
11
+ "beforeProject": {
12
+ "reference": "before",
13
+ "declarationStatus": "present",
14
+ "validationStatus": "pass"
15
+ },
16
+ "afterProject": {
17
+ "reference": "after",
18
+ "declarationStatus": "present",
19
+ "validationStatus": "pass"
20
+ },
21
+ "coreVersions": {
22
+ "before": "0.1.4",
23
+ "after": "0.2.3"
24
+ },
25
+ "adapterIds": [
26
+ "fixture-chain-adapter"
27
+ ],
28
+ "adapterVersions": {
29
+ "before": [
30
+ {
31
+ "adapterId": "fixture-chain-adapter",
32
+ "version": "1.0.0"
33
+ }
34
+ ],
35
+ "after": [
36
+ {
37
+ "adapterId": "fixture-chain-adapter",
38
+ "version": "1.0.0"
39
+ }
40
+ ]
41
+ },
42
+ "adapterSchemaVersions": {
43
+ "before": "1.0.0",
44
+ "after": "1.0.0"
45
+ },
46
+ "supportedSkillIds": {
47
+ "before": [
48
+ "repo-map"
49
+ ],
50
+ "after": [
51
+ "repo-map"
52
+ ]
53
+ },
54
+ "skillCompatibility": {
55
+ "before": [
56
+ {
57
+ "adapterId": "fixture-chain-adapter",
58
+ "skillId": "repo-map",
59
+ "versions": [
60
+ "0.1.4"
61
+ ],
62
+ "mode": "audit-only"
63
+ }
64
+ ],
65
+ "after": [
66
+ {
67
+ "adapterId": "fixture-chain-adapter",
68
+ "skillId": "repo-map",
69
+ "versions": [
70
+ "0.2.3"
71
+ ],
72
+ "mode": "audit-only"
73
+ }
74
+ ]
75
+ },
76
+ "pinStatus": {
77
+ "before": "0.1.4",
78
+ "after": "0.2.3",
79
+ "result": "accepted",
80
+ "staleClassification": "none"
81
+ },
82
+ "compatibilityResult": {
83
+ "result": "pass",
84
+ "codes": []
85
+ },
86
+ "restrictionInheritanceResult": {
87
+ "result": "pass",
88
+ "codes": []
89
+ },
90
+ "approvalRequirements": [],
91
+ "detectedRisks": [],
92
+ "blockingFailures": [],
93
+ "warnings": [],
94
+ "safeSummary": "The read-only compatibility check passed without applying changes.",
95
+ "finalStatus": "pass",
96
+ "confidence": {
97
+ "level": "high",
98
+ "reason": "Both sanitized revision summaries and compatibility results were available."
99
+ },
100
+ "changedState": {
101
+ "changed": false,
102
+ "summary": "No project, adapter, Git, runtime, service, database, or remote state was changed."
103
+ },
104
+ "recommendedNextAction": "Request human approval before adopting this upgrade in a real project.",
105
+ "chainId": "example-safe-chain",
106
+ "chainSummary": {
107
+ "revisionCount": 7,
108
+ "transitionCount": 6,
109
+ "passedTransitions": 6,
110
+ "failedTransitions": 0,
111
+ "steps": [
112
+ {
113
+ "stepIndex": 1,
114
+ "beforeRevision": "revision-1",
115
+ "afterRevision": "revision-2",
116
+ "status": "pass",
117
+ "codes": []
118
+ },
119
+ {
120
+ "stepIndex": 2,
121
+ "beforeRevision": "revision-2",
122
+ "afterRevision": "revision-3",
123
+ "status": "pass",
124
+ "codes": []
125
+ },
126
+ {
127
+ "stepIndex": 3,
128
+ "beforeRevision": "revision-3",
129
+ "afterRevision": "revision-4",
130
+ "status": "pass",
131
+ "codes": []
132
+ },
133
+ {
134
+ "stepIndex": 4,
135
+ "beforeRevision": "revision-4",
136
+ "afterRevision": "revision-5",
137
+ "status": "pass",
138
+ "codes": []
139
+ },
140
+ {
141
+ "stepIndex": 5,
142
+ "beforeRevision": "revision-5",
143
+ "afterRevision": "revision-6",
144
+ "status": "pass",
145
+ "codes": []
146
+ },
147
+ {
148
+ "stepIndex": 6,
149
+ "beforeRevision": "revision-6",
150
+ "afterRevision": "revision-7",
151
+ "status": "pass",
152
+ "codes": []
153
+ }
154
+ ]
155
+ }
156
+ }
@@ -0,0 +1,117 @@
1
+ {
2
+ "contractVersion": "1.0.0",
3
+ "validator": {
4
+ "name": "check-adapter-upgrade",
5
+ "version": "0.2.3"
6
+ },
7
+ "invocation": {
8
+ "id": "example-stale-pin-001",
9
+ "timestamp": "2026-06-14T12:01:00Z"
10
+ },
11
+ "beforeProject": {
12
+ "reference": "before",
13
+ "declarationStatus": "present",
14
+ "validationStatus": "pass"
15
+ },
16
+ "afterProject": {
17
+ "reference": "after",
18
+ "declarationStatus": "present",
19
+ "validationStatus": "pass"
20
+ },
21
+ "coreVersions": {
22
+ "before": "0.2.2",
23
+ "after": "0.2.2"
24
+ },
25
+ "adapterIds": [
26
+ "fixture-upgrade-adapter"
27
+ ],
28
+ "adapterVersions": {
29
+ "before": [
30
+ {
31
+ "adapterId": "fixture-upgrade-adapter",
32
+ "version": "1.0.0"
33
+ }
34
+ ],
35
+ "after": [
36
+ {
37
+ "adapterId": "fixture-upgrade-adapter",
38
+ "version": "1.0.0"
39
+ }
40
+ ]
41
+ },
42
+ "adapterSchemaVersions": {
43
+ "before": "1.0.0",
44
+ "after": "1.0.0"
45
+ },
46
+ "supportedSkillIds": {
47
+ "before": [
48
+ "repo-map"
49
+ ],
50
+ "after": [
51
+ "repo-map"
52
+ ]
53
+ },
54
+ "skillCompatibility": {
55
+ "before": [
56
+ {
57
+ "adapterId": "fixture-upgrade-adapter",
58
+ "skillId": "repo-map",
59
+ "versions": [
60
+ "0.2.2"
61
+ ],
62
+ "mode": "audit-only"
63
+ }
64
+ ],
65
+ "after": [
66
+ {
67
+ "adapterId": "fixture-upgrade-adapter",
68
+ "skillId": "repo-map",
69
+ "versions": [
70
+ "0.2.2"
71
+ ],
72
+ "mode": "audit-only"
73
+ }
74
+ ]
75
+ },
76
+ "pinStatus": {
77
+ "before": "0.2.2",
78
+ "after": "0.2.2",
79
+ "result": "stale",
80
+ "staleClassification": "stale-exact-pin"
81
+ },
82
+ "compatibilityResult": {
83
+ "result": "fail",
84
+ "codes": [
85
+ "stale-exact-pin"
86
+ ]
87
+ },
88
+ "restrictionInheritanceResult": {
89
+ "result": "pass",
90
+ "codes": []
91
+ },
92
+ "approvalRequirements": [],
93
+ "detectedRisks": [
94
+ {
95
+ "code": "stale-exact-pin",
96
+ "summary": "The exact core pin is stale."
97
+ }
98
+ ],
99
+ "blockingFailures": [
100
+ {
101
+ "code": "stale-exact-pin",
102
+ "summary": "The exact core pin is stale."
103
+ }
104
+ ],
105
+ "warnings": [],
106
+ "safeSummary": "The read-only compatibility check rejected 1 condition(s).",
107
+ "finalStatus": "fail",
108
+ "confidence": {
109
+ "level": "high",
110
+ "reason": "Both sanitized revision summaries and compatibility results were available."
111
+ },
112
+ "changedState": {
113
+ "changed": false,
114
+ "summary": "No project, adapter, Git, runtime, service, database, or remote state was changed."
115
+ },
116
+ "recommendedNextAction": "Resolve every blocking failure and rerun the read-only validation."
117
+ }
@@ -0,0 +1,128 @@
1
+ {
2
+ "contractVersion": "1.0.0",
3
+ "validator": {
4
+ "name": "check-adapter-upgrade",
5
+ "version": "0.2.3"
6
+ },
7
+ "invocation": {
8
+ "id": "example-unsafe-upgrade-001",
9
+ "timestamp": "2026-06-14T12:02:00Z"
10
+ },
11
+ "beforeProject": {
12
+ "reference": "before",
13
+ "declarationStatus": "present",
14
+ "validationStatus": "pass"
15
+ },
16
+ "afterProject": {
17
+ "reference": "after",
18
+ "declarationStatus": "present",
19
+ "validationStatus": "fail"
20
+ },
21
+ "coreVersions": {
22
+ "before": "0.2.2",
23
+ "after": "0.2.3"
24
+ },
25
+ "adapterIds": [
26
+ "fixture-upgrade-adapter"
27
+ ],
28
+ "adapterVersions": {
29
+ "before": [
30
+ {
31
+ "adapterId": "fixture-upgrade-adapter",
32
+ "version": "1.0.0"
33
+ }
34
+ ],
35
+ "after": [
36
+ {
37
+ "adapterId": "fixture-upgrade-adapter",
38
+ "version": "1.0.0"
39
+ }
40
+ ]
41
+ },
42
+ "adapterSchemaVersions": {
43
+ "before": "1.0.0",
44
+ "after": "1.0.0"
45
+ },
46
+ "supportedSkillIds": {
47
+ "before": [
48
+ "repo-map"
49
+ ],
50
+ "after": [
51
+ "repo-map"
52
+ ]
53
+ },
54
+ "skillCompatibility": {
55
+ "before": [
56
+ {
57
+ "adapterId": "fixture-upgrade-adapter",
58
+ "skillId": "repo-map",
59
+ "versions": [
60
+ "0.2.2"
61
+ ],
62
+ "mode": "audit-only"
63
+ }
64
+ ],
65
+ "after": []
66
+ },
67
+ "pinStatus": {
68
+ "before": "0.2.2",
69
+ "after": "0.2.3",
70
+ "result": "accepted",
71
+ "staleClassification": "none"
72
+ },
73
+ "compatibilityResult": {
74
+ "result": "fail",
75
+ "codes": [
76
+ "adapter-set-drift",
77
+ "after-project-invalid",
78
+ "restriction-weakening"
79
+ ]
80
+ },
81
+ "restrictionInheritanceResult": {
82
+ "result": "fail",
83
+ "codes": [
84
+ "restriction-weakening"
85
+ ]
86
+ },
87
+ "approvalRequirements": [],
88
+ "detectedRisks": [
89
+ {
90
+ "code": "adapter-set-drift",
91
+ "summary": "The installed adapter set changed across revisions."
92
+ },
93
+ {
94
+ "code": "after-project-invalid",
95
+ "summary": "The proposed project revision did not validate."
96
+ },
97
+ {
98
+ "code": "restriction-weakening",
99
+ "summary": "Inherited restrictions were weakened."
100
+ }
101
+ ],
102
+ "blockingFailures": [
103
+ {
104
+ "code": "adapter-set-drift",
105
+ "summary": "The installed adapter set changed across revisions."
106
+ },
107
+ {
108
+ "code": "after-project-invalid",
109
+ "summary": "The proposed project revision did not validate."
110
+ },
111
+ {
112
+ "code": "restriction-weakening",
113
+ "summary": "Inherited restrictions were weakened."
114
+ }
115
+ ],
116
+ "warnings": [],
117
+ "safeSummary": "The read-only compatibility check rejected 3 condition(s).",
118
+ "finalStatus": "fail",
119
+ "confidence": {
120
+ "level": "high",
121
+ "reason": "Both sanitized revision summaries and compatibility results were available."
122
+ },
123
+ "changedState": {
124
+ "changed": false,
125
+ "summary": "No project, adapter, Git, runtime, service, database, or remote state was changed."
126
+ },
127
+ "recommendedNextAction": "Resolve every blocking failure and rerun the read-only validation."
128
+ }
@@ -0,0 +1,105 @@
1
+ {
2
+ "contractVersion": "1.0.0",
3
+ "validator": {
4
+ "name": "check-adapter-upgrade",
5
+ "version": "0.2.3"
6
+ },
7
+ "invocation": {
8
+ "id": "example-valid-upgrade-001",
9
+ "timestamp": "2026-06-14T12:00:00Z"
10
+ },
11
+ "beforeProject": {
12
+ "reference": "before",
13
+ "declarationStatus": "present",
14
+ "validationStatus": "pass"
15
+ },
16
+ "afterProject": {
17
+ "reference": "after",
18
+ "declarationStatus": "present",
19
+ "validationStatus": "pass"
20
+ },
21
+ "coreVersions": {
22
+ "before": "0.2.2",
23
+ "after": "0.2.3"
24
+ },
25
+ "adapterIds": [
26
+ "fixture-upgrade-adapter"
27
+ ],
28
+ "adapterVersions": {
29
+ "before": [
30
+ {
31
+ "adapterId": "fixture-upgrade-adapter",
32
+ "version": "1.0.0"
33
+ }
34
+ ],
35
+ "after": [
36
+ {
37
+ "adapterId": "fixture-upgrade-adapter",
38
+ "version": "1.0.0"
39
+ }
40
+ ]
41
+ },
42
+ "adapterSchemaVersions": {
43
+ "before": "1.0.0",
44
+ "after": "1.0.0"
45
+ },
46
+ "supportedSkillIds": {
47
+ "before": [
48
+ "repo-map"
49
+ ],
50
+ "after": [
51
+ "repo-map"
52
+ ]
53
+ },
54
+ "skillCompatibility": {
55
+ "before": [
56
+ {
57
+ "adapterId": "fixture-upgrade-adapter",
58
+ "skillId": "repo-map",
59
+ "versions": [
60
+ "0.2.2"
61
+ ],
62
+ "mode": "audit-only"
63
+ }
64
+ ],
65
+ "after": [
66
+ {
67
+ "adapterId": "fixture-upgrade-adapter",
68
+ "skillId": "repo-map",
69
+ "versions": [
70
+ "0.2.3"
71
+ ],
72
+ "mode": "audit-only"
73
+ }
74
+ ]
75
+ },
76
+ "pinStatus": {
77
+ "before": "0.2.2",
78
+ "after": "0.2.3",
79
+ "result": "accepted",
80
+ "staleClassification": "none"
81
+ },
82
+ "compatibilityResult": {
83
+ "result": "pass",
84
+ "codes": []
85
+ },
86
+ "restrictionInheritanceResult": {
87
+ "result": "pass",
88
+ "codes": []
89
+ },
90
+ "approvalRequirements": [],
91
+ "detectedRisks": [],
92
+ "blockingFailures": [],
93
+ "warnings": [],
94
+ "safeSummary": "The read-only compatibility check passed without applying changes.",
95
+ "finalStatus": "pass",
96
+ "confidence": {
97
+ "level": "high",
98
+ "reason": "Both sanitized revision summaries and compatibility results were available."
99
+ },
100
+ "changedState": {
101
+ "changed": false,
102
+ "summary": "No project, adapter, Git, runtime, service, database, or remote state was changed."
103
+ },
104
+ "recommendedNextAction": "Request human approval before adopting this upgrade in a real project."
105
+ }
@@ -0,0 +1,13 @@
1
+ # Valid Upgrade Evidence
2
+
3
+ - Validator: `check-adapter-upgrade` `0.2.3`
4
+ - Core transition: `0.2.2` to `0.2.3`
5
+ - Pin status: accepted
6
+ - Compatibility: pass
7
+ - Restriction inheritance: pass
8
+ - Final status: pass
9
+ - Changed state: false
10
+
11
+ Safe summary: the read-only compatibility check passed without applying changes.
12
+
13
+ Recommended action: request human approval before adopting the upgrade in a real project.
@@ -0,0 +1,3 @@
1
+ # Workflow Examples
2
+
3
+ Each workflow shows safe sequencing and the minimum evidence needed before completion.