workspai 0.48.0 → 0.50.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 +151 -75
- package/contracts/analyze-last-run.v1.json +2 -2
- package/contracts/artifact-remediation-plan.v1.json +3 -9
- package/contracts/autopilot-release.v1.json +2 -0
- package/contracts/bootstrap-compliance.v1.json +2 -1
- package/contracts/cli-log-event.v1.json +1 -1
- package/contracts/cli-runtime-command-inventory.v1.snapshot.json +84 -0
- package/contracts/compatibility-matrix.v1.json +2 -0
- package/contracts/create-planner-capabilities.v1.json +144 -32
- package/contracts/doctor-project-evidence.v1.json +191 -11
- package/contracts/doctor-project-scan.v2.json +2 -0
- package/contracts/doctor-remediation-plan.v1.json +2 -2
- package/contracts/doctor-remediation-plan.v2.json +2 -2
- package/contracts/doctor-workspace-cache.v2.json +2 -0
- package/contracts/doctor-workspace-evidence.v1.json +189 -10
- package/contracts/extension-cli-compatibility.v1.json +11 -1
- package/contracts/infra-plan.v1.json +2 -0
- package/contracts/ingestion-plan.v1.json +85 -0
- package/contracts/ingestion-result.v1.json +59 -0
- package/contracts/mirror-ops.v1.json +2 -1
- package/contracts/pipeline-last-run.v1.json +2 -2
- package/contracts/private-product-manifest.v1.json +2 -0
- package/contracts/product-factory-plan.v1.json +2 -0
- package/contracts/project-archive.v1.json +2 -0
- package/contracts/project-entry-capability.v1.json +2 -3
- package/contracts/project-test-coverage.v1.json +189 -0
- package/contracts/project-workspace-link.v1.json +66 -0
- package/contracts/project-workspace-resolution.v1.json +28 -0
- package/contracts/published-contract-catalog.v1.json +50 -0
- package/contracts/release-readiness.v1.json +2 -2
- package/contracts/runtime-command-surface.v1.json +1456 -123
- package/contracts/transparency-evidence.v1.json +2 -1
- package/contracts/workspace-archive-capabilities.v1.json +11 -5
- package/contracts/workspace-archive-manifest.v1.json +236 -0
- package/contracts/workspace-archive-operation-result.v1.json +236 -0
- package/contracts/workspace-contract.v1.json +1 -1
- package/contracts/workspace-intelligence/agent-action-outcome.v1.json +2 -2
- package/contracts/workspace-intelligence/agent-customization-pack-report.v1.json +1 -1
- package/contracts/workspace-intelligence/agent-hooks.v1.json +2 -0
- package/contracts/workspace-intelligence/agent-reports-index.v1.json +1 -1
- package/contracts/workspace-intelligence/blocker-resolution.v1.json +3 -9
- package/contracts/workspace-intelligence/doctor-fix-result.v1.json +2 -2
- package/contracts/workspace-intelligence/doctor-graph-diagnosis.v1.json +208 -0
- package/contracts/workspace-intelligence/fact-freshness.v1.json +2 -2
- package/contracts/workspace-intelligence/mcp-design.v1.json +2 -0
- package/contracts/workspace-intelligence/model-usage-event.v1.json +1 -1
- package/contracts/workspace-intelligence/project-context-agent.v1.json +360 -0
- package/contracts/workspace-intelligence/studio-blocker-handoff.v1.json +1 -1
- package/contracts/workspace-intelligence/workspace-context.v1.json +1 -1
- package/contracts/workspace-intelligence/workspace-contract-verify.v1.json +2 -2
- package/contracts/workspace-intelligence/workspace-dependency-graph.v1.json +1 -1
- package/contracts/workspace-intelligence/workspace-explain.v1.json +1 -1
- package/contracts/workspace-intelligence/workspace-graph-stream.v1.json +262 -0
- package/contracts/workspace-intelligence/workspace-graph-token-efficiency.v1.json +1 -1
- package/contracts/workspace-intelligence/workspace-impact.v1.json +1 -1
- package/contracts/workspace-intelligence/workspace-intelligence-evaluation-comparison.v1.json +1 -1
- package/contracts/workspace-intelligence/workspace-intelligence-evaluation.v1.json +1 -1
- package/contracts/workspace-intelligence/workspace-intelligence-history.v1.json +1 -1
- package/contracts/workspace-intelligence/workspace-intelligence-run.v1.json +2 -2
- package/contracts/workspace-intelligence/workspace-knowledge-graph-change-overlay.v1.json +1 -1
- package/contracts/workspace-intelligence/workspace-knowledge-graph.v1.json +48 -5
- package/contracts/workspace-intelligence/workspace-knowledge-search.v1.json +1 -1
- package/contracts/workspace-intelligence/workspace-model-diff.v1.json +1 -1
- package/contracts/workspace-intelligence/workspace-model-snapshot.v1.json +1 -1
- package/contracts/workspace-intelligence/workspace-model.v1.json +97 -5
- package/contracts/workspace-intelligence/workspace-operational-skill.v1.json +1 -1
- package/contracts/workspace-intelligence/workspace-skills-index.v1.json +1 -1
- package/contracts/workspace-intelligence/workspace-verify.v1.json +1 -1
- package/contracts/workspace-intelligence-architecture.v1.json +33 -7
- package/contracts/workspace-intelligence-chain.v1.json +1 -1
- package/contracts/workspace-list.v1.json +2 -0
- package/contracts/workspace-model-cache.v1.json +2 -0
- package/contracts/workspace-registry.v1.json +1 -1
- package/contracts/workspace-run-last.v1.json +1 -1
- package/contracts/workspace-share-bundle.v1.json +2 -1
- package/contracts/workspace-snapshot.v1.json +2 -0
- package/contracts/workspace-snapshot.v2.json +2 -0
- package/contracts/workspace-sync.v1.json +2 -0
- package/contracts/workspace-watch-event.v1.json +2 -0
- package/dist/analyze-ZFQWTCJQ.js +1 -0
- package/dist/{artifact-remediation-plan-SPOUHMK5.js → artifact-remediation-plan-ICN3KOFG.js} +1 -1
- package/dist/autopilot-release-VKXQ7BS7.js +1 -0
- package/dist/chunk-2AXEGYPL.js +1 -0
- package/dist/chunk-2D4UOYOJ.js +1 -0
- package/dist/chunk-2OIBHUVH.js +1 -0
- package/dist/chunk-3GRKUP5W.js +33 -0
- package/dist/{managed-agent-markers-AXUM75OE.js → chunk-3RBUSW7H.js} +1 -1
- package/dist/chunk-5EXZBCAZ.js +4 -0
- package/dist/chunk-6UTM5AJI.js +1 -0
- package/dist/chunk-AFIFZTOY.js +2 -0
- package/dist/{chunk-BMWFQXGW.js → chunk-AHLMIL2T.js} +1 -1
- package/dist/chunk-AL237TSJ.js +7 -0
- package/dist/chunk-AL2A7Q4X.js +86 -0
- package/dist/{chunk-VU7NZHPM.js → chunk-BHYTI3RH.js} +1 -1
- package/dist/{chunk-ESLPI3XZ.js → chunk-BQGBU2Y3.js} +1 -1
- package/dist/chunk-C35UXTDM.js +2 -0
- package/dist/chunk-C3FLCDRN.js +2 -0
- package/dist/chunk-CZC5P2MF.js +1 -0
- package/dist/{chunk-Y5UJLPS4.js → chunk-DDQ3XK3H.js} +13 -13
- package/dist/{chunk-CRHYBQI3.js → chunk-DQ3PI7EP.js} +1 -1
- package/dist/chunk-EWZZUQBR.js +1 -0
- package/dist/{chunk-4KUIFXHM.js → chunk-GNQRYISX.js} +3 -3
- package/dist/chunk-I42F552T.js +2 -0
- package/dist/chunk-IDQKVJUF.js +2 -0
- package/dist/{chunk-3VFA7D5T.js → chunk-IND3TUVU.js} +1 -1
- package/dist/chunk-IPJ5URDF.js +1 -0
- package/dist/{chunk-I46XEIPL.js → chunk-JFUD73OZ.js} +52 -52
- package/dist/chunk-KKAOTTYO.js +8 -0
- package/dist/chunk-KMLPHFLD.js +2 -0
- package/dist/{chunk-NHN4QXPP.js → chunk-KVSYBHUR.js} +1 -1
- package/dist/chunk-KXG6E5VK.js +1 -0
- package/dist/chunk-L2YK5RV2.js +1 -0
- package/dist/chunk-LAJM2SBP.js +15 -0
- package/dist/{chunk-5S3DJQEP.js → chunk-LZQUZGXB.js} +1 -1
- package/dist/chunk-MOSXTVPU.js +1 -0
- package/dist/chunk-MV7KF75Q.js +13 -0
- package/dist/chunk-MVLIONQD.js +1 -0
- package/dist/chunk-RJIYCDVC.js +1 -0
- package/dist/{chunk-BGPXQQNY.js → chunk-RTVRZFIJ.js} +1 -1
- package/dist/chunk-RVQLMTTI.js +2 -0
- package/dist/chunk-SHXJ2GDR.js +75 -0
- package/dist/{chunk-32OJDBIG.js → chunk-SS2VV3D5.js} +1 -1
- package/dist/chunk-TDTCMZK7.js +10 -0
- package/dist/chunk-UETZ7USY.js +36 -0
- package/dist/chunk-VKTUWUS6.js +1 -0
- package/dist/chunk-VRW6KXNK.js +6 -0
- package/dist/chunk-Y5YAP4F3.js +2 -0
- package/dist/chunk-YPKNQCLK.js +2 -0
- package/dist/{create-DBQNAMKP.js → create-I23DC7SN.js} +1 -1
- package/dist/{demo-kit-DZ7TPG7K.js → demo-kit-KHH63TNA.js} +2 -2
- package/dist/{doctor-4NNUDNGZ.js → doctor-DOOMYLIH.js} +1 -1
- package/dist/{dotnet-webapi-clean-A6MVDYXX.js → dotnet-webapi-clean-VXEF4SHM.js} +5 -5
- package/dist/{gofiber-standard-I5YPQG5V.js → gofiber-standard-AQGSC7ON.js} +3 -3
- package/dist/{gogin-standard-VY2L4QT5.js → gogin-standard-7DU3OCBX.js} +3 -3
- package/dist/index.d.ts +41 -6
- package/dist/index.js +268 -356
- package/dist/managed-agent-markers-COE5DJ3W.js +1 -0
- package/dist/pipeline-U77HSINC.js +5 -0
- package/dist/platform-capabilities-PR6YL4KC.js +1 -0
- package/dist/project-intelligence-lens-BKKVPCLC.js +1 -0
- package/dist/project-test-coverage-4TEHZJFC.js +1 -0
- package/dist/{pythonRapidkitExec-CVCIK225.js → pythonRapidkitExec-YR7P5LWG.js} +1 -1
- package/dist/rust-axum-4HXDICIB.js +140 -0
- package/dist/{springboot-standard-55XKCBIZ.js → springboot-standard-EK6GYN5T.js} +7 -7
- package/dist/workspace-ZEYUVR26.js +1 -0
- package/dist/{workspace-agent-sync-662QHXGF.js → workspace-agent-sync-DKYJLUDP.js} +1 -1
- package/dist/workspace-archive-4JNT4S7N.js +1 -0
- package/dist/{workspace-context-23YYCUCP.js → workspace-context-IHUFMZT3.js} +1 -1
- package/dist/workspace-contract-PVLGPBBV.js +1 -0
- package/dist/workspace-explain-64HNKAHO.js +1 -0
- package/dist/workspace-explain-contract-H7O26QJU.js +1 -0
- package/dist/{workspace-feedback-SUVH2LUJ.js → workspace-feedback-RATRXFUC.js} +1 -1
- package/dist/{workspace-foundation-WXJ6I7ES.js → workspace-foundation-D33LJLGT.js} +1 -1
- package/dist/workspace-graph-stream-THNG2T7R.js +1 -0
- package/dist/{workspace-history-BANOJRQ2.js → workspace-history-EWFPT74O.js} +1 -1
- package/dist/workspace-intelligence-MCNSWWDV.js +1 -0
- package/dist/{workspace-intelligence-evaluation-IPH7M3WV.js → workspace-intelligence-evaluation-7CABG5Y6.js} +1 -1
- package/dist/workspace-intelligence-runner-TG2VLHNZ.js +1 -0
- package/dist/workspace-intelligence-runtime-registry-ZZ3GRAL2.js +1 -0
- package/dist/{workspace-knowledge-graph-ARDC6HHG.js → workspace-knowledge-graph-2EYR7N56.js} +1 -1
- package/dist/{workspace-marker-SMBC3Z2Q.js → workspace-marker-7NHMDIRL.js} +1 -1
- package/dist/workspace-mcp-serve-FLAVKWYW.js +3 -0
- package/dist/workspace-model-FMFYLHE4.js +1 -0
- package/dist/workspace-model-hash-ZXYPIGCW.js +1 -0
- package/dist/workspace-onboarding-MYROZDI2.js +1 -0
- package/dist/{workspace-python-engine-state-2MLKJYQG.js → workspace-python-engine-state-J4QKW55K.js} +1 -1
- package/dist/{workspace-registry-summary-ORDK7A36.js → workspace-registry-summary-6VXIAQLX.js} +1 -1
- package/dist/workspace-run-2ZI5UMJ2.js +1 -0
- package/dist/{workspace-verify-EBVL7FWT.js → workspace-verify-FKYI65UQ.js} +1 -1
- package/dist/workspace-watch-RP5KMVP2.js +1 -0
- package/docs/GLOSSARY.md +17 -16
- package/docs/OPEN_SOURCE_USER_SCENARIOS.md +18 -10
- package/docs/README.md +49 -14
- package/docs/README_CONTENT_CONTRACT.md +19 -10
- package/docs/ci-workflows.md +3 -3
- package/docs/commands-reference.md +41 -10
- package/docs/contracts/ARTIFACT_CATALOG.md +72 -27
- package/docs/contracts/COMMAND_OWNERSHIP_MATRIX.md +2 -0
- package/docs/contracts/RUNTIME_SUPPORT_MATRIX.md +3 -3
- package/docs/contracts/rapidkit-cli-contracts.json +2 -2
- package/docs/create-planner-capabilities.md +36 -5
- package/docs/creating-workspaces-and-projects.md +75 -15
- package/docs/doctor-command.md +148 -39
- package/docs/examples/ci-agent-grounding.yml +1 -1
- package/docs/from-code-to-shared-understanding.md +6 -3
- package/docs/graph-benchmark-methodology.md +2 -2
- package/docs/workspace-intelligence-evaluation.md +13 -6
- package/docs/workspace-intelligence-runner.md +17 -6
- package/docs/workspace-knowledge-graph.md +102 -7
- package/docs/workspace-operations.md +154 -10
- package/package.json +10 -5
- package/scripts/enterprise-package-smoke.mjs +13 -1
- package/templates/kits/fastapi-ddd/README.md.j2 +1 -1
- package/dist/analyze-EEEU3MIF.js +0 -1
- package/dist/autopilot-release-XGVXPOZI.js +0 -1
- package/dist/chunk-22DT744Z.js +0 -1
- package/dist/chunk-37CVKXBD.js +0 -1
- package/dist/chunk-3NU32T4A.js +0 -2
- package/dist/chunk-3ZK2GU7C.js +0 -1
- package/dist/chunk-4HDYADHT.js +0 -13
- package/dist/chunk-52PBRX7F.js +0 -1
- package/dist/chunk-54EP5CEV.js +0 -8
- package/dist/chunk-5XATWNME.js +0 -1
- package/dist/chunk-7YHK5NM3.js +0 -2
- package/dist/chunk-AFL3ACCR.js +0 -2
- package/dist/chunk-BFLJ2R4D.js +0 -80
- package/dist/chunk-EYJ2CQSK.js +0 -1
- package/dist/chunk-FTY7GGXJ.js +0 -33
- package/dist/chunk-FXQJX34Z.js +0 -1
- package/dist/chunk-GSWPGELT.js +0 -2
- package/dist/chunk-GZTYAEWX.js +0 -1
- package/dist/chunk-HDXNIN4N.js +0 -1
- package/dist/chunk-HZDXO65G.js +0 -36
- package/dist/chunk-J5ENLXDF.js +0 -1
- package/dist/chunk-KB44JP4M.js +0 -2
- package/dist/chunk-LHOZXC2M.js +0 -2
- package/dist/chunk-MER6ZBN2.js +0 -13
- package/dist/chunk-NAJCUQ4X.js +0 -2
- package/dist/chunk-OA537ZQ5.js +0 -1
- package/dist/chunk-OW42TZFB.js +0 -1
- package/dist/chunk-P3D5YQB2.js +0 -1
- package/dist/chunk-PHXQR6PX.js +0 -2
- package/dist/chunk-PRTR2DQ2.js +0 -1
- package/dist/chunk-QNONOO4F.js +0 -4
- package/dist/chunk-RHQW3DTP.js +0 -1
- package/dist/chunk-T4YR4RAI.js +0 -2
- package/dist/chunk-Y45WZR5N.js +0 -5
- package/dist/chunk-YJZOMRAS.js +0 -1
- package/dist/pipeline-TQM43A3K.js +0 -5
- package/dist/platform-capabilities-2B4QMZXE.js +0 -1
- package/dist/workspace-NCWRINEF.js +0 -1
- package/dist/workspace-archive-P76EDIUG.js +0 -10
- package/dist/workspace-contract-TU2I7GC2.js +0 -1
- package/dist/workspace-dependency-graph-BP4EXYQ5.js +0 -1
- package/dist/workspace-explain-MWUEN643.js +0 -1
- package/dist/workspace-explain-contract-ZPI3JXJU.js +0 -1
- package/dist/workspace-intelligence-MFJE7W67.js +0 -1
- package/dist/workspace-intelligence-runner-THYLHHMF.js +0 -1
- package/dist/workspace-mcp-serve-EZR6O76D.js +0 -3
- package/dist/workspace-model-7OU2M3LE.js +0 -1
- package/dist/workspace-model-hash-MHXK5MEI.js +0 -1
- package/dist/workspace-run-RLIYSOTN.js +0 -1
- package/dist/workspace-watch-3BPGLFLB.js +0 -1
|
@@ -21,10 +21,15 @@ Native create is reserved for Workspai-owned kits with deterministic contracts:
|
|
|
21
21
|
- Go Fiber and Go Gin
|
|
22
22
|
- Spring Boot
|
|
23
23
|
- ASP.NET Core Web API
|
|
24
|
+
- Rust / Axum
|
|
24
25
|
|
|
25
26
|
These kits can be exposed through `workspai create project` because Workspai can
|
|
26
27
|
create the project and immediately produce the expected `.workspai` metadata,
|
|
27
28
|
workspace registry entries, doctor evidence, and workspace model data.
|
|
29
|
+
They use a tested dependency baseline instead of floating to new upstream
|
|
30
|
+
majors during creation. Baseline upgrades ship as reviewed Workspai changes so
|
|
31
|
+
the same Workspai version remains reproducible across developer machines and
|
|
32
|
+
CI.
|
|
28
33
|
|
|
29
34
|
## Official generators
|
|
30
35
|
|
|
@@ -35,19 +40,45 @@ by Workspai and then registered in Workspace Intelligence:
|
|
|
35
40
|
- React Router: `npx create-react-router@latest <name>`
|
|
36
41
|
- React, Vue, Svelte, Solid, and Vite: `npm create vite@latest <name> ...`
|
|
37
42
|
- Nuxt: `npx create-nuxt@latest <name> ...`
|
|
38
|
-
- Angular: `npx @angular/cli@
|
|
39
|
-
- Astro: `npm create astro@
|
|
43
|
+
- Angular: `npx @angular/cli@latest new <name>`
|
|
44
|
+
- Astro: `npm create astro@latest <name>`
|
|
40
45
|
- SvelteKit: `npx sv@latest create <name>`
|
|
46
|
+
- Tauri: `npm create tauri-app@latest <name> -- --template vanilla-ts`
|
|
47
|
+
- Electron Forge: `npx create-electron-app@latest <name> --template=vite-typescript`
|
|
48
|
+
- VS Code Extension: `npx --package yo@latest --package generator-code@latest -- yo code <name> ...`
|
|
49
|
+
- Laravel: `composer create-project --no-interaction --prefer-dist --stability=stable laravel/laravel <name>`
|
|
50
|
+
|
|
51
|
+
### Stable version and runtime policy
|
|
52
|
+
|
|
53
|
+
Available official entries request the ecosystem's current stable release at
|
|
54
|
+
execution time; Workspai does not silently pin an older framework major. npm
|
|
55
|
+
generators use the `latest` distribution tag and Composer is restricted to
|
|
56
|
+
stable packages. npm engine checks run in strict mode, so an upstream generator
|
|
57
|
+
that does not support the operator's Node.js runtime stops before Workspai
|
|
58
|
+
claims the scaffold is usable.
|
|
59
|
+
|
|
60
|
+
Workspai also checks non-Node prerequisites before invoking a generator:
|
|
61
|
+
|
|
62
|
+
- Tauri requires Rust and Cargo in addition to its platform-specific system
|
|
63
|
+
dependencies.
|
|
64
|
+
- Electron Forge requires Git.
|
|
65
|
+
- VS Code Extension generation requires Git unless `--skip-git` is selected.
|
|
66
|
+
- Laravel requires PHP and Composer; Node.js/npm remain recommended for
|
|
67
|
+
frontend asset workflows.
|
|
68
|
+
|
|
69
|
+
The official generator remains the authority for exact framework/runtime
|
|
70
|
+
compatibility because its stable requirements can change independently of a
|
|
71
|
+
Workspai release. The selected policy is persisted as `latest-stable` in
|
|
72
|
+
project metadata and create evidence.
|
|
41
73
|
|
|
42
74
|
Other ecosystems are planned official handoffs but are not automated yet:
|
|
43
75
|
|
|
44
76
|
- WordPress site: `wp core download`, `wp config create`, `wp db create`, `wp core install`
|
|
45
77
|
- WordPress block/plugin: `npx @wordpress/create-block@latest <slug>`
|
|
46
|
-
- Laravel: `composer create-project laravel/laravel <name>`
|
|
47
78
|
- Symfony: `composer create-project symfony/skeleton <name>`
|
|
48
79
|
- Rails: `rails new <name>`
|
|
49
80
|
|
|
50
|
-
|
|
81
|
+
The remaining entries are `official` candidates, not active native kits. Until each planned
|
|
51
82
|
post-create contract is implemented end to end, Workspai should guide users to
|
|
52
83
|
create externally and then adopt/import the project.
|
|
53
84
|
|
|
@@ -72,7 +103,7 @@ Adoption still gives the project Workspace Intelligence:
|
|
|
72
103
|
## Product rule
|
|
73
104
|
|
|
74
105
|
Do not convert an unsupported or ambiguous stack request into a different native
|
|
75
|
-
kit. For example, a
|
|
106
|
+
kit. For example, a WordPress, Symfony, or Rails request must not
|
|
76
107
|
be translated into FastAPI, NestJS, Go, Java, .NET, or a frontend kit.
|
|
77
108
|
|
|
78
109
|
If executable create is unavailable, the planner should explain the supported
|
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
# Creating Workspaces and Projects
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
Use this guide when you want to start a new software system or add a new
|
|
4
|
+
application to an existing one. Workspai creates the files, records where the
|
|
5
|
+
project belongs, and makes it visible to the same checks and tools as the rest
|
|
6
|
+
of the workspace.
|
|
7
|
+
|
|
8
|
+
The sections below explain project locations, supported starters, interactive
|
|
9
|
+
commands, automation, and the most useful options.
|
|
6
10
|
|
|
7
11
|
For a compact list of command syntax, see
|
|
8
12
|
[commands-reference.md](./commands-reference.md).
|
|
9
13
|
|
|
10
14
|
## The two things you can create
|
|
11
15
|
|
|
12
|
-
A **workspace** is the
|
|
13
|
-
|
|
16
|
+
A **workspace** is the shared home for related projects, rules, and saved
|
|
17
|
+
Workspai reports.
|
|
14
18
|
|
|
15
19
|
A **project** is an application or service, such as a FastAPI API, Go service,
|
|
16
20
|
Spring Boot service, .NET API, or frontend application.
|
|
@@ -200,12 +204,29 @@ or update a registry.
|
|
|
200
204
|
Workspace creation does not merge into or overwrite an existing target. If the
|
|
201
205
|
resolved directory already exists, choose another name or output parent.
|
|
202
206
|
|
|
203
|
-
To bring
|
|
207
|
+
To bring existing software into Workspai, use the operation that matches who
|
|
208
|
+
owns its location:
|
|
204
209
|
|
|
205
210
|
```bash
|
|
211
|
+
# Keep a project where it is.
|
|
206
212
|
npx workspai adopt /path/to/project
|
|
213
|
+
|
|
214
|
+
# Copy or clone a project into the selected workspace.
|
|
215
|
+
npx workspai import /path/to/project --workspace /path/to/my-workspace
|
|
216
|
+
|
|
217
|
+
# Register an existing Workspai workspace without moving it.
|
|
218
|
+
npx workspai workspace connect /path/to/existing-workspace
|
|
219
|
+
|
|
220
|
+
# Restore and register a portable workspace archive.
|
|
221
|
+
npx workspai workspace import team.workspai-archive.zip --output ./team
|
|
207
222
|
```
|
|
208
223
|
|
|
224
|
+
Running `npx workspai create` interactively exposes the same choices as
|
|
225
|
+
“Create a project”, “Add existing software”, and—when appropriate—“Create
|
|
226
|
+
another workspace”. Inside a workspace, project and onboarding choices appear
|
|
227
|
+
first; creating another workspace remains an explicit escape hatch rather than
|
|
228
|
+
the default.
|
|
229
|
+
|
|
209
230
|
## Main workspace files
|
|
210
231
|
|
|
211
232
|
A normal workspace includes:
|
|
@@ -245,7 +266,7 @@ npx workspai create
|
|
|
245
266
|
If you choose project creation, the same project flow is used.
|
|
246
267
|
|
|
247
268
|
When the terminal is interactive and the current directory is not inside a
|
|
248
|
-
workspace, **every supported backend and
|
|
269
|
+
workspace, **every supported backend, frontend, desktop, and extension kit** shows the workspace
|
|
249
270
|
management question before scaffolding:
|
|
250
271
|
|
|
251
272
|
```text
|
|
@@ -271,7 +292,12 @@ npx workspai create project fastapi.standard api
|
|
|
271
292
|
npx workspai create project gofiber.standard gateway
|
|
272
293
|
npx workspai create project springboot.standard orders
|
|
273
294
|
npx workspai create project dotnet.webapi.clean billing
|
|
295
|
+
npx workspai create project rust.axum telemetry-api
|
|
274
296
|
npx workspai create project frontend.nextjs dashboard
|
|
297
|
+
npx workspai create project desktop.tauri desktop-app
|
|
298
|
+
npx workspai create project desktop.electron admin-console
|
|
299
|
+
npx workspai create project extension.vscode editor-tools
|
|
300
|
+
npx workspai create project php.laravel customer-api
|
|
275
301
|
```
|
|
276
302
|
|
|
277
303
|
The shorter frontend alias remains available:
|
|
@@ -291,6 +317,7 @@ npx workspai create frontend nextjs dashboard
|
|
|
291
317
|
| `gogin.standard` | Go | Workspai npm CLI | No |
|
|
292
318
|
| `springboot.standard` | Java | Workspai npm CLI | No |
|
|
293
319
|
| `dotnet.webapi.clean` | .NET | Workspai npm CLI | No |
|
|
320
|
+
| `rust.axum` | Rust | Workspai npm CLI | No |
|
|
294
321
|
|
|
295
322
|
NestJS runs on Node.js, but its current scaffold is provided through the
|
|
296
323
|
RapidKit Core bridge.
|
|
@@ -316,6 +343,34 @@ Workspai has official-generator paths for:
|
|
|
316
343
|
The ecosystem's official generator creates the application. Workspai then adds
|
|
317
344
|
project metadata and performs the selected workspace registration.
|
|
318
345
|
|
|
346
|
+
## Desktop, extension, and additional backend generators
|
|
347
|
+
|
|
348
|
+
| Category | Project | Kit | Creation owner |
|
|
349
|
+
| --------- | ----------------- | ------------------ | -------------------------------------- |
|
|
350
|
+
| Backend | Axum | `rust.axum` | Workspai deterministic Cargo baseline |
|
|
351
|
+
| Backend | Laravel | `php.laravel` | Composer / Laravel |
|
|
352
|
+
| Desktop | Tauri | `desktop.tauri` | create-tauri-app |
|
|
353
|
+
| Desktop | Electron Forge | `desktop.electron` | create-electron-app |
|
|
354
|
+
| Extension | VS Code Extension | `extension.vscode` | generator-code |
|
|
355
|
+
|
|
356
|
+
Every generated project receives a canonical `kind` and `category`. The four
|
|
357
|
+
user-facing categories are `backend`, `frontend`, `desktop`, and `extension`;
|
|
358
|
+
they remain visible in the Workspace Model and Knowledge Graph so consumers do
|
|
359
|
+
not have to guess a project’s role from its runtime.
|
|
360
|
+
|
|
361
|
+
Official generators may download packages and therefore need network access.
|
|
362
|
+
Each available integration requests the upstream latest stable channel rather
|
|
363
|
+
than pinning an old framework major. npm engine compatibility is enforced
|
|
364
|
+
strictly against the Node.js runtime running Workspai, and required ecosystem
|
|
365
|
+
tools such as Rust/Cargo, Git, PHP, or Composer are checked before generation.
|
|
366
|
+
The upstream generator remains authoritative for its exact supported runtime
|
|
367
|
+
range; Workspai records the `latest-stable` policy in the generated project
|
|
368
|
+
metadata and evidence.
|
|
369
|
+
|
|
370
|
+
`desktop.electron`, `extension.vscode`, and `php.laravel` do not accept
|
|
371
|
+
`--skip-install`, because their official generators do not expose a reliable,
|
|
372
|
+
documented no-install contract.
|
|
373
|
+
|
|
319
374
|
# Where the project is created
|
|
320
375
|
|
|
321
376
|
The project path is always:
|
|
@@ -437,6 +492,9 @@ npx workspai create project gofiber.standard gateway \
|
|
|
437
492
|
|
|
438
493
|
Unlike `create workspace --here`, this turns the current directory itself into
|
|
439
494
|
a workspace. It then creates the project under the requested output parent.
|
|
495
|
+
This registration is foundation-only: it does not probe Python or Poetry,
|
|
496
|
+
create a virtual environment, or install `rapidkit-core`. The selected kit owns
|
|
497
|
+
its runtime prerequisites and installation flow.
|
|
440
498
|
|
|
441
499
|
For example, from `/home/me/platform`:
|
|
442
500
|
|
|
@@ -445,7 +503,9 @@ Workspace: /home/me/platform
|
|
|
445
503
|
Project: /home/me/platform/gateway
|
|
446
504
|
```
|
|
447
505
|
|
|
448
|
-
This uses the full current-folder
|
|
506
|
+
This uses the full current-folder Workspace Intelligence registration flow
|
|
507
|
+
(contract, model, graph, agent context, and registry) without coupling the
|
|
508
|
+
workspace to the optional Python engine.
|
|
449
509
|
|
|
450
510
|
## Choice 3: Create without workspace management
|
|
451
511
|
|
|
@@ -588,13 +648,13 @@ native, official, and existing-project lanes.
|
|
|
588
648
|
|
|
589
649
|
# Failure and cleanup behavior
|
|
590
650
|
|
|
591
|
-
| Situation | Result
|
|
592
|
-
| -------------------------------------------------------- |
|
|
593
|
-
| Invalid name | Stops before normal scaffold writes
|
|
594
|
-
| Target directory already exists | Stops without merging or overwriting
|
|
595
|
-
| Project scaffold fails | Workspace linking does not run
|
|
596
|
-
| Git initialization fails | Usually warns and keeps the scaffold
|
|
597
|
-
| Go or Maven dependency warm-up fails | Warns and keeps the scaffold
|
|
651
|
+
| Situation | Result |
|
|
652
|
+
| -------------------------------------------------------- | --------------------------------------------------------------------------- |
|
|
653
|
+
| Invalid name | Stops before normal scaffold writes |
|
|
654
|
+
| Target directory already exists | Stops without merging or overwriting |
|
|
655
|
+
| Project scaffold fails | Workspace linking does not run |
|
|
656
|
+
| Git initialization fails | Usually warns and keeps the scaffold |
|
|
657
|
+
| Go or Maven dependency warm-up fails | Warns and keeps the scaffold |
|
|
598
658
|
| Workspace registration/finalization fails after scaffold | Lifecycle rollback restores metadata and removes a newly owned project tree |
|
|
599
659
|
|
|
600
660
|
Create finalization uses a durable lifecycle transaction. On failure it restores
|
package/docs/doctor-command.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# Workspai Doctor Command
|
|
2
2
|
|
|
3
|
-
`doctor`
|
|
3
|
+
Use `doctor` to find setup and dependency problems before they interrupt
|
|
4
|
+
development or block a release. It can check the computer, an entire workspace,
|
|
5
|
+
or one project, and reports what is wrong and which fixes are available.
|
|
4
6
|
|
|
5
7
|
**Related:** [workspace-operations.md](./workspace-operations.md) · [commands-reference.md](./commands-reference.md) · [Documentation index](./README.md)
|
|
6
8
|
|
|
@@ -20,7 +22,7 @@ Checks host prerequisites:
|
|
|
20
22
|
- RapidKit Core availability
|
|
21
23
|
- Go (optional)
|
|
22
24
|
|
|
23
|
-
### 2) Workspace Check
|
|
25
|
+
### 2) Workspace Check
|
|
24
26
|
|
|
25
27
|
```bash
|
|
26
28
|
cd my-workspace
|
|
@@ -32,7 +34,8 @@ Checks:
|
|
|
32
34
|
- all system checks
|
|
33
35
|
- workspace marker resolution
|
|
34
36
|
- project discovery and per-project health
|
|
35
|
-
- dependency
|
|
37
|
+
- dependency, environment, test, quality, security, deployment, and coverage readiness per project
|
|
38
|
+
- runtime-native evidence without treating missing scanners as a clean result
|
|
36
39
|
|
|
37
40
|
> Compatibility note: `npx workspai doctor --workspace` still works, but `doctor workspace` is the canonical form.
|
|
38
41
|
|
|
@@ -51,6 +54,8 @@ Checks:
|
|
|
51
54
|
- dependency/env readiness for the selected project
|
|
52
55
|
- enterprise probes (config contract, migration surface, runtime health surface)
|
|
53
56
|
- score explainability breakdown for audit trails
|
|
57
|
+
- normalized dependency-audit and test-coverage evidence for CI, IDEs, and agents
|
|
58
|
+
- graph-aware root, impact-candidate, proof-path, and verification-target context
|
|
54
59
|
|
|
55
60
|
> Compatibility note: `npx workspai doctor --project` also works.
|
|
56
61
|
|
|
@@ -82,16 +87,118 @@ npx workspai doctor project --json
|
|
|
82
87
|
npx workspai doctor workspace --profile enterprise-strict --json
|
|
83
88
|
```
|
|
84
89
|
|
|
90
|
+
## One verdict, backed by every probe
|
|
91
|
+
|
|
92
|
+
Doctor calculates one verdict from the host and every project probe:
|
|
93
|
+
|
|
94
|
+
- **Passed** means no blocking probe failed.
|
|
95
|
+
- **Needs attention** means the current profile found advisory work.
|
|
96
|
+
- **Blocked** means at least one error-level probe failed.
|
|
97
|
+
|
|
98
|
+
The score and verdict use the same counts. A failed security, coverage, or
|
|
99
|
+
runtime probe cannot be hidden behind a high percentage or a healthy host. New
|
|
100
|
+
evidence includes the host/project score components and per-project probe
|
|
101
|
+
summary; semantic validation rejects contradictory artifacts before they are
|
|
102
|
+
written. Older v1 evidence remains readable so existing workspaces and IDEs do
|
|
103
|
+
not break during migration.
|
|
104
|
+
|
|
105
|
+
## Graph-aware diagnosis
|
|
106
|
+
|
|
107
|
+
When the project belongs to a workspace with a current model and Knowledge
|
|
108
|
+
Graph, Doctor enriches every warning or failure with evidence-backed structural
|
|
109
|
+
context:
|
|
110
|
+
|
|
111
|
+
- the package, file, service, deployment, or other graph entity nearest to the
|
|
112
|
+
finding;
|
|
113
|
+
- reachable APIs, services, infrastructure, owners, and other affected
|
|
114
|
+
candidates;
|
|
115
|
+
- connected test suites or CI pipelines that can verify the repair;
|
|
116
|
+
- the exact proof path and source artifacts supporting each connection;
|
|
117
|
+
- explicit unknowns when the graph cannot prove an effect or verification path.
|
|
118
|
+
|
|
119
|
+
Runtime-native dependency audits preserve the affected package names,
|
|
120
|
+
versions, advisory identifiers, and available severity/directness metadata.
|
|
121
|
+
Doctor uses those subjects to select the corresponding package or module
|
|
122
|
+
entity in the current project's graph neighborhood. If an audit names a
|
|
123
|
+
dependency that the graph cannot resolve, the diagnosis reports it under
|
|
124
|
+
`unresolvedSubjects`; it does not silently attach the finding to an unrelated
|
|
125
|
+
package.
|
|
126
|
+
|
|
127
|
+
This data is available under `project.graphDiagnosis` in project and workspace
|
|
128
|
+
Doctor JSON evidence. Doctor rejects stale, invalid, or model-unbound graph
|
|
129
|
+
evidence instead of presenting it as current.
|
|
130
|
+
|
|
131
|
+
Graph reachability is deliberately described as a **structural impact
|
|
132
|
+
candidate**, not runtime causality. It narrows investigation and gives Studio a
|
|
133
|
+
proof-carrying starting point; final verification still comes from the
|
|
134
|
+
runtime-owned checks.
|
|
135
|
+
|
|
136
|
+
## Multi-runtime dependency evidence
|
|
137
|
+
|
|
138
|
+
Doctor selects the audit adapter from the detected runtime and lockfile:
|
|
139
|
+
|
|
140
|
+
| Ecosystem | Runtime-native evidence |
|
|
141
|
+
| ------------------------------------ | ------------------------------------------------------------------ |
|
|
142
|
+
| npm | npm, pnpm, Yarn Classic/Berry, Bun, or Deno audit |
|
|
143
|
+
| Python | `pip-audit` through the project virtual environment when available |
|
|
144
|
+
| Go | `govulncheck` |
|
|
145
|
+
| Rust | `cargo audit` |
|
|
146
|
+
| PHP | `composer audit` |
|
|
147
|
+
| Ruby | `bundler-audit` |
|
|
148
|
+
| .NET | vulnerable transitive package report |
|
|
149
|
+
| Elixir | `mix hex.audit` |
|
|
150
|
+
| Java, Scala, Kotlin, Clojure, C, C++ | project/organization-owned scanner contract |
|
|
151
|
+
|
|
152
|
+
Every result records the exact executable, arguments, ecosystem, severity
|
|
153
|
+
counts, and limitations. A missing tool, timeout, registry failure,
|
|
154
|
+
unparseable response, or unsupported zero-configuration workflow is explicit
|
|
155
|
+
evidence—not a zero-vulnerability result. Compatible automatic fixes never use
|
|
156
|
+
force; unresolved findings move to a targeted upgrade and verification plan.
|
|
157
|
+
|
|
158
|
+
## Coverage goals that Doctor can verify
|
|
159
|
+
|
|
160
|
+
Generate a normalized baseline from the current project:
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
npx workspai project coverage --run --target 80 --strict --json
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
Workspai detects the runtime-owned runner, reads machine-readable coverage, and
|
|
167
|
+
normalizes lines, branches, functions, statements, low-coverage files, source
|
|
168
|
+
hash, and the requested target. It understands Istanbul/LCOV, coverage.py,
|
|
169
|
+
Go coverprofiles, JaCoCo/Cobertura/Clover, scoverage, SimpleCov, and LLVM
|
|
170
|
+
coverage. Runtime plans cover Node/Bun/Deno, Python, Go, JVM, .NET, Rust, PHP,
|
|
171
|
+
Ruby, Elixir, Clojure, Scala, Kotlin, C, and C++; if a project-owned runner does
|
|
172
|
+
not emit one of those portable formats, the result is explicitly `unavailable`
|
|
173
|
+
with setup guidance rather than an invented percentage.
|
|
174
|
+
|
|
175
|
+
Doctor consumes the resulting
|
|
176
|
+
`.workspai/reports/project-test-coverage-last-run.json`. If it is missing,
|
|
177
|
+
below target, unavailable, or failed, the probe tells Studio what evidence to
|
|
178
|
+
generate or which low-coverage source paths need source-aware tests. The repair
|
|
179
|
+
contract explicitly forbids lowering the target, excluding difficult files,
|
|
180
|
+
skipping tests, or removing assertions to manufacture a pass.
|
|
181
|
+
|
|
182
|
+
When the project belongs to a workspace, Workspai also writes:
|
|
183
|
+
|
|
184
|
+
```text
|
|
185
|
+
<workspace>/.workspai/reports/project-test-coverage-last-run.json
|
|
186
|
+
<workspace>/.workspai/reports/projects/<slug>--<hash>/project-test-coverage-last-run.json
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
The same namespaced layout is used for project Doctor evidence, preventing
|
|
190
|
+
same-name projects from overwriting each other.
|
|
191
|
+
|
|
85
192
|
## Enterprise Fix Pipeline
|
|
86
193
|
|
|
87
194
|
Doctor supports policy profiles so the same evidence can be interpreted correctly in local,
|
|
88
195
|
CI, release, and enterprise gates:
|
|
89
196
|
|
|
90
|
-
| Profile | Use when
|
|
91
|
-
| ------------------- |
|
|
92
|
-
| `local` | Developer diagnostics | Report warnings, do not block
|
|
93
|
-
| `ci` | CI feedback loop | Exit `2` on warnings, `1` on errors
|
|
94
|
-
| `release` | Release readiness gate | Exit `1` on warnings or errors
|
|
197
|
+
| Profile | Use when | Warning behavior |
|
|
198
|
+
| ------------------- | --------------------------------- | --------------------------------------------------------- |
|
|
199
|
+
| `local` | Developer diagnostics | Report warnings, do not block |
|
|
200
|
+
| `ci` | CI feedback loop | Exit `2` on warnings, `1` on errors |
|
|
201
|
+
| `release` | Release readiness gate | Exit `1` on warnings or errors |
|
|
95
202
|
| `enterprise-strict` | Enterprise/studio repair workflow | Exit `1`; every warning needs evidence or repair guidance |
|
|
96
203
|
|
|
97
204
|
`--strict` maps to the `release` profile and `--ci` maps to the `ci` profile for backward
|
|
@@ -101,11 +208,11 @@ card is advisory locally but blocking for release.
|
|
|
101
208
|
Doctor also attaches a **freshness contract** to evidence so tools do not treat live state as
|
|
102
209
|
durable structure:
|
|
103
210
|
|
|
104
|
-
| Freshness category | Meaning
|
|
105
|
-
| ------------------ |
|
|
106
|
-
| `structure` | Durable project/workspace shape and markers
|
|
211
|
+
| Freshness category | Meaning | Default TTL |
|
|
212
|
+
| ------------------ | --------------------------------------------- | ----------- |
|
|
213
|
+
| `structure` | Durable project/workspace shape and markers | 7 days |
|
|
107
214
|
| `verification` | Test, script, lint, quality, and probe checks | 24 hours |
|
|
108
|
-
| `state` | Live dependency/security state
|
|
215
|
+
| `state` | Live dependency/security state | 5 minutes |
|
|
109
216
|
|
|
110
217
|
Each probe can include `freshness`, and each JSON artifact includes `evidenceFreshness`.
|
|
111
218
|
Workspai and CI should refresh stale or `verifyBeforeUse` evidence before claiming a project is
|
|
@@ -113,10 +220,10 @@ ready, repaired, or release-safe.
|
|
|
113
220
|
|
|
114
221
|
Doctor probes also include an **issue taxonomy** and **repair intent** for Studio-driven repair:
|
|
115
222
|
|
|
116
|
-
| Field | Purpose
|
|
117
|
-
| ------------------- |
|
|
118
|
-
| `issueClass` | Stable category such as `security`, `test`, `container`, or `dependency`
|
|
119
|
-
| `operationalImpact` | Product impact such as `ci-risk`, `release-risk`, or `security-risk`
|
|
223
|
+
| Field | Purpose |
|
|
224
|
+
| ------------------- | ------------------------------------------------------------------------------------------------------------- |
|
|
225
|
+
| `issueClass` | Stable category such as `security`, `test`, `container`, or `dependency` |
|
|
226
|
+
| `operationalImpact` | Product impact such as `ci-risk`, `release-risk`, or `security-risk` |
|
|
120
227
|
| `repairIntent.mode` | Studio action mode: `edit-file`, `run-command`, `review-required`, `verify-before-fix`, or `refresh-evidence` |
|
|
121
228
|
|
|
122
229
|
This lets Workspai distinguish "show guidance" from "apply an approved file edit", "run a command",
|
|
@@ -164,15 +271,15 @@ same repair evidence without guessing the workspace root.
|
|
|
164
271
|
|
|
165
272
|
The remediation plan is intentionally ordered for Studio execution:
|
|
166
273
|
|
|
167
|
-
| Phase
|
|
168
|
-
|
|
|
169
|
-
| `dependency-baseline` | Restore package/runtime dependency baselines before other fixes
|
|
170
|
-
| `local-environment`
|
|
171
|
-
| `source-hygiene`
|
|
172
|
-
| `command-contract`
|
|
173
|
-
| `runtime-governance`
|
|
174
|
-
| `manual-review`
|
|
175
|
-
| `generic-execution`
|
|
274
|
+
| Phase | Purpose |
|
|
275
|
+
| --------------------- | ------------------------------------------------------------------------------------- |
|
|
276
|
+
| `dependency-baseline` | Restore package/runtime dependency baselines before other fixes |
|
|
277
|
+
| `local-environment` | Seed local env files without overwriting operator-owned values |
|
|
278
|
+
| `source-hygiene` | Apply safe project-scoped hygiene files such as `.dockerignore` or `.gitignore` rules |
|
|
279
|
+
| `command-contract` | Add missing test, quality, audit, or runtime command contracts |
|
|
280
|
+
| `runtime-governance` | Run RapidKit/workspace initializers that may touch multiple project surfaces |
|
|
281
|
+
| `manual-review` | Surface guidance that requires a human decision |
|
|
282
|
+
| `generic-execution` | Last-resort shell remediation when no typed operation exists |
|
|
176
283
|
|
|
177
284
|
`dependsOn` lets Workspai avoid false loops: for example, a missing test script repair can depend on
|
|
178
285
|
the project dependency baseline step, so Studio can run or ask for approval in the same order Doctor
|
|
@@ -281,15 +388,17 @@ change is safe enough for Doctor to apply with approval and post-fix verificatio
|
|
|
281
388
|
|
|
282
389
|
Runtime-native probes add a second layer on top of the generic surface checks:
|
|
283
390
|
|
|
284
|
-
| Runtime family
|
|
285
|
-
|
|
|
286
|
-
| Node/Bun/Deno
|
|
287
|
-
| Python
|
|
288
|
-
| Go
|
|
289
|
-
| Java
|
|
290
|
-
| .NET
|
|
291
|
-
| Rust
|
|
292
|
-
| PHP/Ruby
|
|
391
|
+
| Runtime family | Native signals sampled by Doctor |
|
|
392
|
+
| ----------------- | -------------------------------------------------------------------------------- |
|
|
393
|
+
| Node/Bun/Deno | Jest/Vitest/native tests, ESLint/Prettier/Biome, package-manager audit |
|
|
394
|
+
| Python | pytest/tox/nox, Ruff/Black/Mypy, pip-audit/Safety/Bandit |
|
|
395
|
+
| Go | `*_test.go`, golangci-lint, govulncheck/gosec |
|
|
396
|
+
| Java/Kotlin/Scala | Maven/Gradle/sbt tests, Checkstyle/Spotless/Detekt/Scalafmt, declared JVM audit |
|
|
397
|
+
| .NET | test projects, `.editorconfig`, NuGet audit |
|
|
398
|
+
| Rust | Cargo tests, rustfmt/clippy, cargo-audit |
|
|
399
|
+
| PHP/Ruby | PHPUnit/Pest/PHPStan and RSpec/Minitest/RuboCop/Bundler-audit |
|
|
400
|
+
| Elixir/Clojure | ExUnit/Credo/Hex and clojure.test/Kaocha/clj-kondo |
|
|
401
|
+
| C/C++ | CTest/native test markers, clang tooling, declared SBOM or vulnerability scanner |
|
|
293
402
|
|
|
294
403
|
## CI Example
|
|
295
404
|
|
|
@@ -311,11 +420,11 @@ jobs:
|
|
|
311
420
|
|
|
312
421
|
## Exit Codes
|
|
313
422
|
|
|
314
|
-
| Code | Meaning
|
|
315
|
-
| ---- |
|
|
316
|
-
| `0` | Passed; local-profile warnings remain advisory
|
|
423
|
+
| Code | Meaning |
|
|
424
|
+
| ---- | ------------------------------------------------------------------ |
|
|
425
|
+
| `0` | Passed; local-profile warnings remain advisory |
|
|
317
426
|
| `1` | Errors, or warnings under `release`/`enterprise-strict`/`--strict` |
|
|
318
|
-
| `2` | Warning-only result under the `ci` profile or `--ci`
|
|
427
|
+
| `2` | Warning-only result under the `ci` profile or `--ci` |
|
|
319
428
|
|
|
320
429
|
## Enterprise Probe Extensions
|
|
321
430
|
|
|
@@ -458,7 +567,7 @@ Legacy evidence without `schemaVersion` is still accepted. Unknown versions are
|
|
|
458
567
|
|
|
459
568
|
```bash
|
|
460
569
|
npx workspai bootstrap [--profile <profile>]
|
|
461
|
-
npx workspai setup <python|node|go|java|dotnet> [--warm-deps]
|
|
570
|
+
npx workspai setup <python|node|go|java|dotnet|rust|php> [--warm-deps]
|
|
462
571
|
npx workspai workspace list
|
|
463
572
|
npx workspai cache <status|clear|prune|repair>
|
|
464
573
|
npx workspai mirror <status|sync|verify|rotate>
|
|
@@ -39,7 +39,7 @@ jobs:
|
|
|
39
39
|
# Exit 1 = hard execution failure; exit 2 = completed but evidence-blocked.
|
|
40
40
|
# Continue here only so the durable run report and blocker evidence can
|
|
41
41
|
# always be uploaded; the final step below still fails either outcome.
|
|
42
|
-
run: npx workspai workspace intelligence run --for-agent
|
|
42
|
+
run: npx workspai workspace intelligence run --for-agent generic --strict --json
|
|
43
43
|
continue-on-error: true
|
|
44
44
|
id: intelligence
|
|
45
45
|
|
|
@@ -32,7 +32,10 @@ flowchart TB
|
|
|
32
32
|
1. **Connect your software.** Create something new, adopt an existing project
|
|
33
33
|
without moving it, or import a repository.
|
|
34
34
|
2. **Understand the workspace.** Workspai builds one model of the projects and
|
|
35
|
-
how they relate.
|
|
35
|
+
how they relate. That Workspace Model is canonical. Workspai then derives a
|
|
36
|
+
proof-backed Knowledge Graph from the model-owned project inventory so tools
|
|
37
|
+
can query files, APIs, packages, infrastructure, tests, ownership, and
|
|
38
|
+
decisions without creating a second source of truth.
|
|
36
39
|
3. **Understand change and verify it.** Workspai shows affected areas and checks
|
|
37
40
|
the evidence needed for a safe decision.
|
|
38
41
|
4. **Share the result.** Developers, CI, IDEs, AI agents, and MCP clients consume
|
|
@@ -62,14 +65,14 @@ render Mermaid. When this source changes, regenerate
|
|
|
62
65
|
Run the complete canonical chain in its versioned order:
|
|
63
66
|
|
|
64
67
|
```bash
|
|
65
|
-
npx workspai workspace intelligence run --for-agent
|
|
68
|
+
npx workspai workspace intelligence run --for-agent generic --json
|
|
66
69
|
```
|
|
67
70
|
|
|
68
71
|
For enterprise CI and release enforcement, add `--strict`. A warning or
|
|
69
72
|
needs-attention verdict then produces a blocked report and exit code `2`:
|
|
70
73
|
|
|
71
74
|
```bash
|
|
72
|
-
npx workspai workspace intelligence run --for-agent
|
|
75
|
+
npx workspai workspace intelligence run --for-agent generic --strict --json
|
|
73
76
|
```
|
|
74
77
|
|
|
75
78
|
`pipeline` is the broader governance/release orchestrator. It does not replace
|
|
@@ -27,8 +27,8 @@ The result conforms to
|
|
|
27
27
|
It records:
|
|
28
28
|
|
|
29
29
|
- the query and result limit;
|
|
30
|
-
- the graph schema, entity/relation/proof counts, source artifact, and
|
|
31
|
-
model SHA-256;
|
|
30
|
+
- the graph schema, entity/relation/proof counts, source artifact, and stable
|
|
31
|
+
structural model SHA-256;
|
|
32
32
|
- the number and size of readable, deduplicated proof-source artifacts;
|
|
33
33
|
- the bounded retrieval size and match count;
|
|
34
34
|
- unreadable artifacts rather than silently excluding them;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
# Measure Workspace Intelligence Usage
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
IDE, CI, and dashboard consumers.
|
|
3
|
+
Use this feature to answer a practical question: did focused workspace context
|
|
4
|
+
help an AI task use fewer tokens, cost less, or reach a verified result?
|
|
6
5
|
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
Workspai records model usage, tool activity, reported cost, and the final
|
|
7
|
+
verified outcome in one report that the CLI, IDE, CI, and dashboards can read.
|
|
8
|
+
|
|
9
|
+
It does not store prompt or response text. Optional SHA-256 hashes can connect
|
|
10
|
+
related calls without copying private content into the report.
|
|
9
11
|
|
|
10
12
|
## Start a measured task
|
|
11
13
|
|
|
@@ -50,7 +52,7 @@ printf '%s\n' '{
|
|
|
50
52
|
| `provider-reported` | The provider returned the count |
|
|
51
53
|
| `tokenizer-counted` | A named tokenizer counted the exact serialized input or output |
|
|
52
54
|
| `estimated` | A documented estimate; never presented as provider billing |
|
|
53
|
-
| `unavailable` | The provider exposed no usable count
|
|
55
|
+
| `unavailable` | The provider exposed no usable count |
|
|
54
56
|
|
|
55
57
|
Tool events record progress and repeated work without storing command output:
|
|
56
58
|
|
|
@@ -92,6 +94,7 @@ Event bodies conform to
|
|
|
92
94
|
```bash
|
|
93
95
|
npx workspai workspace eval status --json
|
|
94
96
|
npx workspai workspace eval report --json
|
|
97
|
+
npx workspai workspace eval report --output ./evidence/my-evaluation.json --json
|
|
95
98
|
```
|
|
96
99
|
|
|
97
100
|
Finalization writes:
|
|
@@ -100,6 +103,10 @@ Finalization writes:
|
|
|
100
103
|
.workspai/reports/workspace-intelligence-evaluation-last-run.json
|
|
101
104
|
```
|
|
102
105
|
|
|
106
|
+
`--output` keeps that governed last-run artifact and also copies the finalized
|
|
107
|
+
report to the requested workspace-relative or absolute path. JSON output reports
|
|
108
|
+
the path that was actually requested, so automation does not need to infer it.
|
|
109
|
+
|
|
103
110
|
Both live and final reports conform to
|
|
104
111
|
[`workspace-intelligence-evaluation.v1.json`](../contracts/workspace-intelligence/workspace-intelligence-evaluation.v1.json).
|
|
105
112
|
|
|
@@ -1,14 +1,25 @@
|
|
|
1
1
|
# Unified Workspace Intelligence Runner
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
Use one command when you want the latest answer to these questions:
|
|
4
|
+
|
|
5
|
+
- What projects and relationships exist now?
|
|
6
|
+
- What changed, and what may be affected?
|
|
7
|
+
- Is the workspace healthy and ready?
|
|
8
|
+
- What should developers, CI, IDEs, and AI tools read?
|
|
9
|
+
|
|
10
|
+
Run it from a Workspai workspace root:
|
|
6
11
|
|
|
7
12
|
```bash
|
|
8
|
-
npx workspai workspace intelligence run --for-agent
|
|
13
|
+
npx workspai workspace intelligence run --for-agent generic --strict --json
|
|
9
14
|
```
|
|
10
15
|
|
|
11
|
-
|
|
16
|
+
`generic` is the vendor-neutral context surface. Replace it with `codex`,
|
|
17
|
+
`claude`, `cursor`, or `orca` for agent-specific context. The `agent-sync`
|
|
18
|
+
stage also publishes shared grounding for GitHub Copilot, VS Code, and
|
|
19
|
+
`AGENTS.md` consumers.
|
|
20
|
+
|
|
21
|
+
Workspai runs the required steps in a fixed order and saves one final report.
|
|
22
|
+
The technical contract writes that report atomically to
|
|
12
23
|
`.workspai/reports/workspace-intelligence-run-last-run.json` with schema
|
|
13
24
|
`workspace-intelligence-run.v1`. JSON stdout returns the same report payload.
|
|
14
25
|
Consumers should read the persisted report when they need durable evidence and
|
|
@@ -154,7 +165,7 @@ publish it without applying the relevant redaction policy.
|
|
|
154
165
|
The simplest hard gate is:
|
|
155
166
|
|
|
156
167
|
```bash
|
|
157
|
-
npx workspai workspace intelligence run --for-agent
|
|
168
|
+
npx workspai workspace intelligence run --for-agent generic --strict --json
|
|
158
169
|
```
|
|
159
170
|
|
|
160
171
|
Both exit `1` and exit `2` fail a normal CI step. If artifacts must be uploaded
|