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
package/README.md CHANGED
@@ -4,10 +4,40 @@
4
4
  [![Downloads](https://img.shields.io/npm/dm/workspai.svg?style=flat-square)](https://www.npmjs.com/package/workspai)
5
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](LICENSE)
6
6
 
7
- ## Workspace Intelligence for software systems
7
+ ## Give your AI agent the system—not just the repository
8
+
9
+ Your coding agent should not have to rediscover your architecture in every
10
+ session. Workspai builds a current, evidence-backed view of your projects,
11
+ APIs, dependencies, infrastructure, and change boundaries, then gives agents
12
+ the bounded context they need.
8
13
 
9
14
  > One workspace. One truth. Humans and AI aligned.
10
15
 
16
+ ```bash
17
+ npx workspai adopt .
18
+ npx workspai workspace intelligence run --for-agent generic
19
+ ```
20
+
21
+ A single run gives developers and tools the same operational picture:
22
+
23
+ ```text
24
+ System projects · runtimes · APIs · dependencies · infrastructure
25
+ Evidence relationships linked back to canonical proof
26
+ Change affected projects and verification targets
27
+ Agents bounded context instead of an unfiltered repository dump
28
+ ```
29
+
30
+ **Understand the system before an agent changes it.**
31
+
32
+ ![Workspai CLI adopting and analyzing the gRPC repository](https://raw.githubusercontent.com/chistiq/workspai/main/packages/cli/docs/workspai-grpc-readme-cli.gif)
33
+
34
+ [Get started](#start-in-two-minutes) ·
35
+ [See what you get](#what-happens-after-the-first-run) ·
36
+ [How it works](#how-workspace-intelligence-works) ·
37
+ [Documentation](docs/README.md)
38
+
39
+ ## Workspace Intelligence for software systems
40
+
11
41
  Workspai is an open-source CLI that brings related software projects together,
12
42
  so people and AI tools can understand and work with the same system.
13
43
 
@@ -17,11 +47,6 @@ so people and AI tools can understand and work with the same system.
17
47
  - **Act with confidence:** understand impact, verify changes, and prepare focused
18
48
  context for AI tools.
19
49
 
20
- [Quickstart](#start-in-two-minutes) ·
21
- [Everyday workflows](#everyday-workflows) ·
22
- [How it works](#how-workspace-intelligence-works) ·
23
- [Documentation](docs/README.md)
24
-
25
50
  ![From Code to Shared Understanding](https://raw.githubusercontent.com/chistiq/workspai/main/packages/cli/docs/From%20Code%20to%20Shared%20Understanding.png)
26
51
 
27
52
  ## Start in two minutes
@@ -38,14 +63,17 @@ npx workspai adopt .
38
63
  The project stays where it is. Workspai creates or reuses a minimal workspace
39
64
  in the default system location and records a validated local link.
40
65
 
41
- Stay in the same project directory and run the complete intelligence loop:
66
+ Stay in the same project directory and run Workspace Intelligence:
42
67
 
43
68
  ```bash
44
- npx workspai workspace intelligence run --for-agent generic --strict --json
69
+ npx workspai workspace intelligence run --for-agent generic
45
70
  ```
46
71
 
47
72
  Workspai now knows which workspace owns the project. You only need
48
73
  `--workspace <path>` when a moved or ambiguous binding cannot be resolved.
74
+ The shorter command is intended for a human-readable first run. CI, agents, and
75
+ other machine consumers should use the strict JSON form shown in
76
+ [How Workspace Intelligence works](#how-workspace-intelligence-works).
49
77
 
50
78
  ### Start new software
51
79
 
@@ -134,6 +162,7 @@ The deterministic model, graph, and checks do not require an AI API key.
134
162
  | --- | --- |
135
163
  | Use guided setup | `npx workspai create` |
136
164
  | Link a project without moving it | `npx workspai adopt .` |
165
+ | Turn an outcome into governed work | `npx workspai goal "Raise test coverage to 85%"` |
137
166
  | Copy or clone a project into a workspace | `npx workspai import <path-or-git-url> --workspace <path>` |
138
167
  | Check the current project | `npx workspai doctor project` |
139
168
  | Check the whole workspace | `npx workspai doctor workspace` |
@@ -184,6 +213,7 @@ modules; Workspai remains the workspace-level CLI.
184
213
  | Understand the exact decision loop | [Workspace Intelligence runner](docs/workspace-intelligence-runner.md) |
185
214
  | Plan, approve, execute, or roll back a repair | [Workspace Repair Engine](docs/workspace-repair-engine.md) |
186
215
  | Set a release, security, or coverage outcome | [Verified engineering goals](docs/workspace-intelligence-runner.md#verified-engineering-goals) |
216
+ | Compile plain language into a governed plan | [Goal Packs](docs/goal-packs.md) |
187
217
  | Integrate CI | [CI workflows](docs/ci-workflows.md) |
188
218
  | Find generated files and schemas | [Artifact Catalog](docs/contracts/ARTIFACT_CATALOG.md) |
189
219
  | Browse all documentation | [Documentation index](docs/README.md) |
@@ -0,0 +1,72 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://workspai.dev/contracts/adopt-effects.v1.json",
4
+ "title": "Workspai Adopt Effects v1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schemaVersion",
9
+ "sourceMode",
10
+ "sourceCodeModified",
11
+ "projectMetadataFiles",
12
+ "repositoryControlFiles",
13
+ "workspaceOperations"
14
+ ],
15
+ "properties": {
16
+ "schemaVersion": {
17
+ "const": "workspai.adopt-effects.v1"
18
+ },
19
+ "sourceMode": {
20
+ "const": "linked"
21
+ },
22
+ "sourceCodeModified": {
23
+ "const": false
24
+ },
25
+ "projectMetadataFiles": {
26
+ "type": "array",
27
+ "items": {
28
+ "type": "string",
29
+ "minLength": 1
30
+ },
31
+ "uniqueItems": true
32
+ },
33
+ "repositoryControlFiles": {
34
+ "type": "array",
35
+ "items": {
36
+ "type": "object",
37
+ "additionalProperties": false,
38
+ "required": [
39
+ "path",
40
+ "action",
41
+ "condition"
42
+ ],
43
+ "properties": {
44
+ "path": {
45
+ "type": "string",
46
+ "minLength": 1
47
+ },
48
+ "action": {
49
+ "const": "reconcile"
50
+ },
51
+ "condition": {
52
+ "type": "string",
53
+ "minLength": 1
54
+ }
55
+ }
56
+ }
57
+ },
58
+ "workspaceOperations": {
59
+ "type": "array",
60
+ "items": {
61
+ "enum": [
62
+ "register-project",
63
+ "sync-contract",
64
+ "rebuild-model",
65
+ "rebuild-graph",
66
+ "sync-agent-grounding"
67
+ ]
68
+ },
69
+ "uniqueItems": true
70
+ }
71
+ }
72
+ }
@@ -95,6 +95,16 @@
95
95
  "Assumptions"
96
96
  ],
97
97
  "requiredReports": [
98
+ {
99
+ "path": ".workspai/goals/index.json",
100
+ "label": "Active Goal Pack index",
101
+ "required": false
102
+ },
103
+ {
104
+ "path": ".workspai/reports/goal-pack-last-run.json",
105
+ "label": "Latest governed Goal Pack",
106
+ "required": false
107
+ },
98
108
  {
99
109
  "path": ".workspai/reports/workspace-context-agent.json",
100
110
  "label": "Agent context pack",
@@ -384,6 +384,10 @@
384
384
  "flags": "--fresh",
385
385
  "attributeName": "fresh"
386
386
  },
387
+ {
388
+ "flags": "--verbose",
389
+ "attributeName": "verbose"
390
+ },
387
391
  {
388
392
  "flags": "--strict",
389
393
  "attributeName": "strict"
@@ -426,6 +430,82 @@
426
430
  }
427
431
  ]
428
432
  },
433
+ {
434
+ "path": [
435
+ "goal"
436
+ ],
437
+ "command": "goal",
438
+ "parent": null,
439
+ "registrationKind": "commander",
440
+ "aliases": [],
441
+ "description": "Compile a plain-language engineering intent into a governed, evidence-bound Goal Pack",
442
+ "hidden": false,
443
+ "arguments": [
444
+ {
445
+ "name": "intent",
446
+ "required": false,
447
+ "variadic": false
448
+ }
449
+ ],
450
+ "options": [
451
+ {
452
+ "flags": "--workspace <path>",
453
+ "attributeName": "workspace"
454
+ },
455
+ {
456
+ "flags": "--scope <scope>",
457
+ "attributeName": "scope"
458
+ },
459
+ {
460
+ "flags": "--for-agent <consumer>",
461
+ "attributeName": "forAgent"
462
+ },
463
+ {
464
+ "flags": "--max-attempts <count>",
465
+ "attributeName": "maxAttempts"
466
+ },
467
+ {
468
+ "flags": "--refresh",
469
+ "attributeName": "refresh"
470
+ },
471
+ {
472
+ "flags": "--dry-run",
473
+ "attributeName": "dryRun"
474
+ },
475
+ {
476
+ "flags": "--status [goal-id]",
477
+ "attributeName": "status"
478
+ },
479
+ {
480
+ "flags": "--list",
481
+ "attributeName": "list"
482
+ },
483
+ {
484
+ "flags": "--activate <goal-id>",
485
+ "attributeName": "activate"
486
+ },
487
+ {
488
+ "flags": "--cancel <goal-id>",
489
+ "attributeName": "cancel"
490
+ },
491
+ {
492
+ "flags": "--prepare <goal-id>",
493
+ "attributeName": "prepare"
494
+ },
495
+ {
496
+ "flags": "--verify <goal-id>",
497
+ "attributeName": "verify"
498
+ },
499
+ {
500
+ "flags": "--no-run",
501
+ "attributeName": "run"
502
+ },
503
+ {
504
+ "flags": "--json",
505
+ "attributeName": "json"
506
+ }
507
+ ]
508
+ },
429
509
  {
430
510
  "path": [
431
511
  "import"
@@ -1526,6 +1606,7 @@
1526
1606
  "config",
1527
1607
  "create",
1528
1608
  "doctor",
1609
+ "goal",
1529
1610
  "import",
1530
1611
  "infra",
1531
1612
  "mirror",
@@ -270,6 +270,7 @@
270
270
  "warnings": { "type": "integer", "minimum": 0 },
271
271
  "errors": { "type": "integer", "minimum": 0 },
272
272
  "verdict": { "enum": ["passed", "attention", "blocked"] },
273
+ "presentation": { "$ref": "#/$defs/healthScorePresentation" },
273
274
  "components": {
274
275
  "type": "object",
275
276
  "required": ["host", "projects"],
@@ -282,6 +283,30 @@
282
283
  },
283
284
  "additionalProperties": false
284
285
  },
286
+ "healthScorePresentation": {
287
+ "type": "object",
288
+ "required": [
289
+ "policy",
290
+ "diagnosticPassRatePercent",
291
+ "blockingFindings",
292
+ "advisoryFindings",
293
+ "unknownFindings",
294
+ "contradictionFindings",
295
+ "notApplicableChecks",
296
+ "label"
297
+ ],
298
+ "properties": {
299
+ "policy": { "const": "doctor-multi-axis-v1" },
300
+ "diagnosticPassRatePercent": { "type": ["number", "null"], "minimum": 0, "maximum": 100 },
301
+ "blockingFindings": { "type": "integer", "minimum": 0 },
302
+ "advisoryFindings": { "type": "integer", "minimum": 0 },
303
+ "unknownFindings": { "type": "integer", "minimum": 0 },
304
+ "contradictionFindings": { "type": "integer", "minimum": 0 },
305
+ "notApplicableChecks": { "type": "integer", "minimum": 0 },
306
+ "label": { "const": "diagnostic-pass-rate" }
307
+ },
308
+ "additionalProperties": false
309
+ },
285
310
  "probeSummary": {
286
311
  "type": "object",
287
312
  "required": [
@@ -300,6 +325,8 @@
300
325
  "failed": { "type": "integer", "minimum": 0 },
301
326
  "blockingFindings": { "type": "integer", "minimum": 0 },
302
327
  "advisoryFindings": { "type": "integer", "minimum": 0 },
328
+ "unknownFindings": { "type": "integer", "minimum": 0 },
329
+ "contradictionFindings": { "type": "integer", "minimum": 0 },
303
330
  "verdict": { "enum": ["passed", "attention", "blocked"] }
304
331
  },
305
332
  "additionalProperties": false
@@ -68,6 +68,8 @@
68
68
  "verdict": { "enum": ["passed", "attention", "blocked"] },
69
69
  "blockingFindings": { "type": "integer", "minimum": 0 },
70
70
  "advisoryFindings": { "type": "integer", "minimum": 0 },
71
+ "unknownFindings": { "type": "integer", "minimum": 0 },
72
+ "contradictionFindings": { "type": "integer", "minimum": 0 },
71
73
  "hasSystemErrors": { "type": "boolean" },
72
74
  "scopeProvenance": { "type": "object", "additionalProperties": true }
73
75
  },
@@ -280,6 +282,7 @@
280
282
  "warnings": { "type": "integer", "minimum": 0 },
281
283
  "errors": { "type": "integer", "minimum": 0 },
282
284
  "verdict": { "enum": ["passed", "attention", "blocked"] },
285
+ "presentation": { "$ref": "#/$defs/healthScorePresentation" },
283
286
  "components": {
284
287
  "type": "object",
285
288
  "required": ["host", "projects"],
@@ -292,6 +295,30 @@
292
295
  },
293
296
  "additionalProperties": false
294
297
  },
298
+ "healthScorePresentation": {
299
+ "type": "object",
300
+ "required": [
301
+ "policy",
302
+ "diagnosticPassRatePercent",
303
+ "blockingFindings",
304
+ "advisoryFindings",
305
+ "unknownFindings",
306
+ "contradictionFindings",
307
+ "notApplicableChecks",
308
+ "label"
309
+ ],
310
+ "properties": {
311
+ "policy": { "const": "doctor-multi-axis-v1" },
312
+ "diagnosticPassRatePercent": { "type": ["number", "null"], "minimum": 0, "maximum": 100 },
313
+ "blockingFindings": { "type": "integer", "minimum": 0 },
314
+ "advisoryFindings": { "type": "integer", "minimum": 0 },
315
+ "unknownFindings": { "type": "integer", "minimum": 0 },
316
+ "contradictionFindings": { "type": "integer", "minimum": 0 },
317
+ "notApplicableChecks": { "type": "integer", "minimum": 0 },
318
+ "label": { "const": "diagnostic-pass-rate" }
319
+ },
320
+ "additionalProperties": false
321
+ },
295
322
  "probeSummary": {
296
323
  "type": "object",
297
324
  "required": [
@@ -310,6 +337,8 @@
310
337
  "failed": { "type": "integer", "minimum": 0 },
311
338
  "blockingFindings": { "type": "integer", "minimum": 0 },
312
339
  "advisoryFindings": { "type": "integer", "minimum": 0 },
340
+ "unknownFindings": { "type": "integer", "minimum": 0 },
341
+ "contradictionFindings": { "type": "integer", "minimum": 0 },
313
342
  "verdict": { "enum": ["passed", "attention", "blocked"] }
314
343
  },
315
344
  "additionalProperties": false
@@ -13,6 +13,7 @@
13
13
  "workspaceArchiveOperationResult": "workspai-workspace-archive-operation-result-v1",
14
14
  "ingestionPlan": "workspai.ingestion-plan.v1",
15
15
  "ingestionResult": "workspai.ingestion-result.v1",
16
+ "adoptEffects": "workspai.adopt-effects.v1",
16
17
  "projectEntryCapability": "workspai-project-entry-capability-v1",
17
18
  "projectWorkspaceLink": "project-workspace-link.v1",
18
19
  "projectWorkspaceResolution": "project-workspace-resolution.v1",
@@ -28,6 +29,11 @@
28
29
  "projectTestCoverage": "workspai.project-test-coverage.v1",
29
30
  "verifiedGoal": "workspai.verified-goal.v1",
30
31
  "verifiedGoalStatus": "workspai.verified-goal-status.v1",
32
+ "goalPack": "workspai.goal-pack.v1",
33
+ "goalAgentHandoff": "workspai.goal-agent-handoff.v1",
34
+ "goalPlanResult": "workspai.goal-plan-result.v1",
35
+ "goalIndex": "workspai.goal-index.v1",
36
+ "goalLifecycleResult": "workspai.goal-lifecycle-result.v1",
31
37
  "workspaceIntelligenceArchitecture": "workspai-workspace-intelligence-architecture-v1",
32
38
  "workspaceIntelligenceChain": "workspai-workspace-intelligence-chain-v1",
33
39
  "workspaceIntelligenceArtifacts": {
@@ -51,6 +51,11 @@
51
51
  "contractPath": "contracts/ingestion-result.v1.json",
52
52
  "publication": "json-schema"
53
53
  },
54
+ "adoptEffects": {
55
+ "schemaVersion": "workspai.adopt-effects.v1",
56
+ "contractPath": "contracts/adopt-effects.v1.json",
57
+ "publication": "json-schema"
58
+ },
54
59
  "projectEntryCapability": {
55
60
  "schemaVersion": "workspai-project-entry-capability-v1",
56
61
  "contractPath": "contracts/project-entry-capability.v1.json",
@@ -126,6 +131,31 @@
126
131
  "contractPath": "contracts/workspace-intelligence/verified-goal-status.v1.json",
127
132
  "publication": "json-schema"
128
133
  },
134
+ "goalPack": {
135
+ "schemaVersion": "workspai.goal-pack.v1",
136
+ "contractPath": "contracts/workspace-intelligence/goal-pack.v1.json",
137
+ "publication": "json-schema"
138
+ },
139
+ "goalAgentHandoff": {
140
+ "schemaVersion": "workspai.goal-agent-handoff.v1",
141
+ "contractPath": "contracts/workspace-intelligence/goal-agent-handoff.v1.json",
142
+ "publication": "json-schema"
143
+ },
144
+ "goalPlanResult": {
145
+ "schemaVersion": "workspai.goal-plan-result.v1",
146
+ "contractPath": "contracts/workspace-intelligence/goal-plan-result.v1.json",
147
+ "publication": "json-schema"
148
+ },
149
+ "goalIndex": {
150
+ "schemaVersion": "workspai.goal-index.v1",
151
+ "contractPath": "contracts/workspace-intelligence/goal-index.v1.json",
152
+ "publication": "json-schema"
153
+ },
154
+ "goalLifecycleResult": {
155
+ "schemaVersion": "workspai.goal-lifecycle-result.v1",
156
+ "contractPath": "contracts/workspace-intelligence/goal-lifecycle-result.v1.json",
157
+ "publication": "json-schema"
158
+ },
129
159
  "workspaceIntelligenceArchitecture": {
130
160
  "schemaVersion": "workspai-workspace-intelligence-architecture-v1",
131
161
  "contractPath": "contracts/workspace-intelligence-architecture.v1.json",
@@ -48,6 +48,7 @@
48
48
  "pipeline",
49
49
  "import",
50
50
  "adopt",
51
+ "goal",
51
52
  "snapshot",
52
53
  "bootstrap",
53
54
  "setup",
@@ -420,6 +421,30 @@
420
421
  "frameworks"
421
422
  ]
422
423
  },
424
+ {
425
+ "invocation": "goal",
426
+ "summary": "Compile a plain-language engineering intent into a scope-bound, evidence-pinned Goal Pack and portable agent handoff without mutating source.",
427
+ "canonicalArgv": [
428
+ "goal",
429
+ "<intent>",
430
+ "--json"
431
+ ],
432
+ "output": {
433
+ "defaultFormat": "human-or-json",
434
+ "modes": [
435
+ {
436
+ "selector": "--json",
437
+ "format": "json",
438
+ "mediaType": "application/json"
439
+ }
440
+ ]
441
+ },
442
+ "exitSemantics": {
443
+ "default": "A contract-valid Goal Pack returns exit code 0, including explicit needs-confirmation, needs-evidence, or blocked planning states.",
444
+ "strict": "Not applicable; Goal planning does not execute or verify source changes.",
445
+ "failure": "Resolution, freshness, contract, integrity, or publication failure returns exit code 1."
446
+ }
447
+ },
423
448
  {
424
449
  "invocation": "help",
425
450
  "summary": "Display contextual CLI usage, arguments, options, and command discovery guidance.",
@@ -1790,6 +1815,16 @@
1790
1815
  ]
1791
1816
  ]
1792
1817
  },
1818
+ {
1819
+ "artifactPath": ".workspai/goals/index.json",
1820
+ "schemaVersion": "workspai.goal-index.v1",
1821
+ "contractPath": "contracts/workspace-intelligence/goal-index.v1.json",
1822
+ "producerCommands": [
1823
+ [
1824
+ "goal"
1825
+ ]
1826
+ ]
1827
+ },
1793
1828
  {
1794
1829
  "artifactPath": ".workspai/workspace-link.local.json",
1795
1830
  "schemaVersion": "project-workspace-link.v1",
@@ -1998,6 +2033,16 @@
1998
2033
  ]
1999
2034
  ]
2000
2035
  },
2036
+ {
2037
+ "artifactPath": ".workspai/reports/goal-pack-last-run.json",
2038
+ "schemaVersion": "workspai.goal-pack.v1",
2039
+ "contractPath": "contracts/workspace-intelligence/goal-pack.v1.json",
2040
+ "producerCommands": [
2041
+ [
2042
+ "goal"
2043
+ ]
2044
+ ]
2045
+ },
2001
2046
  {
2002
2047
  "artifactPath": ".workspai/reports/doctor-remediation-plan-last-run.json",
2003
2048
  "schemaVersion": "doctor-remediation-plan-v2",
@@ -27,7 +27,8 @@
27
27
  "name": { "type": "string" },
28
28
  "path": { "type": "string" },
29
29
  "runtimeFamily": { "type": "string" },
30
- "framework": { "type": "string" }
30
+ "framework": { "type": "string" },
31
+ "projectArchetype": { "enum": ["application", "service", "library", "sdk", "platform", "plugin", "monorepo", "unknown"] }
31
32
  },
32
33
  "additionalProperties": false
33
34
  },
@@ -40,6 +41,7 @@
40
41
  "name": { "type": "string" },
41
42
  "path": { "type": "string" },
42
43
  "runtimeFamily": { "type": "string" },
44
+ "projectArchetype": { "enum": ["application", "service", "library", "sdk", "platform", "plugin", "monorepo", "unknown"] },
43
45
  "verdict": { "enum": ["passed", "attention", "blocked"] },
44
46
  "blockingCauses": { "type": "integer", "minimum": 0 },
45
47
  "advisoryFindings": { "type": "integer", "minimum": 0 },
@@ -0,0 +1,96 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://workspai.dev/schemas/workspace-intelligence/goal-agent-handoff.v1.json",
4
+ "title": "Workspai Goal Agent Handoff",
5
+ "type": "object",
6
+ "required": ["schemaVersion", "goalId", "goalFingerprint", "generatedAt", "consumer", "state", "objective", "scope", "discovery", "retrieval", "evidence", "guardrails", "workflow", "renewal"],
7
+ "properties": {
8
+ "schemaVersion": { "const": "workspai.goal-agent-handoff.v1" },
9
+ "goalId": { "type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{7,95}$" },
10
+ "goalFingerprint": { "$ref": "#/$defs/hash" },
11
+ "generatedAt": { "type": "string", "format": "date-time" },
12
+ "consumer": { "enum": ["generic", "claude", "codex"] },
13
+ "state": { "enum": ["ready-to-plan", "needs-confirmation", "needs-evidence", "blocked"] },
14
+ "objective": { "type": "string", "minLength": 1, "maxLength": 2000 },
15
+ "scope": {
16
+ "type": "object",
17
+ "required": ["kind", "projects", "selectionSource"],
18
+ "properties": {
19
+ "kind": { "enum": ["workspace", "project"] },
20
+ "projects": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 }, "uniqueItems": true },
21
+ "selectionSource": { "enum": ["workspace", "invocation-project", "explicit"] }
22
+ },
23
+ "additionalProperties": false
24
+ },
25
+ "evidence": {
26
+ "type": "array",
27
+ "minItems": 3,
28
+ "items": {
29
+ "type": "object",
30
+ "required": ["role", "artifact", "binding"],
31
+ "properties": {
32
+ "role": { "enum": ["model", "graph", "goal"] },
33
+ "artifact": { "type": "string", "pattern": "^\\.workspai/" },
34
+ "binding": {
35
+ "type": "object",
36
+ "required": ["algorithm", "semantics", "value"],
37
+ "properties": {
38
+ "algorithm": { "const": "sha256" },
39
+ "semantics": { "enum": ["workspace-model-structural-v1", "canonical-json-v1"] },
40
+ "value": { "$ref": "#/$defs/hash" }
41
+ },
42
+ "additionalProperties": false
43
+ }
44
+ },
45
+ "additionalProperties": false
46
+ }
47
+ },
48
+ "discovery": {
49
+ "type": "object",
50
+ "required": ["index", "statusCommand", "requiredReads"],
51
+ "properties": {
52
+ "index": { "const": ".workspai/goals/index.json" },
53
+ "statusCommand": { "type": "string", "pattern": "^workspai goal --status " },
54
+ "requiredReads": { "type": "array", "minItems": 3, "items": { "type": "string", "pattern": "^\\.workspai/" }, "uniqueItems": true }
55
+ },
56
+ "additionalProperties": false
57
+ },
58
+ "retrieval": {
59
+ "type": "object",
60
+ "required": ["status", "strategy", "queries", "anchors"],
61
+ "properties": {
62
+ "status": { "enum": ["grounded", "partial", "empty"] },
63
+ "strategy": { "const": "deterministic-category-v1" },
64
+ "queries": { "type": "array", "minItems": 1, "maxItems": 3, "items": { "type": "string", "minLength": 1 }, "uniqueItems": true },
65
+ "anchors": { "type": "array", "maxItems": 20, "items": { "type": "object", "required": ["entityId", "kind", "label", "proofIds"], "properties": { "entityId": { "type": "string" }, "kind": { "type": "string" }, "label": { "type": "string" }, "proofIds": { "type": "array", "items": { "type": "string" }, "uniqueItems": true } }, "additionalProperties": false } }
66
+ },
67
+ "additionalProperties": false
68
+ },
69
+ "guardrails": { "type": "array", "minItems": 5, "items": { "type": "string", "minLength": 1 }, "uniqueItems": true },
70
+ "workflow": {
71
+ "type": "array",
72
+ "minItems": 5,
73
+ "items": {
74
+ "type": "object",
75
+ "required": ["order", "owner", "instruction"],
76
+ "properties": {
77
+ "order": { "type": "integer", "minimum": 1 },
78
+ "owner": { "enum": ["workspai-cli", "agent", "human"] },
79
+ "instruction": { "type": "string", "minLength": 1 }
80
+ },
81
+ "additionalProperties": false
82
+ }
83
+ },
84
+ "renewal": {
85
+ "type": "object",
86
+ "required": ["command", "reason"],
87
+ "properties": {
88
+ "command": { "type": "string", "pattern": "^workspai goal " },
89
+ "reason": { "type": "string", "minLength": 1 }
90
+ },
91
+ "additionalProperties": false
92
+ }
93
+ },
94
+ "$defs": { "hash": { "type": "string", "pattern": "^[a-f0-9]{64}$" } },
95
+ "additionalProperties": false
96
+ }