workspai 0.68.0 → 0.69.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 (175) hide show
  1. package/README.md +38 -18
  2. package/contracts/cli-runtime-command-inventory.v1.snapshot.json +459 -0
  3. package/contracts/extension-cli-compatibility.v1.json +11 -0
  4. package/contracts/published-contract-catalog.v1.json +55 -0
  5. package/contracts/runtime-command-surface.v1.json +282 -0
  6. package/contracts/workspace-intelligence/architecture-change-lease.v1.json +50 -0
  7. package/contracts/workspace-intelligence/architecture-surprise-report.v1.json +46 -0
  8. package/contracts/workspace-intelligence/change-operation-result.v1.json +43 -0
  9. package/contracts/workspace-intelligence/decision-checkpoint.v1.json +18 -0
  10. package/contracts/workspace-intelligence/decision-event.v1.json +134 -0
  11. package/contracts/workspace-intelligence/decision-transaction.v1.json +29 -0
  12. package/contracts/workspace-intelligence/goal-index.v1.json +13 -0
  13. package/contracts/workspace-intelligence/goal-pack.v1.json +2 -1
  14. package/contracts/workspace-intelligence/predicted-architecture-change.v1.json +34 -0
  15. package/contracts/workspace-intelligence/proof-carrying-change-capsule-export.v1.json +14 -0
  16. package/contracts/workspace-intelligence/proof-carrying-change-capsule-validation.v1.json +16 -0
  17. package/contracts/workspace-intelligence/proof-carrying-change-capsule.v1.json +62 -0
  18. package/contracts/workspace-intelligence/proof-carrying-change-list.v1.json +80 -0
  19. package/contracts/workspace-intelligence/workspace-knowledge-graph-change-overlay.v1.json +9 -1
  20. package/dist/analyze-GPYPXXRT.js +1 -0
  21. package/dist/{artifact-remediation-plan-I7IKC5MR.js → artifact-remediation-plan-JHHZ4L24.js} +1 -1
  22. package/dist/autopilot-release-FL47VMF7.js +1 -0
  23. package/dist/capabilities-command-MYSLJIYS.js +1 -0
  24. package/dist/chunk-2LZWBUJD.js +1 -0
  25. package/dist/{chunk-7DDEMDG2.js → chunk-37ZLNFV5.js} +2 -2
  26. package/dist/{chunk-OFYY4725.js → chunk-3G5FF2JZ.js} +1 -1
  27. package/dist/chunk-3HFFKW4Q.js +2 -0
  28. package/dist/{chunk-BHM6RHTA.js → chunk-3WHE7V4M.js} +1 -1
  29. package/dist/chunk-A3MYO55A.js +3 -0
  30. package/dist/chunk-ABMB6MJT.js +1 -0
  31. package/dist/chunk-AD4ZY3RF.js +12 -0
  32. package/dist/chunk-BM2F5C4J.js +1 -0
  33. package/dist/chunk-COICGD62.js +1 -0
  34. package/dist/{chunk-4WVOAX2V.js → chunk-DWL3PPLA.js} +1 -1
  35. package/dist/{chunk-3Z4SVBMR.js → chunk-EBEAJIBI.js} +1 -1
  36. package/dist/chunk-EBQS5T7Q.js +7 -0
  37. package/dist/{chunk-5OV2WXAR.js → chunk-EG6EZ7HW.js} +1 -1
  38. package/dist/chunk-ERVWW5HX.js +1 -0
  39. package/dist/chunk-EZPLMAW2.js +1 -0
  40. package/dist/chunk-FIK343LI.js +1 -0
  41. package/dist/chunk-GSSJJS5M.js +6 -0
  42. package/dist/{chunk-TMRCPT7S.js → chunk-GYN6RPNU.js} +1 -1
  43. package/dist/{chunk-6E2Y3XGT.js → chunk-HCFOVANQ.js} +1 -1
  44. package/dist/chunk-I3UCODXU.js +1 -0
  45. package/dist/{chunk-3BMYMZQB.js → chunk-IGJA6GBQ.js} +1 -1
  46. package/dist/{chunk-FX5J6JCK.js → chunk-IVYPC36J.js} +1 -1
  47. package/dist/chunk-K33JJVQZ.js +2 -0
  48. package/dist/{chunk-KDY4X7SQ.js → chunk-M37ALD4V.js} +1 -1
  49. package/dist/{chunk-3XF7O66C.js → chunk-MAWHHHU3.js} +5 -5
  50. package/dist/chunk-MBICKDYP.js +1 -0
  51. package/dist/{chunk-QMQBX3RV.js → chunk-MGL6DBOR.js} +1 -1
  52. package/dist/chunk-MHQHRMKU.js +5 -0
  53. package/dist/{chunk-2C5XJBYI.js → chunk-N2Q4MSSP.js} +64 -64
  54. package/dist/chunk-N4B2M44I.js +1 -0
  55. package/dist/chunk-NSH7TTSV.js +1 -0
  56. package/dist/chunk-O5XQP5E7.js +1 -0
  57. package/dist/chunk-ODK4LCEL.js +1 -0
  58. package/dist/chunk-OU3BBWH5.js +49 -0
  59. package/dist/chunk-OZXCNVGW.js +2 -0
  60. package/dist/{chunk-SLFOUSRW.js → chunk-QYEQVNBF.js} +1 -1
  61. package/dist/chunk-RVOW3BHQ.js +2 -0
  62. package/dist/chunk-TKXRP2B4.js +1 -0
  63. package/dist/chunk-UNXG3ZFV.js +1 -0
  64. package/dist/chunk-UW4SESKD.js +2 -0
  65. package/dist/{chunk-2MTJWPQ4.js → chunk-V52R2W2Q.js} +1 -1
  66. package/dist/chunk-V6TIT6M3.js +157 -0
  67. package/dist/chunk-VNKAISFE.js +8 -0
  68. package/dist/chunk-W6WRT77T.js +1 -0
  69. package/dist/chunk-WHR5SL33.js +4 -0
  70. package/dist/{chunk-IXXQMD34.js → chunk-WZ5V5U2K.js} +1 -1
  71. package/dist/chunk-XPGCFVGC.js +4 -0
  72. package/dist/chunk-YKY4JFCF.js +1 -0
  73. package/dist/{chunk-VIN7NJW3.js → chunk-YWZBGSFE.js} +3 -3
  74. package/dist/chunk-YZL7ZY7J.js +2 -0
  75. package/dist/{create-U5PQHOZ4.js → create-GWBQ74ZI.js} +1 -1
  76. package/dist/doctor-OQAXSMEM.js +1 -0
  77. package/dist/goal-lifecycle-YWBVQ2DF.js +1 -0
  78. package/dist/goal-pack-KUXPZVNO.js +1 -0
  79. package/dist/index.d.ts +35 -2
  80. package/dist/index.js +239 -239
  81. package/dist/pipeline-PGB5TEV3.js +5 -0
  82. package/dist/{project-agent-entry-MH7364BE.js → project-agent-entry-H3JAGNLS.js} +1 -1
  83. package/dist/{project-intelligence-lens-ZCCHUKVI.js → project-intelligence-lens-7NMKHV5N.js} +1 -1
  84. package/dist/{project-test-coverage-JPWTBSSJ.js → project-test-coverage-3DKZKLWY.js} +1 -1
  85. package/dist/proof-carrying-change-QFH7WI2E.js +1 -0
  86. package/dist/verified-goal-7XHRWYSE.js +1 -0
  87. package/dist/{workspace-B33BFZZ3.js → workspace-TJHCETBV.js} +1 -1
  88. package/dist/{workspace-agent-sync-T3MJO2MX.js → workspace-agent-sync-Z35NTXCB.js} +1 -1
  89. package/dist/{workspace-archive-NOSGRKRZ.js → workspace-archive-OSMU3CK6.js} +1 -1
  90. package/dist/{workspace-context-KOCEP4MJ.js → workspace-context-KNJQUJWC.js} +1 -1
  91. package/dist/{workspace-contract-MQ3QE52V.js → workspace-contract-VIUQT5SZ.js} +1 -1
  92. package/dist/workspace-explain-HM6GMK26.js +1 -0
  93. package/dist/workspace-explain-contract-KV7RTEJU.js +1 -0
  94. package/dist/{workspace-feedback-3YLIUFQ7.js → workspace-feedback-YSPEGCON.js} +1 -1
  95. package/dist/{workspace-foundation-O7O3QIS4.js → workspace-foundation-PLXFPI3J.js} +1 -1
  96. package/dist/{workspace-graph-stream-XTGGBD7D.js → workspace-graph-stream-FNRQ2FTB.js} +1 -1
  97. package/dist/workspace-graph-token-efficiency-WNAFAN2F.js +1 -0
  98. package/dist/{workspace-history-7HDZZ4G5.js → workspace-history-HDDFG6LH.js} +1 -1
  99. package/dist/{workspace-intelligence-TFEQBPUP.js → workspace-intelligence-QLSD5EEV.js} +1 -1
  100. package/dist/{workspace-intelligence-benchmark-PLVUBGWO.js → workspace-intelligence-benchmark-S5OXVNLC.js} +1 -1
  101. package/dist/{workspace-intelligence-evaluation-OJIQS5SN.js → workspace-intelligence-evaluation-QDSOOUHH.js} +1 -1
  102. package/dist/{workspace-intelligence-runner-6ZAV6RO4.js → workspace-intelligence-runner-4EW4T2OW.js} +1 -1
  103. package/dist/workspace-intelligence-runtime-registry-ZLPF7BAY.js +1 -0
  104. package/dist/{workspace-knowledge-graph-AUXYL3L6.js → workspace-knowledge-graph-EEOW5VAJ.js} +1 -1
  105. package/dist/workspace-knowledge-graph-change-overlay-FIIAFLO6.js +1 -0
  106. package/dist/{workspace-knowledge-graph-contract-X52KXBXJ.js → workspace-knowledge-graph-contract-FVX5T7SU.js} +1 -1
  107. package/dist/{workspace-knowledge-graph-query-A7TKONWY.js → workspace-knowledge-graph-query-WHCGPBGS.js} +1 -1
  108. package/dist/workspace-knowledge-graph-snapshot-X347REDB.js +1 -0
  109. package/dist/workspace-mcp-serve-NQ42PE2I.js +3 -0
  110. package/dist/{workspace-model-GVXNLSQM.js → workspace-model-NCOOY5LC.js} +1 -1
  111. package/dist/{workspace-onboarding-ECZ2KJ2A.js → workspace-onboarding-JNC7ZFMR.js} +1 -1
  112. package/dist/{workspace-readme-6N5Y2ZSJ.js → workspace-readme-OV2ADTLW.js} +2 -2
  113. package/dist/{workspace-registry-summary-5SFBTRGQ.js → workspace-registry-summary-ONT4VOJX.js} +1 -1
  114. package/dist/{workspace-repair-engine-CKJCTWKX.js → workspace-repair-engine-WMJCYWO4.js} +2 -2
  115. package/dist/workspace-run-3S35MDX6.js +1 -0
  116. package/dist/{workspace-verify-D3QTMAUI.js → workspace-verify-MLABQUWK.js} +1 -1
  117. package/dist/{workspace-watch-XYJEW2Z2.js → workspace-watch-MJOG5AZ3.js} +1 -1
  118. package/docs/README.md +2 -0
  119. package/docs/ci-workflows.md +1 -1
  120. package/docs/commands-reference.md +23 -0
  121. package/docs/contracts/ARTIFACT_CATALOG.md +37 -18
  122. package/docs/contracts/COMMAND_OWNERSHIP_MATRIX.md +17 -0
  123. package/docs/contracts/PROOF_CARRYING_CHANGE_CONTRACT_PLAN.md +65 -0
  124. package/docs/proof-carrying-change.implementation.v1.json +118 -0
  125. package/docs/proof-carrying-change.md +202 -0
  126. package/package.json +1 -1
  127. package/dist/analyze-JDEWUBC6.js +0 -1
  128. package/dist/autopilot-release-OELUFNLL.js +0 -1
  129. package/dist/capabilities-command-RAAYENQ6.js +0 -1
  130. package/dist/chunk-2KX6KHEC.js +0 -1
  131. package/dist/chunk-3KU3YUWD.js +0 -2
  132. package/dist/chunk-3NF3M3RE.js +0 -1
  133. package/dist/chunk-3OGPTLI2.js +0 -1
  134. package/dist/chunk-5ME4W4LN.js +0 -1
  135. package/dist/chunk-5XUAAQSV.js +0 -5
  136. package/dist/chunk-5YZ2W57R.js +0 -8
  137. package/dist/chunk-7DZNZ3GM.js +0 -3
  138. package/dist/chunk-BG6IX6HA.js +0 -1
  139. package/dist/chunk-BMAFHX6A.js +0 -1
  140. package/dist/chunk-BUYLM6QV.js +0 -1
  141. package/dist/chunk-C2VTO5WT.js +0 -2
  142. package/dist/chunk-CPR2CMOY.js +0 -1
  143. package/dist/chunk-CSZPE637.js +0 -2
  144. package/dist/chunk-DFVG4DDZ.js +0 -6
  145. package/dist/chunk-EHLGPLIU.js +0 -1
  146. package/dist/chunk-FPDH3N3A.js +0 -7
  147. package/dist/chunk-GVQKAINC.js +0 -49
  148. package/dist/chunk-IKUFNK46.js +0 -2
  149. package/dist/chunk-JYMO7QXQ.js +0 -1
  150. package/dist/chunk-KY2GOSO5.js +0 -1
  151. package/dist/chunk-LEOFD3W5.js +0 -12
  152. package/dist/chunk-LPCZHKD5.js +0 -1
  153. package/dist/chunk-N5HPMATQ.js +0 -1
  154. package/dist/chunk-P3622IM5.js +0 -4
  155. package/dist/chunk-Q7UGDNSM.js +0 -1
  156. package/dist/chunk-RVAOJOXA.js +0 -2
  157. package/dist/chunk-TCLKGPXF.js +0 -2
  158. package/dist/chunk-W5VKBDSD.js +0 -157
  159. package/dist/chunk-WRZSQDZV.js +0 -1
  160. package/dist/chunk-Y4Z6CEII.js +0 -1
  161. package/dist/chunk-ZEEV5J4I.js +0 -1
  162. package/dist/chunk-ZGHJIQXL.js +0 -1
  163. package/dist/doctor-D7YI7LSA.js +0 -1
  164. package/dist/goal-lifecycle-BMS6GSIU.js +0 -1
  165. package/dist/goal-pack-RBSVQMMX.js +0 -1
  166. package/dist/pipeline-QOMXH2EK.js +0 -5
  167. package/dist/verified-goal-XUXU2X5H.js +0 -1
  168. package/dist/workspace-explain-DTFCKYXK.js +0 -1
  169. package/dist/workspace-explain-contract-WMREJWHF.js +0 -1
  170. package/dist/workspace-graph-token-efficiency-5LJKQU2J.js +0 -1
  171. package/dist/workspace-intelligence-runtime-registry-UKFB3BI7.js +0 -1
  172. package/dist/workspace-knowledge-graph-change-overlay-XG6FC4IX.js +0 -1
  173. package/dist/workspace-knowledge-graph-snapshot-GPBDAKAU.js +0 -1
  174. package/dist/workspace-mcp-serve-TDUXJUAA.js +0 -3
  175. package/dist/workspace-run-ZZ5WHL7W.js +0 -1
@@ -67,24 +67,31 @@ is not the exact current canonical projection.
67
67
 
68
68
  ## Governance evidence loop
69
69
 
70
- | Command | Primary artifact | Schema version | JSON Schema |
71
- | ------------------------------------ | ----------------------------------------------------------- | ------------------------------------------- | ----------------------------------------------------------------------- |
72
- | `doctor workspace` | `.workspai/reports/doctor-last-run.json` | `doctor-workspace-evidence-v1` | `contracts/doctor-workspace-evidence.v1.json` |
73
- | `doctor project` | `.workspai/reports/doctor-project-last-run.json` | `doctor-project-evidence-v1` | `contracts/doctor-project-evidence.v1.json` |
74
- | `project coverage` | `.workspai/reports/project-test-coverage-last-run.json` | `workspai.project-test-coverage.v1` | `contracts/project-test-coverage.v1.json` |
75
- | `doctor * --plan` | `.workspai/reports/doctor-remediation-plan-last-run.json` | `doctor-remediation-plan-v2` | `contracts/doctor-remediation-plan.v2.json` |
76
- | `doctor * --fix/--apply` | `.workspai/reports/doctor-fix-result-last-run.json` | `rapidkit-doctor-fix-result-v1` | `contracts/workspace-intelligence/doctor-fix-result.v1.json` |
77
- | `workspace remediation-plan --write` | `.workspai/reports/artifact-remediation-plan-last-run.json` | `artifact-remediation-plan-v1` | `contracts/artifact-remediation-plan.v1.json` |
78
- | `workspace repair *` | `.workspai/reports/workspace-repair-last-run.json` | `workspai.workspace-repair-transaction.v1` | `contracts/workspace-intelligence/workspace-repair-transaction.v1.json` |
79
- | `workspace repair capabilities` | CLI capability output | `workspai.workspace-repair-capabilities.v1` | `contracts/workspace-repair-capabilities.v1.json` |
80
- | `goal <intent>` | `.workspai/reports/goal-pack-last-run.json` | `workspai.goal-pack.v1` | `contracts/workspace-intelligence/goal-pack.v1.json` |
81
- | `goal <intent>` / lifecycle options | `.workspai/goals/index.json` | `workspai.goal-index.v1` | `contracts/workspace-intelligence/goal-index.v1.json` |
82
- | `goal --status/--list/... --json` | stdout | `workspai.goal-lifecycle-result.v1` | `contracts/workspace-intelligence/goal-lifecycle-result.v1.json` |
83
- | `analyze` | `.workspai/reports/analyze-last-run.json` | `rapidkit-analyze-v1` | `contracts/analyze-last-run.v1.json` |
84
- | `readiness` | `.workspai/reports/release-readiness-last-run.json` | `release-readiness-v1` | `contracts/release-readiness.v1.json` |
85
- | `pipeline` | `.workspai/reports/pipeline-last-run.json` | `rapidkit-pipeline-v1` | `contracts/pipeline-last-run.v1.json` |
86
- | `autopilot release` | `.workspai/reports/autopilot-release-last-run.json` | `autopilot-release-v1` | `contracts/autopilot-release.v1.json` |
87
- | | `.workspai/reports/autopilot-release.json` | (alias, same payload) | `contracts/autopilot-release.v1.json` |
70
+ | Command | Primary artifact | Schema version | JSON Schema |
71
+ | ------------------------------------ | ----------------------------------------------------------- | --------------------------------------------- | ----------------------------------------------------------------------------------- |
72
+ | `doctor workspace` | `.workspai/reports/doctor-last-run.json` | `doctor-workspace-evidence-v1` | `contracts/doctor-workspace-evidence.v1.json` |
73
+ | `doctor project` | `.workspai/reports/doctor-project-last-run.json` | `doctor-project-evidence-v1` | `contracts/doctor-project-evidence.v1.json` |
74
+ | `project coverage` | `.workspai/reports/project-test-coverage-last-run.json` | `workspai.project-test-coverage.v1` | `contracts/project-test-coverage.v1.json` |
75
+ | `doctor * --plan` | `.workspai/reports/doctor-remediation-plan-last-run.json` | `doctor-remediation-plan-v2` | `contracts/doctor-remediation-plan.v2.json` |
76
+ | `doctor * --fix/--apply` | `.workspai/reports/doctor-fix-result-last-run.json` | `rapidkit-doctor-fix-result-v1` | `contracts/workspace-intelligence/doctor-fix-result.v1.json` |
77
+ | `workspace remediation-plan --write` | `.workspai/reports/artifact-remediation-plan-last-run.json` | `artifact-remediation-plan-v1` | `contracts/artifact-remediation-plan.v1.json` |
78
+ | `workspace repair *` | `.workspai/reports/workspace-repair-last-run.json` | `workspai.workspace-repair-transaction.v1` | `contracts/workspace-intelligence/workspace-repair-transaction.v1.json` |
79
+ | `workspace repair capabilities` | CLI capability output | `workspai.workspace-repair-capabilities.v1` | `contracts/workspace-repair-capabilities.v1.json` |
80
+ | `goal <intent>` | `.workspai/reports/goal-pack-last-run.json` | `workspai.goal-pack.v1` | `contracts/workspace-intelligence/goal-pack.v1.json` |
81
+ | `goal <intent>` / lifecycle options | `.workspai/goals/index.json` | `workspai.goal-index.v1` | `contracts/workspace-intelligence/goal-index.v1.json` |
82
+ | `goal --status/--list/... --json` | stdout | `workspai.goal-lifecycle-result.v1` | `contracts/workspace-intelligence/goal-lifecycle-result.v1.json` |
83
+ | `change begin` | `.workspai/changes/<change-id>/lease.json` | `workspai.architecture-change-lease.v1` | `contracts/workspace-intelligence/architecture-change-lease.v1.json` |
84
+ | `change *` | `.workspai/decisions/<change-id>/transaction.json` | `workspai.decision-transaction.v1` | `contracts/workspace-intelligence/decision-transaction.v1.json` |
85
+ | `change *` | `.workspai/decisions/<change-id>/checkpoint.json` | `workspai.decision-checkpoint.v1` | `contracts/workspace-intelligence/decision-checkpoint.v1.json` |
86
+ | `change predict` | `.workspai/changes/<change-id>/predicted-overlay.json` | `workspai.predicted-architecture-change.v1` | `contracts/workspace-intelligence/predicted-architecture-change.v1.json` |
87
+ | `change verify` | `.workspai/changes/<change-id>/actual-overlay.json` | `workspace-knowledge-graph-change-overlay.v1` | `contracts/workspace-intelligence/workspace-knowledge-graph-change-overlay.v1.json` |
88
+ | `change verify` | `.workspai/changes/<change-id>/architecture-surprises.json` | `workspai.architecture-surprise-report.v1` | `contracts/workspace-intelligence/architecture-surprise-report.v1.json` |
89
+ | `change *` | `.workspai/changes/<change-id>/capsule.json` | `workspai.proof-carrying-change-capsule.v1` | `contracts/workspace-intelligence/proof-carrying-change-capsule.v1.json` |
90
+ | `analyze` | `.workspai/reports/analyze-last-run.json` | `rapidkit-analyze-v1` | `contracts/analyze-last-run.v1.json` |
91
+ | `readiness` | `.workspai/reports/release-readiness-last-run.json` | `release-readiness-v1` | `contracts/release-readiness.v1.json` |
92
+ | `pipeline` | `.workspai/reports/pipeline-last-run.json` | `rapidkit-pipeline-v1` | `contracts/pipeline-last-run.v1.json` |
93
+ | `autopilot release` | `.workspai/reports/autopilot-release-last-run.json` | `autopilot-release-v1` | `contracts/autopilot-release.v1.json` |
94
+ | | `.workspai/reports/autopilot-release.json` | (alias, same payload) | `contracts/autopilot-release.v1.json` |
88
95
 
89
96
  Side/cache (not gates): `.workspai/reports/doctor-workspace-cache.json` (`doctor-workspace-cache-v2`).
90
97
 
@@ -96,6 +103,18 @@ authorize mutation or claim completion.
96
103
  The sibling `.workspai/goals/index.json` is the canonical active-goal discovery
97
104
  and lifecycle registry; consumers must not infer activity from directory order.
98
105
 
106
+ Proof-Carrying Change uses the append-only JSONL event stream at
107
+ `.workspai/decisions/<change-id>/events.jsonl` as authority. The transaction and
108
+ checkpoint are replay-derived projections, while the capsule composes intent,
109
+ baseline, typed effects, re-observed architecture, independent verification,
110
+ and remaining uncertainty. The private
111
+ `.workspai/changes/<change-id>/private/baseline-graph.json` materialization is a
112
+ hash-bound local cache used to calculate the actual delta after the canonical
113
+ Graph advances; it is non-authoritative and must not be treated as a portable
114
+ consumer artifact. `change list --json` is the stable discovery surface for
115
+ IDEs and automation, so consumers must not infer the active or latest change
116
+ from directory order.
117
+
99
118
  Doctor Studio handoff:
100
119
  `doctor-remediation-plan-v2` (`contracts/doctor-remediation-plan.v2.json`) is emitted in JSON
101
120
  responses and persisted to `.workspai/reports/doctor-remediation-plan-last-run.json` by
@@ -34,6 +34,7 @@ These commands are implemented and orchestrated by Workspai CLI:
34
34
  - `commands`
35
35
  - `create`
36
36
  - `goal`
37
+ - `change`
37
38
  - `agent`
38
39
  - `project`
39
40
  - `live`
@@ -53,6 +54,22 @@ These nested Commander commands are implemented and orchestrated by Workspai CLI
53
54
  - `config remove-api-key`
54
55
  - `config set-api-key`
55
56
  - `config show`
57
+ - `change begin`
58
+ - `change list`
59
+ - `change predict`
60
+ - `change authorize`
61
+ - `change resume`
62
+ - `change effect`
63
+ - `change effect record`
64
+ - `change verification`
65
+ - `change verification record`
66
+ - `change status`
67
+ - `change explain`
68
+ - `change verify`
69
+ - `change abort`
70
+ - `change capsule`
71
+ - `change capsule validate`
72
+ - `change capsule export`
56
73
  - `infra down`
57
74
  - `infra plan`
58
75
  - `infra status`
@@ -0,0 +1,65 @@
1
+ # Proof-Carrying Change contracts
2
+
3
+ Status: released v1 CLI and read-only MCP contracts; extension mutation adapter pending
4
+
5
+ ## Published contracts
6
+
7
+ | Schema | Owner | Purpose |
8
+ | ------------------------------------------------------ | --------------- | --------------------------------------------------- |
9
+ | `workspai.decision-event.v1` | Decisions | Digest-linked causal event. |
10
+ | `workspai.decision-transaction.v1` | Decisions | Replay-derived transaction projection. |
11
+ | `workspai.decision-checkpoint.v1` | Decisions | Event-head and projection integrity checkpoint. |
12
+ | `workspai.architecture-change-lease.v1` | PCC composition | Goal and architecture generation guard. |
13
+ | `workspai.predicted-architecture-change.v1` | PCC composition | Explicit noncanonical expected delta. |
14
+ | `workspace-knowledge-graph-change-overlay.v1` | Graph | Actual base-to-head architecture delta. |
15
+ | `workspai.architecture-surprise-report.v1` | PCC composition | Predicted-versus-observed comparison. |
16
+ | `workspai.proof-carrying-change-capsule.v1` | PCC composition | Portable closure, assurance, and uncertainty index. |
17
+ | `workspai.change-operation-result.v1` | PCC composition | Stable machine result shared by lifecycle commands. |
18
+ | `workspai.proof-carrying-change-list.v1` | PCC composition | Read-only discovery for IDE, CI, and automation. |
19
+ | `workspai.proof-carrying-change-capsule-validation.v1` | PCC composition | Explicit integrity validation verdict. |
20
+ | `workspai.proof-carrying-change-capsule-export.v1` | PCC composition | Validated portable export receipt. |
21
+
22
+ The schemas live in `contracts/workspace-intelligence/` and are advertised by
23
+ the published contract catalog and runtime command surface.
24
+
25
+ ## Reuse map
26
+
27
+ - `workspai.goal-pack.v1`: immutable intent, scope, and success criteria.
28
+ - `workspai.goal-index.v1`: active Goal and bounded PCC transaction links.
29
+ - `workspace-model.v1`: structural baseline and post-effect system identity.
30
+ - `workspace-knowledge-graph.v1`: architecture facts and proofs.
31
+ - `workspace-knowledge-graph-change-overlay.v1`: actual change semantics.
32
+ - `workspace-verify.v1`: canonical workspace verification evidence.
33
+
34
+ ## Semantic validation beyond JSON Schema
35
+
36
+ JSON shape is necessary but insufficient. The runtime additionally verifies:
37
+
38
+ 1. contiguous event sequence and one transaction ID;
39
+ 2. previous-event and event-content digests;
40
+ 3. legal state transitions;
41
+ 4. explicit effect-class authorization;
42
+ 5. unique effect receipt IDs and idempotency keys;
43
+ 6. exact effect-head binding for verification receipts;
44
+ 7. current Model/Graph target identity;
45
+ 8. successful receipt coverage for changed Graph proof artifacts;
46
+ 9. latest passing receipt for every immutable Goal criterion;
47
+ 10. capsule, lease, decision-head, baseline-cache, and referenced-artifact integrity.
48
+
49
+ ## Compatibility rules
50
+
51
+ - v1 fields do not grant authority beyond their named owner.
52
+ - Prediction remains ineligible as proof in every consumer.
53
+ - A capsule is an index, not a duplicate Goal, Graph, ledger, or verifier.
54
+ - Missing, stale, uncertain, failed, and unsupported are distinct outcomes.
55
+ - Unknown event kinds or fields fail closed under v1 schemas.
56
+ - Consumers must use command discovery and the published catalog rather than
57
+ guessing artifact paths.
58
+ - Consumers must use `change list --json` rather than inferring recency or
59
+ lifecycle state from directory order.
60
+
61
+ ## Deferred contract
62
+
63
+ `workspai.semantic-change-conflict.v1` remains deferred until proof-backed
64
+ two-change overlap can distinguish `overlap`, `disjoint`, and `unknown` without
65
+ inferring absence from incomplete Graph coverage.
@@ -0,0 +1,118 @@
1
+ {
2
+ "schemaVersion": "workspai.proof-carrying-change-implementation-plan.v1",
3
+ "status": "released",
4
+ "release": "0.69.0",
5
+ "runtimeImplemented": true,
6
+ "packageDecision": {
7
+ "newPackage": false,
8
+ "compositionOwner": "workspai-cli",
9
+ "transactionOwner": "extraction-safe Decisions kernel",
10
+ "graphOwner": "workspace-knowledge-graph",
11
+ "modelOwner": "workspace-model",
12
+ "intentOwner": "goal-pack",
13
+ "verificationOwner": "domain-verifier"
14
+ },
15
+ "publicCommands": [
16
+ "change begin",
17
+ "change list",
18
+ "change predict",
19
+ "change authorize",
20
+ "change resume",
21
+ "change effect record",
22
+ "change verification record",
23
+ "change status",
24
+ "change verify",
25
+ "change explain",
26
+ "change abort",
27
+ "change capsule validate",
28
+ "change capsule export"
29
+ ],
30
+ "reusedContracts": [
31
+ "workspai.goal-pack.v1",
32
+ "workspai.goal-index.v1",
33
+ "workspace-knowledge-graph-change-overlay.v1",
34
+ "workspace-impact.v1",
35
+ "workspace-explain.v1",
36
+ "workspace-verify.v1"
37
+ ],
38
+ "implementedContracts": [
39
+ "workspai.decision-event.v1",
40
+ "workspai.decision-transaction.v1",
41
+ "workspai.decision-checkpoint.v1",
42
+ "workspai.architecture-change-lease.v1",
43
+ "workspai.predicted-architecture-change.v1",
44
+ "workspai.architecture-surprise-report.v1",
45
+ "workspai.proof-carrying-change-capsule.v1",
46
+ "workspai.change-operation-result.v1",
47
+ "workspai.proof-carrying-change-list.v1",
48
+ "workspai.proof-carrying-change-capsule-validation.v1",
49
+ "workspai.proof-carrying-change-capsule-export.v1"
50
+ ],
51
+ "deferredContracts": ["workspai.semantic-change-conflict.v1"],
52
+ "consumerStatus": {
53
+ "cli": "complete",
54
+ "ciJsonGate": "complete",
55
+ "mcpReadTools": "complete",
56
+ "extensionReadProjection": "implemented-awaiting-pcc-cli-release",
57
+ "extensionStudioMutationAdapter": "deferred-until-pcc-cli-release"
58
+ },
59
+ "stages": [
60
+ {
61
+ "id": "PC0",
62
+ "name": "ownership-and-inventory",
63
+ "status": "complete",
64
+ "exit": "Maintainer approves ownership, reuse map, threat boundary and no-new-package decision."
65
+ },
66
+ {
67
+ "id": "PC1",
68
+ "name": "contract-lock",
69
+ "status": "complete",
70
+ "exit": "Schemas, types, validators, fixtures, artifacts and compatibility rules are locked."
71
+ },
72
+ {
73
+ "id": "PC2",
74
+ "name": "pure-lease-and-comparison-kernel",
75
+ "status": "complete",
76
+ "exit": "Generation guard, prediction comparison and capsule validation pass without CLI globals."
77
+ },
78
+ {
79
+ "id": "PC3",
80
+ "name": "explicit-prediction-mvp",
81
+ "status": "complete",
82
+ "exit": "Begin, predict, status, verify, explain and abort pass JSON and process integration tests."
83
+ },
84
+ {
85
+ "id": "PC4",
86
+ "name": "decisions-and-effect-integration",
87
+ "status": "complete",
88
+ "exit": "All effects and resume behavior use one Decisions transaction and ledger."
89
+ },
90
+ {
91
+ "id": "PC5",
92
+ "name": "semantic-concurrency",
93
+ "status": "deferred",
94
+ "exit": "Proof-backed overlap and honest unknown/disjoint semantics pass multi-change fixtures."
95
+ },
96
+ {
97
+ "id": "PC6",
98
+ "name": "consumer-integration",
99
+ "status": "in-progress",
100
+ "exit": "CLI, CI, MCP and extension consume one capsule contract without semantic forks."
101
+ },
102
+ {
103
+ "id": "PC7",
104
+ "name": "enterprise-hardening",
105
+ "status": "in-progress",
106
+ "exit": "Cross-platform, adversarial, crash, concurrency, scale, privacy and release gates pass."
107
+ }
108
+ ],
109
+ "prohibitedShortcuts": [
110
+ "new transaction or graph truth owner",
111
+ "automatic stale lease renewal",
112
+ "prediction as corroborating evidence",
113
+ "fidelity score as commit or release authority",
114
+ "history as causal ledger",
115
+ "automatic command execution from capability metadata",
116
+ "semantic disjointness inferred from missing graph coverage"
117
+ ]
118
+ }
@@ -0,0 +1,202 @@
1
+ # Proof-Carrying Change
2
+
3
+ Status: released in Workspai CLI v0.69.0
4
+
5
+ > Every change carries its intent, pinned architecture baseline, predicted
6
+ > impact, authorized effects, actual architecture delta, independent
7
+ > verification, and remaining uncertainty.
8
+
9
+ Proof-Carrying Change (PCC) is a product composition, not a second Graph or
10
+ transaction system. Goal Pack owns intent and acceptance criteria. The
11
+ extraction-safe Decisions kernel owns lifecycle, causal ordering, authorization,
12
+ effect receipts, verification receipts, resume, and the tamper-evident ledger.
13
+ Model and Graph own architecture truth. Workspace Verify and domain verifiers
14
+ own verdicts. The CLI composes references to those owners into one capsule.
15
+
16
+ ## Quickstart
17
+
18
+ Start from a current adopted project or workspace:
19
+
20
+ ```bash
21
+ # 1. Create an immutable Goal Pack.
22
+ workspai goal "Improve retry behavior without breaking clients" --json
23
+
24
+ # 2. Pin that Goal and the exact Model/Graph/input generation.
25
+ workspai change begin --json
26
+
27
+ # Discover resumable and sealed changes without scanning directories.
28
+ workspai change list --json
29
+
30
+ # 3. Optionally attach an explicit prediction. It is never proof.
31
+ workspai change predict --change <change-id> --file prediction.json --json
32
+
33
+ # 4. A human grants only the effect classes required by the change.
34
+ workspai change authorize --change <change-id> \
35
+ --effects filesystem,command --granted-by maintainer --json
36
+
37
+ # 5. An agent, extension, or CLI tool records every observed effect.
38
+ workspai change effect record --change <change-id> \
39
+ --file effect-receipt.json --json
40
+
41
+ # 6. Rebuild/re-observe architecture and run independent verification.
42
+ workspai change verify --change <change-id> --strict --json
43
+
44
+ # 7. Validate or export the sealed manifest.
45
+ workspai change capsule validate --change <change-id> --json
46
+ workspai change capsule export --change <change-id> \
47
+ --output .workspai/exports/<change-id>.json --json
48
+ ```
49
+
50
+ For Goals with additional release, security, or coverage criteria, `change
51
+ verify` first records canonical Workspace Verify and the actual Graph overlay.
52
+ The owning domain/CI adapter can then admit an exact-generation receipt:
53
+
54
+ ```bash
55
+ workspai change verification record --change <change-id> \
56
+ --file verification-receipt.json --json
57
+ ```
58
+
59
+ If a transaction is blocked, it remains durable. A human may resume it into an
60
+ explicit state; history is never erased:
61
+
62
+ ```bash
63
+ workspai change resume --change <change-id> --to authorized \
64
+ --reason "Add receipts for observed generated files" --json
65
+ ```
66
+
67
+ ## Ownership and invariants
68
+
69
+ | Concern | Owner | PCC behavior |
70
+ | -------------------------------- | ---------------------------------- | --------------------------------------------------------------------------- |
71
+ | Intent, scope, success criteria | Goal Pack | References the immutable Goal and criterion IDs. |
72
+ | State, ledger, effects, receipts | Decisions kernel | Uses one digest-linked event stream and derived projection. |
73
+ | Architecture baseline and delta | Model / Graph | Pins exact hashes and reuses `workspace-knowledge-graph-change-overlay.v1`. |
74
+ | Verification | Workspace Verify / domain verifier | Admits only receipts bound to the current Model, Graph, and effect head. |
75
+ | Product view | CLI / IDE / CI | Consumes the same capsule without redefining truth. |
76
+
77
+ The runtime enforces these rules:
78
+
79
+ - prediction is `nonCanonical: true` and `proofEligible: false`;
80
+ - authorization names allowed effect classes before receipts are admitted;
81
+ - receipt idempotency keys cannot be reused;
82
+ - verification binds the exact current Model, Graph, and effect-head digest;
83
+ - observed changed artifacts must be covered by successful effect receipts;
84
+ - a changed Graph with no effect receipt blocks verification;
85
+ - every required Goal criterion needs a latest passing receipt before commit;
86
+ - failed or uncertain effects block the transaction;
87
+ - terminal transactions cannot accept later events;
88
+ - optimistic compare-and-append prevents concurrent history forks;
89
+ - capsule validation replays the event chain and checks local reference digests.
90
+
91
+ ## Architecture lease
92
+
93
+ `change begin` requires a fresh Goal Pack and a current canonical Graph. It
94
+ creates `workspai.architecture-change-lease.v1`, binding Goal ID, workspace,
95
+ scope, structural Model hash, canonical Graph hash, live Graph input
96
+ fingerprint, and a derived generation ID.
97
+
98
+ Before prediction or authorization, the generation must still match. The lease
99
+ is an optimistic guard, not a filesystem or Git lock.
100
+
101
+ Because the canonical Graph path is renewed in place, begin also writes a
102
+ private, non-authoritative, hash-bound baseline materialization. It exists only
103
+ to derive the later base-to-head overlay. The capsule cites the canonical
104
+ baseline identity, not the cache as architecture truth.
105
+
106
+ ## Typed receipts
107
+
108
+ An effect receipt includes an ID, effect class, result, summary, observation
109
+ time, idempotency key, optional command argv, and artifact references. Artifact
110
+ references use labeled digest semantics:
111
+
112
+ - `canonical-json-v1` for JSON evidence;
113
+ - `raw-bytes-v1` for source or command-output files;
114
+ - `workspace-model-structural-v1` for canonical Model identity.
115
+
116
+ Verification receipts add a Goal criterion ID and an exact target. Domain
117
+ receipts are admitted only after `change verify` has re-observed the Graph and
118
+ recorded passing Workspace Verify evidence.
119
+
120
+ ## Artifact layout
121
+
122
+ ```text
123
+ .workspai/decisions/<change-id>/
124
+ events.jsonl # authoritative causal ledger
125
+ transaction.json # replay-derived projection
126
+ checkpoint.json # generation and head integrity checkpoint
127
+
128
+ .workspai/changes/<change-id>/
129
+ lease.json
130
+ predicted-overlay.json # optional, noncanonical
131
+ actual-overlay.json
132
+ architecture-surprises.json
133
+ capsule.json
134
+ private/baseline-graph.json
135
+ ```
136
+
137
+ `capsule.json` is a portable hash-index and assurance summary. It does not copy
138
+ the Goal, event ledger, Model, Graph, or verification reports. Absolute paths,
139
+ secrets, prompts, and unbounded command output are not capsule content.
140
+ Use the schema-validated `change list --json` projection for IDE and automation
141
+ discovery; filesystem directory order is never lifecycle truth.
142
+
143
+ Every CLI operation also emits a Live activity observation correlated by the
144
+ change ID, and every PCC artifact write flows through the shared artifact
145
+ publisher. Live remains execution telemetry rather than verification proof;
146
+ the capsule references Decision, Graph, effect, and verifier evidence instead
147
+ of upgrading an observed activity event into an assurance claim.
148
+
149
+ Read-only MCP consumers receive the same ledger-derived projections through
150
+ `listProofCarryingChanges`, `getProofCarryingChange`, and
151
+ `validateProofCarryingChange`. No PCC mutation tool is exposed over MCP; effect
152
+ authorization and execution remain behind explicit CLI or IDE approval
153
+ boundaries.
154
+
155
+ CI can fail closed on capsule integrity and assurance without parsing terminal
156
+ text:
157
+
158
+ ```bash
159
+ workspai change capsule validate --change "$CHANGE_ID" --json
160
+ workspai change status --change "$CHANGE_ID" --json
161
+ ```
162
+
163
+ An invalid capsule exits non-zero. Policy automation should additionally
164
+ require `capsule.status == "sealed"` when a sealed change is a merge or release
165
+ condition.
166
+
167
+ ## Decision states
168
+
169
+ The Decisions owner derives these states from events:
170
+
171
+ ```text
172
+ draft -> scoped -> evidence-ready -> authorized -> executing -> verifying
173
+ \-> blocked/awaiting-human -> resumed
174
+ verifying -> committed
175
+ any nonterminal state -> aborted/rejected/superseded
176
+ ```
177
+
178
+ The product-facing capsule reports `open`, `blocked`, `verified`, `sealed`, or
179
+ `aborted`. A sealed capsule means all immutable Goal criteria have passing
180
+ post-effect receipts. It does not mean unsupported external claims became true.
181
+
182
+ ## Prediction versus observation
183
+
184
+ The prediction lists expected add/remove/change operations for entities,
185
+ relations, proofs, or artifacts. `change verify` derives the actual overlay from
186
+ the pinned Graph and fresh canonical head, then emits matched operations,
187
+ unpredicted actual operations, predicted operations not observed, and an honest
188
+ `exact`, `within-expectation`, `surprising`, or `no-prediction` verdict.
189
+
190
+ Surprise analysis is explanatory evidence. It is not self-corroborating proof
191
+ and cannot replace verification.
192
+
193
+ ## Deferred work
194
+
195
+ The next layer is IDE timeline/Graph overlay and Repair/Studio transaction
196
+ adapters. Rich hosted PR annotations remain separate from the machine-readable
197
+ CI gate above. Semantic multi-change overlap, immutable historical Graph
198
+ queries, isolated patch simulation, and remote attestation remain separate
199
+ follow-up capabilities. No current command claims those behaviors.
200
+
201
+ See the [contract reference](./contracts/PROOF_CARRYING_CHANGE_CONTRACT_PLAN.md)
202
+ and [implementation manifest](./proof-carrying-change.implementation.v1.json).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "workspai",
3
- "version": "0.68.0",
3
+ "version": "0.69.0",
4
4
  "type": "module",
5
5
  "description": "Open-source workspace intelligence CLI for software systems: create, adopt, govern, verify, and align polyglot workspaces for humans, CI, IDEs, and AI agents.",
6
6
  "keywords": [
@@ -1 +0,0 @@
1
- export{b as printAnalyzeReport,a as runAnalyze}from'./chunk-VIN7NJW3.js';
@@ -1 +0,0 @@
1
- export{b as AUTOPILOT_RELEASE_ALIAS_FILENAME,a as AUTOPILOT_RELEASE_LAST_RUN_FILENAME,c as runAutopilotRelease}from'./chunk-5YZ2W57R.js';
@@ -1 +0,0 @@
1
- export{b as runDoctorCapabilities}from'./chunk-DFVG4DDZ.js';