rapidkit 0.38.0 → 0.40.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 (80) hide show
  1. package/README.md +96 -31
  2. package/contracts/agent-customization-pack.v1.json +159 -0
  3. package/contracts/extension-cli-compatibility.v1.json +10 -0
  4. package/contracts/runtime-command-surface.v1.json +33 -0
  5. package/contracts/workspace-intelligence/workspace-dependency-graph.v1.json +92 -0
  6. package/contracts/workspace-intelligence/workspace-impact.v1.json +32 -2
  7. package/contracts/workspace-intelligence/workspace-model.v1.json +5 -0
  8. package/contracts/workspace-intelligence/workspace-verify.v1.json +103 -1
  9. package/dist/analyze-RHQM4AB2.js +1 -0
  10. package/dist/autopilot-release-S32GYUAQ.js +1 -0
  11. package/dist/chunk-3YLMCP3V.js +1 -0
  12. package/dist/chunk-4FJQWL7P.js +4 -0
  13. package/dist/chunk-4Q2ZZKGB.js +1 -0
  14. package/dist/chunk-6G2KSHP6.js +2 -0
  15. package/dist/{chunk-PPQYTYQG.js → chunk-6KD5F6LX.js} +4 -4
  16. package/dist/{chunk-NKNMGWAZ.js → chunk-CY2WXWYQ.js} +1 -1
  17. package/dist/{chunk-TVIOAZ6E.js → chunk-ERCD6NFF.js} +15 -15
  18. package/dist/chunk-G76C74EV.js +1 -0
  19. package/dist/chunk-GOM3RFB3.js +2 -0
  20. package/dist/chunk-HTYMXMQM.js +1 -0
  21. package/dist/chunk-KYH364KQ.js +1 -0
  22. package/dist/chunk-NAMOYGLS.js +2 -0
  23. package/dist/chunk-OWNGSAO3.js +2 -0
  24. package/dist/chunk-PYCJWW4B.js +1 -0
  25. package/dist/chunk-QPEBI6AB.js +2 -0
  26. package/dist/{chunk-5NBYSXOZ.js → chunk-RXWM5DSC.js} +2 -2
  27. package/dist/chunk-S5KTATOU.js +1 -0
  28. package/dist/chunk-TYZPPUBH.js +1 -0
  29. package/dist/chunk-VQMZC5TC.js +9 -0
  30. package/dist/{chunk-JBDQADHY.js → chunk-WHCON2VN.js} +11 -11
  31. package/dist/chunk-X7PWDIQW.js +1 -0
  32. package/dist/{chunk-7XW2I6MP.js → chunk-ZWKLRZE5.js} +2 -2
  33. package/dist/{create-Y3XJOKL5.js → create-XVDDQA42.js} +1 -1
  34. package/dist/{demo-kit-3VTLJBP7.js → demo-kit-RWGOEDW4.js} +1 -1
  35. package/dist/{doctor-QC662YLH.js → doctor-UOLOGJ2Z.js} +1 -1
  36. package/dist/{dotnet-webapi-clean-FX533F5U.js → dotnet-webapi-clean-RTBRPDPL.js} +1 -1
  37. package/dist/{gofiber-standard-35CJZ7S3.js → gofiber-standard-UGIRKPKL.js} +1 -1
  38. package/dist/{gogin-standard-SAX6C4ZK.js → gogin-standard-HJ7SPFNT.js} +1 -1
  39. package/dist/index.d.ts +32 -1
  40. package/dist/index.js +154 -154
  41. package/dist/pipeline-M52LR5FJ.js +5 -0
  42. package/dist/{springboot-standard-SFMSLTX4.js → springboot-standard-IWJSVDLZ.js} +1 -1
  43. package/dist/{workspace-WBKFXH4Z.js → workspace-L4ITCKMM.js} +1 -1
  44. package/dist/workspace-agent-sync-G7JU77IK.js +25 -0
  45. package/dist/{workspace-context-V4UGIHSC.js → workspace-context-NMMQMHNU.js} +1 -1
  46. package/dist/{workspace-foundation-T45HAWKL.js → workspace-foundation-HNIRAIBF.js} +1 -1
  47. package/dist/workspace-graph-ICB7OVAZ.js +3 -0
  48. package/dist/workspace-history-LHUTLE3S.js +1 -0
  49. package/dist/{workspace-intelligence-MGL3Z25K.js → workspace-intelligence-64IWAYHS.js} +1 -1
  50. package/dist/workspace-model-SDHH5RBC.js +1 -0
  51. package/dist/workspace-run-A26PEGQT.js +1 -0
  52. package/dist/workspace-verify-6Q6MGRG6.js +1 -0
  53. package/dist/workspace-watch-JDXVGW4H.js +1 -0
  54. package/docs/ci-workflows.md +21 -18
  55. package/docs/commands-reference.md +1 -1
  56. package/docs/contracts/ARTIFACT_CATALOG.md +194 -32
  57. package/docs/contracts/CLI_LOG_EVENT_STREAM.md +123 -0
  58. package/docs/contracts/README.md +9 -7
  59. package/docs/examples/ci-agent-grounding.yml +5 -2
  60. package/package.json +11 -6
  61. package/scripts/check-agent-customization-drift.mjs +75 -0
  62. package/dist/analyze-6RFG7C7Z.js +0 -1
  63. package/dist/autopilot-release-SBPGNGAB.js +0 -1
  64. package/dist/chunk-2ED6SPXP.js +0 -1
  65. package/dist/chunk-3R7UJAX5.js +0 -1
  66. package/dist/chunk-6E5TBB2C.js +0 -2
  67. package/dist/chunk-6P5DCHBQ.js +0 -4
  68. package/dist/chunk-ABPDGFVD.js +0 -2
  69. package/dist/chunk-B2KOIORF.js +0 -1
  70. package/dist/chunk-C7WILE56.js +0 -1
  71. package/dist/chunk-HEG6DIGW.js +0 -2
  72. package/dist/chunk-IW3KLQXE.js +0 -2
  73. package/dist/chunk-RELR4O5E.js +0 -2
  74. package/dist/chunk-T5LN7EO5.js +0 -9
  75. package/dist/chunk-XESEBTPE.js +0 -1
  76. package/dist/pipeline-C4UCLETO.js +0 -5
  77. package/dist/workspace-agent-sync-3FFFJYKF.js +0 -17
  78. package/dist/workspace-model-IKMGY2BX.js +0 -1
  79. package/dist/workspace-run-HOR56FON.js +0 -1
  80. package/dist/workspace-verify-A3J6D7T2.js +0 -1
package/README.md CHANGED
@@ -148,6 +148,7 @@ For the visual experience, install the [Workspai VS Code extension](https://mark
148
148
  - [Typical workflows](#typical-workflows)
149
149
  - [Mental model](#mental-model)
150
150
  - [Workspace Intelligence Commands](#workspace-intelligence-commands)
151
+ - [Agent Customization Pack](#agent-customization-pack)
151
152
  - [Requirements](#requirements)
152
153
  - [Install](#install)
153
154
  - [Project workflows](#project-workflows)
@@ -182,7 +183,8 @@ npx rapidkit workspace model --json
182
183
 
183
184
  ```bash
184
185
  npx rapidkit workspace context --for-agent --json --write
185
- npx rapidkit workspace agent-sync --write --refresh-context
186
+ npx rapidkit workspace agent-sync --write --refresh-context --preset enterprise
187
+ npx rapidkit workspace agent-sync --write --refresh-context --preset enterprise --experimental-hooks
186
188
  ```
187
189
 
188
190
  ### Release verification
@@ -237,52 +239,115 @@ Every tool gets the same answers: what projects exist, what stack they use, whic
237
239
 
238
240
  Workspace Intelligence provides a shared understanding of projects, dependencies, operational context, and release readiness for developers, CI pipelines, and AI agents.
239
241
 
240
- | Command | Purpose |
241
- | ------------------------------------------------ | ---------------------------------------------------------------- |
242
- | `workspace model --json` | Canonical workspace model |
243
- | `workspace context --for-agent --json --write` | Agent-ready context pack + auto agent grounding sync |
244
- | `workspace agent-sync --write` | Cross-tool grounding (AGENTS.md, Copilot, Cursor, Claude, INDEX) |
245
- | `workspace snapshot --json` | Persist model snapshot |
246
- | `workspace diff --from <file\|git[:ref]> --json` | Diff against snapshot or git |
247
- | `workspace impact --from <file> --json` | Blast-radius evidence |
248
- | `workspace verify [--strict] --json` | Impact verification gate |
242
+ | Command | Purpose |
243
+ | ------------------------------------------------- | ------------------------------------------------------------------------------------ |
244
+ | `workspace model [--cache\|--incremental] --json` | Canonical workspace model (graph-aware, incremental rebuilds) |
245
+ | `workspace context --for-agent --json --write` | Agent-ready context pack + auto agent grounding sync |
246
+ | `workspace agent-sync --write` | Agent Customization Pack (AGENTS.md, Copilot, Cursor, Claude, INDEX, skills, agents) |
247
+ | `workspace snapshot --json` | Persist model snapshot |
248
+ | `workspace diff --from <file\|git[:ref]> --json` | Diff against snapshot or git |
249
+ | `workspace impact --from <file> --json` | Graph-aware transitive blast-radius evidence |
250
+ | `workspace verify [--strict] --json` | Definitive verification gate (subgraph + freshness + policy) |
251
+ | `workspace graph <emit\|explain\|dot\|mermaid>` | Inspect and visualize the dependency graph |
252
+ | `workspace watch [--json] [--once]` | Daemon mode: keep model + graph in memory, stream change events |
249
253
 
250
254
  JSON schemas: `contracts/workspace-intelligence/`. Details: [commands-reference.md](docs/commands-reference.md).
251
255
 
252
- ### Agent grounding (CLI-only, no extension required)
253
-
254
- RapidKit can sync **cross-tool instruction files** so Copilot, Cursor, Claude Code, Codex, Grok, and other agents read the same evidence before guessing:
256
+ ### Graph-aware intelligence engine
257
+
258
+ The workspace model carries a deterministic, first-class **dependency graph** that
259
+ `impact`, `verify`, and `graph` all reason over — so the same evidence drives blast
260
+ radius, gating, and visualization:
261
+
262
+ - **Transitive blast radius** — `workspace impact` reports each affected project's
263
+ `distance`, `path`, and `via` edge back to the change, plus centrality-weighted
264
+ **critical-path hotspots**.
265
+ - **Whole-subgraph gate** — `workspace verify` gates the changed projects **and** their
266
+ transitive dependents, surfaces graph **integrity** issues (cycles, dangling edges,
267
+ orphans), and emits a structured `gate` (`passed`/`mode`/`exitCode`/`reasons`).
268
+ - **Transitive freshness** — a deterministic `fresh | stale | unknown` verdict chained
269
+ through the graph: a dependency change makes every dependent stale, not just by
270
+ timestamp.
271
+ - **Policy violations** — model/contract violations are surfaced as structured
272
+ `policyViolations[]` (not just an exit code) so IDEs and CI can render blockers.
273
+ - **Health history** — every verify run appends to a bounded
274
+ `.rapidkit/reports/workspace-intelligence-history.json` ring buffer for trends.
275
+ - **Fast rebuilds** — `workspace model --cache` / `--incremental` reuse unchanged
276
+ project models and re-infer only incident edges, keyed by a structural `inputsHash`.
277
+ - **Watch / daemon** — `workspace watch` keeps the model + graph in memory and streams
278
+ deterministic `workspace-watch-event.v1` change events (changed projects, graph edge
279
+ deltas, structural hash) via fast incremental rebuilds.
280
+
281
+ ### Agent Customization Pack
282
+
283
+ RapidKit can generate a versioned **Agent Customization Pack** so AI tools do
284
+ not start from an ungrounded repository scan. They start from the same workspace
285
+ truth developers and CI use: reports, commands, contracts, blockers, scope, and
286
+ verification evidence.
287
+
288
+ This is CLI-only and does not require the Workspai extension:
255
289
 
256
290
  ```bash
257
- # Full sync: refresh context pack + INDEX + AGENTS.md + Copilot/Cursor/Claude hooks
258
- npx rapidkit workspace agent-sync --write --refresh-context
291
+ # Full enterprise pack:
292
+ # context pack + INDEX + AGENTS.md + Copilot/Cursor/Claude/Codex surfaces + MCP-ready design
293
+ npx rapidkit workspace agent-sync --write --refresh-context --preset enterprise
294
+
295
+ # Optional advisory VS Code agent hooks (disabled by default in the generated file)
296
+ npx rapidkit workspace agent-sync --write --refresh-context --preset enterprise --experimental-hooks
259
297
 
260
298
  # Context pack write also syncs grounding by default
261
299
  npx rapidkit workspace context --for-agent --json --write
262
300
 
263
301
  # CI strict gate (fail if required reports missing/stale)
264
302
  npx rapidkit workspace agent-sync --write --strict --json
303
+
304
+ # CI drift gate after sync
305
+ npm run check:agent-customization-drift -- --workspace <workspace-root>
265
306
  ```
266
307
 
267
- | Artifact / file | Purpose |
268
- | -------------------------------------------------------- | ------------------------------------------------------- |
269
- | `.rapidkit/reports/INDEX.json` | Read order, blockers, report timestamps |
270
- | `.rapidkit/reports/workspace-context-agent.json` | Canonical agent context pack |
271
- | `.rapidkit/AGENT-GROUNDING.md` | Tool-agnostic grounding doc |
272
- | `AGENTS.md` | Open standard for all agents (managed RapidKit section) |
273
- | `.github/copilot-instructions.md` | GitHub Copilot / VS Code Chat always-on rules |
274
- | `.github/instructions/rapidkit-evidence.instructions.md` | Copilot scoped rules for `.rapidkit/**` |
275
- | `.github/prompts/rapidkit-diagnose.prompt.md` | Copilot reusable diagnose prompt |
276
- | `.github/skills/rapidkit-grounding/SKILL.md` | Copilot agent skill workflow |
277
- | `.cursor/rules/rapidkit-grounding.mdc` | Cursor always-on project rule |
278
- | `CLAUDE.md` | Claude Code entry (`@AGENTS.md` + managed notes) |
279
- | `.claude/rules/rapidkit-evidence.md` | Claude Code scoped evidence rules |
280
-
281
- Agents cannot be **forced** probabilistically — but this stack maximizes the chance they read reports first, even when the user talks to Copilot directly without Workspai.
308
+ | Artifact / file | Purpose |
309
+ | ----------------------------------------------------------------------- | -------------------------------------------------------- |
310
+ | `.rapidkit/reports/agent-customization-pack.json` | Versioned output inventory, target matrix, drift state |
311
+ | `.rapidkit/reports/rapidkit-mcp-design.json` | Read-mostly MCP-ready tool design manifest |
312
+ | `.rapidkit/reports/INDEX.json` | Read order, blockers, report timestamps |
313
+ | `.rapidkit/reports/workspace-context-agent.json` | Canonical agent context pack |
314
+ | `.rapidkit/AGENT-GROUNDING.md` | Tool-agnostic grounding doc |
315
+ | `AGENTS.md` | Open standard for all agents (managed RapidKit section) |
316
+ | `.github/copilot-instructions.md` | GitHub Copilot / VS Code Chat always-on rules |
317
+ | `.github/instructions/rapidkit-workspace.instructions.md` | Copilot workspace scope and command discipline |
318
+ | `.github/instructions/rapidkit-evidence.instructions.md` | Copilot scoped rules for `.rapidkit/**` |
319
+ | `.github/prompts/rapidkit-diagnose.prompt.md` | Copilot reusable diagnose prompt |
320
+ | `.github/skills/rapidkit-workspace-intelligence/SKILL.md` | Workspace Intelligence skill workflow |
321
+ | `.github/skills/rapidkit-workspace-intelligence/resources/mcp-tools.md` | Future MCP tool design reference |
322
+ | `.github/agents/workspai-advisor.agent.md` | Read-only workspace advisor agent |
323
+ | `.github/agents/workspai-repair.agent.md` | Blocker repair agent |
324
+ | `.github/agents/workspai-release.agent.md` | Release safety agent |
325
+ | `.github/agents/workspai-project-onboarder.agent.md` | Project onboarding agent |
326
+ | `.cursor/rules/rapidkit-grounding.mdc` | Cursor always-on project rule |
327
+ | `CLAUDE.md` | Claude Code entry (`@AGENTS.md` + managed notes) |
328
+ | `.claude/rules/rapidkit-evidence.md` | Claude Code scoped evidence rules |
329
+ | `.vscode/rapidkit-agent-hooks.json` | Optional advisory VS Code hooks (`--experimental-hooks`) |
330
+
331
+ The pack also publishes a standard answer contract for agent-facing output:
332
+
333
+ ```text
334
+ Scope -> Evidence -> Diagnosis -> Fix Plan -> Run -> Verify -> Assumptions
335
+ ```
336
+
337
+ That contract is what keeps agent responses operational: every recommendation
338
+ should name the workspace/project scope, cite the evidence it used, explain the
339
+ diagnosis, propose the command or file action, and tell the user how to verify
340
+ the result.
341
+
342
+ Agents cannot be **forced** probabilistically. This stack makes the desired
343
+ behavior explicit, versioned, and easy for IDEs, CI, and Workspai to audit.
282
344
 
283
345
  Skip auto-sync after context write: `--no-agent-sync`. Target specific ecosystems: `--target copilot,cursor,claude`.
284
346
 
285
- After `pipeline`, grounding syncs automatically (refresh context + INDEX + hooks). Disable with `--no-agent-sync` or `RAPIDKIT_NO_AGENT_SYNC=1`.
347
+ After `pipeline`, grounding syncs automatically (refresh context + INDEX + agent surfaces). Disable with `--no-agent-sync` or `RAPIDKIT_NO_AGENT_SYNC=1`.
348
+
349
+ Contract: `contracts/agent-customization-pack.v1.json`. Artifact map:
350
+ [docs/contracts/ARTIFACT_CATALOG.md](docs/contracts/ARTIFACT_CATALOG.md).
286
351
 
287
352
  CI template: [docs/examples/ci-agent-grounding.yml](docs/examples/ci-agent-grounding.yml).
288
353
 
@@ -0,0 +1,159 @@
1
+ {
2
+ "schemaVersion": "rapidkit-agent-customization-pack.v1",
3
+ "presets": {
4
+ "minimal": {
5
+ "meaning": "Generate the portable grounding index, AGENTS.md, and provider-specific lightweight instructions.",
6
+ "requiredOutputs": [
7
+ ".rapidkit/reports/INDEX.json",
8
+ ".rapidkit/reports/agent-customization-pack.json",
9
+ "AGENTS.md"
10
+ ]
11
+ },
12
+ "enterprise": {
13
+ "meaning": "Generate the full VS Code-native pack: instructions, prompts, skills, custom agents, and validation metadata.",
14
+ "requiredOutputs": [
15
+ ".rapidkit/reports/INDEX.json",
16
+ ".rapidkit/reports/agent-customization-pack.json",
17
+ "AGENTS.md",
18
+ ".github/instructions/rapidkit-workspace.instructions.md",
19
+ ".github/prompts/rapidkit-diagnose.prompt.md",
20
+ ".github/skills/rapidkit-workspace-intelligence/SKILL.md",
21
+ ".github/agents/workspai-advisor.agent.md",
22
+ ".rapidkit/reports/rapidkit-mcp-design.json"
23
+ ]
24
+ }
25
+ },
26
+ "targets": {
27
+ "all": {
28
+ "meaning": "Generate every supported customization surface.",
29
+ "outputFamilies": [
30
+ "portable",
31
+ "vscode",
32
+ "copilot",
33
+ "cursor",
34
+ "claude"
35
+ ]
36
+ },
37
+ "vscode": {
38
+ "meaning": "Generate VS Code-native customizations for Copilot Chat and agent workflows.",
39
+ "outputFamilies": [
40
+ "instructions",
41
+ "prompts",
42
+ "skills",
43
+ "agents",
44
+ "hooks"
45
+ ]
46
+ },
47
+ "agents": {
48
+ "meaning": "Generate portable AGENTS.md grounding for any agent.",
49
+ "outputFamilies": [
50
+ "portable"
51
+ ]
52
+ },
53
+ "copilot": {
54
+ "meaning": "Generate GitHub Copilot instructions, prompts, and skills.",
55
+ "outputFamilies": [
56
+ "instructions",
57
+ "prompts",
58
+ "skills"
59
+ ]
60
+ },
61
+ "cursor": {
62
+ "meaning": "Generate Cursor rules.",
63
+ "outputFamilies": [
64
+ "rules"
65
+ ]
66
+ },
67
+ "claude": {
68
+ "meaning": "Generate Claude Code grounding files.",
69
+ "outputFamilies": [
70
+ "rules",
71
+ "portable"
72
+ ]
73
+ },
74
+ "codex": {
75
+ "meaning": "Use AGENTS.md and the report index as the Codex grounding layer.",
76
+ "outputFamilies": [
77
+ "portable"
78
+ ]
79
+ },
80
+ "orca": {
81
+ "meaning": "Use AGENTS.md and the report index as the Orca/Grok grounding layer.",
82
+ "outputFamilies": [
83
+ "portable"
84
+ ]
85
+ }
86
+ },
87
+ "standardAnswerContract": [
88
+ "Scope",
89
+ "Evidence",
90
+ "Diagnosis",
91
+ "Fix Plan",
92
+ "Run",
93
+ "Verify",
94
+ "Assumptions"
95
+ ],
96
+ "requiredReports": [
97
+ {
98
+ "path": ".rapidkit/reports/workspace-context-agent.json",
99
+ "label": "Agent context pack",
100
+ "required": true
101
+ },
102
+ {
103
+ "path": ".rapidkit/reports/workspace-model.json",
104
+ "label": "Workspace model graph",
105
+ "required": false
106
+ },
107
+ {
108
+ "path": ".rapidkit/reports/doctor-last-run.json",
109
+ "label": "Workspace doctor",
110
+ "required": false
111
+ },
112
+ {
113
+ "path": ".rapidkit/reports/analyze-last-run.json",
114
+ "label": "Workspace analyze",
115
+ "required": false
116
+ },
117
+ {
118
+ "path": ".rapidkit/reports/pipeline-last-run.json",
119
+ "label": "Governance pipeline",
120
+ "required": false
121
+ },
122
+ {
123
+ "path": ".rapidkit/reports/release-readiness-last-run.json",
124
+ "label": "Release readiness",
125
+ "required": false
126
+ },
127
+ {
128
+ "path": ".rapidkit/reports/workspace-impact-last-run.json",
129
+ "label": "Workspace impact",
130
+ "required": false
131
+ },
132
+ {
133
+ "path": ".rapidkit/reports/workspace-verify-last-run.json",
134
+ "label": "Workspace verify",
135
+ "required": false
136
+ }
137
+ ],
138
+ "strictRules": [
139
+ "Required reports must exist.",
140
+ "Generated report paths must stay inside the workspace root.",
141
+ "Generated customization text must be English-only.",
142
+ "Agent answers must not claim pass, ready, or healthy without cited evidence.",
143
+ "Commands must distinguish display guidance from execution requests.",
144
+ "Agent hook files must be advisory and disabled by default unless the user explicitly enables them.",
145
+ "MCP design artifacts must stay read-mostly until write tools have explicit approval boundaries."
146
+ ],
147
+ "outputKinds": [
148
+ "report",
149
+ "grounding",
150
+ "instruction",
151
+ "prompt",
152
+ "skill",
153
+ "skill-resource",
154
+ "agent",
155
+ "rule",
156
+ "hook",
157
+ "mcp-design"
158
+ ]
159
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "schemaVersion": "rapidkit-extension-cli-compatibility.v1",
3
+ "cli": "rapidkit-npm",
4
+ "minimumVerifiedCliVersion": "0.40.0",
5
+ "publishedContractSchemas": {
6
+ "runtimeCommandSurface": "rapidkit-runtime-command-surface-v1",
7
+ "cliLogEvent": "cli-log-event-v1",
8
+ "freshnessMetadata": "rapidkit-freshness-metadata-v1"
9
+ }
10
+ }
@@ -39,6 +39,39 @@
39
39
  "coreProjectCommands": [
40
40
  "docs"
41
41
  ],
42
+ "workspaceSubcommands": [
43
+ "list",
44
+ "sync",
45
+ "registry",
46
+ "foundation",
47
+ "model",
48
+ "snapshot",
49
+ "diff",
50
+ "impact",
51
+ "verify",
52
+ "graph",
53
+ "watch",
54
+ "context",
55
+ "agent-sync",
56
+ "policy",
57
+ "contract",
58
+ "share",
59
+ "export",
60
+ "archive",
61
+ "hydrate",
62
+ "import",
63
+ "run",
64
+ "init"
65
+ ],
66
+ "workspaceIntelligenceSubcommands": [
67
+ "model",
68
+ "snapshot",
69
+ "diff",
70
+ "impact",
71
+ "verify",
72
+ "context",
73
+ "agent-sync"
74
+ ],
42
75
  "moduleSuggestionFrameworks": [
43
76
  "fastapi",
44
77
  "nestjs"
@@ -0,0 +1,92 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://getrapidkit.com/schemas/workspace-dependency-graph.v1.json",
4
+ "title": "RapidKit Workspace Dependency Graph",
5
+ "description": "First-class, versioned dependency graph of inter-project relationships consumed by impact, verify, run --blast-radius, and risk weighting.",
6
+ "type": "object",
7
+ "required": ["schemaVersion", "generatedAt", "nodes", "edges", "stats"],
8
+ "properties": {
9
+ "schemaVersion": {
10
+ "const": "workspace-dependency-graph.v1"
11
+ },
12
+ "generatedAt": {
13
+ "type": "string",
14
+ "format": "date-time"
15
+ },
16
+ "nodes": {
17
+ "type": "array",
18
+ "items": {
19
+ "type": "object",
20
+ "required": ["id", "path"],
21
+ "properties": {
22
+ "id": { "type": "string", "minLength": 1 },
23
+ "path": { "type": "string", "minLength": 1 },
24
+ "runtime": { "type": "string" },
25
+ "framework": { "type": "string" },
26
+ "kind": { "type": "string" }
27
+ },
28
+ "additionalProperties": true
29
+ }
30
+ },
31
+ "edges": {
32
+ "type": "array",
33
+ "items": {
34
+ "type": "object",
35
+ "required": ["from", "to", "kind", "source", "confidence", "evidence"],
36
+ "properties": {
37
+ "from": { "type": "string", "minLength": 1 },
38
+ "to": { "type": "string", "minLength": 1 },
39
+ "kind": {
40
+ "enum": [
41
+ "code-import",
42
+ "package-dep",
43
+ "event-pub-sub",
44
+ "service-dependsOn",
45
+ "shared-resource"
46
+ ]
47
+ },
48
+ "source": {
49
+ "enum": ["inferred", "contract", "manual"]
50
+ },
51
+ "confidence": {
52
+ "enum": ["high", "medium", "low"]
53
+ },
54
+ "evidence": {
55
+ "type": "array",
56
+ "items": {
57
+ "type": "object",
58
+ "required": ["file"],
59
+ "properties": {
60
+ "file": { "type": "string", "minLength": 1 },
61
+ "detail": { "type": "string" }
62
+ },
63
+ "additionalProperties": true
64
+ }
65
+ }
66
+ },
67
+ "additionalProperties": true
68
+ }
69
+ },
70
+ "stats": {
71
+ "type": "object",
72
+ "required": [
73
+ "nodeCount",
74
+ "edgeCount",
75
+ "inferredEdges",
76
+ "contractEdges",
77
+ "manualEdges",
78
+ "hasCycle"
79
+ ],
80
+ "properties": {
81
+ "nodeCount": { "type": "integer", "minimum": 0 },
82
+ "edgeCount": { "type": "integer", "minimum": 0 },
83
+ "inferredEdges": { "type": "integer", "minimum": 0 },
84
+ "contractEdges": { "type": "integer", "minimum": 0 },
85
+ "manualEdges": { "type": "integer", "minimum": 0 },
86
+ "hasCycle": { "type": "boolean" }
87
+ },
88
+ "additionalProperties": true
89
+ }
90
+ },
91
+ "additionalProperties": true
92
+ }
@@ -11,6 +11,8 @@
11
11
  "workspace",
12
12
  "summary",
13
13
  "affectedProjects",
14
+ "transitiveImpact",
15
+ "criticalPathHotspots",
14
16
  "workspaceImpact",
15
17
  "verificationPlan",
16
18
  "agentBrief",
@@ -43,7 +45,8 @@
43
45
  "risk",
44
46
  "affectedProjects",
45
47
  "workspaceItems",
46
- "recommendedCommands"
48
+ "recommendedCommands",
49
+ "blastRadius"
47
50
  ],
48
51
  "properties": {
49
52
  "changed": { "type": "boolean" },
@@ -52,11 +55,38 @@
52
55
  },
53
56
  "affectedProjects": { "type": "integer", "minimum": 0 },
54
57
  "workspaceItems": { "type": "integer", "minimum": 0 },
55
- "recommendedCommands": { "type": "integer", "minimum": 0 }
58
+ "recommendedCommands": { "type": "integer", "minimum": 0 },
59
+ "blastRadius": {
60
+ "type": "object",
61
+ "required": ["directlyAffected", "transitivelyAffected", "maxDistance", "graphEdges"],
62
+ "properties": {
63
+ "directlyAffected": { "type": "integer", "minimum": 0 },
64
+ "transitivelyAffected": { "type": "integer", "minimum": 0 },
65
+ "maxDistance": { "type": "integer", "minimum": 0 },
66
+ "graphEdges": { "type": "integer", "minimum": 0 }
67
+ },
68
+ "additionalProperties": false
69
+ }
56
70
  },
57
71
  "additionalProperties": false
58
72
  },
59
73
  "affectedProjects": { "type": "array", "items": { "type": "object", "additionalProperties": true } },
74
+ "transitiveImpact": { "type": "array", "items": { "type": "object", "additionalProperties": true } },
75
+ "criticalPathHotspots": {
76
+ "type": "array",
77
+ "items": {
78
+ "type": "object",
79
+ "required": ["project", "fanIn", "fanOut", "reach", "betweenness"],
80
+ "properties": {
81
+ "project": { "type": "string" },
82
+ "fanIn": { "type": "integer", "minimum": 0 },
83
+ "fanOut": { "type": "integer", "minimum": 0 },
84
+ "reach": { "type": "integer", "minimum": 0 },
85
+ "betweenness": { "type": "number", "minimum": 0 }
86
+ },
87
+ "additionalProperties": true
88
+ }
89
+ },
60
90
  "workspaceImpact": { "type": "array", "items": { "type": "object", "additionalProperties": true } },
61
91
  "verificationPlan": { "type": "array", "items": { "type": "object", "additionalProperties": true } },
62
92
  "agentBrief": {
@@ -41,6 +41,11 @@
41
41
  "items": { "type": "object", "additionalProperties": true }
42
42
  },
43
43
  "contracts": { "type": "object", "additionalProperties": true },
44
+ "graph": {
45
+ "type": "object",
46
+ "description": "First-class inferred dependency graph (workspace-dependency-graph.v1). Additive/optional.",
47
+ "additionalProperties": true
48
+ },
44
49
  "evidence": { "type": "object", "additionalProperties": true },
45
50
  "discovery": { "type": "object", "additionalProperties": true },
46
51
  "policies": { "type": "object", "additionalProperties": true },
@@ -13,7 +13,12 @@
13
13
  "steps",
14
14
  "missingEvidence",
15
15
  "blockingReasons",
16
- "verificationPlan"
16
+ "verificationPlan",
17
+ "affectedSubgraph",
18
+ "graphIntegrity",
19
+ "freshness",
20
+ "policyMode",
21
+ "policyViolations"
17
22
  ],
18
23
  "properties": {
19
24
  "schemaVersion": {
@@ -105,6 +110,103 @@
105
110
  "verificationPlan": {
106
111
  "type": "array",
107
112
  "items": { "type": "object", "additionalProperties": true }
113
+ },
114
+ "affectedSubgraph": {
115
+ "type": "object",
116
+ "required": [
117
+ "totalProjects",
118
+ "directlyChanged",
119
+ "transitiveDependents",
120
+ "covered",
121
+ "uncovered",
122
+ "unverifiable"
123
+ ],
124
+ "properties": {
125
+ "totalProjects": { "type": "integer", "minimum": 0 },
126
+ "directlyChanged": { "type": "array", "items": { "type": "string" } },
127
+ "transitiveDependents": { "type": "array", "items": { "type": "string" } },
128
+ "covered": { "type": "array", "items": { "type": "string" } },
129
+ "uncovered": { "type": "array", "items": { "type": "string" } },
130
+ "unverifiable": { "type": "array", "items": { "type": "string" } }
131
+ },
132
+ "additionalProperties": false
133
+ },
134
+ "graphIntegrity": {
135
+ "type": "object",
136
+ "required": ["ok", "cycles", "danglingEdges", "orphans", "stats"],
137
+ "properties": {
138
+ "ok": { "type": "boolean" },
139
+ "cycles": {
140
+ "type": "array",
141
+ "items": { "type": "array", "items": { "type": "string" } }
142
+ },
143
+ "danglingEdges": {
144
+ "type": "array",
145
+ "items": {
146
+ "type": "object",
147
+ "required": ["from", "to", "kind", "missing"],
148
+ "properties": {
149
+ "from": { "type": "string" },
150
+ "to": { "type": "string" },
151
+ "kind": { "type": "string" },
152
+ "missing": { "enum": ["from", "to", "both"] }
153
+ },
154
+ "additionalProperties": true
155
+ }
156
+ },
157
+ "orphans": { "type": "array", "items": { "type": "string" } },
158
+ "stats": {
159
+ "type": "object",
160
+ "required": [
161
+ "nodeCount",
162
+ "edgeCount",
163
+ "cycleCount",
164
+ "danglingCount",
165
+ "orphanCount"
166
+ ],
167
+ "properties": {
168
+ "nodeCount": { "type": "integer", "minimum": 0 },
169
+ "edgeCount": { "type": "integer", "minimum": 0 },
170
+ "cycleCount": { "type": "integer", "minimum": 0 },
171
+ "danglingCount": { "type": "integer", "minimum": 0 },
172
+ "orphanCount": { "type": "integer", "minimum": 0 }
173
+ },
174
+ "additionalProperties": false
175
+ }
176
+ },
177
+ "additionalProperties": false
178
+ },
179
+ "freshness": {
180
+ "type": "object",
181
+ "required": ["verdict", "baseline", "changed", "added", "removed", "projectHashes"],
182
+ "properties": {
183
+ "verdict": { "enum": ["fresh", "stale", "unknown"] },
184
+ "baseline": { "enum": ["none", "recorded"] },
185
+ "changed": { "type": "array", "items": { "type": "string" } },
186
+ "added": { "type": "array", "items": { "type": "string" } },
187
+ "removed": { "type": "array", "items": { "type": "string" } },
188
+ "projectHashes": {
189
+ "type": "object",
190
+ "additionalProperties": { "type": "string" }
191
+ }
192
+ },
193
+ "additionalProperties": false
194
+ },
195
+ "policyMode": { "type": "string" },
196
+ "policyViolations": {
197
+ "type": "array",
198
+ "items": {
199
+ "type": "object",
200
+ "required": ["source", "severity", "code", "message"],
201
+ "properties": {
202
+ "source": { "enum": ["model", "contract"] },
203
+ "severity": { "enum": ["error", "warning"] },
204
+ "code": { "type": "string" },
205
+ "message": { "type": "string" },
206
+ "target": { "type": "string" }
207
+ },
208
+ "additionalProperties": false
209
+ }
108
210
  }
109
211
  },
110
212
  "additionalProperties": true