@xenos1996/usa 2.25.2 → 2.26.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 (51) hide show
  1. package/USA.md +3 -0
  2. package/dist/cli-audit.d.ts.map +1 -1
  3. package/dist/cli-audit.js +6 -0
  4. package/dist/cli-audit.js.map +1 -1
  5. package/dist/cli-docs.d.ts +18 -0
  6. package/dist/cli-docs.d.ts.map +1 -0
  7. package/dist/cli-docs.js +416 -0
  8. package/dist/cli-docs.js.map +1 -0
  9. package/dist/cli-help.d.ts.map +1 -1
  10. package/dist/cli-help.js +18 -0
  11. package/dist/cli-help.js.map +1 -1
  12. package/dist/cli.d.ts.map +1 -1
  13. package/dist/cli.js +4 -0
  14. package/dist/cli.js.map +1 -1
  15. package/dist/config.d.ts +1 -1
  16. package/dist/config.d.ts.map +1 -1
  17. package/dist/config.js +15 -1
  18. package/dist/config.js.map +1 -1
  19. package/dist/engine/audit.d.ts +8 -0
  20. package/dist/engine/audit.d.ts.map +1 -1
  21. package/dist/engine/audit.js +63 -0
  22. package/dist/engine/audit.js.map +1 -1
  23. package/dist/engine/docs-audit.d.ts +125 -0
  24. package/dist/engine/docs-audit.d.ts.map +1 -0
  25. package/dist/engine/docs-audit.js +405 -0
  26. package/dist/engine/docs-audit.js.map +1 -0
  27. package/dist/engine/docs-impact.d.ts +62 -0
  28. package/dist/engine/docs-impact.d.ts.map +1 -0
  29. package/dist/engine/docs-impact.js +165 -0
  30. package/dist/engine/docs-impact.js.map +1 -0
  31. package/dist/engine/docs-invariants.d.ts +66 -0
  32. package/dist/engine/docs-invariants.d.ts.map +1 -0
  33. package/dist/engine/docs-invariants.js +667 -0
  34. package/dist/engine/docs-invariants.js.map +1 -0
  35. package/dist/engine/docs-taxonomy.d.ts +72 -0
  36. package/dist/engine/docs-taxonomy.d.ts.map +1 -0
  37. package/dist/engine/docs-taxonomy.js +294 -0
  38. package/dist/engine/docs-taxonomy.js.map +1 -0
  39. package/dist/engine/gate.d.ts +5 -1
  40. package/dist/engine/gate.d.ts.map +1 -1
  41. package/dist/engine/gate.js +14 -3
  42. package/dist/engine/gate.js.map +1 -1
  43. package/dist/types.d.ts +8 -0
  44. package/dist/types.d.ts.map +1 -1
  45. package/dist/util/project.d.ts +4 -0
  46. package/dist/util/project.d.ts.map +1 -1
  47. package/dist/util/project.js +9 -1
  48. package/dist/util/project.js.map +1 -1
  49. package/package.json +3 -1
  50. package/rules/core/supply-chain.yaml +23 -4
  51. package/rules/docs-taxonomy.yaml +3362 -0
package/USA.md CHANGED
@@ -392,6 +392,9 @@ The original checklist this project grew from covered sections S1–S13 well. Fo
392
392
  - [ ] Docs live in the repo, next to the code
393
393
  - [ ] Onboarding page for new contributors
394
394
  - [ ] Doc examples executed in CI (🔵 FUTURE)
395
+ - [ ] Doc universe checked with `usa docs audit .` (tiered by maturity;
396
+ `usa audit . --docs-universe` folds it into the main report — see
397
+ [documentation audit](docs/documentation-audit.md))
395
398
 
396
399
  ---
397
400
 
@@ -1 +1 @@
1
- {"version":3,"file":"cli-audit.d.ts","sourceRoot":"","sources":["../src/cli-audit.ts"],"names":[],"mappings":"AAYA,OAAO,EAUL,KAAK,IAAI,EACV,MAAM,eAAe,CAAC;AAoEvB,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CA2D3C"}
1
+ {"version":3,"file":"cli-audit.d.ts","sourceRoot":"","sources":["../src/cli-audit.ts"],"names":[],"mappings":"AAYA,OAAO,EAUL,KAAK,IAAI,EACV,MAAM,eAAe,CAAC;AA6EvB,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CA4D3C"}
package/dist/cli-audit.js CHANGED
@@ -30,6 +30,11 @@ function parseCountFlag(v) {
30
30
  const n = Number(v);
31
31
  return Number.isFinite(n) ? n : NaN;
32
32
  }
33
+ /** CLI flag wins; otherwise `.usa.yaml` `docs.universe: true` stands. */
34
+ function resolveDocsUniverse(args, config) {
35
+ const flag = bool(args, 'docs-universe');
36
+ return flag || config.docs?.universe || undefined;
37
+ }
33
38
  function readAuditOptions(args) {
34
39
  const out = str(args, 'out', 'AUDIT.md') ?? 'AUDIT.md';
35
40
  return {
@@ -96,6 +101,7 @@ export function cmdAudit(args) {
96
101
  excludePacks: list(args, 'exclude'),
97
102
  maxFiles: o.maxFiles,
98
103
  maxBytes: o.maxBytes,
104
+ docsUniverse: resolveDocsUniverse(args, config),
99
105
  });
100
106
  for (const w of warnings)
101
107
  console.error(`warning: ${w}`);
@@ -1 +1 @@
1
- {"version":3,"file":"cli-audit.js","sourceRoot":"","sources":["../src/cli-audit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-audit.js","sourceRoot":"","sources":["../src/cli-audit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { type Args } from './cli-args.js';
2
+ /**
3
+ * `usa docs` — the documentation universe surface.
4
+ *
5
+ * usa docs audit [path] full 14-category documentation audit
6
+ * usa docs impact [path] which docs a change affects (semantic model)
7
+ * usa docs coverage [path] coverage report against the taxonomy
8
+ *
9
+ * Read-only by construction: USA audits, it never rewrites the target repo.
10
+ * The `--fail-on` gate on `audit` is the CI-equivalent check (AC-8/9) — the
11
+ * same findings the main audit emits with `--docs-universe`.
12
+ */
13
+ export declare const DOCS_HELP_TEXT: string;
14
+ export declare function cmdDocsAudit(args: Args): number;
15
+ export declare function cmdDocsImpact(args: Args): number;
16
+ export declare function cmdDocsCoverage(args: Args): number;
17
+ export declare function cmdDocs(args: Args): number;
18
+ //# sourceMappingURL=cli-docs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-docs.d.ts","sourceRoot":"","sources":["../src/cli-docs.ts"],"names":[],"mappings":"AAEA,OAAO,EAOL,KAAK,IAAI,EACV,MAAM,eAAe,CAAC;AAgBvB;;;;;;;;;;GAUG;AAGH,eAAO,MAAM,cAAc,QA2CnB,CAAC;AAgGT,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CA8B/C;AA6DD,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAqChD;AA6FD,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAsBlD;AAqED,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAqB1C"}
@@ -0,0 +1,416 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import { DEFAULT_RULES_DIR, VERSION, bool, dryRunWrites, list, str, } from './cli-args.js';
4
+ import { loadConfig } from './config.js';
5
+ import { evaluateGateForFindings } from './engine/gate.js';
6
+ import { loadDocAuditContext, renderDocAuditMd, resolveTargetLabel, runDocAudit, } from './engine/docs-audit.js';
7
+ import { describeFile } from './engine/docs-impact.js';
8
+ import { writeTextFile } from './util/files.js';
9
+ /**
10
+ * `usa docs` — the documentation universe surface.
11
+ *
12
+ * usa docs audit [path] full 14-category documentation audit
13
+ * usa docs impact [path] which docs a change affects (semantic model)
14
+ * usa docs coverage [path] coverage report against the taxonomy
15
+ *
16
+ * Read-only by construction: USA audits, it never rewrites the target repo.
17
+ * The `--fail-on` gate on `audit` is the CI-equivalent check (AC-8/9) — the
18
+ * same findings the main audit emits with `--docs-universe`.
19
+ */
20
+ /* ------------------------------------------------------------------ help -- */
21
+ export const DOCS_HELP_TEXT = `
22
+ usa docs — documentation universe audit (14 categories, 220 artifacts)
23
+
24
+ usa docs audit [path] Audit documentation: inventory, tier coverage,
25
+ invariants, optional impact (--changed), gate
26
+ usa docs impact [path] Which documentation a set of changed files affects
27
+ usa docs coverage [path] Coverage report against the full taxonomy
28
+
29
+ audit options
30
+ --out <file> Report path (default DOC-AUDIT.md)
31
+ --format <fmt> md | json (default md; inferred from --out)
32
+ --fail-on <sev> Exit 1 on findings >= sev: critical|high|medium|low|none
33
+ --changed <file> Changed file for impact analysis (repeatable, or comma separated)
34
+ --tiers <list> Expected tiers, comma separated (default: by detected maturity)
35
+ --profile <stage> auto | prototype | mvp | beta | production | legacy
36
+ --rules-dir <dir> Rule pack directory (default bundled rules/)
37
+ --config <file> Explicit .usa.yaml location
38
+ --fact <ns:value> Assert a fact detection missed
39
+ --dry-run Print the report path that would be written and exit
40
+ --quiet Only errors
41
+
42
+ impact options
43
+ --changed <file> Changed file (repeatable, or comma separated) — required
44
+ --describe <file> Instead of impact: show the documentation relationship
45
+ of one file (what it invalidates, what it documents,
46
+ what derives from it)
47
+ --format <fmt> md | json (default md)
48
+ --profile <stage> auto | prototype | mvp | beta | production | legacy
49
+ --rules-dir <dir> Rule pack directory (default bundled rules/)
50
+ --config <file> Explicit .usa.yaml location
51
+
52
+ coverage options
53
+ --format <fmt> md | json (default md)
54
+ --profile <stage> auto | prototype | mvp | beta | production | legacy
55
+ --rules-dir <dir> Rule pack directory (default bundled rules/)
56
+ --config <file> Explicit .usa.yaml location
57
+
58
+ examples
59
+ usa docs audit . --out DOC-AUDIT.md
60
+ usa docs audit . --fail-on medium # CI-equivalent gate
61
+ usa docs impact . --changed src/api/users.ts --changed .env.example
62
+ usa docs impact . --describe docs/api/users.md
63
+ usa docs coverage . --format json
64
+ `.trim();
65
+ /* ----------------------------------------------------------------- shared -- */
66
+ const MATURITIES = ['prototype', 'mvp', 'beta', 'production', 'legacy'];
67
+ function validateProfile(arg) {
68
+ if (arg === undefined || arg === 'auto')
69
+ return null;
70
+ if (!MATURITIES.includes(arg)) {
71
+ return `--profile must be auto or one of ${MATURITIES.join('|')}`;
72
+ }
73
+ return null;
74
+ }
75
+ /** Comma list of 0..4 → sorted unique tiers; error message on bad input. */
76
+ function parseTiers(raw) {
77
+ if (raw === undefined)
78
+ return {};
79
+ const tiers = [...new Set(raw.split(',').map((s) => Number(s.trim())))].filter((n) => Number.isInteger(n));
80
+ if (tiers.length === 0 || tiers.some((n) => n < 0 || n > 4)) {
81
+ return { error: '--tiers must be a comma separated list of integers 0..4' };
82
+ }
83
+ return { tiers: tiers.sort((a, b) => a - b) };
84
+ }
85
+ /** Mirrors EXPECTED_TIERS (docs-taxonomy.ts) — one place for the CLI view. */
86
+ function defaultTiersFor(maturity) {
87
+ switch (maturity) {
88
+ case 'mvp':
89
+ return [0, 1, 2];
90
+ case 'beta':
91
+ return [0, 1, 2, 3];
92
+ case 'production':
93
+ return [0, 1, 2, 3, 4];
94
+ default:
95
+ return [0, 1];
96
+ }
97
+ }
98
+ /** Shared load; `error` means the caller prints it and returns 2. */
99
+ function loadContext(target, args) {
100
+ if (!fs.existsSync(target)) {
101
+ return { error: `Target path does not exist: ${target}` };
102
+ }
103
+ const rulesDir = path.resolve(str(args, 'rules-dir', DEFAULT_RULES_DIR) ?? DEFAULT_RULES_DIR);
104
+ let config;
105
+ try {
106
+ config = loadConfig(target, str(args, 'config'));
107
+ }
108
+ catch (err) {
109
+ return { error: err.message };
110
+ }
111
+ const { context, taxonomy, warnings } = loadDocAuditContext(target, rulesDir, [
112
+ ...list(args, 'fact'),
113
+ ...(config.facts ?? []),
114
+ ]);
115
+ for (const w of warnings)
116
+ console.error(`warning: ${w}`);
117
+ if (!context || !taxonomy) {
118
+ return { error: 'Documentation universe unavailable (see warnings above).' };
119
+ }
120
+ return { ctx: context, taxonomy };
121
+ }
122
+ function resolveMaturity(ctx, arg) {
123
+ return (arg && arg !== 'auto' ? arg : ctx.maturity);
124
+ }
125
+ function buildResult(target, ctx, taxonomy, maturity, tiers, changed) {
126
+ return runDocAudit({
127
+ project: ctx.project,
128
+ facts: ctx.facts,
129
+ taxonomy,
130
+ maturity,
131
+ usaVersion: VERSION,
132
+ target: resolveTargetLabel(target),
133
+ commit: ctx.commit,
134
+ gitTags: ctx.gitTags,
135
+ tiers,
136
+ changedFiles: changed.length > 0 ? changed : undefined,
137
+ });
138
+ }
139
+ /* ----------------------------------------------------------------- audit -- */
140
+ export function cmdDocsAudit(args) {
141
+ const target = args._[2] ?? '.';
142
+ const out = str(args, 'out', 'DOC-AUDIT.md') ?? 'DOC-AUDIT.md';
143
+ if (!dryRunWrites(args, [out]))
144
+ return 0;
145
+ const loaded = loadContext(target, args);
146
+ if ('error' in loaded) {
147
+ console.error(loaded.error);
148
+ return 2;
149
+ }
150
+ const { ctx, taxonomy } = loaded;
151
+ const { maturity, expectedTiers, error } = resolveAuditArgs(args, ctx);
152
+ if (error) {
153
+ console.error(error);
154
+ return 2;
155
+ }
156
+ const result = buildResult(target, ctx, taxonomy, maturity, expectedTiers, list(args, 'changed'));
157
+ const rendered = renderAudit(result, resolveFormat(args, out));
158
+ if (rendered === null) {
159
+ console.error('--format must be md or json');
160
+ return 2;
161
+ }
162
+ if (!writeReport(out, rendered))
163
+ return 2;
164
+ if (!bool(args, 'quiet')) {
165
+ console.log(`usa docs audit (${maturity}, tiers ${expectedTiers.join(',')}) — ${summarize(result)}`);
166
+ console.log(` report → ${out}`);
167
+ }
168
+ return evaluateGateForFindings(result.findings, failOnArg(args), bool(args, 'quiet'));
169
+ }
170
+ /** Profile + tiers validation and resolution (one place for both flags). */
171
+ function resolveAuditArgs(args, ctx) {
172
+ const invalid = validateProfile(str(args, 'profile'));
173
+ if (invalid)
174
+ return { maturity: ctx.maturity, expectedTiers: [], error: invalid };
175
+ const maturity = resolveMaturity(ctx, str(args, 'profile'));
176
+ const { tiers, error } = parseTiers(str(args, 'tiers'));
177
+ if (error)
178
+ return { maturity, expectedTiers: [], error };
179
+ return { maturity, expectedTiers: tiers ?? defaultTiersFor(maturity) };
180
+ }
181
+ function writeReport(out, rendered) {
182
+ try {
183
+ writeTextFile(out, rendered);
184
+ return true;
185
+ }
186
+ catch (err) {
187
+ console.error(err.message);
188
+ return false;
189
+ }
190
+ }
191
+ function failOnArg(args) {
192
+ return (str(args, 'fail-on', 'none') ?? 'none').toLowerCase();
193
+ }
194
+ /** Explicit --format wins; otherwise the output extension decides. */
195
+ function resolveFormat(args, out) {
196
+ return (str(args, 'format') ?? (path.extname(out).toLowerCase() === '.json' ? 'json' : 'md')).toLowerCase();
197
+ }
198
+ /** null = unsupported format (the caller reports the usage error). */
199
+ function renderAudit(result, fmt) {
200
+ if (fmt === 'json') {
201
+ // JSON is for machines: deterministic bytes, no wall-clock stamp.
202
+ return JSON.stringify(result, null, 2);
203
+ }
204
+ if (fmt === 'md')
205
+ return renderDocAuditMd(result, todayStamp());
206
+ return null;
207
+ }
208
+ function summarize(result) {
209
+ const t = result.totals;
210
+ const failing = result.invariants.filter((i) => i.status === 'FAIL').length;
211
+ return (`${t.present}/${t.applicable} applicable artifacts present, ${t.missing} missing, ` +
212
+ `${failing} invariant(s) failing, ${result.findings.length} open finding(s)`);
213
+ }
214
+ function todayStamp() {
215
+ return new Date().toISOString().slice(0, 10);
216
+ }
217
+ /* ---------------------------------------------------------------- impact -- */
218
+ export function cmdDocsImpact(args) {
219
+ const invalid = validateProfile(str(args, 'profile'));
220
+ if (invalid) {
221
+ console.error(invalid);
222
+ return 2;
223
+ }
224
+ const target = args._[2] ?? '.';
225
+ const changed = list(args, 'changed');
226
+ const describe = str(args, 'describe');
227
+ if (changed.length === 0 && !describe) {
228
+ console.error('usage: usa docs impact <path> --changed <file> [--changed <file> ...] | --describe <file>');
229
+ return 2;
230
+ }
231
+ const loaded = loadContext(target, args);
232
+ if ('error' in loaded) {
233
+ console.error(loaded.error);
234
+ return 2;
235
+ }
236
+ const { ctx, taxonomy } = loaded;
237
+ const maturity = resolveMaturity(ctx, str(args, 'profile'));
238
+ const fmt = (str(args, 'format') ?? 'md').toLowerCase();
239
+ if (describe) {
240
+ printDescribe(ctx, taxonomy, describe, fmt);
241
+ return 0;
242
+ }
243
+ const result = buildResult(target, ctx, taxonomy, maturity, defaultTiersFor(maturity), changed);
244
+ if (!result.impact) {
245
+ console.error('no impact computed (no changed files)');
246
+ return 2;
247
+ }
248
+ console.log(fmt === 'json' ? impactJson(result.impact) : impactMd(target, maturity, result.impact));
249
+ return 0;
250
+ }
251
+ function impactJson(imp) {
252
+ return JSON.stringify({
253
+ schema: 'usa-doc-impact-v1',
254
+ changed: imp.changed,
255
+ affected: imp.affected.map((e) => ({
256
+ id: e.artifact.id,
257
+ name: e.artifact.name,
258
+ category: e.artifact.cat,
259
+ tier: e.artifact.tier,
260
+ crossCategory: e.crossCategory,
261
+ reasons: e.reasons,
262
+ triggeredBy: e.triggeredBy,
263
+ })),
264
+ noImpact: imp.noImpact,
265
+ edgesTraversed: imp.edgesTraversed,
266
+ }, null, 2);
267
+ }
268
+ function impactMd(target, maturity, imp) {
269
+ const L = [];
270
+ L.push(`# Documentation impact — ${resolveTargetLabel(target)} (${maturity})`);
271
+ L.push('');
272
+ L.push(`Changed files: ${imp.changed.length} · affected artifacts: ${imp.affected.length} · edges traversed: ${imp.edgesTraversed}`);
273
+ L.push('');
274
+ if (imp.affected.length === 0) {
275
+ L.push('No documentation impact detected for this change set.');
276
+ }
277
+ else {
278
+ for (const e of imp.affected) {
279
+ const cross = e.crossCategory ? ' [cross-category]' : '';
280
+ L.push(`# ${e.artifact.id} ${e.artifact.name} (${e.artifact.cat}, tier ${e.artifact.tier})${cross}`);
281
+ for (const r of e.reasons)
282
+ L.push(` - ${r}`);
283
+ }
284
+ }
285
+ if (imp.noImpact.length > 0) {
286
+ L.push('');
287
+ L.push(`No documentation impact detected for: ${imp.noImpact.join(', ')}`);
288
+ }
289
+ L.push('');
290
+ L.push('Conservative by design: prefer a flagged doc over a stale one. Update the listed artifacts (or add a taxonomy edge) and re-run.');
291
+ return L.join('\n');
292
+ }
293
+ function printDescribe(ctx, taxonomy, file, fmt) {
294
+ const d = describeFile(taxonomy, ctx.facts, file);
295
+ if (fmt === 'json') {
296
+ console.log(JSON.stringify({
297
+ schema: 'usa-doc-describe-v1',
298
+ file: d.file,
299
+ invalidates: d.invalidates.map((a) => a.id),
300
+ documents: d.documents.map((a) => a.id),
301
+ downstream: d.downstream.map((a) => a.id),
302
+ }, null, 2));
303
+ return;
304
+ }
305
+ console.log(`# Documentation relationship — ${file}`);
306
+ console.log();
307
+ console.log(`Invalidates (${d.invalidates.length}):`);
308
+ for (const a of d.invalidates)
309
+ console.log(` - #${a.id} ${a.name} (${a.cat}, tier ${a.tier})`);
310
+ console.log(`Documents (${d.documents.length}):`);
311
+ for (const a of d.documents)
312
+ console.log(` - #${a.id} ${a.name} (${a.cat}, tier ${a.tier})`);
313
+ console.log(`Downstream (${d.downstream.length}):`);
314
+ for (const a of d.downstream)
315
+ console.log(` - #${a.id} ${a.name} (${a.cat}, tier ${a.tier})`);
316
+ }
317
+ /* --------------------------------------------------------------- coverage -- */
318
+ export function cmdDocsCoverage(args) {
319
+ const invalid = validateProfile(str(args, 'profile'));
320
+ if (invalid) {
321
+ console.error(invalid);
322
+ return 2;
323
+ }
324
+ const target = args._[2] ?? '.';
325
+ const loaded = loadContext(target, args);
326
+ if ('error' in loaded) {
327
+ console.error(loaded.error);
328
+ return 2;
329
+ }
330
+ const { ctx, taxonomy } = loaded;
331
+ const maturity = resolveMaturity(ctx, str(args, 'profile'));
332
+ const result = buildResult(target, ctx, taxonomy, maturity, defaultTiersFor(maturity), []);
333
+ const fmt = (str(args, 'format') ?? 'md').toLowerCase();
334
+ if (fmt === 'json') {
335
+ console.log(coverageJson(result));
336
+ return 0;
337
+ }
338
+ console.log(coverageMd(result));
339
+ return 0;
340
+ }
341
+ function coverageJson(result) {
342
+ return JSON.stringify({
343
+ schema: 'usa-doc-coverage-v1',
344
+ target: result.target,
345
+ maturity: result.maturity,
346
+ expectedTiers: result.expectedTiers,
347
+ totals: result.totals,
348
+ coverage: result.coverage,
349
+ categories: result.inventory.map((c) => ({
350
+ id: c.id,
351
+ name: c.name,
352
+ present: c.present,
353
+ missing: c.missing,
354
+ manual: c.manual,
355
+ artifacts: c.entries.map((e) => ({
356
+ id: e.artifact.id,
357
+ name: e.artifact.name,
358
+ tier: e.artifact.tier,
359
+ kind: e.artifact.kind,
360
+ status: e.status,
361
+ files: e.files.slice(0, 5),
362
+ })),
363
+ })),
364
+ }, null, 2);
365
+ }
366
+ function coverageMd(result) {
367
+ const t2 = result.totals;
368
+ const L = [];
369
+ L.push(`# Documentation coverage — ${result.target} (${result.maturity})`);
370
+ L.push('');
371
+ L.push(`Totals: ${t2.present} present, ${t2.missing} missing, ${t2.manual} manual, ` +
372
+ `${t2.notApplicable} not applicable (of ${t2.applicable} applicable, ${t2.artifacts} known).`);
373
+ L.push('');
374
+ L.push('| Tier | Applicable | Present | Missing | Manual | Expected |');
375
+ L.push('| ---- | ---------- | ------- | ------- | ------ | -------- |');
376
+ for (const c of result.coverage) {
377
+ L.push(`| ${c.tier} | ${c.applicable} | ${c.present} | ${c.missing} | ${c.manual} | ` +
378
+ `${result.expectedTiers.includes(c.tier) ? 'yes' : 'no'} |`);
379
+ }
380
+ L.push('');
381
+ for (const c of result.inventory) {
382
+ L.push(`${c.id} · ${c.name} — ${c.present} present / ${c.missing} missing / ${c.manual} manual`);
383
+ for (const e of c.entries) {
384
+ if (e.status === 'NOT_APPLICABLE')
385
+ continue;
386
+ const icon = e.status === 'PRESENT' ? '✅' : e.status === 'MISSING' ? '🚫' : '🖐️';
387
+ const flag = e.expected && e.status === 'MISSING' ? ' (expected)' : '';
388
+ L.push(` ${icon} ${e.artifact.id.toString().padStart(3)} ${e.artifact.name} [t${e.artifact.tier} · ${e.artifact.kind}]${flag}`);
389
+ }
390
+ }
391
+ return L.join('\n');
392
+ }
393
+ /* ---------------------------------------------------------------- dispatch -- */
394
+ export function cmdDocs(args) {
395
+ if (bool(args, 'help')) {
396
+ console.log(DOCS_HELP_TEXT);
397
+ return 0;
398
+ }
399
+ const sub = args._[1];
400
+ switch (sub) {
401
+ case 'audit':
402
+ return cmdDocsAudit(args);
403
+ case 'impact':
404
+ return cmdDocsImpact(args);
405
+ case 'coverage':
406
+ return cmdDocsCoverage(args);
407
+ case undefined:
408
+ console.log(DOCS_HELP_TEXT);
409
+ return 0;
410
+ default:
411
+ console.error(`Unknown docs subcommand: ${sub}\n`);
412
+ console.error(DOCS_HELP_TEXT);
413
+ return 2;
414
+ }
415
+ }
416
+ //# sourceMappingURL=cli-docs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-docs.js","sourceRoot":"","sources":["../src/cli-docs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,iBAAiB,EACjB,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,IAAI,EACJ,GAAG,GAEJ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,GAGZ,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD;;;;;;;;;;GAUG;AACH,gFAAgF;AAEhF,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2C7B,CAAC,IAAI,EAAE,CAAC;AAET,iFAAiF;AAEjF,MAAM,UAAU,GAAe,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;AAEpF,SAAS,eAAe,CAAC,GAAuB;IAC9C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACrD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAe,CAAC,EAAE,CAAC;QAC1C,OAAO,oCAAoC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACpE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,4EAA4E;AAC5E,SAAS,UAAU,CAAC,GAAuB;IACzC,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACnF,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CACpB,CAAC;IACF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC5D,OAAO,EAAE,KAAK,EAAE,yDAAyD,EAAE,CAAC;IAC9E,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;AAChD,CAAC;AAED,8EAA8E;AAC9E,SAAS,eAAe,CAAC,QAAkB;IACzC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,KAAK;YACR,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACtB,KAAK,YAAY;YACf,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACzB;YACE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAOD,qEAAqE;AACrE,SAAS,WAAW,CAAC,MAAc,EAAE,IAAU;IAC7C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,KAAK,EAAE,+BAA+B,MAAM,EAAE,EAAE,CAAC;IAC5D,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,iBAAiB,CAAC,IAAI,iBAAiB,CAAC,CAAC;IAC9F,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAC;IAC3C,CAAC;IACD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CAAC,MAAM,EAAE,QAAQ,EAAE;QAC5E,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;QACrB,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;KACxB,CAAC,CAAC;IACH,KAAK,MAAM,CAAC,IAAI,QAAQ;QAAE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACzD,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC1B,OAAO,EAAE,KAAK,EAAE,0DAA0D,EAAE,CAAC;IAC/E,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,eAAe,CAAC,GAAoB,EAAE,GAAuB;IACpE,OAAO,CAAC,GAAG,IAAI,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAa,CAAC;AAClE,CAAC;AAED,SAAS,WAAW,CAClB,MAAc,EACd,GAAoB,EACpB,QAAqB,EACrB,QAAkB,EAClB,KAAe,EACf,OAAiB;IAEjB,OAAO,WAAW,CAAC;QACjB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,QAAQ;QACR,QAAQ;QACR,UAAU,EAAE,OAAO;QACnB,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC;QAClC,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,KAAK;QACL,YAAY,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;KACvD,CAAC,CAAC;AACL,CAAC;AAED,gFAAgF;AAEhF,MAAM,UAAU,YAAY,CAAC,IAAU;IACrC,MAAM,MAAM,GAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAwB,IAAI,GAAG,CAAC;IACxD,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,IAAI,cAAc,CAAC;IAC/D,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC;IAEzC,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACzC,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IACjC,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACvE,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAClG,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/D,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC7C,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC;QAAE,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CACT,mBAAmB,QAAQ,WAAW,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,SAAS,CAAC,MAAM,CAAC,EAAE,CACxF,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,uBAAuB,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AACxF,CAAC;AAED,4EAA4E;AAC5E,SAAS,gBAAgB,CACvB,IAAU,EACV,GAAoB;IAEpB,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IACtD,IAAI,OAAO;QAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAClF,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAC5D,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,IAAI,KAAK;QAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;IACzD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;AACzE,CAAC;AAED,SAAS,WAAW,CAAC,GAAW,EAAE,QAAgB;IAChD,IAAI,CAAC;QACH,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAU;IAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;AAChE,CAAC;AAED,sEAAsE;AACtE,SAAS,aAAa,CAAC,IAAU,EAAE,GAAW;IAC5C,OAAO,CACL,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CACrF,CAAC,WAAW,EAAE,CAAC;AAClB,CAAC;AAED,sEAAsE;AACtE,SAAS,WAAW,CAAC,MAAsB,EAAE,GAAW;IACtD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,kEAAkE;QAClE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IAChE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,SAAS,CAAC,MAAsB;IACvC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACxB,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAC5E,OAAO,CACL,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,UAAU,kCAAkC,CAAC,CAAC,OAAO,YAAY;QACnF,GAAG,OAAO,0BAA0B,MAAM,CAAC,QAAQ,CAAC,MAAM,kBAAkB,CAC7E,CAAC;AACJ,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,gFAAgF;AAEhF,MAAM,UAAU,aAAa,CAAC,IAAU;IACtC,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IACtD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,MAAM,GAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAwB,IAAI,GAAG,CAAC;IACxD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACvC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtC,OAAO,CAAC,KAAK,CACX,2FAA2F,CAC5F,CAAC;QACF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACzC,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IACjC,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAExD,IAAI,QAAQ,EAAE,CAAC;QACb,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC5C,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;IAChG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACvD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,CAAC,GAAG,CACT,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CACvF,CAAC;IACF,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,UAAU,CAAC,GAA0C;IAC5D,OAAO,IAAI,CAAC,SAAS,CACnB;QACE,MAAM,EAAE,mBAAmB;QAC3B,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE;YACjB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI;YACrB,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG;YACxB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI;YACrB,aAAa,EAAE,CAAC,CAAC,aAAa;YAC9B,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,WAAW,EAAE,CAAC,CAAC,WAAW;SAC3B,CAAC,CAAC;QACH,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,cAAc,EAAE,GAAG,CAAC,cAAc;KACnC,EACD,IAAI,EACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CACf,MAAc,EACd,QAAgB,EAChB,GAA0C;IAE1C,MAAM,CAAC,GAAa,EAAE,CAAC;IACvB,CAAC,CAAC,IAAI,CAAC,4BAA4B,kBAAkB,CAAC,MAAM,CAAC,KAAK,QAAQ,GAAG,CAAC,CAAC;IAC/E,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACX,CAAC,CAAC,IAAI,CACJ,kBAAkB,GAAG,CAAC,OAAO,CAAC,MAAM,0BAA0B,GAAG,CAAC,QAAQ,CAAC,MAAM,uBAAuB,GAAG,CAAC,cAAc,EAAE,CAC7H,CAAC;IACF,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACX,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,CAAC,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,CAAC,CAAC,IAAI,CACJ,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,EAAE,CAC7F,CAAC;YACF,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO;gBAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACX,CAAC,CAAC,IAAI,CAAC,yCAAyC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;IACD,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACX,CAAC,CAAC,IAAI,CACJ,iIAAiI,CAClI,CAAC;IACF,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,aAAa,CACpB,GAAoB,EACpB,QAAqB,EACrB,IAAY,EACZ,GAAW;IAEX,MAAM,CAAC,GAAG,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAClD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ;YACE,MAAM,EAAE,qBAAqB;YAC7B,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1C,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;QACF,OAAO;IACT,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,EAAE,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC;IACtD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW;QAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IAChG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC;IAClD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS;QAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IAC9F,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC;IACpD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU;QAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;AACjG,CAAC;AAED,iFAAiF;AAEjF,MAAM,UAAU,eAAe,CAAC,IAAU;IACxC,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IACtD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,MAAM,GAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAwB,IAAI,GAAG,CAAC;IACxD,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACzC,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IACjC,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3F,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IACxD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAClC,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAChC,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,YAAY,CAAC,MAAsB;IAC1C,OAAO,IAAI,CAAC,SAAS,CACnB;QACE,MAAM,EAAE,qBAAqB;QAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvC,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC/B,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE;gBACjB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI;gBACrB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI;gBACrB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI;gBACrB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aAC3B,CAAC,CAAC;SACJ,CAAC,CAAC;KACJ,EACD,IAAI,EACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,MAAsB;IACxC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,MAAM,CAAC,GAAa,EAAE,CAAC;IACvB,CAAC,CAAC,IAAI,CAAC,8BAA8B,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;IAC3E,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACX,CAAC,CAAC,IAAI,CACJ,WAAW,EAAE,CAAC,OAAO,aAAa,EAAE,CAAC,OAAO,aAAa,EAAE,CAAC,MAAM,WAAW;QAC3E,GAAG,EAAE,CAAC,aAAa,uBAAuB,EAAE,CAAC,UAAU,gBAAgB,EAAE,CAAC,SAAS,UAAU,CAChG,CAAC;IACF,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACX,CAAC,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;IACxE,CAAC,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;IACxE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,CAAC,CAAC,IAAI,CACJ,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,KAAK;YAC5E,GAAG,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAC9D,CAAC;IACJ,CAAC;IACD,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACX,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACjC,CAAC,CAAC,IAAI,CACJ,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,SAAS,CACzF,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,CAAC,MAAM,KAAK,gBAAgB;gBAAE,SAAS;YAC5C,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;YAClF,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,CAAC,CAAC,IAAI,CACJ,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,EAAE,CACzH,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC;AAED,kFAAkF;AAElF,MAAM,UAAU,OAAO,CAAC,IAAU;IAChC,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC5B,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAuB,CAAC;IAC5C,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,OAAO;YACV,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5B,KAAK,QAAQ;YACX,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;QAC7B,KAAK,UAAU;YACb,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;QAC/B,KAAK,SAAS;YACZ,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC5B,OAAO,CAAC,CAAC;QACX;YACE,OAAO,CAAC,KAAK,CAAC,4BAA4B,GAAG,IAAI,CAAC,CAAC;YACnD,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC9B,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cli-help.d.ts","sourceRoot":"","sources":["../src/cli-help.ts"],"names":[],"mappings":"AAAA,iGAAiG;AAEjG,eAAO,MAAM,gBAAgB,QAOrB,CAAC;AAET,eAAO,MAAM,cAAc,QAcnB,CAAC;AAET,eAAO,MAAM,IAAI,QA+GT,CAAC;AAET,eAAO,MAAM,iBAAiB,mbAmB7B,CAAC"}
1
+ {"version":3,"file":"cli-help.d.ts","sourceRoot":"","sources":["../src/cli-help.ts"],"names":[],"mappings":"AAAA,iGAAiG;AAEjG,eAAO,MAAM,gBAAgB,QAOrB,CAAC;AAET,eAAO,MAAM,cAAc,QAcnB,CAAC;AAET,eAAO,MAAM,IAAI,QAiIT,CAAC;AAET,eAAO,MAAM,iBAAiB,mbAmB7B,CAAC"}
package/dist/cli-help.js CHANGED
@@ -26,6 +26,9 @@ export const HELP = `
26
26
  usa — Universal Software Auditor
27
27
 
28
28
  usa audit [path] Audit a project and write a Markdown report
29
+ usa docs audit [path] Documentation universe audit (14 categories, 220 artifacts)
30
+ usa docs impact [path] Which documentation a change affects (semantic model)
31
+ usa docs coverage [path] Documentation coverage report against the taxonomy
29
32
  usa detect [path] Print the auto-detected facts and maturity
30
33
  usa rules [--section S2] List all loaded rule packs and rules
31
34
  usa explain <RULE-ID> Show everything about one rule
@@ -92,6 +95,19 @@ serve options
92
95
  --allow-root <dir> Auditable root, repeatable (default: working directory)
93
96
  --data-dir <dir> Persist finished audits here (default: memory only)
94
97
 
98
+ docs options (usa docs audit | impact | coverage)
99
+ --out <file> Report path for audit (default DOC-AUDIT.md)
100
+ --format <fmt> md | json (default md)
101
+ --fail-on <sev> audit only: exit 1 on findings >= sev
102
+ (same gate as CI; none|critical|high|medium|low)
103
+ --changed <file> audit/impact: changed file (repeatable, or comma separated)
104
+ --describe <file> impact: show one file's documentation relationship
105
+ --tiers <list> audit: expected tiers, comma separated (default by maturity)
106
+ --profile <stage> auto | prototype | mvp | beta | production | legacy
107
+ --rules-dir <dir> Rule pack directory (default bundled rules/)
108
+ --config <file> Explicit .usa.yaml location
109
+ --dry-run audit only: print the report path that would be written
110
+
95
111
  audit options
96
112
  --dry-run Print the report path that would be written and exit
97
113
  --out <file> Report path (default AUDIT.md)
@@ -102,6 +118,8 @@ audit options
102
118
  --config <file> Explicit .usa.yaml location
103
119
  --include <packs> Force these packs on (comma separated)
104
120
  --exclude <packs> Force these packs off
121
+ --docs-universe Include the documentation universe audit (DOCU-* findings in S12;
122
+ also via .usa.yaml \`docs.universe: true\`)
105
123
  --fact <ns:value> Assert a fact detection missed, e.g. --fact has:database
106
124
  --allow-commands Run \`command:\` checks (shells out; off by default)
107
125
  --fail-on <sev> Exit 1 on findings >= sev: critical|high|medium|low|none
@@ -1 +1 @@
1
- {"version":3,"file":"cli-help.js","sourceRoot":"","sources":["../src/cli-help.ts"],"names":[],"mappings":"AAAA,iGAAiG;AAEjG,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;CAO/B,CAAC,IAAI,EAAE,CAAC;AAET,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;CAc7B,CAAC,IAAI,EAAE,CAAC;AAET,MAAM,CAAC,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+GnB,CAAC,IAAI,EAAE,CAAC;AAET,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;CAmBhC,CAAC;AAEF,6BAA6B;AAC7B,6EAA6E;AAC7E,8EAA8E;AAC9E,4EAA4E;AAC5E,6EAA6E;AAC7E,2EAA2E"}
1
+ {"version":3,"file":"cli-help.js","sourceRoot":"","sources":["../src/cli-help.ts"],"names":[],"mappings":"AAAA,iGAAiG;AAEjG,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;CAO/B,CAAC,IAAI,EAAE,CAAC;AAET,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;CAc7B,CAAC,IAAI,EAAE,CAAC;AAET,MAAM,CAAC,MAAM,IAAI,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiInB,CAAC,IAAI,EAAE,CAAC;AAET,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;CAmBhC,CAAC;AAEF,6BAA6B;AAC7B,6EAA6E;AAC7E,8EAA8E;AAC9E,4EAA4E;AAC5E,6EAA6E;AAC7E,2EAA2E"}
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAoDA,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA2B7D;AAID,+EAA+E;AAE/E,iBAAS,YAAY,CACnB,KAAK,GAAE,MAAM,GAAG,SAA2B,EAC3C,OAAO,GAAE,MAAwB,GAChC,OAAO,CAOT;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAuDA,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA2B7D;AAID,+EAA+E;AAE/E,iBAAS,YAAY,CACnB,KAAK,GAAE,MAAM,GAAG,SAA2B,EAC3C,OAAO,GAAE,MAAwB,GAChC,OAAO,CAOT;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
package/dist/cli.js CHANGED
@@ -5,6 +5,7 @@ import { VERSION, bool, parseArgs } from './cli-args.js';
5
5
  import { HELP } from './cli-help.js';
6
6
  import { loadEnvFile } from './util/env.js';
7
7
  import { cmdAudit } from './cli-audit.js';
8
+ import { cmdDocs } from './cli-docs.js';
8
9
  import { cmdDetect, cmdRules, cmdExplain, cmdStandards, cmdCategories } from './cli-query.js';
9
10
  import { cmdFoundation, cmdLive, cmdModels } from './cli-session.js';
10
11
  import { cmdDiff, cmdVerifyReport } from './cli-reports.js';
@@ -15,6 +16,7 @@ import { cmdServe } from './cli-serve.js';
15
16
  /* -------------------------------------------------------------------- main -- */
16
17
  const COMMANDS = {
17
18
  audit: cmdAudit,
19
+ docs: cmdDocs,
18
20
  detect: cmdDetect,
19
21
  rules: cmdRules,
20
22
  explain: cmdExplain,
@@ -38,6 +40,8 @@ function handleTopLevelFlags(args, cmd) {
38
40
  // used to print the generic help, orphaning LIVE_HELP_TEXT entirely.
39
41
  if (cmd === 'live')
40
42
  return cmdLive(args);
43
+ if (cmd === 'docs')
44
+ return cmdDocs(args);
41
45
  console.log(HELP);
42
46
  return 0;
43
47
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}