@canonical/pragma-cli 0.35.0 → 0.36.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 (230) hide show
  1. package/README.md +2 -2
  2. package/bundled-skills/add-standard/SKILL.md +338 -0
  3. package/bundled-skills/adoption-a1-styles/SKILL.md +269 -0
  4. package/bundled-skills/adoption-a2-components/SKILL.md +291 -0
  5. package/bundled-skills/adoption-a3-forms/SKILL.md +260 -0
  6. package/bundled-skills/anatomy-author/ANATOMY_DSL_SPEC.md +406 -0
  7. package/bundled-skills/anatomy-author/SKILL.md +1226 -0
  8. package/bundled-skills/design-auditor/SKILL.md +455 -0
  9. package/bundled-skills/implement-component/SKILL.md +333 -0
  10. package/bundled-skills/specify-component/SKILL.md +331 -0
  11. package/bundled-skills/specify-pattern/SKILL.md +292 -0
  12. package/dist/package.json +16 -15
  13. package/dist/pragma.conf.js +236 -34
  14. package/dist/pragma.conf.js.map +1 -1
  15. package/dist/src/bin.js +1 -1
  16. package/dist/src/bin.js.map +1 -1
  17. package/dist/src/capabilities/colophon/colophon.render.js +1 -1
  18. package/dist/src/capabilities/colophon/colophon.render.js.map +1 -1
  19. package/dist/src/capabilities/create/mount.js +4 -3
  20. package/dist/src/capabilities/create/mount.js.map +1 -1
  21. package/dist/src/capabilities/doctor/checks/checkPackageRefs.js +60 -4
  22. package/dist/src/capabilities/doctor/checks/checkPackageRefs.js.map +1 -1
  23. package/dist/src/capabilities/doctor/checks/checkShellCompletions.js +8 -8
  24. package/dist/src/capabilities/doctor/checks/checkShellCompletions.js.map +1 -1
  25. package/dist/src/capabilities/doctor/checks/harnessInventory.js +195 -0
  26. package/dist/src/capabilities/doctor/checks/harnessInventory.js.map +1 -0
  27. package/dist/src/capabilities/doctor/checks/index.js +6 -6
  28. package/dist/src/capabilities/doctor/checks/targetHealth.js +194 -50
  29. package/dist/src/capabilities/doctor/checks/targetHealth.js.map +1 -1
  30. package/dist/src/capabilities/doctor/doctor.render.js +43 -64
  31. package/dist/src/capabilities/doctor/doctor.render.js.map +1 -1
  32. package/dist/src/capabilities/doctor/doctor.verb.js +6 -2
  33. package/dist/src/capabilities/doctor/doctor.verb.js.map +1 -1
  34. package/dist/src/capabilities/doctor/runChecks.js +14 -11
  35. package/dist/src/capabilities/doctor/runChecks.js.map +1 -1
  36. package/dist/src/capabilities/graph/query.render.js +2 -2
  37. package/dist/src/capabilities/graph/query.render.js.map +1 -1
  38. package/dist/src/capabilities/info/collectInfo.js +8 -2
  39. package/dist/src/capabilities/info/collectInfo.js.map +1 -1
  40. package/dist/src/capabilities/info/info.render.js +6 -2
  41. package/dist/src/capabilities/info/info.render.js.map +1 -1
  42. package/dist/src/capabilities/prompt/prompt.render.js +2 -2
  43. package/dist/src/capabilities/prompt/prompt.render.js.map +1 -1
  44. package/dist/src/capabilities/setup/buildPlan.js +43 -39
  45. package/dist/src/capabilities/setup/buildPlan.js.map +1 -1
  46. package/dist/src/capabilities/setup/mode.js +2 -2
  47. package/dist/src/capabilities/setup/operations/index.js +4 -4
  48. package/dist/src/capabilities/setup/operations/index.js.map +1 -1
  49. package/dist/src/capabilities/setup/operations/setupGenerator.js +92 -45
  50. package/dist/src/capabilities/setup/operations/setupGenerator.js.map +1 -1
  51. package/dist/src/capabilities/setup/operations/setupLsp.js +88 -36
  52. package/dist/src/capabilities/setup/operations/setupLsp.js.map +1 -1
  53. package/dist/src/capabilities/setup/operations/setupMcp.js +97 -51
  54. package/dist/src/capabilities/setup/operations/setupMcp.js.map +1 -1
  55. package/dist/src/capabilities/setup/operations/setupSkills.js +325 -47
  56. package/dist/src/capabilities/setup/operations/setupSkills.js.map +1 -1
  57. package/dist/src/capabilities/setup/plan.js.map +1 -1
  58. package/dist/src/capabilities/setup/plan.render.js +144 -66
  59. package/dist/src/capabilities/setup/plan.render.js.map +1 -1
  60. package/dist/src/capabilities/setup/setup.render.js +1 -1
  61. package/dist/src/capabilities/setup/setup.verb.js +86 -33
  62. package/dist/src/capabilities/setup/setup.verb.js.map +1 -1
  63. package/dist/src/capabilities/setup/targets.js +110 -45
  64. package/dist/src/capabilities/setup/targets.js.map +1 -1
  65. package/dist/src/capabilities/shared/index.js +6 -5
  66. package/dist/src/capabilities/shared/index.js.map +1 -1
  67. package/dist/src/capabilities/shared/packageManager.js +300 -54
  68. package/dist/src/capabilities/shared/packageManager.js.map +1 -1
  69. package/dist/src/capabilities/skill/discover.js +97 -11
  70. package/dist/src/capabilities/skill/discover.js.map +1 -1
  71. package/dist/src/capabilities/skill/render.js +2 -2
  72. package/dist/src/capabilities/skill/render.js.map +1 -1
  73. package/dist/src/capabilities/sources/installSkills.js +145 -3
  74. package/dist/src/capabilities/sources/installSkills.js.map +1 -1
  75. package/dist/src/capabilities/sources/runUpdate.js +68 -2
  76. package/dist/src/capabilities/sources/runUpdate.js.map +1 -1
  77. package/dist/src/capabilities/sources/update.verb.js +3 -3
  78. package/dist/src/capabilities/sources/update.verb.js.map +1 -1
  79. package/dist/src/capabilities/upgrade/runUpgrade.js +43 -7
  80. package/dist/src/capabilities/upgrade/runUpgrade.js.map +1 -1
  81. package/dist/src/capabilities/upgrade/upgrade.render.js +10 -2
  82. package/dist/src/capabilities/upgrade/upgrade.render.js.map +1 -1
  83. package/dist/src/constants.js +6 -1
  84. package/dist/src/constants.js.map +1 -1
  85. package/dist/src/kernel/index.js +11 -2
  86. package/dist/src/kernel/index.js.map +1 -1
  87. package/dist/src/kernel/interactivity.js +68 -0
  88. package/dist/src/kernel/interactivity.js.map +1 -0
  89. package/dist/src/kernel/packs/renderPack.js +3 -3
  90. package/dist/src/kernel/packs/renderPack.js.map +1 -1
  91. package/dist/src/kernel/packs/resolveEntity.js +63 -12
  92. package/dist/src/kernel/packs/resolveEntity.js.map +1 -1
  93. package/dist/src/kernel/packs/runBodies.js +57 -4
  94. package/dist/src/kernel/packs/runBodies.js.map +1 -1
  95. package/dist/src/kernel/packs/schema.js +54 -2
  96. package/dist/src/kernel/packs/schema.js.map +1 -1
  97. package/dist/src/kernel/packs/sparql/applyFilters.js +104 -5
  98. package/dist/src/kernel/packs/sparql/applyFilters.js.map +1 -1
  99. package/dist/src/kernel/packs/sparql/buildLookupQuery.js +306 -43
  100. package/dist/src/kernel/packs/sparql/buildLookupQuery.js.map +1 -1
  101. package/dist/src/kernel/packs/types.js.map +1 -1
  102. package/dist/src/kernel/project/cli/buildProgram.js +1 -1
  103. package/dist/src/kernel/project/cli/buildProgram.js.map +1 -1
  104. package/dist/src/kernel/project/cli/dispatch.js +23 -23
  105. package/dist/src/kernel/project/cli/dispatch.js.map +1 -1
  106. package/dist/src/kernel/project/cli/globalFlags.js +4 -1
  107. package/dist/src/kernel/project/cli/globalFlags.js.map +1 -1
  108. package/dist/src/kernel/project/cli/helpFormat.js +1 -2
  109. package/dist/src/kernel/project/cli/helpFormat.js.map +1 -1
  110. package/dist/src/kernel/project/cli/rootHelp.js +34 -4
  111. package/dist/src/kernel/project/cli/rootHelp.js.map +1 -1
  112. package/dist/src/kernel/project/mcp/registerVerb.js +16 -1
  113. package/dist/src/kernel/project/mcp/registerVerb.js.map +1 -1
  114. package/dist/src/kernel/render/renderers.js +1 -1
  115. package/dist/src/kernel/render/style.js +29 -9
  116. package/dist/src/kernel/render/style.js.map +1 -1
  117. package/dist/src/kernel/render/vocabulary.js +174 -0
  118. package/dist/src/kernel/render/vocabulary.js.map +1 -0
  119. package/dist/src/kernel/spec/emitReference.js +1 -1
  120. package/dist/src/kernel/spec/emitReference.js.map +1 -1
  121. package/package.json +16 -15
  122. package/pragma.conf.ts +241 -34
  123. package/src/bin.ts +8 -1
  124. package/src/capabilities/block.parity.test.ts +25 -11
  125. package/src/capabilities/block.shipped.exec.test.ts +282 -0
  126. package/src/capabilities/block.tierRank.exec.test.ts +300 -0
  127. package/src/capabilities/colophon/colophon.render.ts +1 -2
  128. package/src/capabilities/colophon/colophon.test.ts +2 -2
  129. package/src/capabilities/create/createGrammar.test.ts +1 -1
  130. package/src/capabilities/create/mount.ts +3 -3
  131. package/src/capabilities/distribution.parity.test.ts +4 -0
  132. package/src/capabilities/doctor/checks/checkPackageRefs.ts +69 -4
  133. package/src/capabilities/doctor/checks/checkShellCompletions.test.ts +6 -4
  134. package/src/capabilities/doctor/checks/checkShellCompletions.ts +8 -8
  135. package/src/capabilities/doctor/checks/harnessInventory.test.ts +219 -0
  136. package/src/capabilities/doctor/checks/harnessInventory.ts +298 -0
  137. package/src/capabilities/doctor/checks/index.ts +6 -6
  138. package/src/capabilities/doctor/checks/targetHealth.ts +229 -59
  139. package/src/capabilities/doctor/doctor.render.test.ts +108 -32
  140. package/src/capabilities/doctor/doctor.render.ts +56 -80
  141. package/src/capabilities/doctor/doctor.test.ts +247 -35
  142. package/src/capabilities/doctor/doctor.verb.ts +7 -2
  143. package/src/capabilities/doctor/runChecks.ts +14 -11
  144. package/src/capabilities/doctor/types.ts +15 -24
  145. package/src/capabilities/emptyRecovery.test.ts +10 -2
  146. package/src/capabilities/graph/query.render.ts +2 -2
  147. package/src/capabilities/info/collectInfo.ts +8 -1
  148. package/src/capabilities/info/info.render.ts +6 -2
  149. package/src/capabilities/info/info.test.ts +37 -1
  150. package/src/capabilities/info/types.ts +10 -2
  151. package/src/capabilities/prompt/prompt.render.ts +2 -2
  152. package/src/capabilities/renderVocabularySync.test.ts +82 -0
  153. package/src/capabilities/scopeTypeSync.test.ts +29 -15
  154. package/src/capabilities/setup/buildPlan.ts +45 -41
  155. package/src/capabilities/setup/index.ts +1 -1
  156. package/src/capabilities/setup/mode.ts +2 -2
  157. package/src/capabilities/setup/operations/index.ts +6 -1
  158. package/src/capabilities/setup/operations/setupGenerator.ts +144 -70
  159. package/src/capabilities/setup/operations/setupLsp.ts +129 -37
  160. package/src/capabilities/setup/operations/setupMcp.ts +132 -61
  161. package/src/capabilities/setup/operations/setupSkills.ts +392 -58
  162. package/src/capabilities/setup/plan.render.ts +171 -76
  163. package/src/capabilities/setup/plan.ts +17 -12
  164. package/src/capabilities/setup/setup.mcp.correctness.test.ts +9 -9
  165. package/src/capabilities/setup/setup.render.test.ts +50 -36
  166. package/src/capabilities/setup/setup.render.ts +1 -1
  167. package/src/capabilities/setup/setup.test.ts +881 -50
  168. package/src/capabilities/setup/setup.verb.ts +91 -33
  169. package/src/capabilities/setup/targets.ts +120 -52
  170. package/src/capabilities/setup/types.ts +10 -18
  171. package/src/capabilities/shared/index.ts +17 -6
  172. package/src/capabilities/shared/packageManager.test.ts +421 -6
  173. package/src/capabilities/shared/packageManager.ts +394 -59
  174. package/src/capabilities/skill/bundledSkills.test.ts +347 -0
  175. package/src/capabilities/skill/discover.ts +100 -11
  176. package/src/capabilities/skill/render.ts +2 -2
  177. package/src/capabilities/skill/skill.test.ts +17 -4
  178. package/src/capabilities/sources/installSkills.ts +181 -3
  179. package/src/capabilities/sources/runUpdate.ts +78 -2
  180. package/src/capabilities/sources/sources.test.ts +228 -0
  181. package/src/capabilities/sources/update.verb.ts +3 -3
  182. package/src/capabilities/surface.test.ts +2 -2
  183. package/src/capabilities/upgrade/runUpgrade.ts +45 -6
  184. package/src/capabilities/upgrade/types.ts +10 -2
  185. package/src/capabilities/upgrade/upgrade.render.ts +9 -2
  186. package/src/capabilities/upgrade/upgrade.test.ts +72 -0
  187. package/src/constants.ts +6 -1
  188. package/src/identity.test.ts +18 -5
  189. package/src/kernel/completion/entitySource.test.ts +15 -2
  190. package/src/kernel/completion/safety.test.ts +16 -9
  191. package/src/kernel/config/defaults.test.ts +2 -1
  192. package/src/kernel/index.ts +11 -2
  193. package/src/kernel/interactivity.test.ts +76 -0
  194. package/src/kernel/interactivity.ts +69 -0
  195. package/src/kernel/packs/compile.test.ts +92 -0
  196. package/src/kernel/packs/renderPack.ts +3 -3
  197. package/src/kernel/packs/resolveEntity.test.ts +75 -14
  198. package/src/kernel/packs/resolveEntity.ts +88 -24
  199. package/src/kernel/packs/runBodies.ts +84 -19
  200. package/src/kernel/packs/schema.ts +60 -4
  201. package/src/kernel/packs/sparql/applyFilters.ts +125 -4
  202. package/src/kernel/packs/sparql/buildLookupQuery.test.ts +290 -0
  203. package/src/kernel/packs/sparql/buildLookupQuery.ts +323 -45
  204. package/src/kernel/packs/toolDescription.test.ts +35 -1
  205. package/src/kernel/packs/types.ts +125 -2
  206. package/src/kernel/project/cli/buildProgram.test.ts +73 -2
  207. package/src/kernel/project/cli/buildProgram.ts +8 -1
  208. package/src/kernel/project/cli/dispatch.test.ts +5 -4
  209. package/src/kernel/project/cli/dispatch.ts +25 -24
  210. package/src/kernel/project/cli/globalFlags.ts +4 -1
  211. package/src/kernel/project/cli/helpFormat.ts +1 -2
  212. package/src/kernel/project/cli/rootHelp.ts +36 -3
  213. package/src/kernel/project/mcp/registerVerb.ts +20 -1
  214. package/src/kernel/render/renderers.ts +1 -1
  215. package/src/kernel/render/style.ts +32 -9
  216. package/src/kernel/render/vocabulary.ts +276 -0
  217. package/src/kernel/spec/emitReference.ts +1 -1
  218. package/src/kernel/spec/types.ts +35 -6
  219. package/src/testing/PARITY_GAPS.ts +9 -3
  220. package/src/testing/behavioral/docExamples.test.ts +4 -2
  221. package/src/testing/behavioral/errorMatrix.mcp.test.ts +110 -7
  222. package/src/testing/behavioral/journeys.firstInstall.test.ts +7 -2
  223. package/src/testing/behavioral/journeys.packageStories.test.ts +6 -3
  224. package/src/testing/eval/__snapshots__/eval.test.ts.snap +26 -1
  225. package/src/testing/eval/cases/readNouns.ts +245 -9
  226. package/src/testing/fixtures/blockGraph.ts +28 -13
  227. package/src/testing/fixtures/graph/canonical.ts +95 -12
  228. package/dist/src/capabilities/shared/bands.js +0 -16
  229. package/dist/src/capabilities/shared/bands.js.map +0 -1
  230. package/src/capabilities/shared/bands.ts +0 -16
@@ -1 +1 @@
1
- {"version":3,"file":"mount.js","sourceRoot":"","sources":["../../../../src/capabilities/create/mount.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mount.js","sourceRoot":"","sources":["../../../../src/capabilities/create/mount.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,45 @@ function ignoredSuffix(items) {
46
46
  return "";
47
47
  return ` · ${items.length} ${items.length === 1 ? "story" : "stories"} ignored`;
48
48
  }
49
+ /**
50
+ * The answering pack's provenance, one item per pack it was built from.
51
+ *
52
+ * `sourceRef` is a single comma-joined string — `@canonical/design-system@git:
53
+ * d6d8a6c8268cf2bd103e956a2540d6e36bd08d72, @canonical/anatomy-dsl@npm:0.2.2,
54
+ * …` — and printing it whole put four packs and two forty-character SHAs on one
55
+ * line, in a report whose every other multi-part check (`mcp`, `harnesses`)
56
+ * uses the sub-item mechanism. Provenance is the thing a reader is here for
57
+ * when they read this line at all: which revision of which pack answered.
58
+ *
59
+ * The scheme (`git`/`npm`/`self`/`file`) is kept because it says how to move
60
+ * the pin, and a git hash is cut to the seven characters every other tool in
61
+ * this workflow shows. A ref that does not parse is passed through whole rather
62
+ * than dropped — an unreadable provenance is still provenance, and hiding it
63
+ * would be the one failure this check exists to prevent.
64
+ *
65
+ * @param sourceRef - The manifest's comma-joined provenance string.
66
+ * @returns One passing item per pack, in the order the pack records them.
67
+ */
68
+ function packItems(sourceRef) {
69
+ return sourceRef
70
+ .split(",")
71
+ .map((ref) => ref.trim())
72
+ .filter((ref) => ref !== "")
73
+ .map((ref) => {
74
+ const parsed = /^(.+)@(git|npm|self|file|link):(.+)$/.exec(ref);
75
+ if (parsed === null)
76
+ return { label: ref, status: "pass" };
77
+ const [, pack, scheme, revision] = parsed;
78
+ const short = scheme === "git" && /^[0-9a-f]{40}$/.test(revision)
79
+ ? revision.slice(0, 7)
80
+ : revision;
81
+ return {
82
+ label: pack,
83
+ detail: `${scheme} ${short}`,
84
+ status: "pass",
85
+ };
86
+ });
87
+ }
49
88
  /**
50
89
  * Report which pack answers reads, its provenance, and its entity total.
51
90
  *
@@ -71,13 +110,28 @@ export async function checkPackageRefs(rt) {
71
110
  // The pack DOES answer reads, so the check itself passes; the ignored stories
72
111
  // are failing sub-items under it. (A `warn` status would ripple through the
73
112
  // renderer and the DoctorData counts to buy an icon.)
74
- const items = await ignoredStoryItems(decision);
75
- const suffix = ignoredSuffix(items);
113
+ const ignored = await ignoredStoryItems(decision);
114
+ const suffix = ignoredSuffix(ignored);
115
+ const sourceRef = decision.kind === "embedded"
116
+ ? embeddedManifest().sourceRef
117
+ : (readManifest(decision.dir)?.sourceRef ?? "");
118
+ // Packs first, then anything wrong with them: the composition is the answer to
119
+ // "which revision am I reading", and a failing story is a note about one of
120
+ // the rows above it.
121
+ const packs = packItems(sourceRef);
122
+ const items = [...packs, ...ignored];
123
+ const composition = `${packs.length} ${packs.length === 1 ? "pack" : "packs"}, ${entities} entities${suffix}`;
76
124
  if (decision.kind === "embedded") {
77
125
  return {
78
126
  name,
79
127
  status: "pass",
80
- detail: `embedded snapshot @ ${embeddedManifest().sourceRef} — ${entities} entities${suffix} · \`${BIN_NAME} sources update\` to build from the configured packs`,
128
+ // The update hint stays in the DETAIL rather than moving to `remedy`:
129
+ // the renderer prints a remedy only where there is something to fix or
130
+ // to finish, and a snapshot that is answering reads correctly is
131
+ // neither. "shipped with the CLI" rather than "embedded snapshot" — the
132
+ // reader needs to know where these packs came from, not what the build
133
+ // calls the artefact.
134
+ detail: `shipped with the CLI — ${composition} · run \`${BIN_NAME} sources update\` to build from your own configured packs instead`,
81
135
  ...(items.length > 0 ? { items } : {}),
82
136
  };
83
137
  }
@@ -85,7 +139,9 @@ export async function checkPackageRefs(rt) {
85
139
  return {
86
140
  name,
87
141
  status: "pass",
88
- detail: `${manifest?.sourceRef ?? decision.contentHash.slice(0, 12)} — ${entities} entities, built ${manifest?.createdAt ?? "?"}${suffix}`,
142
+ detail: packs.length > 0
143
+ ? `built ${manifest?.createdAt ?? "?"} — ${composition}`
144
+ : `${decision.contentHash.slice(0, 12)} — ${composition}, built ${manifest?.createdAt ?? "?"}`,
89
145
  ...(items.length > 0 ? { items } : {}),
90
146
  };
91
147
  }
@@ -1 +1 @@
1
- {"version":3,"file":"checkPackageRefs.js","sourceRoot":"","sources":["../../../../../src/capabilities/doctor/checks/checkPackageRefs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkPackageRefs.js","sourceRoot":"","sources":["../../../../../src/capabilities/doctor/checks/checkPackageRefs.ts"],"names":[],"mappings":"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"}
@@ -110,7 +110,7 @@ export async function checkShellCompletions(cwd, d) {
110
110
  return {
111
111
  name: NAME,
112
112
  status: "fail",
113
- detail: `completion resolver failed: ${reason}`,
113
+ detail: `${BIN_NAME} cannot answer \`<TAB>\`: ${reason}`,
114
114
  remedy: `Report this as a bug — \`${BIN_NAME} __complete\` should never throw.`,
115
115
  };
116
116
  }
@@ -118,7 +118,7 @@ export async function checkShellCompletions(cwd, d) {
118
118
  return {
119
119
  name: NAME,
120
120
  status: "fail",
121
- detail: `completion resolver returned no candidates for \`${BIN_NAME} <TAB>\``,
121
+ detail: `${BIN_NAME} answered \`<TAB>\` with nothing to complete`,
122
122
  remedy: "Report this as a bug — the noun context is always non-empty.",
123
123
  };
124
124
  }
@@ -130,7 +130,7 @@ export async function checkShellCompletions(cwd, d) {
130
130
  return {
131
131
  name: NAME,
132
132
  status: "skip",
133
- detail: `resolver OK; the running shell cannot be identified (SHELL names ${d.detection.login}, the login shell)`,
133
+ detail: `${BIN_NAME} answers \`<TAB>\`, but the running shell cannot be identified — SHELL names ${d.detection.login}, which is your login shell`,
134
134
  remedy: `Run \`${INSTALL_REMEDY}\` from the shell you want completions in.`,
135
135
  };
136
136
  }
@@ -138,7 +138,7 @@ export async function checkShellCompletions(cwd, d) {
138
138
  return {
139
139
  name: NAME,
140
140
  status: "skip",
141
- detail: "resolver OK; no bash, zsh, or fish in this process tree",
141
+ detail: `${BIN_NAME} answers \`<TAB>\`, but no bash, zsh, or fish was found in this process tree`,
142
142
  };
143
143
  }
144
144
  // The installed script delegates every name context to the binary. A script
@@ -157,7 +157,7 @@ export async function checkShellCompletions(cwd, d) {
157
157
  status: installed ? "fail" : "available",
158
158
  detail: installed
159
159
  ? `${shell} script installed, but \`${BIN_NAME}\` is not on PATH — the script cannot run it`
160
- : `resolver OK; \`${BIN_NAME}\` is not on PATH — an installed script cannot run it`,
160
+ : `${BIN_NAME} answers \`<TAB>\`, but is not on PATH — an installed script cannot run it`,
161
161
  remedy: `Put \`${BIN_NAME}\` on your PATH.`,
162
162
  };
163
163
  }
@@ -169,7 +169,7 @@ export async function checkShellCompletions(cwd, d) {
169
169
  return {
170
170
  name: NAME,
171
171
  status: "available",
172
- detail: `resolver OK; ${shell} script not installed`,
172
+ detail: `${BIN_NAME} answers \`<TAB>\`; the ${shell} script is not installed`,
173
173
  remedy: INSTALL_REMEDY,
174
174
  };
175
175
  }
@@ -177,7 +177,7 @@ export async function checkShellCompletions(cwd, d) {
177
177
  return {
178
178
  name: NAME,
179
179
  status: "fail",
180
- detail: `resolver OK; ${shell} script at ${path} is out of date`,
180
+ detail: `${BIN_NAME} answers \`<TAB>\`; the ${shell} script at ${path} is out of date`,
181
181
  remedy: INSTALL_REMEDY,
182
182
  };
183
183
  }
@@ -193,7 +193,7 @@ export async function checkShellCompletions(cwd, d) {
193
193
  return {
194
194
  name: NAME,
195
195
  status: "pass",
196
- detail: `${shell} (the shell in use) up to date and resolving (${candidates} nouns)`,
196
+ detail: `${shell} (the shell you are in) — installed, up to date, and completing ${candidates} commands`,
197
197
  };
198
198
  }
199
199
  //# sourceMappingURL=checkShellCompletions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkShellCompletions.js","sourceRoot":"","sources":["../../../../../src/capabilities/doctor/checks/checkShellCompletions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkShellCompletions.js","sourceRoot":"","sources":["../../../../../src/capabilities/doctor/checks/checkShellCompletions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,WAAW,GACZ,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAgB,MAAM,sBAAsB,CAAC;AAGpE,MAAM,IAAI,GAAG,mBAAmB,CAAC;AAEjC,0DAA0D;AAC1D,MAAM,cAAc,GAAG,GAAG,QAAQ,oBAAoB,CAAC;AAEvD;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAS,eAAe,CAAC,IAAY,EAAE,KAAc;IACnD,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,WAAW,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,YAAY;IACnB,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;QAC5D,OAAO,EAAE;aACN,KAAK,CAAC,IAAI,CAAC;aACX,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,KAAK,UAAU,aAAa,CAAC,GAAW;IACtC,MAAM,OAAO,GAAG,MAAM,WAAW,CAC/B,CAAC,EAAE,CAAC,EACJ,YAAY,EACZ,kBAAkB,CAAC,GAAG,CAAC,CACxB,CAAC;IACF,OAAO,OAAO,CAAC,MAAM,CAAC;AACxB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,GAAW,EACX,CAAuB;IAEvB,6EAA6E;IAC7E,IAAI,UAAkB,CAAC;IACvB,IAAI,CAAC;QACH,UAAU,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,OAAO;YACL,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,GAAG,QAAQ,6BAA6B,MAAM,EAAE;YACxD,MAAM,EAAE,4BAA4B,QAAQ,mCAAmC;SAChF,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO;YACL,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,GAAG,QAAQ,8CAA8C;YACjE,MAAM,EAAE,8DAA8D;SACvE,CAAC;IACJ,CAAC;IAED,yEAAyE;IACzE,4EAA4E;IAC5E,wEAAwE;IACxE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACjC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACrC,OAAO;YACL,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,GAAG,QAAQ,gFAAgF,CAAC,CAAC,SAAS,CAAC,KAAK,6BAA6B;YACjJ,MAAM,EAAE,SAAS,cAAc,4CAA4C;SAC5E,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QACpC,OAAO;YACL,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,GAAG,QAAQ,8EAA8E;SAClG,CAAC;IACJ,CAAC;IACD,4EAA4E;IAC5E,yEAAyE;IACzE,0CAA0C;IAC1C,EAAE;IACF,uEAAuE;IACvE,+EAA+E;IAC/E,6EAA6E;IAC7E,4EAA4E;IAC5E,+EAA+E;IAC/E,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,KAAK,KAAK,QAAQ,CAAC;QACrC,OAAO;YACL,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW;YACxC,MAAM,EAAE,SAAS;gBACf,CAAC,CAAC,GAAG,KAAK,4BAA4B,QAAQ,8CAA8C;gBAC5F,CAAC,CAAC,GAAG,QAAQ,4EAA4E;YAC3F,MAAM,EAAE,SAAS,QAAQ,kBAAkB;SAC5C,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,0EAA0E;QAC1E,uEAAuE;QACvE,0EAA0E;QAC1E,0BAA0B;QAC1B,OAAO;YACL,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,GAAG,QAAQ,2BAA2B,KAAK,0BAA0B;YAC7E,MAAM,EAAE,cAAc;SACvB,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QACvD,OAAO;YACL,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,GAAG,QAAQ,2BAA2B,KAAK,cAAc,IAAI,iBAAiB;YACtF,MAAM,EAAE,cAAc;SACvB,CAAC;IACJ,CAAC;IAED,gEAAgE;IAChE,IAAI,KAAK,KAAK,KAAK,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QACvC,OAAO;YACL,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,gBAAgB,IAAI,qCAAqC;YACjE,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC;SAC9B,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,GAAG,KAAK,mEAAmE,UAAU,WAAW;KACzG,CAAC;AACJ,CAAC"}
@@ -0,0 +1,195 @@
1
+ /**
2
+ * The harness inventory: one row per harness per scope, saying what was detected
3
+ * and whether pragma is registered in it.
4
+ *
5
+ * Every fact this needs was ALREADY COMPUTED and thrown away.
6
+ * `TargetGroup.harnessNames` carries every harness sharing a config file and
7
+ * both consumers reduced it to `shortenPath(group.path)`; `McpDetection`
8
+ * carries the `absent`/`registered`/`drifted` classification of every WRITE in
9
+ * that file. The only thing detection could NOT answer is the negative —
10
+ * `detectHarnesses` filters to hits, so a harness the machine does not have was
11
+ * unrepresentable — which is why the roll-up takes the REGISTRY alongside the
12
+ * groups: the registry supplies the universe, the groups supply the state.
13
+ *
14
+ * The state arrives PER HARNESS, never per file. A shared `.vscode/mcp.json`
15
+ * holds VS Code's `servers` and Cline's `mcpServers` as two independent
16
+ * entries, so the file's aggregate — `drifted`, when one key is current and the
17
+ * other absent — is the standing of NEITHER harness. Pairing each name with
18
+ * the write it owns is the caller's job (it holds the registry's `mcpKey`s and
19
+ * the group's writes); by the time a group reaches this module the association
20
+ * is resolved and every name carries its own state.
21
+ *
22
+ * Three deliberate constraints:
23
+ *
24
+ * 1. **No `@canonical/harnesses` import, of any kind.** `capabilities/lazy.test`
25
+ * forbids one from any file statically reachable from `capabilities/index`,
26
+ * and its regex has no `import type` exemption. This module is reached only
27
+ * through `runChecks`'s dynamic import today, but it is written so that
28
+ * staying legal never depends on that: the inputs are declared here as
29
+ * narrow structural records.
30
+ *
31
+ * 2. **Narrowed to DATA, so `mutates: false` is enforced rather than asserted.**
32
+ * `McpDetection` is write-capable — it carries `writeMcpConfigTargets` and
33
+ * `removeMcpConfigFrom` as live function references. Projecting it down to
34
+ * {@link InventoryGroup} before it reaches this file means a read-only
35
+ * report literally cannot reach a writer.
36
+ *
37
+ * 3. **It never invents a failure.** The states an inventory can report map onto
38
+ * `pass`/`available`/`skip` and NEVER `fail` (see `../types.ts`): a machine
39
+ * that simply does not have Windsurf is not a broken machine, and the `mcp`
40
+ * row already owns the actionable finding for the harnesses it does have.
41
+ * Reporting it twice is how a failure count becomes noise.
42
+ *
43
+ * Placement: this is a doctor helper because doctor is its only consumer today,
44
+ * and `shared/` is explicitly not a utility drawer (see `shared/index.ts`). It
45
+ * is written to MOVE there unchanged — pure, no capability imports beyond the
46
+ * scope type — the moment `setup`'s detection summary becomes the second caller.
47
+ */
48
+ /** Whether a state means "this harness is on the machine". */
49
+ export const isDetectedState = (state) => state === "registered" || state === "drifted" || state === "detected";
50
+ /**
51
+ * Roll one scope's detected config groups up against the registry into one row
52
+ * per harness.
53
+ *
54
+ * Groups are keyed by harness NAME because that is the only identity
55
+ * `TargetGroup` records; the registry is the map back to an id, which is why it
56
+ * is a parameter rather than a lookup. A harness naming no registry row is
57
+ * ignored rather than invented — the inventory reports on the registry, not on
58
+ * whatever a group happened to say.
59
+ *
60
+ * @param registry - Every known harness, each flagged for scope membership.
61
+ * @param groups - This scope's detected config files (narrowed, path-shortened),
62
+ * each naming the harnesses that share it with their own per-write state.
63
+ * @param scope - The scope being rolled up.
64
+ * @returns One row per registry harness, in registry order.
65
+ * @note Pure — it reads no filesystem and holds no live effect.
66
+ */
67
+ export function harnessInventory(registry, groups, scope) {
68
+ const states = new Map();
69
+ const locations = new Map();
70
+ for (const group of groups) {
71
+ for (const member of group.harnesses) {
72
+ const paths = locations.get(member.name) ?? [];
73
+ paths.push(group.path);
74
+ locations.set(member.name, paths);
75
+ // A harness sharing two files is registered only where EVERY one of them
76
+ // carries the current entry — the same "all or nothing" rule
77
+ // `aggregateMcpStates` applies across the writes within a single file.
78
+ const prior = states.get(member.name);
79
+ states.set(member.name, prior === undefined || prior === member.state
80
+ ? member.state
81
+ : "drifted");
82
+ }
83
+ }
84
+ return registry.map((harness) => {
85
+ const detected = states.get(harness.name);
86
+ const paths = locations.get(harness.name) ?? [];
87
+ const state = detected === undefined
88
+ ? harness.inScope
89
+ ? "undetected"
90
+ : "unscoped"
91
+ : detected === "registered"
92
+ ? "registered"
93
+ : detected === "drifted"
94
+ ? "drifted"
95
+ : "detected";
96
+ return {
97
+ harnessId: harness.id,
98
+ harnessName: harness.name,
99
+ scope,
100
+ state,
101
+ locations: paths,
102
+ };
103
+ });
104
+ }
105
+ /** The per-item status each state renders as. Never `fail` — see the docblock. */
106
+ const STATE_STATUS = {
107
+ registered: "pass",
108
+ drifted: "available",
109
+ detected: "available",
110
+ undetected: "skip",
111
+ unscoped: "skip",
112
+ };
113
+ /**
114
+ * The phrase each state reads as, scope-aware for the unscoped case.
115
+ *
116
+ * The unscoped line says WHERE the harness keeps its config rather than naming
117
+ * an internal partition. `no Global band` told the reader nothing: "band" was
118
+ * this repository's word, and the fact underneath it — VS Code stores its MCP
119
+ * config per project, so there is no global file for pragma to be in — is the
120
+ * thing that explains the row.
121
+ */
122
+ const stateDetail = (row) => {
123
+ switch (row.state) {
124
+ case "registered":
125
+ return "registered";
126
+ case "drifted":
127
+ return "registered, entry differs from current";
128
+ case "detected":
129
+ return "detected, not registered";
130
+ case "undetected":
131
+ return "not detected";
132
+ case "unscoped":
133
+ return row.scope === "global"
134
+ ? "keeps no global config — it is per-project only"
135
+ : "keeps no per-project config — it is global only";
136
+ }
137
+ };
138
+ /**
139
+ * Project inventory rows into doctor sub-items.
140
+ *
141
+ * The default listing is DETECTED HARNESSES ONLY — a report that names every
142
+ * tool the user does not have buries the ones they do. `--verbose` widens it to
143
+ * the whole registry, which is the only view in which `undetected`/`unscoped`
144
+ * rows appear at all.
145
+ *
146
+ * @param rows - This scope's inventory rows.
147
+ * @param verbose - Whether to list the whole registry rather than the hits.
148
+ * @returns The sub-items, harness name in the left column.
149
+ */
150
+ export function inventoryItems(rows, verbose) {
151
+ const shown = verbose
152
+ ? rows
153
+ : rows.filter((row) => isDetectedState(row.state));
154
+ return shown.map((row) => {
155
+ const where = row.locations.join(", ");
156
+ return {
157
+ label: row.harnessName,
158
+ status: STATE_STATUS[row.state],
159
+ detail: where ? `${stateDetail(row)} — ${where}` : stateDetail(row),
160
+ };
161
+ });
162
+ }
163
+ /**
164
+ * The whole inventory row for one scope: a listing, not a verdict.
165
+ *
166
+ * Its status is only ever `pass` (this scope has harnesses) or `skip` (it has
167
+ * none). It is the one scoped row that is not a setup target, so it derives no
168
+ * `fix:` line — the `mcp` and `skills` rows beside it own every action a
169
+ * harness can need, and a second row proposing the same command would be the
170
+ * "same finding seen twice" the report is built to avoid.
171
+ *
172
+ * @param rows - This scope's inventory rows.
173
+ * @param verbose - Whether the listing widens to the whole registry.
174
+ * @returns The status, headline and sub-items for the scope's inventory check.
175
+ */
176
+ export function inventoryHealth(rows, verbose) {
177
+ const detected = rows.filter((row) => isDetectedState(row.state));
178
+ const registered = rows.filter((row) => row.state === "registered");
179
+ const items = inventoryItems(rows, verbose);
180
+ if (detected.length === 0) {
181
+ return {
182
+ status: "skip",
183
+ detail: verbose
184
+ ? `none of ${rows.length} known harnesses detected`
185
+ : "no harnesses detected",
186
+ items,
187
+ };
188
+ }
189
+ return {
190
+ status: "pass",
191
+ detail: `${detected.length} detected · ${registered.length} registered${verbose ? ` · ${rows.length} known` : ""}`,
192
+ items,
193
+ };
194
+ }
195
+ //# sourceMappingURL=harnessInventory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harnessInventory.js","sourceRoot":"","sources":["../../../../../src/capabilities/doctor/checks/harnessInventory.ts"],"names":[],"mappings":"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"}
@@ -6,22 +6,22 @@
6
6
  * them apart from the report body is what lets `runChecks` stay a composition
7
7
  * — it orders and awaits, and knows nothing about what any check looks at.
8
8
  *
9
- * Two kinds live here, and the barrel exposes them differently. The UNBANDED
9
+ * Two kinds live here, and the barrel exposes them differently. The UNSCOPED
10
10
  * checks diagnose what `setup` cannot install — the Node floor, the CLI's own
11
11
  * version and install source, the pack answering this project's reads, and the
12
- * store — so each is its own named entry point. The BANDED rows are derived
13
- * per target, per band, from the setup target table rather than authored here,
12
+ * store — so each is its own named entry point. The SCOPED rows are derived
13
+ * per target, per scope, from the setup target table rather than authored here,
14
14
  * so they surface as the one generator that derives them, never as a list of
15
15
  * row names this file would then have to keep in step with `setup`.
16
16
  *
17
17
  * The per-target probes (the completions script check, the MCP command
18
- * resolution helpers) stay internal on purpose: `bandedChecks` is the only way
19
- * they are meant to be reached, and a row reachable past its band is a row
18
+ * resolution helpers) stay internal on purpose: `scopedChecks` is the only way
19
+ * they are meant to be reached, and a row reachable past its scope is a row
20
20
  * `doctor` can report and `setup` cannot fix.
21
21
  */
22
22
  export { checkKeStore } from "./checkKeStore.js";
23
23
  export { checkNodeVersion } from "./checkNodeVersion.js";
24
24
  export { checkPackageRefs } from "./checkPackageRefs.js";
25
25
  export { checkPragmaVersion } from "./checkPragmaVersion.js";
26
- export { bandedChecks } from "./targetHealth.js";
26
+ export { scopedChecks } from "./targetHealth.js";
27
27
  //# sourceMappingURL=index.js.map