pm-ops 2026.8.10 → 2026.8.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 2026.8.16 - 2026-08-16
4
+
5
+ ### Added
6
+
7
+ - Measure the fleet's coverage and docstring quality as audited assurance bounds via a pm-ops quality measurement provider ([ops-a367](https://github.com/unbraind/pm-ops/blob/main/.agents/pm/features/ops-a367.toon))
8
+
3
9
  ## 2026.8.10 - 2026-08-10
4
10
 
5
11
  ### Fixed
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Assurance measurement provider that turns the fleet's pinned code-quality
3
+ * thresholds into audited bounds.
4
+ *
5
+ * Every fleet package historically hand-rolled a `scripts/coverage-gate.ts`
6
+ * with thresholds pinned under `coverageGate` in `package.json`. Lowering one
7
+ * was an ordinary diff: nothing in the workflow recorded *why* a number moved,
8
+ * and nothing proved the bound still meant anything. Under pm-cli's assurance
9
+ * surface, weakening a bound requires an `authorization_decision` naming a
10
+ * terminal Decision item the host verifies, and every non-dry gate verdict is
11
+ * appended to the immutable workspace history stream. That only bites if the
12
+ * quality numbers can be *measured* by an assurance provider, which is what
13
+ * this module exports.
14
+ *
15
+ * The provider reads a local lcov coverage report and the canonical docstring
16
+ * analyzer and reduces them to four measurement keys. It owns no quality
17
+ * thresholds itself — those live in assertions and gates the consuming
18
+ * workspace declares — but it refuses to be satisfied by a *stale* coverage
19
+ * report, because a gate that runs against yesterday's `lcov.info` after today's
20
+ * source edit is a gate that measures nothing.
21
+ *
22
+ * @see {@link https://github.com/unbraind/pm-cli/blob/main/docs/ASSURANCE.md ASSURANCE.md}
23
+ * for the measurement / assertion / gate vocabulary this provider plugs into.
24
+ */
25
+ import type { ExtensionApi } from "@unbrained/pm-cli/sdk/authoring";
26
+ /**
27
+ * Exact contract the host's `api.registerAssuranceMeasurementProvider`
28
+ * expects for one provider registration.
29
+ *
30
+ * `@unbrained/pm-cli` keeps this type on its internal
31
+ * `core/extensions/extension-types` module and does not yet re-export it
32
+ * through any public `sdk/*` barrel (the SDK only exposes it as the parameter
33
+ * of the registration method). Deriving it from that public method gives the
34
+ * identical, exact shape without reaching into `dist/` internals or
35
+ * hand-copying field names — if the SDK ever widens the method signature, this
36
+ * alias widens with it.
37
+ */
38
+ export type AssuranceMeasurementProviderDefinition = Parameters<ExtensionApi["registerAssuranceMeasurementProvider"]>[0];
39
+ /** Stable provider id used by measurement declarations and gate allow-lists. */
40
+ export declare const QUALITY_PROVIDER_ID = "pm-ops-quality";
41
+ /**
42
+ * The pm-ops quality assurance measurement provider.
43
+ *
44
+ * Registered through the `services` capability, it exposes four keys over a
45
+ * local lcov report and the canonical docstring analyzer. It declares no
46
+ * network use and a `medium` cost class so a trigger policy that caps work at
47
+ * `low` can decline it before invocation. Key ids use the hyphen form the pm-cli
48
+ * host requires for every stable lowercase id (`^[a-z0-9][a-z0-9-]*$`); the
49
+ * hyphen and underscore spellings name the same measurements.
50
+ */
51
+ export declare const qualityMeasurementProvider: AssuranceMeasurementProviderDefinition;
52
+ //# sourceMappingURL=assurance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assurance.d.ts","sourceRoot":"","sources":["../assurance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAKpE;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,sCAAsC,GAChD,UAAU,CAAC,YAAY,CAAC,sCAAsC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEtE,gFAAgF;AAChF,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AA+epD;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,EAAE,sCAgFtC,CAAC"}
@@ -0,0 +1,493 @@
1
+ /**
2
+ * Assurance measurement provider that turns the fleet's pinned code-quality
3
+ * thresholds into audited bounds.
4
+ *
5
+ * Every fleet package historically hand-rolled a `scripts/coverage-gate.ts`
6
+ * with thresholds pinned under `coverageGate` in `package.json`. Lowering one
7
+ * was an ordinary diff: nothing in the workflow recorded *why* a number moved,
8
+ * and nothing proved the bound still meant anything. Under pm-cli's assurance
9
+ * surface, weakening a bound requires an `authorization_decision` naming a
10
+ * terminal Decision item the host verifies, and every non-dry gate verdict is
11
+ * appended to the immutable workspace history stream. That only bites if the
12
+ * quality numbers can be *measured* by an assurance provider, which is what
13
+ * this module exports.
14
+ *
15
+ * The provider reads a local lcov coverage report and the canonical docstring
16
+ * analyzer and reduces them to four measurement keys. It owns no quality
17
+ * thresholds itself — those live in assertions and gates the consuming
18
+ * workspace declares — but it refuses to be satisfied by a *stale* coverage
19
+ * report, because a gate that runs against yesterday's `lcov.info` after today's
20
+ * source edit is a gate that measures nothing.
21
+ *
22
+ * @see {@link https://github.com/unbraind/pm-cli/blob/main/docs/ASSURANCE.md ASSURANCE.md}
23
+ * for the measurement / assertion / gate vocabulary this provider plugs into.
24
+ */
25
+ import { readFileSync, statSync } from "node:fs";
26
+ import { isAbsolute, join, relative, sep } from "node:path";
27
+ import { analyzeDocstringCoverage } from "./docstrings.js";
28
+ /** Stable provider id used by measurement declarations and gate allow-lists. */
29
+ export const QUALITY_PROVIDER_ID = "pm-ops-quality";
30
+ /**
31
+ * The four lcov dimensions this provider can reduce to a single percentage.
32
+ *
33
+ * lcov has native `LF`/`LH`, `BRF`/`BRH`, and `FNF`/`FNH` counters for lines,
34
+ * branches, and functions, but no native statement counter: statements are
35
+ * reconstructed from the per-line `DA:` records the reporter already emits.
36
+ */
37
+ const COVERAGE_DIMENSIONS = [
38
+ "lines",
39
+ "branches",
40
+ "functions",
41
+ "statements",
42
+ ];
43
+ /** Default lcov report path when a measurement omits the `report` parameter. */
44
+ const DEFAULT_REPORT = "coverage/lcov.info";
45
+ /** Default source root when a docstring measurement omits the `root` parameter. */
46
+ const DEFAULT_ROOT = ".";
47
+ /**
48
+ * Parse lcov text into one record per covered file.
49
+ *
50
+ * lcov delimits file sections with `SF:` and `end_of_record`. A well-formed
51
+ * report always pairs them, but real reporters occasionally omit the trailing
52
+ * `end_of_record` on the last section, so the parser flushes a pending record
53
+ * on the next `SF:` and once more at end-of-input rather than dropping it.
54
+ * `SF:` paths may be absolute or repo-relative; both are normalised to a
55
+ * repo-relative POSIX label resolved against `base`, matching how the package's
56
+ * own `coverage-gate.ts` reads them back.
57
+ */
58
+ function parseLcov(text, base) {
59
+ const records = [];
60
+ let file = "";
61
+ let sourcePath = "";
62
+ let linesFound = 0;
63
+ let linesHit = 0;
64
+ let branchesFound = 0;
65
+ let branchesHit = 0;
66
+ let functionsFound = 0;
67
+ let functionsHit = 0;
68
+ let statementsFound = 0;
69
+ let statementsHit = 0;
70
+ let started = false;
71
+ const flush = () => {
72
+ if (!started) {
73
+ return;
74
+ }
75
+ records.push({
76
+ file,
77
+ sourcePath,
78
+ linesFound,
79
+ linesHit,
80
+ branchesFound,
81
+ branchesHit,
82
+ functionsFound,
83
+ functionsHit,
84
+ statementsFound,
85
+ statementsHit,
86
+ });
87
+ started = false;
88
+ file = "";
89
+ sourcePath = "";
90
+ linesFound = 0;
91
+ linesHit = 0;
92
+ branchesFound = 0;
93
+ branchesHit = 0;
94
+ functionsFound = 0;
95
+ functionsHit = 0;
96
+ statementsFound = 0;
97
+ statementsHit = 0;
98
+ };
99
+ for (const rawLine of text.split("\n")) {
100
+ const line = rawLine.trimEnd();
101
+ if (line === "end_of_record") {
102
+ flush();
103
+ continue;
104
+ }
105
+ if (line.startsWith("SF:")) {
106
+ flush();
107
+ const raw = line.slice(3).trim();
108
+ const absolute = isAbsolute(raw) ? raw : join(base, raw);
109
+ file = relative(base, absolute).split(sep).join("/");
110
+ sourcePath = absolute;
111
+ started = true;
112
+ continue;
113
+ }
114
+ if (!started) {
115
+ continue;
116
+ }
117
+ if (line.startsWith("DA:")) {
118
+ // Each `DA:<line>,<count>[,<checksum>]` record is one instrumented
119
+ // statement: count it as found unconditionally and as hit when its
120
+ // execution count (the second field, never the line number) is > 0.
121
+ statementsFound++;
122
+ const firstComma = line.indexOf(",", 3);
123
+ const secondComma = firstComma === -1 ? -1 : line.indexOf(",", firstComma + 1);
124
+ const countEnd = secondComma === -1 ? line.length : secondComma;
125
+ const count = firstComma === -1
126
+ ? Number.NaN
127
+ : Number(line.slice(firstComma + 1, countEnd));
128
+ if (Number.isFinite(count) && count > 0) {
129
+ statementsHit++;
130
+ }
131
+ continue;
132
+ }
133
+ if (line.startsWith("LF:")) {
134
+ linesFound = countAfter(line, 3);
135
+ }
136
+ else if (line.startsWith("LH:")) {
137
+ linesHit = countAfter(line, 3);
138
+ }
139
+ else if (line.startsWith("BRF:")) {
140
+ branchesFound = countAfter(line, 4);
141
+ }
142
+ else if (line.startsWith("BRH:")) {
143
+ branchesHit = countAfter(line, 4);
144
+ }
145
+ else if (line.startsWith("FNF:")) {
146
+ functionsFound = countAfter(line, 4);
147
+ }
148
+ else if (line.startsWith("FNH:")) {
149
+ functionsHit = countAfter(line, 4);
150
+ }
151
+ }
152
+ flush();
153
+ return records;
154
+ }
155
+ /**
156
+ * Read the integer payload following an lcov count tag (`LF:42`).
157
+ *
158
+ * `tagLength` is the length of the tag including its colon. A malformed payload
159
+ * coerces to `0` rather than `NaN` so one corrupt line cannot poison an
160
+ * otherwise valid report into a non-finite percentage.
161
+ */
162
+ function countAfter(line, tagLength) {
163
+ return Number(line.slice(tagLength)) || 0;
164
+ }
165
+ /**
166
+ * Resolve a path-shaped provider parameter against the workspace base.
167
+ *
168
+ * Absolute paths are honoured as-is; relative paths resolve against the base so
169
+ * a measurement declared with the default `coverage/lcov.info` finds the report
170
+ * regardless of the process working directory the host happened to launch from.
171
+ * A non-string value falls back to the default rather than throwing, because the
172
+ * host has already validated the parameter against its declared `string` type.
173
+ */
174
+ function resolveParameterPath(value, fallback, base) {
175
+ const raw = typeof value === "string" ? value : fallback;
176
+ return isAbsolute(raw) ? raw : join(base, raw);
177
+ }
178
+ /**
179
+ * Best on-disk root for resolving relative report and source paths.
180
+ *
181
+ * The host populates `repo_root` and `source_workspace_root` from the Git root
182
+ * and the launch directory; `process.cwd()` is the last resort for direct unit
183
+ * tests that construct a context by hand.
184
+ */
185
+ function workspaceBase(context) {
186
+ return context.repo_root ?? context.source_workspace_root ?? process.cwd();
187
+ }
188
+ /**
189
+ * Reduce one record to the found/hit pair for the requested dimension.
190
+ *
191
+ * Statements are the only dimension reconstructed from `DA:` records rather than
192
+ * read from a native lcov counter, so they branch on the parsed field.
193
+ */
194
+ function dimensionCount(record, dimension) {
195
+ switch (dimension) {
196
+ case "lines":
197
+ return { found: record.linesFound, hit: record.linesHit };
198
+ case "branches":
199
+ return { found: record.branchesFound, hit: record.branchesHit };
200
+ case "functions":
201
+ return { found: record.functionsFound, hit: record.functionsHit };
202
+ case "statements":
203
+ return { found: record.statementsFound, hit: record.statementsHit };
204
+ }
205
+ }
206
+ /** Round a percentage to two decimals so verdicts carry stable, readable values. */
207
+ function roundPercent(value) {
208
+ return Math.round(value * 100) / 100;
209
+ }
210
+ /**
211
+ * Read and parse the lcov report, then refuse it if it is stale.
212
+ *
213
+ * A missing report fails with an actionable message rather than an opaque
214
+ * filesystem error, because the gate author needs to know the `report`
215
+ * parameter resolved to a path nothing wrote to. After parsing, the staleness
216
+ * refusal compares the report's mtime against every covered source; see
217
+ * {@link assertReportNotStale} for why that comparison is the provider's core
218
+ * security property.
219
+ */
220
+ function readCoverageReport(reportPath, base) {
221
+ let text;
222
+ try {
223
+ text = readFileSync(reportPath, "utf8");
224
+ }
225
+ catch {
226
+ throw new Error(`pm-ops-quality: coverage report not found at ${reportPath}. ` +
227
+ 'Provide the "report" parameter or generate the report by running the ' +
228
+ "test suite with an lcov reporter before evaluating the gate.");
229
+ }
230
+ const records = parseLcov(text, base);
231
+ assertReportNotStale(reportPath, records.map((record) => record.sourcePath));
232
+ return records;
233
+ }
234
+ /**
235
+ * Refuse a coverage report older than any source file it covers.
236
+ *
237
+ * This is the security property that makes the provider worth registering: a
238
+ * gate that reads a report file can be satisfied by a *stale* report — run the
239
+ * suite once at full coverage, edit the source, and the gate still passes
240
+ * against yesterday's numbers. Comparing the report's mtime against the mtime of
241
+ * every covered source (and only those, never wall-clock age) makes the verdict
242
+ * depend on *what changed* rather than on *when the gate ran*. If any covered
243
+ * source is newer than the report, resolution throws naming the offending file
244
+ * and both timestamps, so the verdict can never be computed from a stale report
245
+ * and can never silently downgrade to a pass.
246
+ *
247
+ * A source the report names but that no longer exists is skipped here: a missing
248
+ * file cannot be "newer", and the absence is already visible in the verdict's
249
+ * population and contributors. This check answers exactly one question — is the
250
+ * report behind the source tree? — and refuses only when it is.
251
+ */
252
+ function assertReportNotStale(reportPath, sourcePaths) {
253
+ const reportMtime = statSync(reportPath).mtimeMs;
254
+ const stale = [];
255
+ for (const source of sourcePaths) {
256
+ let info;
257
+ try {
258
+ info = statSync(source);
259
+ }
260
+ catch {
261
+ continue;
262
+ }
263
+ if (info.mtimeMs > reportMtime) {
264
+ stale.push({ source, mtime: info.mtimeMs });
265
+ }
266
+ }
267
+ if (stale.length === 0) {
268
+ return;
269
+ }
270
+ const reportIso = new Date(reportMtime).toISOString();
271
+ const offenders = stale
272
+ .map((entry) => ` ${entry.source} (modified ${new Date(entry.mtime).toISOString()})`)
273
+ .join("\n");
274
+ throw new Error(`pm-ops-quality: refusing a stale coverage report.\n` +
275
+ `The report ${reportPath} (modified ${reportIso}) is older than source ` +
276
+ "file(s) it covers, so its numbers no longer describe the current tree. " +
277
+ "Re-run the test suite to regenerate the report before evaluating the gate.\n" +
278
+ `Source files newer than the report:\n${offenders}`);
279
+ }
280
+ /**
281
+ * Resolve the `coverage_percent` measurement for one dimension.
282
+ *
283
+ * The percentage is the dimension's total hit over its total found across the
284
+ * whole report; the population denominator is that same total found, so a gate
285
+ * reading the receipt can tell a 100% over two hundred lines from a vacuous
286
+ * 100% over zero. Contributors are the repo-relative files still below full
287
+ * coverage on the requested dimension, sorted for deterministic verdicts.
288
+ */
289
+ function resolveCoveragePercent(context) {
290
+ const dimension = requireCoverageDimension(context.parameters.dimension);
291
+ const base = workspaceBase(context);
292
+ const reportPath = resolveParameterPath(context.parameters.report, DEFAULT_REPORT, base);
293
+ const records = readCoverageReport(reportPath, base);
294
+ let found = 0;
295
+ let hit = 0;
296
+ const contributors = [];
297
+ for (const record of records) {
298
+ const counts = dimensionCount(record, dimension);
299
+ found += counts.found;
300
+ hit += counts.hit;
301
+ if (counts.hit < counts.found) {
302
+ contributors.push(record.file);
303
+ }
304
+ }
305
+ contributors.sort();
306
+ const value = found === 0 ? 100 : roundPercent((hit / found) * 100);
307
+ return {
308
+ value,
309
+ population_size: found,
310
+ cost: records.length,
311
+ contributors,
312
+ };
313
+ }
314
+ /**
315
+ * Resolve the `uncovered_files` measurement.
316
+ *
317
+ * The value is the repo-relative set of files that are below full coverage on
318
+ * *any* dimension, so a gate can bound how many files still carry coverage debt
319
+ * without caring which dimension slipped. The population is every file in the
320
+ * report, so the receipt reads "3 of 41 files are not fully covered".
321
+ */
322
+ function resolveUncoveredFiles(context) {
323
+ const base = workspaceBase(context);
324
+ const reportPath = resolveParameterPath(context.parameters.report, DEFAULT_REPORT, base);
325
+ const records = readCoverageReport(reportPath, base);
326
+ // A file is "uncovered" when it falls short of full coverage on any one
327
+ // dimension; a dimension lcov reports as empty (`found` 0) is vacuously
328
+ // satisfied, so a branchless file can still be fully covered.
329
+ const uncovered = records
330
+ .filter((record) => record.linesHit < record.linesFound ||
331
+ record.branchesHit < record.branchesFound ||
332
+ record.functionsHit < record.functionsFound ||
333
+ record.statementsHit < record.statementsFound)
334
+ .map((record) => record.file)
335
+ .sort();
336
+ return {
337
+ value: uncovered,
338
+ population_size: records.length,
339
+ cost: records.length,
340
+ contributors: uncovered,
341
+ };
342
+ }
343
+ /**
344
+ * Resolve the `docstring_percent` measurement.
345
+ *
346
+ * Delegates to the canonical analyzer at {@link analyzeDocstringCoverage} rather
347
+ * than reimplementing it, so the fleet has exactly one docstring definition.
348
+ * The population is the count of documentable symbols and contributors are the
349
+ * `path:symbol` labels still missing a docstring, matching the analyzer's own
350
+ * violation output.
351
+ */
352
+ function resolveDocstringPercent(context) {
353
+ const base = workspaceBase(context);
354
+ const root = resolveParameterPath(context.parameters.root, DEFAULT_ROOT, base);
355
+ const report = analyzeDocstringCoverage({ root });
356
+ const total = report.declarations_checked;
357
+ const missing = report.violations.length;
358
+ const value = total === 0 ? 100 : roundPercent(((total - missing) / total) * 100);
359
+ const contributors = docstringContributors(report.violations);
360
+ return { value, population_size: total, cost: total, contributors };
361
+ }
362
+ /**
363
+ * Resolve the `undocumented_symbols` measurement.
364
+ *
365
+ * The value is the stable `path:symbol` label set for every symbol the analyzer
366
+ * flagged, so a gate can name exactly which declarations carry the debt. The
367
+ * population is the full documentable-symbol count, not just the violators, so
368
+ * the receipt distinguishes "5 of 5 undocumented" from "5 of 200 undocumented".
369
+ */
370
+ function resolveUndocumentedSymbols(context) {
371
+ const base = workspaceBase(context);
372
+ const root = resolveParameterPath(context.parameters.root, DEFAULT_ROOT, base);
373
+ const report = analyzeDocstringCoverage({ root });
374
+ const labels = docstringContributors(report.violations);
375
+ return {
376
+ value: labels,
377
+ population_size: report.declarations_checked,
378
+ cost: report.declarations_checked,
379
+ contributors: labels,
380
+ };
381
+ }
382
+ /**
383
+ * Build sorted `path:symbol` contributor labels from analyzer violations.
384
+ *
385
+ * Centralised so both docstring keys derive identical labels from the same
386
+ * violation stream; a future change to the label format changes both at once.
387
+ */
388
+ function docstringContributors(violations) {
389
+ return violations
390
+ .map((violation) => `${violation.file}:${violation.symbol}`)
391
+ .sort();
392
+ }
393
+ /**
394
+ * Validate and accept the required `dimension` parameter for `coverage_percent`.
395
+ *
396
+ * The host validates that a required parameter is *present* and *string-typed*,
397
+ * but it cannot validate the value domain, so an unknown dimension like
398
+ * `"loc"` would otherwise flow through to a percentage of nothing. This guard
399
+ * fails fast with the accepted vocabulary instead of returning a misleading 0%.
400
+ */
401
+ function requireCoverageDimension(value) {
402
+ if (typeof value !== "string") {
403
+ throw new Error('pm-ops-quality: key "coverage_percent" requires a string "dimension" ' +
404
+ `parameter; received ${value === null ? "null" : typeof value}.`);
405
+ }
406
+ if (!COVERAGE_DIMENSIONS.includes(value)) {
407
+ throw new Error(`pm-ops-quality: unknown coverage dimension "${value}". Expected one of: ` +
408
+ `${COVERAGE_DIMENSIONS.join(", ")}.`);
409
+ }
410
+ return value;
411
+ }
412
+ /**
413
+ * The pm-ops quality assurance measurement provider.
414
+ *
415
+ * Registered through the `services` capability, it exposes four keys over a
416
+ * local lcov report and the canonical docstring analyzer. It declares no
417
+ * network use and a `medium` cost class so a trigger policy that caps work at
418
+ * `low` can decline it before invocation. Key ids use the hyphen form the pm-cli
419
+ * host requires for every stable lowercase id (`^[a-z0-9][a-z0-9-]*$`); the
420
+ * hyphen and underscore spellings name the same measurements.
421
+ */
422
+ export const qualityMeasurementProvider = {
423
+ id: QUALITY_PROVIDER_ID,
424
+ cost_class: "medium",
425
+ network: false,
426
+ timeout_ms: 30_000,
427
+ keys: {
428
+ "coverage-percent": {
429
+ value_type: "number",
430
+ description: "Percentage covered for one lcov dimension across the whole report.",
431
+ parameters: {
432
+ dimension: {
433
+ type: "string",
434
+ required: true,
435
+ description: "One of lines, branches, functions, or statements.",
436
+ },
437
+ report: {
438
+ type: "string",
439
+ required: false,
440
+ description: "Path to an lcov report; defaults to coverage/lcov.info.",
441
+ },
442
+ },
443
+ },
444
+ "uncovered-files": {
445
+ value_type: "string_set",
446
+ description: "Repo-relative files that are not at 100% on every dimension.",
447
+ parameters: {
448
+ report: {
449
+ type: "string",
450
+ required: false,
451
+ description: "Path to an lcov report; defaults to coverage/lcov.info.",
452
+ },
453
+ },
454
+ },
455
+ "docstring-percent": {
456
+ value_type: "number",
457
+ description: "Percentage of documentable symbols carrying a docstring.",
458
+ parameters: {
459
+ root: {
460
+ type: "string",
461
+ required: false,
462
+ description: "Source root to scan; defaults to the workspace root.",
463
+ },
464
+ },
465
+ },
466
+ "undocumented-symbols": {
467
+ value_type: "string_set",
468
+ description: "Stable path:symbol labels for symbols missing a docstring.",
469
+ parameters: {
470
+ root: {
471
+ type: "string",
472
+ required: false,
473
+ description: "Source root to scan; defaults to the workspace root.",
474
+ },
475
+ },
476
+ },
477
+ },
478
+ resolve(context) {
479
+ switch (context.key) {
480
+ case "coverage-percent":
481
+ return resolveCoveragePercent(context);
482
+ case "uncovered-files":
483
+ return resolveUncoveredFiles(context);
484
+ case "docstring-percent":
485
+ return resolveDocstringPercent(context);
486
+ case "undocumented-symbols":
487
+ return resolveUndocumentedSymbols(context);
488
+ default:
489
+ throw new Error(`pm-ops-quality: provider does not declare key "${context.key}".`);
490
+ }
491
+ },
492
+ };
493
+ //# sourceMappingURL=assurance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assurance.js","sourceRoot":"","sources":["../assurance.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,16 @@
1
1
  import type { ExtensionApi } from "@unbrained/pm-cli/sdk/authoring";
2
+ import { type MergeDecisionReceipt } from "@unbrained/pm-cli/sdk/merge";
3
+ /**
4
+ * Project a receipt's requested preference side for the fleet view.
5
+ *
6
+ * The SDK's receipt reader normalizes every receipt it returns to carry
7
+ * `requested_preference`, folding the legacy schema-v1 `preferred` key and
8
+ * defaulting to `"ours"` when a receipt records neither — the exact chain
9
+ * `summarizeMergeReceipt` applies for committed-history summaries. Centralizing
10
+ * it here keeps the fleet view's field consistent with those summaries and
11
+ * gives the legacy/default arms a directly testable home.
12
+ */
13
+ export declare function receiptPreferredSide(receipt: Readonly<Pick<MergeDecisionReceipt, "requested_preference" | "preferred">>): "ours" | "theirs";
2
14
  interface RepoMetrics {
3
15
  path: string;
4
16
  repo: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAA0C,MAAM,iCAAiC,CAAC;AAg7D5G,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,wEAAwE;IACxE,sBAAsB,EAAE,MAAM,CAAC;IAC/B,sDAAsD;IACtD,yBAAyB,EAAE,MAAM,CAAC;IAClC,4EAA4E;IAC5E,sBAAsB,EAAE,MAAM,CAAC;IAC/B,wFAAwF;IACxF,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AA6KD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,IAAI,CA0BvE;;;;kBAqNe,YAAY"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAA0C,MAAM,iCAAiC,CAAC;AAY5G,OAAO,EAKL,KAAK,oBAAoB,EAG1B,MAAM,6BAA6B,CAAC;AAwnDrC;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EAAE,sBAAsB,GAAG,WAAW,CAAC,CAAC,GAClF,MAAM,GAAG,QAAQ,CAEnB;AAkTD,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,wEAAwE;IACxE,sBAAsB,EAAE,MAAM,CAAC;IAC/B,sDAAsD;IACtD,yBAAyB,EAAE,MAAM,CAAC;IAClC,4EAA4E;IAC5E,sBAAsB,EAAE,MAAM,CAAC;IAC/B,wFAAwF;IACxF,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AA6KD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,IAAI,CA0BvE;;;;kBAqNe,YAAY"}
package/dist/index.js CHANGED
@@ -7,6 +7,7 @@ import { fileURLToPath } from "node:url";
7
7
  import { encode } from "@toon-format/toon";
8
8
  import { listMergeReceipts, auditMergeDriverConfiguration, auditMergeAttributeFence, findGitWorkspaceRoot, } from "@unbrained/pm-cli/sdk/merge";
9
9
  import { analyzeDocstringCoverage } from "./docstrings.js";
10
+ import { qualityMeasurementProvider } from "./assurance.js";
10
11
  // ---------------------------------------------------------------------------
11
12
  // Error contract — mirror pm-cli SDK EXIT_CODE so the host treats thrown
12
13
  // CommandError as a clean non-zero exit instead of re-invoking the handler.
@@ -1279,8 +1280,13 @@ function renderAuditMarkdown(result) {
1279
1280
  * infrastructure directories `pm init` creates (extension-installed item
1280
1281
  * storage and the search index) that `pm merge install` deliberately does NOT
1281
1282
  * fence, so leaving them in would make the fence audit report perpetual
1282
- * `drift` on every healthy `pm init` + `pm merge install` clone. */
1283
- const MERGE_FENCE_EXCLUDED_DIRS = new Set(["schema", "history", "runtime", "locks", "extensions", "search"]);
1283
+ * `drift` on every healthy `pm init` + `pm merge install` clone. `merge-receipts`
1284
+ * is clone-local merge provenance the field-aware driver writes into the
1285
+ * tracker after a conflicted merge; it is not an item type, and `pm merge
1286
+ * install` does not fence it, so treating it as a type folder would flip a
1287
+ * freshly-installed fence to `drift` the moment any real merge records a
1288
+ * receipt. */
1289
+ const MERGE_FENCE_EXCLUDED_DIRS = new Set(["schema", "history", "runtime", "locks", "extensions", "search", "merge-receipts"]);
1284
1290
  /**
1285
1291
  * Enumerate the tracker item-type folders under a pm root so the merge-fence
1286
1292
  * audit compares the committed `.gitattributes` block against the types the
@@ -1294,6 +1300,19 @@ function discoverTypeFolders(pmRoot) {
1294
1300
  .map((entry) => entry.name)
1295
1301
  .sort();
1296
1302
  }
1303
+ /**
1304
+ * Project a receipt's requested preference side for the fleet view.
1305
+ *
1306
+ * The SDK's receipt reader normalizes every receipt it returns to carry
1307
+ * `requested_preference`, folding the legacy schema-v1 `preferred` key and
1308
+ * defaulting to `"ours"` when a receipt records neither — the exact chain
1309
+ * `summarizeMergeReceipt` applies for committed-history summaries. Centralizing
1310
+ * it here keeps the fleet view's field consistent with those summaries and
1311
+ * gives the legacy/default arms a directly testable home.
1312
+ */
1313
+ export function receiptPreferredSide(receipt) {
1314
+ return receipt.requested_preference ?? receipt.preferred ?? "ours";
1315
+ }
1297
1316
  /**
1298
1317
  * Project a clone-local {@link MergeDecisionReceipt} into the fleet report view,
1299
1318
  * preserving the current SDK path as both the display and raw audit value.
@@ -1305,7 +1324,7 @@ function toReceiptView(receipt) {
1305
1324
  item_path: receipt.item_path,
1306
1325
  item_path_raw: receipt.item_path,
1307
1326
  state: receipt.state,
1308
- preferred: receipt.preferred,
1327
+ preferred: receiptPreferredSide(receipt),
1309
1328
  fields_from_theirs: receipt.fields_from_theirs,
1310
1329
  union_fields: receipt.union_fields,
1311
1330
  decisions: receipt.decisions.map((d) => ({
@@ -1944,7 +1963,7 @@ function renderDocstringsMarkdown(result) {
1944
1963
  const defineExtension = (module) => module;
1945
1964
  export default defineExtension({
1946
1965
  name: "pm-ops",
1947
- version: "2026.8.10",
1966
+ version: "2026.8.16",
1948
1967
  activate(api) {
1949
1968
  if (typeof api.registerRenderer === "function") {
1950
1969
  // Derived from OPS_COMMAND_PATHS rather than restated. A literal copy is
@@ -1962,6 +1981,13 @@ export default defineExtension({
1962
1981
  api.registerRenderer("toon", renderCommandResult, rendererOwnership);
1963
1982
  api.registerRenderer("json", renderCommandResult, rendererOwnership);
1964
1983
  }
1984
+ // Expose the fleet's pinned code-quality thresholds as audited assurance
1985
+ // measurements so a bound can no longer move in an ordinary diff. The
1986
+ // provider reads a local lcov report and the canonical docstring analyzer;
1987
+ // it refuses a stale report, so weakening a coverage floor now requires the
1988
+ // same `authorization_decision` as any other bound regression. See
1989
+ // `./assurance.ts` for the key contract and the staleness refusal.
1990
+ api.registerAssuranceMeasurementProvider(qualityMeasurementProvider);
1965
1991
  api.registerCommand({
1966
1992
  name: "ops scan",
1967
1993
  description: "Scan a set of pm repositories and produce a per-repo release-readiness snapshot " +
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/manifest.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pm-ops",
3
- "version": "2026.8.10",
3
+ "version": "2026.8.16",
4
4
  "description": "Multi-repo fleet operations for pm-cli",
5
5
  "author": "@unbraind",
6
6
  "entry": "./dist/index.js",
@@ -9,7 +9,8 @@
9
9
  "commands",
10
10
  "renderers",
11
11
  "schema",
12
- "parser"
12
+ "parser",
13
+ "services"
13
14
  ],
14
15
  "pm": {
15
16
  "compatibility": "v2"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pm-ops",
3
- "version": "2026.8.10",
3
+ "version": "2026.8.16",
4
4
  "description": "Multi-repo fleet operations for pm-cli",
5
5
  "repository": {
6
6
  "type": "git",
@@ -21,6 +21,10 @@
21
21
  "./docstrings": {
22
22
  "types": "./dist/docstrings.d.ts",
23
23
  "default": "./dist/docstrings.js"
24
+ },
25
+ "./assurance": {
26
+ "types": "./dist/assurance.d.ts",
27
+ "default": "./dist/assurance.js"
24
28
  }
25
29
  },
26
30
  "files": [
@@ -54,11 +58,11 @@
54
58
  "typescript": "7.0.2"
55
59
  },
56
60
  "peerDependencies": {
57
- "@unbrained/pm-cli": ">=2026.7.31"
61
+ "@unbrained/pm-cli": ">=2026.8.13"
58
62
  },
59
63
  "devDependencies": {
60
64
  "@types/node": "^26.1.2",
61
- "@unbrained/pm-cli": "^2026.8.7",
65
+ "@unbrained/pm-cli": "2026.8.13",
62
66
  "c8": "^12.0.0",
63
67
  "pm-changelog": "^2026.8.7"
64
68
  },