workspai 0.56.0 → 0.58.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 (144) hide show
  1. package/README.md +38 -8
  2. package/contracts/adopt-effects.v1.json +72 -0
  3. package/contracts/agent-customization-pack.v1.json +10 -0
  4. package/contracts/cli-runtime-command-inventory.v1.snapshot.json +81 -0
  5. package/contracts/doctor-project-evidence.v1.json +27 -0
  6. package/contracts/doctor-workspace-evidence.v1.json +29 -0
  7. package/contracts/extension-cli-compatibility.v1.json +6 -0
  8. package/contracts/published-contract-catalog.v1.json +30 -0
  9. package/contracts/runtime-command-surface.v1.json +45 -0
  10. package/contracts/workspace-intelligence/doctor-summary.v1.json +3 -1
  11. package/contracts/workspace-intelligence/goal-agent-handoff.v1.json +96 -0
  12. package/contracts/workspace-intelligence/goal-index.v1.json +45 -0
  13. package/contracts/workspace-intelligence/goal-lifecycle-result.v1.json +96 -0
  14. package/contracts/workspace-intelligence/goal-pack.v1.json +250 -0
  15. package/contracts/workspace-intelligence/goal-plan-result.v1.json +46 -0
  16. package/contracts/workspace-intelligence/workspace-repair-proposal.v1.json +1 -0
  17. package/contracts/workspace-intelligence-architecture.v1.json +20 -0
  18. package/dist/analyze-MAU36FTX.js +1 -0
  19. package/dist/{artifact-remediation-plan-BPLON5VX.js → artifact-remediation-plan-JRX4XZ7C.js} +1 -1
  20. package/dist/autopilot-release-TA2L7SCB.js +1 -0
  21. package/dist/capabilities-command-HE2FICLG.js +1 -0
  22. package/dist/chunk-42Q5E2YV.js +1 -0
  23. package/dist/{workspace-knowledge-graph-snapshot-WB62AVDK.js → chunk-4NN5QWOB.js} +1 -1
  24. package/dist/chunk-4YICCES6.js +8 -0
  25. package/dist/{chunk-HASVV34S.js → chunk-6TNSCVR4.js} +1 -1
  26. package/dist/{chunk-PKIRVQLG.js → chunk-7IRGSM25.js} +1 -1
  27. package/dist/{chunk-NHTLE3WN.js → chunk-7KXRA5ST.js} +1 -1
  28. package/dist/{chunk-5RL254O2.js → chunk-7WUT5ZSO.js} +1 -1
  29. package/dist/{chunk-ESWFBSYM.js → chunk-A3JCETSF.js} +1 -1
  30. package/dist/{chunk-KR7CIEQR.js → chunk-AA4PNQKR.js} +1 -1
  31. package/dist/{chunk-5ZA4JYOP.js → chunk-AUCHMXUZ.js} +1 -1
  32. package/dist/{chunk-2L4PSZQB.js → chunk-C4NYG57I.js} +1 -1
  33. package/dist/{chunk-QFCKHUEP.js → chunk-CFBAGPB4.js} +1 -1
  34. package/dist/{chunk-WLCBXCZV.js → chunk-CHMCKYJJ.js} +1 -1
  35. package/dist/chunk-CNWUIXF3.js +1 -0
  36. package/dist/chunk-EEMRRCGR.js +2 -0
  37. package/dist/{chunk-QTCZPS5I.js → chunk-FXIE2WVG.js} +1 -1
  38. package/dist/{chunk-YJTEMJFV.js → chunk-FY6OHOXR.js} +1 -1
  39. package/dist/{chunk-W5ZFXKSL.js → chunk-G4VMNWSU.js} +1 -1
  40. package/dist/{chunk-ADL3CK44.js → chunk-GRGUPSNP.js} +1 -1
  41. package/dist/{chunk-XH7PDHBF.js → chunk-GVS5OFUB.js} +1 -1
  42. package/dist/{chunk-E53BGUOW.js → chunk-H545P6LN.js} +1 -1
  43. package/dist/chunk-HH54C3XJ.js +1 -0
  44. package/dist/{chunk-XMTLKDPP.js → chunk-HI7ONEFI.js} +1 -1
  45. package/dist/chunk-HYY5PQCV.js +1 -0
  46. package/dist/chunk-I5PDN2P2.js +13 -0
  47. package/dist/{chunk-V5EYVQ63.js → chunk-II4ROT6X.js} +1 -1
  48. package/dist/{chunk-GBMCHFOV.js → chunk-LGJAAPNR.js} +1 -1
  49. package/dist/{chunk-UQEQ6CXU.js → chunk-M2BK3XTP.js} +1 -1
  50. package/dist/{chunk-7PNARN6S.js → chunk-MFJ6ZP7S.js} +1 -1
  51. package/dist/{chunk-64JUYYRC.js → chunk-N3DFX4BY.js} +1 -1
  52. package/dist/chunk-NQ5H4R2I.js +83 -0
  53. package/dist/chunk-PCXBPQO6.js +1 -0
  54. package/dist/chunk-QXW3SLEX.js +1 -0
  55. package/dist/{chunk-KS4FB5W7.js → chunk-RJDGC6AQ.js} +1 -1
  56. package/dist/{chunk-ZPA6ECBJ.js → chunk-RMDVRNU7.js} +1 -1
  57. package/dist/chunk-SM55RK3C.js +91 -0
  58. package/dist/{chunk-LYVDRRDO.js → chunk-T63WRURN.js} +1 -1
  59. package/dist/{chunk-WOTTSPSF.js → chunk-TMOKXYAQ.js} +1 -1
  60. package/dist/{chunk-6HCAGHCY.js → chunk-TTLVG5AR.js} +1 -1
  61. package/dist/{chunk-5BGPGNRQ.js → chunk-VAWV3UKV.js} +1 -1
  62. package/dist/chunk-VIFTO53Y.js +1 -0
  63. package/dist/chunk-WP3CXMVA.js +2 -0
  64. package/dist/{chunk-IZLEMTES.js → chunk-WSDVFLHT.js} +1 -1
  65. package/dist/{chunk-SV2SP22H.js → chunk-XC26FNRL.js} +3 -3
  66. package/dist/chunk-YMY6EFX4.js +1 -0
  67. package/dist/{chunk-YM77FQB3.js → chunk-YYCPRYP7.js} +1 -1
  68. package/dist/{chunk-QAF26ZQX.js → chunk-ZDYGO3T7.js} +17 -17
  69. package/dist/{create-DLUWG46F.js → create-QIN56Y4M.js} +1 -1
  70. package/dist/{doctor-IZ4YOCYE.js → doctor-RP4Q2CKJ.js} +1 -1
  71. package/dist/goal-command-contract-CHE7U6YY.js +1 -0
  72. package/dist/goal-lifecycle-YTBU3ICP.js +1 -0
  73. package/dist/goal-pack-MYYH7K43.js +1 -0
  74. package/dist/index.d.ts +21 -2
  75. package/dist/index.js +168 -166
  76. package/dist/{pipeline-IBQYDLFF.js → pipeline-77NUVYQD.js} +1 -1
  77. package/dist/{project-intelligence-lens-SIU7IXKG.js → project-intelligence-lens-AM2B2PXU.js} +1 -1
  78. package/dist/project-test-coverage-MUSS7Z7V.js +1 -0
  79. package/dist/{verified-goal-M4GPOXNL.js → verified-goal-ZSIZYNVO.js} +1 -1
  80. package/dist/{workspace-3AAOUELG.js → workspace-LFESVKE7.js} +1 -1
  81. package/dist/{workspace-agent-sync-QGYLY7HH.js → workspace-agent-sync-JMRX6J2Y.js} +1 -1
  82. package/dist/{workspace-archive-BA3ONVXX.js → workspace-archive-MFHCFCDO.js} +1 -1
  83. package/dist/{workspace-context-JCLPRYNC.js → workspace-context-TBKRMVMT.js} +1 -1
  84. package/dist/{workspace-contract-IUUPBQXU.js → workspace-contract-KKVC2DUQ.js} +1 -1
  85. package/dist/workspace-explain-RGGZL5IW.js +1 -0
  86. package/dist/workspace-explain-contract-4ZZ6CJ44.js +1 -0
  87. package/dist/{workspace-feedback-PCZKXG5R.js → workspace-feedback-O6J3RQML.js} +1 -1
  88. package/dist/{workspace-foundation-7IGMO4CW.js → workspace-foundation-JQWT7YGC.js} +1 -1
  89. package/dist/{workspace-graph-stream-5YMLJXAJ.js → workspace-graph-stream-V5WOXP4B.js} +1 -1
  90. package/dist/workspace-graph-token-efficiency-TF23UYEF.js +1 -0
  91. package/dist/{workspace-history-CHJOABME.js → workspace-history-TOCRMJUJ.js} +1 -1
  92. package/dist/{workspace-intelligence-XHSUFTAT.js → workspace-intelligence-SDBIRKMK.js} +1 -1
  93. package/dist/{workspace-intelligence-evaluation-YMY3C5AW.js → workspace-intelligence-evaluation-E4UMWDAZ.js} +1 -1
  94. package/dist/{workspace-intelligence-runner-EN5V4KSC.js → workspace-intelligence-runner-DIMNL6CJ.js} +1 -1
  95. package/dist/{workspace-intelligence-runtime-registry-NCVHKCMP.js → workspace-intelligence-runtime-registry-YGWB2RRS.js} +1 -1
  96. package/dist/{workspace-knowledge-graph-VWQTIEYK.js → workspace-knowledge-graph-MUW6UAGI.js} +1 -1
  97. package/dist/{workspace-knowledge-graph-query-TXA3KVUV.js → workspace-knowledge-graph-query-6DAOXGGT.js} +1 -1
  98. package/dist/workspace-knowledge-graph-snapshot-7IU2QAXI.js +1 -0
  99. package/dist/{workspace-mcp-serve-NCAGGWQS.js → workspace-mcp-serve-2SWLIH4I.js} +1 -1
  100. package/dist/{workspace-model-NXFIKX26.js → workspace-model-VPFCKTYQ.js} +1 -1
  101. package/dist/{workspace-onboarding-OP22NHQ4.js → workspace-onboarding-GHI6UTQJ.js} +1 -1
  102. package/dist/{workspace-readme-IVJXSIBS.js → workspace-readme-RASXBZRQ.js} +1 -1
  103. package/dist/{workspace-registry-summary-A5VDPRHU.js → workspace-registry-summary-7QT7YMIU.js} +1 -1
  104. package/dist/workspace-repair-engine-AZTJIFCY.js +3 -0
  105. package/dist/workspace-run-VMZY6LIF.js +1 -0
  106. package/dist/{workspace-verify-TUVLFPPN.js → workspace-verify-RYCQZYYB.js} +1 -1
  107. package/dist/{workspace-watch-2ZNOYSUQ.js → workspace-watch-U3YGN3GG.js} +1 -1
  108. package/docs/From Code to Shared Understanding-B.png +0 -0
  109. package/docs/From Code to Shared Understanding.png +0 -0
  110. package/docs/README.md +2 -0
  111. package/docs/README_CONTENT_CONTRACT.md +25 -12
  112. package/docs/ci-workflows.md +9 -1
  113. package/docs/commands-reference.md +13 -1
  114. package/docs/contracts/ARTIFACT_CATALOG.md +11 -0
  115. package/docs/contracts/COMMAND_OWNERSHIP_MATRIX.md +1 -0
  116. package/docs/contracts/README.md +16 -12
  117. package/docs/doctor-command.md +35 -11
  118. package/docs/from-code-to-shared-understanding.md +22 -17
  119. package/docs/goal-packs.md +174 -0
  120. package/docs/real-world-qualification.md +92 -0
  121. package/docs/workspace-knowledge-graph.md +24 -3
  122. package/docs/workspace-operations.md +14 -2
  123. package/docs/workspace-run.md +16 -4
  124. package/package.json +5 -1
  125. package/dist/analyze-HJ774J3E.js +0 -1
  126. package/dist/autopilot-release-CH57CGET.js +0 -1
  127. package/dist/capabilities-command-WEOGFCWF.js +0 -1
  128. package/dist/chunk-3U4VLIGW.js +0 -1
  129. package/dist/chunk-5EPPPMAS.js +0 -1
  130. package/dist/chunk-664GXRLD.js +0 -1
  131. package/dist/chunk-7Y3KVZJF.js +0 -8
  132. package/dist/chunk-BDN32Y2N.js +0 -81
  133. package/dist/chunk-D4RST2HE.js +0 -1
  134. package/dist/chunk-DIZSHNZ5.js +0 -2
  135. package/dist/chunk-DOIZANFA.js +0 -2
  136. package/dist/chunk-OX53L237.js +0 -13
  137. package/dist/chunk-QRWWYL52.js +0 -88
  138. package/dist/chunk-VGJVIHHR.js +0 -1
  139. package/dist/project-test-coverage-FRMVYTFB.js +0 -1
  140. package/dist/workspace-explain-CZGBVDE6.js +0 -1
  141. package/dist/workspace-explain-contract-KVQO57RC.js +0 -1
  142. package/dist/workspace-graph-token-efficiency-HK4KNWWP.js +0 -1
  143. package/dist/workspace-repair-engine-N4KXNSVL.js +0 -3
  144. package/dist/workspace-run-PXKC3ELS.js +0 -1
@@ -0,0 +1,45 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://workspai.dev/schemas/workspace-intelligence/goal-index.v1.json",
4
+ "title": "Workspai Goal Index",
5
+ "type": "object",
6
+ "required": ["schemaVersion", "generatedAt", "activeGoalId", "goals"],
7
+ "properties": {
8
+ "schemaVersion": { "const": "workspai.goal-index.v1" },
9
+ "generatedAt": { "type": "string", "format": "date-time" },
10
+ "activeGoalId": { "type": ["string", "null"] },
11
+ "goals": {
12
+ "type": "array",
13
+ "items": {
14
+ "type": "object",
15
+ "required": ["id", "fingerprint", "objective", "category", "state", "lifecycle", "scope", "createdAt", "updatedAt", "goalPack", "agentHandoff"],
16
+ "properties": {
17
+ "id": { "type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{7,95}$" },
18
+ "fingerprint": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
19
+ "objective": { "type": "string", "minLength": 1, "maxLength": 2000 },
20
+ "category": { "enum": ["release-readiness", "dependency-security", "test-coverage", "defect-repair", "feature-change", "refactor", "performance", "documentation", "system-understanding"] },
21
+ "state": { "enum": ["ready-to-plan", "needs-confirmation", "needs-evidence", "blocked"] },
22
+ "lifecycle": { "enum": ["planned", "active", "cancelled", "verification-ready", "verified", "failed"] },
23
+ "scope": {
24
+ "type": "object",
25
+ "required": ["kind", "projects", "selectionSource"],
26
+ "properties": {
27
+ "kind": { "enum": ["workspace", "project"] },
28
+ "projects": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 }, "uniqueItems": true },
29
+ "selectionSource": { "enum": ["workspace", "invocation-project", "explicit"] }
30
+ },
31
+ "additionalProperties": false
32
+ },
33
+ "createdAt": { "type": "string", "format": "date-time" },
34
+ "updatedAt": { "type": "string", "format": "date-time" },
35
+ "goalPack": { "type": "string", "pattern": "^\\.workspai/goals/[^/]+/goal-pack\\.json$" },
36
+ "agentHandoff": { "type": "string", "pattern": "^\\.workspai/goals/[^/]+/agent-handoff\\.json$" },
37
+ "verifiedGoalId": { "type": "string", "minLength": 1 },
38
+ "repairTransactionId": { "type": "string", "minLength": 1 }
39
+ },
40
+ "additionalProperties": false
41
+ }
42
+ }
43
+ },
44
+ "additionalProperties": false
45
+ }
@@ -0,0 +1,96 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://workspai.dev/schemas/workspace-intelligence/goal-lifecycle-result.v1.json",
4
+ "title": "Workspai Goal Lifecycle Result",
5
+ "type": "object",
6
+ "required": [
7
+ "schemaVersion",
8
+ "operation",
9
+ "activeGoalId",
10
+ "goal",
11
+ "goals",
12
+ "goalPack",
13
+ "verifiedGoalId",
14
+ "verification"
15
+ ],
16
+ "properties": {
17
+ "schemaVersion": { "const": "workspai.goal-lifecycle-result.v1" },
18
+ "operation": { "enum": ["status", "list", "activate", "cancel", "prepare", "verify"] },
19
+ "activeGoalId": { "type": ["string", "null"] },
20
+ "goal": { "anyOf": [{ "$ref": "#/$defs/goalEntry" }, { "type": "null" }] },
21
+ "goals": { "type": "array", "items": { "$ref": "#/$defs/goalEntry" } },
22
+ "goalPack": {
23
+ "anyOf": [
24
+ {
25
+ "type": "object",
26
+ "required": ["schemaVersion", "id", "fingerprint", "state"],
27
+ "properties": {
28
+ "schemaVersion": { "const": "workspai.goal-pack.v1" },
29
+ "id": { "type": "string" },
30
+ "fingerprint": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
31
+ "state": { "enum": ["ready-to-plan", "needs-confirmation", "needs-evidence", "blocked"] }
32
+ }
33
+ },
34
+ { "type": "null" }
35
+ ]
36
+ },
37
+ "verifiedGoalId": { "type": ["string", "null"] },
38
+ "verification": { "type": ["object", "null"] }
39
+ },
40
+ "$defs": {
41
+ "goalEntry": {
42
+ "type": "object",
43
+ "required": [
44
+ "id",
45
+ "fingerprint",
46
+ "objective",
47
+ "category",
48
+ "state",
49
+ "lifecycle",
50
+ "scope",
51
+ "createdAt",
52
+ "updatedAt",
53
+ "goalPack",
54
+ "agentHandoff"
55
+ ],
56
+ "properties": {
57
+ "id": { "type": "string" },
58
+ "fingerprint": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
59
+ "objective": { "type": "string", "minLength": 1 },
60
+ "category": {
61
+ "enum": [
62
+ "release-readiness",
63
+ "dependency-security",
64
+ "test-coverage",
65
+ "defect-repair",
66
+ "feature-change",
67
+ "refactor",
68
+ "performance",
69
+ "documentation",
70
+ "system-understanding"
71
+ ]
72
+ },
73
+ "state": { "enum": ["ready-to-plan", "needs-confirmation", "needs-evidence", "blocked"] },
74
+ "lifecycle": { "enum": ["planned", "active", "cancelled", "verification-ready", "verified", "failed"] },
75
+ "scope": {
76
+ "type": "object",
77
+ "required": ["kind", "projects", "selectionSource"],
78
+ "properties": {
79
+ "kind": { "enum": ["workspace", "project"] },
80
+ "projects": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 }, "uniqueItems": true },
81
+ "selectionSource": { "enum": ["workspace", "invocation-project", "explicit"] }
82
+ },
83
+ "additionalProperties": false
84
+ },
85
+ "createdAt": { "type": "string", "format": "date-time" },
86
+ "updatedAt": { "type": "string", "format": "date-time" },
87
+ "goalPack": { "type": "string" },
88
+ "agentHandoff": { "type": "string" },
89
+ "verifiedGoalId": { "type": "string" },
90
+ "repairTransactionId": { "type": "string" }
91
+ },
92
+ "additionalProperties": false
93
+ }
94
+ },
95
+ "additionalProperties": false
96
+ }
@@ -0,0 +1,250 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://workspai.dev/schemas/workspace-intelligence/goal-pack.v1.json",
4
+ "title": "Workspai Goal Pack",
5
+ "type": "object",
6
+ "required": ["schemaVersion", "id", "fingerprint", "generatedAt", "state", "intent", "workspace", "scope", "sourceBinding", "baseline", "preflight", "successCriteria", "policy", "orchestration", "artifacts", "commands"],
7
+ "properties": {
8
+ "schemaVersion": { "const": "workspai.goal-pack.v1" },
9
+ "id": { "type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{7,95}$" },
10
+ "fingerprint": { "$ref": "#/$defs/hash" },
11
+ "generatedAt": { "type": "string", "format": "date-time" },
12
+ "state": { "enum": ["ready-to-plan", "needs-confirmation", "needs-evidence", "blocked"] },
13
+ "intent": {
14
+ "type": "object",
15
+ "required": ["original", "normalized", "statement", "category", "confidence", "ambiguities"],
16
+ "properties": {
17
+ "original": { "type": "string", "minLength": 1, "maxLength": 2000 },
18
+ "normalized": { "type": "string", "minLength": 1, "maxLength": 2000 },
19
+ "statement": { "type": "string", "minLength": 1, "maxLength": 2000 },
20
+ "category": { "enum": ["release-readiness", "dependency-security", "test-coverage", "defect-repair", "feature-change", "refactor", "performance", "documentation", "system-understanding"] },
21
+ "confidence": { "enum": ["high", "medium", "low"] },
22
+ "ambiguities": { "type": "array", "items": { "type": "string", "minLength": 1 }, "uniqueItems": true },
23
+ "requestedTarget": {
24
+ "type": "object",
25
+ "required": ["metric", "operator", "value"],
26
+ "properties": {
27
+ "metric": { "const": "test-coverage-percent" },
28
+ "operator": { "const": "at-least" },
29
+ "value": { "type": "number", "minimum": 0, "maximum": 100 }
30
+ },
31
+ "additionalProperties": false
32
+ }
33
+ },
34
+ "additionalProperties": false
35
+ },
36
+ "workspace": {
37
+ "type": "object",
38
+ "required": ["name"],
39
+ "properties": { "name": { "type": "string", "minLength": 1 } },
40
+ "additionalProperties": false
41
+ },
42
+ "scope": { "$ref": "#/$defs/scope" },
43
+ "sourceBinding": {
44
+ "type": "object",
45
+ "required": ["model", "graph"],
46
+ "properties": {
47
+ "model": { "$ref": "#/$defs/modelBinding" },
48
+ "graph": { "$ref": "#/$defs/graphBinding" }
49
+ },
50
+ "additionalProperties": false
51
+ },
52
+ "baseline": {
53
+ "type": "object",
54
+ "required": ["projectCount", "runtimes", "frameworks", "graph"],
55
+ "properties": {
56
+ "projectCount": { "type": "integer", "minimum": 0 },
57
+ "runtimes": { "type": "array", "items": { "type": "string" }, "uniqueItems": true },
58
+ "frameworks": { "type": "array", "items": { "type": "string" }, "uniqueItems": true },
59
+ "graph": {
60
+ "type": "object",
61
+ "required": ["entities", "relationships", "proofs", "unresolved", "proofCoveragePercent"],
62
+ "properties": {
63
+ "entities": { "type": "integer", "minimum": 0 },
64
+ "relationships": { "type": "integer", "minimum": 0 },
65
+ "proofs": { "type": "integer", "minimum": 0 },
66
+ "unresolved": { "type": "integer", "minimum": 0 },
67
+ "proofCoveragePercent": { "type": "number", "minimum": 0, "maximum": 100 }
68
+ },
69
+ "additionalProperties": false
70
+ }
71
+ },
72
+ "additionalProperties": false
73
+ },
74
+ "preflight": {
75
+ "type": "object",
76
+ "required": ["workspaceIntelligence", "measurement", "retrieval"],
77
+ "properties": {
78
+ "workspaceIntelligence": {
79
+ "type": "object",
80
+ "required": ["status", "artifact", "blockedStages"],
81
+ "properties": {
82
+ "status": { "enum": ["passed", "blocked", "unknown"] },
83
+ "artifact": { "const": ".workspai/reports/workspace-intelligence-run-last-run.json" },
84
+ "blockedStages": { "type": "array", "items": { "type": "string", "minLength": 1 }, "uniqueItems": true }
85
+ },
86
+ "additionalProperties": false
87
+ },
88
+ "measurement": {
89
+ "type": "object",
90
+ "required": ["status", "runtime", "runner", "existingEvidence", "prerequisites"],
91
+ "properties": {
92
+ "status": { "enum": ["available", "requires-setup", "unsupported", "not-applicable"] },
93
+ "runtime": { "type": ["string", "null"] },
94
+ "runner": { "type": ["string", "null"] },
95
+ "existingEvidence": { "type": "array", "items": { "type": "object", "required": ["project", "path", "sha256"], "properties": { "project": { "type": "string", "minLength": 1 }, "path": { "type": "string", "minLength": 1 }, "sha256": { "$ref": "#/$defs/hash" } }, "additionalProperties": false } },
96
+ "prerequisites": { "type": "array", "items": { "type": "string", "minLength": 1 }, "uniqueItems": true }
97
+ },
98
+ "additionalProperties": false
99
+ },
100
+ "retrieval": { "$ref": "#/$defs/retrieval" }
101
+ },
102
+ "additionalProperties": false
103
+ },
104
+ "successCriteria": {
105
+ "type": "array",
106
+ "minItems": 1,
107
+ "items": {
108
+ "type": "object",
109
+ "required": ["id", "kind", "expected", "producerCommand", "machineVerifiable"],
110
+ "properties": {
111
+ "id": { "type": "string", "minLength": 1 },
112
+ "kind": { "enum": ["workspace-verify", "release-readiness", "dependency-security", "test-coverage"] },
113
+ "expected": { "type": "string", "minLength": 1 },
114
+ "producerCommand": { "type": "string", "minLength": 1 },
115
+ "machineVerifiable": { "type": "boolean" }
116
+ },
117
+ "additionalProperties": false
118
+ }
119
+ },
120
+ "policy": {
121
+ "type": "object",
122
+ "required": ["mutationMode", "approval", "verificationOwner", "rollbackOwner", "maxAttempts", "allowBreakingChanges", "allowForce", "networkAccess", "scopeExpansion"],
123
+ "properties": {
124
+ "mutationMode": { "const": "proposal-only" },
125
+ "approval": { "const": "required-before-mutation" },
126
+ "verificationOwner": { "const": "workspai-cli" },
127
+ "rollbackOwner": { "const": "workspai-cli" },
128
+ "maxAttempts": { "type": "integer", "minimum": 1, "maximum": 25 },
129
+ "allowBreakingChanges": { "const": false },
130
+ "allowForce": { "const": false },
131
+ "networkAccess": { "const": "not-granted" },
132
+ "scopeExpansion": { "const": "requires-decision" }
133
+ },
134
+ "additionalProperties": false
135
+ },
136
+ "orchestration": {
137
+ "type": "array",
138
+ "minItems": 6,
139
+ "maxItems": 6,
140
+ "items": {
141
+ "type": "object",
142
+ "required": ["id", "owner", "status", "summary"],
143
+ "properties": {
144
+ "id": { "enum": ["understand", "impact", "propose", "approve", "execute", "verify"] },
145
+ "owner": { "enum": ["workspai-cli", "agent", "human"] },
146
+ "status": { "enum": ["complete", "pending", "blocked"] },
147
+ "summary": { "type": "string", "minLength": 1 }
148
+ },
149
+ "additionalProperties": false
150
+ }
151
+ },
152
+ "decision": {
153
+ "type": "object",
154
+ "required": ["required", "reason", "question"],
155
+ "properties": {
156
+ "required": { "const": true },
157
+ "reason": { "type": "string", "minLength": 1 },
158
+ "question": { "type": "string", "minLength": 1 }
159
+ },
160
+ "additionalProperties": false
161
+ },
162
+ "artifacts": {
163
+ "type": "object",
164
+ "required": ["goalPack", "agentHandoff", "latestReport"],
165
+ "properties": {
166
+ "goalPack": { "type": "string", "pattern": "^\\.workspai/goals/[^/]+/goal-pack\\.json$" },
167
+ "agentHandoff": { "type": "string", "pattern": "^\\.workspai/goals/[^/]+/agent-handoff\\.json$" },
168
+ "latestReport": { "const": ".workspai/reports/goal-pack-last-run.json" }
169
+ },
170
+ "additionalProperties": false
171
+ },
172
+ "commands": {
173
+ "type": "object",
174
+ "required": ["refreshEvidence", "inspectGraph", "proposeRepair"],
175
+ "properties": {
176
+ "refreshEvidence": { "const": "workspai workspace intelligence run --for-agent generic --strict --json" },
177
+ "inspectGraph": { "type": "string", "pattern": "^workspai workspace graph search " },
178
+ "planVerifiedGoal": { "type": "string", "pattern": "^workspai workspace goal plan " },
179
+ "proposeRepair": { "const": "workspai workspace repair propose --file <proposal.json> --json" }
180
+ },
181
+ "additionalProperties": false
182
+ }
183
+ },
184
+ "$defs": {
185
+ "hash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
186
+ "scope": {
187
+ "type": "object",
188
+ "required": ["kind", "projects", "selectionSource"],
189
+ "properties": {
190
+ "kind": { "enum": ["workspace", "project"] },
191
+ "projects": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 }, "uniqueItems": true },
192
+ "selectionSource": { "enum": ["workspace", "invocation-project", "explicit"] }
193
+ },
194
+ "additionalProperties": false
195
+ },
196
+ "modelBinding": {
197
+ "type": "object",
198
+ "required": ["artifact", "schemaVersion", "hashAlgorithm", "hashSemantics", "hash", "generatedAt"],
199
+ "properties": {
200
+ "artifact": { "const": ".workspai/reports/workspace-model.json" },
201
+ "schemaVersion": { "const": "workspace-model.v1" },
202
+ "hashAlgorithm": { "const": "sha256" },
203
+ "hashSemantics": { "const": "workspace-model-structural-v1" },
204
+ "hash": { "$ref": "#/$defs/hash" },
205
+ "generatedAt": { "type": "string", "format": "date-time" }
206
+ },
207
+ "additionalProperties": false
208
+ },
209
+ "graphBinding": {
210
+ "type": "object",
211
+ "required": ["artifact", "schemaVersion", "hashAlgorithm", "hashSemantics", "hash", "generatedAt", "modelHash"],
212
+ "properties": {
213
+ "artifact": { "const": ".workspai/reports/workspace-knowledge-graph.json" },
214
+ "schemaVersion": { "const": "workspace-knowledge-graph.v1" },
215
+ "hashAlgorithm": { "const": "sha256" },
216
+ "hashSemantics": { "const": "canonical-json-v1" },
217
+ "hash": { "$ref": "#/$defs/hash" },
218
+ "generatedAt": { "type": "string", "format": "date-time" },
219
+ "modelHash": { "$ref": "#/$defs/hash" }
220
+ },
221
+ "additionalProperties": false
222
+ },
223
+ "retrieval": {
224
+ "type": "object",
225
+ "required": ["status", "strategy", "queries", "anchors"],
226
+ "properties": {
227
+ "status": { "enum": ["grounded", "partial", "empty"] },
228
+ "strategy": { "const": "deterministic-category-v1" },
229
+ "queries": { "type": "array", "minItems": 1, "maxItems": 3, "items": { "type": "string", "minLength": 1 }, "uniqueItems": true },
230
+ "anchors": {
231
+ "type": "array",
232
+ "maxItems": 20,
233
+ "items": {
234
+ "type": "object",
235
+ "required": ["entityId", "kind", "label", "proofIds"],
236
+ "properties": {
237
+ "entityId": { "type": "string", "minLength": 1 },
238
+ "kind": { "type": "string", "minLength": 1 },
239
+ "label": { "type": "string", "minLength": 1 },
240
+ "proofIds": { "type": "array", "items": { "type": "string", "minLength": 1 }, "uniqueItems": true }
241
+ },
242
+ "additionalProperties": false
243
+ }
244
+ }
245
+ },
246
+ "additionalProperties": false
247
+ }
248
+ },
249
+ "additionalProperties": false
250
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://workspai.dev/schemas/workspace-intelligence/goal-plan-result.v1.json",
4
+ "title": "Workspai Goal Plan Result",
5
+ "type": "object",
6
+ "required": ["schemaVersion", "result", "resolution", "goalPack", "agentHandoff", "writtenArtifacts", "dryRun", "resumed"],
7
+ "properties": {
8
+ "schemaVersion": { "const": "workspai.goal-plan-result.v1" },
9
+ "result": { "enum": ["planned", "needs-confirmation", "needs-evidence", "blocked"] },
10
+ "resolution": {
11
+ "type": "object",
12
+ "required": ["source", "invocationScope"],
13
+ "properties": {
14
+ "source": { "enum": ["explicit", "parent", "local-link", "registry"] },
15
+ "invocationScope": { "enum": ["workspace", "project"] }
16
+ },
17
+ "additionalProperties": false
18
+ },
19
+ "goalPack": {
20
+ "type": "object",
21
+ "required": ["schemaVersion", "id", "fingerprint"],
22
+ "properties": {
23
+ "schemaVersion": { "const": "workspai.goal-pack.v1" },
24
+ "id": { "type": "string" },
25
+ "fingerprint": { "type": "string", "pattern": "^[a-f0-9]{64}$" }
26
+ }
27
+ },
28
+ "agentHandoff": {
29
+ "type": "object",
30
+ "required": ["schemaVersion", "goalId", "goalFingerprint"],
31
+ "properties": {
32
+ "schemaVersion": { "const": "workspai.goal-agent-handoff.v1" },
33
+ "goalId": { "type": "string" },
34
+ "goalFingerprint": { "type": "string", "pattern": "^[a-f0-9]{64}$" }
35
+ }
36
+ },
37
+ "writtenArtifacts": {
38
+ "type": "array",
39
+ "items": { "type": "string", "pattern": "^\\.workspai/" },
40
+ "uniqueItems": true
41
+ },
42
+ "dryRun": { "type": "boolean" },
43
+ "resumed": { "type": "boolean" }
44
+ },
45
+ "additionalProperties": false
46
+ }
@@ -9,6 +9,7 @@
9
9
  "properties": {
10
10
  "schemaVersion": { "const": "workspai.workspace-repair-proposal.v1" },
11
11
  "cardId": { "type": "string", "minLength": 1, "maxLength": 160 },
12
+ "goalId": { "type": "string", "pattern": "^goal-[A-Za-z0-9._-]{3,90}$" },
12
13
  "blockerSignature": { "type": "string", "minLength": 1, "maxLength": 256 },
13
14
  "targetActionIds": {
14
15
  "type": "array",
@@ -522,6 +522,26 @@
522
522
  "publication": "one locked rollback-capable artifact transaction",
523
523
  "mutationRule": "knowledge graph enrichment never mutates the authorizing model during a run",
524
524
  "staleConsumerRule": "reject a graph whose source binding does not match the current model"
525
+ },
526
+ "goalPlanning": {
527
+ "command": "goal",
528
+ "role": "pre-transaction-planning",
529
+ "canonicalArtifact": ".workspai/goals/<goal-id>/goal-pack.json",
530
+ "latestArtifact": ".workspai/reports/goal-pack-last-run.json",
531
+ "consumerProjection": ".workspai/goals/<goal-id>/agent-handoff.json",
532
+ "discoveryIndex": ".workspai/goals/index.json",
533
+ "mutationMode": "proposal-only",
534
+ "sourceAuthority": "workspace-model-and-derived-knowledge-graph",
535
+ "rules": [
536
+ "Goal planning binds plain-language intent to exact model and graph hashes before agent reasoning.",
537
+ "The portable Goal index is the only active-goal discovery authority for agents and IDE consumers.",
538
+ "Hash bindings declare canonicalization semantics; a Goal identity fingerprint is never mislabeled as an artifact digest.",
539
+ "Capability and retrieval preflight expose missing evidence instead of claiming readiness.",
540
+ "A Goal Pack and its agent handoff are planning/projection artifacts, never mutation or verification authority.",
541
+ "Agents propose bounded source changes; human approval and CLI Repair Engine own mutation admission.",
542
+ "Only fresh CLI evidence can verify completion, and scope expansion requires an explicit decision.",
543
+ "Portable Goal artifacts exclude absolute machine paths, secrets, raw model responses, and unrestricted command output."
544
+ ]
525
545
  }
526
546
  },
527
547
  "consumers": [
@@ -0,0 +1 @@
1
+ export{b as printAnalyzeReport,a as runAnalyze}from'./chunk-YYCPRYP7.js';
@@ -1 +1 @@
1
- export{a as buildArtifactRemediationPlan,b as writeArtifactRemediationPlan}from'./chunk-YJTEMJFV.js';
1
+ export{a as buildArtifactRemediationPlan,b as writeArtifactRemediationPlan}from'./chunk-FY6OHOXR.js';
@@ -0,0 +1 @@
1
+ export{b as AUTOPILOT_RELEASE_ALIAS_FILENAME,a as AUTOPILOT_RELEASE_LAST_RUN_FILENAME,c as runAutopilotRelease}from'./chunk-TTLVG5AR.js';
@@ -0,0 +1 @@
1
+ export{b as runDoctorCapabilities}from'./chunk-RJDGC6AQ.js';
@@ -0,0 +1 @@
1
+ import {h}from'./chunk-HH54C3XJ.js';var _=h.artifactRemediationPlan.schemaVersion;export{_ as a};
@@ -1 +1 @@
1
- import {c,d as d$1}from'./chunk-7Y3KVZJF.js';import {d}from'./chunk-ADL3CK44.js';import {e,f as f$1}from'./chunk-5EPPPMAS.js';import A from'fs-extra';function t(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function W(e){let s=t(e);return !!(s&&s.schemaVersion===f$1.model&&t(s.workspace)&&Array.isArray(s.projects)&&(t(s.projectTopology)||t(s.graph)))}function G(e){let s=t(e);return !!(s&&s.schemaVersion===f$1.knowledgeGraph&&t(s.source)&&t(s.workspace)&&Array.isArray(s.entities)&&Array.isArray(s.relations)&&Array.isArray(s.proofs)&&Array.isArray(s.providers)&&t(s.quality))}async function f(e){try{return await A.readJson(e)}catch{return null}}async function I(e$1){let[s,n]=await Promise.all([d(e$1,e.model),d(e$1,e.knowledgeGraph)]);if(!s)return {status:"miss",reason:"missing-model"};if(!n)return {status:"miss",reason:"missing-graph"};let[i,o]=await Promise.all([f(s),f(n)]);if(!W(i))return {status:"miss",reason:"invalid-model"};if(!G(o))return {status:"miss",reason:"invalid-graph"};if(o.proofs.some(r=>r.freshness==="stale"))return {status:"miss",reason:"stale-proof"};try{c(o,i);}catch{return {status:"miss",reason:"source-mismatch"}}let a=o.source.inputs;if(!a)return {status:"miss",reason:"missing-input-fingerprint"};let d$2=a.scopes.filter(r=>r.kind==="workspace"),p=a.scopes.filter(r=>r.kind==="project"),k=i.projects.map(r=>r.name).sort(),w=p.map(r=>r.id).sort(),y=new Set(p.map(r=>r.fileLimit));if(a.schemaVersion!=="workspace-knowledge-graph-inputs.v1"||a.strategy!=="hybrid-git-content-v2"||a.hashAlgorithm!=="sha256"||d$2.length!==1||y.size>1||JSON.stringify(k)!==JSON.stringify(w))return {status:"miss",reason:"invalid-input-fingerprint"};let c$1;try{c$1=await d$1({workspacePath:e$1,projects:i.projects.map(r=>({id:r.name,path:r.path,...r.absolutePath?{absolutePath:r.absolutePath}:{}})),projectFileLimit:p[0]?.fileLimit??2e4,workspaceFileLimit:d$2[0].fileLimit});}catch{return {status:"miss",reason:"input-scan-failed"}}return !c$1||c$1.hash!==a.hash?{status:"miss",reason:"live-input-mismatch"}:{status:"hit",model:i,graph:o,modelPath:s,graphPath:n}}export{I as readWorkspaceKnowledgeGraphSnapshot};
1
+ import {c,d as d$1}from'./chunk-4YICCES6.js';import {d}from'./chunk-GRGUPSNP.js';import {e,f as f$1}from'./chunk-HH54C3XJ.js';import A from'fs-extra';function t(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function W(e){let s=t(e);return !!(s&&s.schemaVersion===f$1.model&&t(s.workspace)&&Array.isArray(s.projects)&&(t(s.projectTopology)||t(s.graph)))}function G(e){let s=t(e);return !!(s&&s.schemaVersion===f$1.knowledgeGraph&&t(s.source)&&t(s.workspace)&&Array.isArray(s.entities)&&Array.isArray(s.relations)&&Array.isArray(s.proofs)&&Array.isArray(s.providers)&&t(s.quality))}async function f(e){try{return await A.readJson(e)}catch{return null}}async function I(e$1){let[s,n]=await Promise.all([d(e$1,e.model),d(e$1,e.knowledgeGraph)]);if(!s)return {status:"miss",reason:"missing-model"};if(!n)return {status:"miss",reason:"missing-graph"};let[i,o]=await Promise.all([f(s),f(n)]);if(!W(i))return {status:"miss",reason:"invalid-model"};if(!G(o))return {status:"miss",reason:"invalid-graph"};if(o.proofs.some(r=>r.freshness==="stale"))return {status:"miss",reason:"stale-proof"};try{c(o,i);}catch{return {status:"miss",reason:"source-mismatch"}}let a=o.source.inputs;if(!a)return {status:"miss",reason:"missing-input-fingerprint"};let d$2=a.scopes.filter(r=>r.kind==="workspace"),p=a.scopes.filter(r=>r.kind==="project"),k=i.projects.map(r=>r.name).sort(),w=p.map(r=>r.id).sort(),y=new Set(p.map(r=>r.fileLimit));if(a.schemaVersion!=="workspace-knowledge-graph-inputs.v1"||a.strategy!=="hybrid-git-content-v2"||a.hashAlgorithm!=="sha256"||d$2.length!==1||y.size>1||JSON.stringify(k)!==JSON.stringify(w))return {status:"miss",reason:"invalid-input-fingerprint"};let c$1;try{c$1=await d$1({workspacePath:e$1,projects:i.projects.map(r=>({id:r.name,path:r.path,...r.absolutePath?{absolutePath:r.absolutePath}:{}})),projectFileLimit:p[0]?.fileLimit??2e4,workspaceFileLimit:d$2[0].fileLimit});}catch{return {status:"miss",reason:"input-scan-failed"}}return !c$1||c$1.hash!==a.hash?{status:"miss",reason:"live-input-mismatch"}:{status:"hit",model:i,graph:o,modelPath:s,graphPath:n}}export{I as a};