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.
- package/README.md +38 -18
- package/contracts/cli-runtime-command-inventory.v1.snapshot.json +459 -0
- package/contracts/extension-cli-compatibility.v1.json +11 -0
- package/contracts/published-contract-catalog.v1.json +55 -0
- package/contracts/runtime-command-surface.v1.json +282 -0
- package/contracts/workspace-intelligence/architecture-change-lease.v1.json +50 -0
- package/contracts/workspace-intelligence/architecture-surprise-report.v1.json +46 -0
- package/contracts/workspace-intelligence/change-operation-result.v1.json +43 -0
- package/contracts/workspace-intelligence/decision-checkpoint.v1.json +18 -0
- package/contracts/workspace-intelligence/decision-event.v1.json +134 -0
- package/contracts/workspace-intelligence/decision-transaction.v1.json +29 -0
- package/contracts/workspace-intelligence/goal-index.v1.json +13 -0
- package/contracts/workspace-intelligence/goal-pack.v1.json +2 -1
- package/contracts/workspace-intelligence/predicted-architecture-change.v1.json +34 -0
- package/contracts/workspace-intelligence/proof-carrying-change-capsule-export.v1.json +14 -0
- package/contracts/workspace-intelligence/proof-carrying-change-capsule-validation.v1.json +16 -0
- package/contracts/workspace-intelligence/proof-carrying-change-capsule.v1.json +62 -0
- package/contracts/workspace-intelligence/proof-carrying-change-list.v1.json +80 -0
- package/contracts/workspace-intelligence/workspace-knowledge-graph-change-overlay.v1.json +9 -1
- package/dist/analyze-GPYPXXRT.js +1 -0
- package/dist/{artifact-remediation-plan-I7IKC5MR.js → artifact-remediation-plan-JHHZ4L24.js} +1 -1
- package/dist/autopilot-release-FL47VMF7.js +1 -0
- package/dist/capabilities-command-MYSLJIYS.js +1 -0
- package/dist/chunk-2LZWBUJD.js +1 -0
- package/dist/{chunk-7DDEMDG2.js → chunk-37ZLNFV5.js} +2 -2
- package/dist/{chunk-OFYY4725.js → chunk-3G5FF2JZ.js} +1 -1
- package/dist/chunk-3HFFKW4Q.js +2 -0
- package/dist/{chunk-BHM6RHTA.js → chunk-3WHE7V4M.js} +1 -1
- package/dist/chunk-A3MYO55A.js +3 -0
- package/dist/chunk-ABMB6MJT.js +1 -0
- package/dist/chunk-AD4ZY3RF.js +12 -0
- package/dist/chunk-BM2F5C4J.js +1 -0
- package/dist/chunk-COICGD62.js +1 -0
- package/dist/{chunk-4WVOAX2V.js → chunk-DWL3PPLA.js} +1 -1
- package/dist/{chunk-3Z4SVBMR.js → chunk-EBEAJIBI.js} +1 -1
- package/dist/chunk-EBQS5T7Q.js +7 -0
- package/dist/{chunk-5OV2WXAR.js → chunk-EG6EZ7HW.js} +1 -1
- package/dist/chunk-ERVWW5HX.js +1 -0
- package/dist/chunk-EZPLMAW2.js +1 -0
- package/dist/chunk-FIK343LI.js +1 -0
- package/dist/chunk-GSSJJS5M.js +6 -0
- package/dist/{chunk-TMRCPT7S.js → chunk-GYN6RPNU.js} +1 -1
- package/dist/{chunk-6E2Y3XGT.js → chunk-HCFOVANQ.js} +1 -1
- package/dist/chunk-I3UCODXU.js +1 -0
- package/dist/{chunk-3BMYMZQB.js → chunk-IGJA6GBQ.js} +1 -1
- package/dist/{chunk-FX5J6JCK.js → chunk-IVYPC36J.js} +1 -1
- package/dist/chunk-K33JJVQZ.js +2 -0
- package/dist/{chunk-KDY4X7SQ.js → chunk-M37ALD4V.js} +1 -1
- package/dist/{chunk-3XF7O66C.js → chunk-MAWHHHU3.js} +5 -5
- package/dist/chunk-MBICKDYP.js +1 -0
- package/dist/{chunk-QMQBX3RV.js → chunk-MGL6DBOR.js} +1 -1
- package/dist/chunk-MHQHRMKU.js +5 -0
- package/dist/{chunk-2C5XJBYI.js → chunk-N2Q4MSSP.js} +64 -64
- package/dist/chunk-N4B2M44I.js +1 -0
- package/dist/chunk-NSH7TTSV.js +1 -0
- package/dist/chunk-O5XQP5E7.js +1 -0
- package/dist/chunk-ODK4LCEL.js +1 -0
- package/dist/chunk-OU3BBWH5.js +49 -0
- package/dist/chunk-OZXCNVGW.js +2 -0
- package/dist/{chunk-SLFOUSRW.js → chunk-QYEQVNBF.js} +1 -1
- package/dist/chunk-RVOW3BHQ.js +2 -0
- package/dist/chunk-TKXRP2B4.js +1 -0
- package/dist/chunk-UNXG3ZFV.js +1 -0
- package/dist/chunk-UW4SESKD.js +2 -0
- package/dist/{chunk-2MTJWPQ4.js → chunk-V52R2W2Q.js} +1 -1
- package/dist/chunk-V6TIT6M3.js +157 -0
- package/dist/chunk-VNKAISFE.js +8 -0
- package/dist/chunk-W6WRT77T.js +1 -0
- package/dist/chunk-WHR5SL33.js +4 -0
- package/dist/{chunk-IXXQMD34.js → chunk-WZ5V5U2K.js} +1 -1
- package/dist/chunk-XPGCFVGC.js +4 -0
- package/dist/chunk-YKY4JFCF.js +1 -0
- package/dist/{chunk-VIN7NJW3.js → chunk-YWZBGSFE.js} +3 -3
- package/dist/chunk-YZL7ZY7J.js +2 -0
- package/dist/{create-U5PQHOZ4.js → create-GWBQ74ZI.js} +1 -1
- package/dist/doctor-OQAXSMEM.js +1 -0
- package/dist/goal-lifecycle-YWBVQ2DF.js +1 -0
- package/dist/goal-pack-KUXPZVNO.js +1 -0
- package/dist/index.d.ts +35 -2
- package/dist/index.js +239 -239
- package/dist/pipeline-PGB5TEV3.js +5 -0
- package/dist/{project-agent-entry-MH7364BE.js → project-agent-entry-H3JAGNLS.js} +1 -1
- package/dist/{project-intelligence-lens-ZCCHUKVI.js → project-intelligence-lens-7NMKHV5N.js} +1 -1
- package/dist/{project-test-coverage-JPWTBSSJ.js → project-test-coverage-3DKZKLWY.js} +1 -1
- package/dist/proof-carrying-change-QFH7WI2E.js +1 -0
- package/dist/verified-goal-7XHRWYSE.js +1 -0
- package/dist/{workspace-B33BFZZ3.js → workspace-TJHCETBV.js} +1 -1
- package/dist/{workspace-agent-sync-T3MJO2MX.js → workspace-agent-sync-Z35NTXCB.js} +1 -1
- package/dist/{workspace-archive-NOSGRKRZ.js → workspace-archive-OSMU3CK6.js} +1 -1
- package/dist/{workspace-context-KOCEP4MJ.js → workspace-context-KNJQUJWC.js} +1 -1
- package/dist/{workspace-contract-MQ3QE52V.js → workspace-contract-VIUQT5SZ.js} +1 -1
- package/dist/workspace-explain-HM6GMK26.js +1 -0
- package/dist/workspace-explain-contract-KV7RTEJU.js +1 -0
- package/dist/{workspace-feedback-3YLIUFQ7.js → workspace-feedback-YSPEGCON.js} +1 -1
- package/dist/{workspace-foundation-O7O3QIS4.js → workspace-foundation-PLXFPI3J.js} +1 -1
- package/dist/{workspace-graph-stream-XTGGBD7D.js → workspace-graph-stream-FNRQ2FTB.js} +1 -1
- package/dist/workspace-graph-token-efficiency-WNAFAN2F.js +1 -0
- package/dist/{workspace-history-7HDZZ4G5.js → workspace-history-HDDFG6LH.js} +1 -1
- package/dist/{workspace-intelligence-TFEQBPUP.js → workspace-intelligence-QLSD5EEV.js} +1 -1
- package/dist/{workspace-intelligence-benchmark-PLVUBGWO.js → workspace-intelligence-benchmark-S5OXVNLC.js} +1 -1
- package/dist/{workspace-intelligence-evaluation-OJIQS5SN.js → workspace-intelligence-evaluation-QDSOOUHH.js} +1 -1
- package/dist/{workspace-intelligence-runner-6ZAV6RO4.js → workspace-intelligence-runner-4EW4T2OW.js} +1 -1
- package/dist/workspace-intelligence-runtime-registry-ZLPF7BAY.js +1 -0
- package/dist/{workspace-knowledge-graph-AUXYL3L6.js → workspace-knowledge-graph-EEOW5VAJ.js} +1 -1
- package/dist/workspace-knowledge-graph-change-overlay-FIIAFLO6.js +1 -0
- package/dist/{workspace-knowledge-graph-contract-X52KXBXJ.js → workspace-knowledge-graph-contract-FVX5T7SU.js} +1 -1
- package/dist/{workspace-knowledge-graph-query-A7TKONWY.js → workspace-knowledge-graph-query-WHCGPBGS.js} +1 -1
- package/dist/workspace-knowledge-graph-snapshot-X347REDB.js +1 -0
- package/dist/workspace-mcp-serve-NQ42PE2I.js +3 -0
- package/dist/{workspace-model-GVXNLSQM.js → workspace-model-NCOOY5LC.js} +1 -1
- package/dist/{workspace-onboarding-ECZ2KJ2A.js → workspace-onboarding-JNC7ZFMR.js} +1 -1
- package/dist/{workspace-readme-6N5Y2ZSJ.js → workspace-readme-OV2ADTLW.js} +2 -2
- package/dist/{workspace-registry-summary-5SFBTRGQ.js → workspace-registry-summary-ONT4VOJX.js} +1 -1
- package/dist/{workspace-repair-engine-CKJCTWKX.js → workspace-repair-engine-WMJCYWO4.js} +2 -2
- package/dist/workspace-run-3S35MDX6.js +1 -0
- package/dist/{workspace-verify-D3QTMAUI.js → workspace-verify-MLABQUWK.js} +1 -1
- package/dist/{workspace-watch-XYJEW2Z2.js → workspace-watch-MJOG5AZ3.js} +1 -1
- package/docs/README.md +2 -0
- package/docs/ci-workflows.md +1 -1
- package/docs/commands-reference.md +23 -0
- package/docs/contracts/ARTIFACT_CATALOG.md +37 -18
- package/docs/contracts/COMMAND_OWNERSHIP_MATRIX.md +17 -0
- package/docs/contracts/PROOF_CARRYING_CHANGE_CONTRACT_PLAN.md +65 -0
- package/docs/proof-carrying-change.implementation.v1.json +118 -0
- package/docs/proof-carrying-change.md +202 -0
- package/package.json +1 -1
- package/dist/analyze-JDEWUBC6.js +0 -1
- package/dist/autopilot-release-OELUFNLL.js +0 -1
- package/dist/capabilities-command-RAAYENQ6.js +0 -1
- package/dist/chunk-2KX6KHEC.js +0 -1
- package/dist/chunk-3KU3YUWD.js +0 -2
- package/dist/chunk-3NF3M3RE.js +0 -1
- package/dist/chunk-3OGPTLI2.js +0 -1
- package/dist/chunk-5ME4W4LN.js +0 -1
- package/dist/chunk-5XUAAQSV.js +0 -5
- package/dist/chunk-5YZ2W57R.js +0 -8
- package/dist/chunk-7DZNZ3GM.js +0 -3
- package/dist/chunk-BG6IX6HA.js +0 -1
- package/dist/chunk-BMAFHX6A.js +0 -1
- package/dist/chunk-BUYLM6QV.js +0 -1
- package/dist/chunk-C2VTO5WT.js +0 -2
- package/dist/chunk-CPR2CMOY.js +0 -1
- package/dist/chunk-CSZPE637.js +0 -2
- package/dist/chunk-DFVG4DDZ.js +0 -6
- package/dist/chunk-EHLGPLIU.js +0 -1
- package/dist/chunk-FPDH3N3A.js +0 -7
- package/dist/chunk-GVQKAINC.js +0 -49
- package/dist/chunk-IKUFNK46.js +0 -2
- package/dist/chunk-JYMO7QXQ.js +0 -1
- package/dist/chunk-KY2GOSO5.js +0 -1
- package/dist/chunk-LEOFD3W5.js +0 -12
- package/dist/chunk-LPCZHKD5.js +0 -1
- package/dist/chunk-N5HPMATQ.js +0 -1
- package/dist/chunk-P3622IM5.js +0 -4
- package/dist/chunk-Q7UGDNSM.js +0 -1
- package/dist/chunk-RVAOJOXA.js +0 -2
- package/dist/chunk-TCLKGPXF.js +0 -2
- package/dist/chunk-W5VKBDSD.js +0 -157
- package/dist/chunk-WRZSQDZV.js +0 -1
- package/dist/chunk-Y4Z6CEII.js +0 -1
- package/dist/chunk-ZEEV5J4I.js +0 -1
- package/dist/chunk-ZGHJIQXL.js +0 -1
- package/dist/doctor-D7YI7LSA.js +0 -1
- package/dist/goal-lifecycle-BMS6GSIU.js +0 -1
- package/dist/goal-pack-RBSVQMMX.js +0 -1
- package/dist/pipeline-QOMXH2EK.js +0 -5
- package/dist/verified-goal-XUXU2X5H.js +0 -1
- package/dist/workspace-explain-DTFCKYXK.js +0 -1
- package/dist/workspace-explain-contract-WMREJWHF.js +0 -1
- package/dist/workspace-graph-token-efficiency-5LJKQU2J.js +0 -1
- package/dist/workspace-intelligence-runtime-registry-UKFB3BI7.js +0 -1
- package/dist/workspace-knowledge-graph-change-overlay-XG6FC4IX.js +0 -1
- package/dist/workspace-knowledge-graph-snapshot-GPBDAKAU.js +0 -1
- package/dist/workspace-mcp-serve-TDUXJUAA.js +0 -3
- 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
|
|
71
|
-
| ------------------------------------ | ----------------------------------------------------------- |
|
|
72
|
-
| `doctor workspace` | `.workspai/reports/doctor-last-run.json` | `doctor-workspace-evidence-v1`
|
|
73
|
-
| `doctor project` | `.workspai/reports/doctor-project-last-run.json` | `doctor-project-evidence-v1`
|
|
74
|
-
| `project coverage` | `.workspai/reports/project-test-coverage-last-run.json` | `workspai.project-test-coverage.v1`
|
|
75
|
-
| `doctor * --plan` | `.workspai/reports/doctor-remediation-plan-last-run.json` | `doctor-remediation-plan-v2`
|
|
76
|
-
| `doctor * --fix/--apply` | `.workspai/reports/doctor-fix-result-last-run.json` | `rapidkit-doctor-fix-result-v1`
|
|
77
|
-
| `workspace remediation-plan --write` | `.workspai/reports/artifact-remediation-plan-last-run.json` | `artifact-remediation-plan-v1`
|
|
78
|
-
| `workspace repair *` | `.workspai/reports/workspace-repair-last-run.json` | `workspai.workspace-repair-transaction.v1`
|
|
79
|
-
| `workspace repair capabilities` | CLI capability output | `workspai.workspace-repair-capabilities.v1`
|
|
80
|
-
| `goal <intent>` | `.workspai/reports/goal-pack-last-run.json` | `workspai.goal-pack.v1`
|
|
81
|
-
| `goal <intent>` / lifecycle options | `.workspai/goals/index.json` | `workspai.goal-index.v1`
|
|
82
|
-
| `goal --status/--list/... --json` | stdout | `workspai.goal-lifecycle-result.v1`
|
|
83
|
-
| `
|
|
84
|
-
| `
|
|
85
|
-
| `
|
|
86
|
-
| `
|
|
87
|
-
|
|
|
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.
|
|
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": [
|
package/dist/analyze-JDEWUBC6.js
DELETED
|
@@ -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';
|