@mmnto/cli 1.91.0 → 1.93.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 (52) hide show
  1. package/dist/commands/doctor-parity.d.ts +105 -1
  2. package/dist/commands/doctor-parity.d.ts.map +1 -1
  3. package/dist/commands/doctor-parity.js +406 -34
  4. package/dist/commands/doctor-parity.js.map +1 -1
  5. package/dist/commands/doctor-parity.test.js +423 -2
  6. package/dist/commands/doctor-parity.test.js.map +1 -1
  7. package/dist/commands/ecl-gc.test.js +20 -0
  8. package/dist/commands/ecl-gc.test.js.map +1 -1
  9. package/dist/commands/init-templates.d.ts +6 -2
  10. package/dist/commands/init-templates.d.ts.map +1 -1
  11. package/dist/commands/init-templates.js +63 -2
  12. package/dist/commands/init-templates.js.map +1 -1
  13. package/dist/commands/init.test.js +78 -3
  14. package/dist/commands/init.test.js.map +1 -1
  15. package/dist/commands/mail.d.ts.map +1 -1
  16. package/dist/commands/mail.js +36 -0
  17. package/dist/commands/mail.js.map +1 -1
  18. package/dist/commands/mail.test.js +77 -0
  19. package/dist/commands/mail.test.js.map +1 -1
  20. package/dist/commands/review-fan.d.ts +336 -0
  21. package/dist/commands/review-fan.d.ts.map +1 -0
  22. package/dist/commands/review-fan.js +1076 -0
  23. package/dist/commands/review-fan.js.map +1 -0
  24. package/dist/commands/review-fan.test.d.ts +2 -0
  25. package/dist/commands/review-fan.test.d.ts.map +1 -0
  26. package/dist/commands/review-fan.test.js +1184 -0
  27. package/dist/commands/review-fan.test.js.map +1 -0
  28. package/dist/commands/shield-covariate.test.d.ts +14 -0
  29. package/dist/commands/shield-covariate.test.d.ts.map +1 -0
  30. package/dist/commands/shield-covariate.test.js +84 -0
  31. package/dist/commands/shield-covariate.test.js.map +1 -0
  32. package/dist/commands/shield-eval.integration.test.js +57 -13
  33. package/dist/commands/shield-eval.integration.test.js.map +1 -1
  34. package/dist/commands/shield.d.ts +162 -3
  35. package/dist/commands/shield.d.ts.map +1 -1
  36. package/dist/commands/shield.js +342 -74
  37. package/dist/commands/shield.js.map +1 -1
  38. package/dist/commands/shield.test.js +169 -3
  39. package/dist/commands/shield.test.js.map +1 -1
  40. package/dist/git.d.ts +25 -0
  41. package/dist/git.d.ts.map +1 -1
  42. package/dist/git.js +50 -6
  43. package/dist/git.js.map +1 -1
  44. package/dist/git.test.js +119 -14
  45. package/dist/git.test.js.map +1 -1
  46. package/dist/index.js +24 -2
  47. package/dist/index.js.map +1 -1
  48. package/dist/orchestrators/orchestrator.d.ts +1 -0
  49. package/dist/orchestrators/orchestrator.d.ts.map +1 -1
  50. package/dist/orchestrators/orchestrator.js +1 -1
  51. package/dist/orchestrators/orchestrator.js.map +1 -1
  52. package/package.json +2 -2
@@ -36,8 +36,17 @@
36
36
  * unconfigured → exactly one `skip` line; configured-but-missing / unparseable /
37
37
  * unsupported-schema → `warn`, never a crash. Dynamic-import `@mmnto/totem` to
38
38
  * keep core off the CLI cold-start graph, matching the other doctor checks.
39
+ *
40
+ * The **trust-readout** (mmnto-ai/totem#2327, Prop 303 §5(a)) post-processes
41
+ * the flat per-line dump into the doctor's aggregate output contract: verdict
42
+ * rollup (per-seat + global, R1), the run-time coverage denominator (R2),
43
+ * why-not per non-pass row at the level probed (R3), the `--json` verdict
44
+ * artifact (R4), and the `--strict` declaredly-toothless honesty line (R5).
45
+ * Spec: mmnto-ai/totem-strategy:doctrine/parity-manifest.md § "The
46
+ * trust-readout — the doctor's output contract"; deltas raise there, never
47
+ * silently diverge. Pure post-processing — zero probes added.
39
48
  */
40
- import type { ParityContractVerdict } from '@mmnto/totem';
49
+ import type { ParityContract, ParityContractVerdict } from '@mmnto/totem';
41
50
  /**
42
51
  * A parity output line — the per-contract verdict plus its display name. Carries
43
52
  * the WIDER `ParityContractVerdict` status vocabulary (pass/warn/fail/info/
@@ -48,6 +57,37 @@ import type { ParityContractVerdict } from '@mmnto/totem';
48
57
  export interface ParityLine extends ParityContractVerdict {
49
58
  name: string;
50
59
  }
60
+ /** Prop 296 §6(a)2 senses-ladder rung a detector actually probed. */
61
+ export type SensesLevel = 'declared' | 'present' | 'loaded' | 'usable';
62
+ /**
63
+ * R2 coverage class for one contract — derived per run from the detector
64
+ * registry ∩ the manifest (the yaml deliberately carries no per-row sensed
65
+ * flag; Tenet 20). A contract whose detector exists but was scope-skipped this
66
+ * run still classifies `mechanical` — the registry implements it; the skip is
67
+ * a run-time verdict the rollup + why-not carry separately.
68
+ */
69
+ export type ReadoutCoverageClass = 'mechanical' | 'attestation-only' | 'honest-absent';
70
+ /** R3 reason class for one verdict line (`pass` lines omit theirs; `attestation` is raised Delta 3). */
71
+ export type ReadoutReasonClass = 'drift' | 'scoping-skip' | 'honest-absent' | 'detector-error' | 'attestation';
72
+ /**
73
+ * Per-contract readout metadata, tagged at the routing branch that senses the
74
+ * contract (single source — never re-derived from a mirrored registry, which
75
+ * would be the Tenet 20 drift hazard).
76
+ */
77
+ export interface ContractReadoutMeta {
78
+ coverage: ReadoutCoverageClass;
79
+ /** Absent when nothing was probed (attestation rows, honest-absent stubs). */
80
+ sensesProbed?: SensesLevel;
81
+ }
82
+ /** The trust-readout raw materials `checkParity` carries out of the manifest `ok` path. */
83
+ export interface ParityReadoutInputs {
84
+ manifest: {
85
+ schemaVersion: number;
86
+ status: string;
87
+ };
88
+ contracts: ParityContract[];
89
+ meta: Record<string, ContractReadoutMeta>;
90
+ }
51
91
  /**
52
92
  * Result of a parity check: the rendered `ParityLine`s plus the set of contract
53
93
  * ids that produced a drift `warn` AND are `blocking: true`. The command
@@ -67,6 +107,19 @@ export interface ParityCheckResult {
67
107
  * (mmnto-ai/totem#2085, mmnto-ai/totem-strategy#545 Half 2).
68
108
  */
69
109
  configured: boolean;
110
+ /**
111
+ * Manifest load status — the `--json` artifact's `manifest.status` on the
112
+ * degenerate paths, where there is no manifest-declared status to carry
113
+ * (mmnto-ai/totem#2327 R4).
114
+ */
115
+ loadStatus: 'ok' | 'not-configured' | 'not-found' | 'unparseable' | 'unsupported-schema';
116
+ /**
117
+ * Trust-readout raw materials (mmnto-ai/totem#2327) — present only on the
118
+ * manifest `ok` path. The CLI edge assembles the rollup / denominator /
119
+ * why-not via `buildParityReadout`; degenerate load states render no rollup
120
+ * (nothing to roll up) and `--json` carries `loadStatus` instead.
121
+ */
122
+ readout?: ParityReadoutInputs;
70
123
  }
71
124
  /**
72
125
  * Resolve, parse, and report the parity manifest as `ParityLine`s.
@@ -81,6 +134,50 @@ export interface ParityCheckResult {
81
134
  * @param cwd The directory to resolve config + manifest against (config/repo root).
82
135
  */
83
136
  export declare function checkParity(cwd: string): Promise<ParityCheckResult>;
137
+ /** Counts over rendered verdict lines — the R1 rollup unit (raised Delta 2). */
138
+ export type ReadoutCounts = Record<ParityLine['status'], number>;
139
+ /** One `--json` `rows[]` entry — 1:1 with a rendered verdict line (ids repeat for multi-artifact contracts). */
140
+ export interface ReadoutRow {
141
+ id: string;
142
+ /** Line verdict AFTER the strict blocking promotion, so the artifact matches the rendered output. */
143
+ verdict: ParityLine['status'];
144
+ sensesProbed?: SensesLevel;
145
+ reasonClass?: ReadoutReasonClass;
146
+ message: string;
147
+ lastAttested?: string;
148
+ /** Display name of the underlying verdict line (human render only — not a `--json` field; R4 names are fixed). */
149
+ lineName: string;
150
+ /** R5: a `blocking: true` contract's line skipped by scoping — rendered skipped-not-gated, never a silent pass. */
151
+ skippedNotGated: boolean;
152
+ }
153
+ /** The assembled trust-readout — everything R1–R5 render from. */
154
+ export interface ParityReadout {
155
+ manifest: {
156
+ schemaVersion: number;
157
+ status: string;
158
+ };
159
+ rollup: {
160
+ global: ReadoutCounts;
161
+ perSeat: Record<string, ReadoutCounts>;
162
+ };
163
+ denominator: {
164
+ mechanical: number;
165
+ attestationOnly: number;
166
+ honestAbsent: number;
167
+ };
168
+ strict: {
169
+ armed: boolean;
170
+ blockingIds: string[];
171
+ gatesAnything: boolean;
172
+ };
173
+ rows: ReadoutRow[];
174
+ }
175
+ /**
176
+ * Assemble the trust-readout from `checkParity`'s raw materials — pure
177
+ * post-processing over the existing detector output (Prop 303 non-goal 2:
178
+ * zero probes added here).
179
+ */
180
+ export declare function buildParityReadout(inputs: ParityReadoutInputs, results: ParityLine[], blockingDriftIds: string[], strict: boolean): ParityReadout;
84
181
  export interface ParityCliOptions {
85
182
  /**
86
183
  * Strict mode (Proposal 273 / 279 `--strict` semantics): promote drift to a
@@ -103,6 +200,13 @@ export interface ParityCliOptions {
103
200
  * `doctor --parity` behavior, which still renders the honest-absent SKIP line.
104
201
  */
105
202
  onlyWhenConfigured?: boolean;
203
+ /**
204
+ * Emit the trust-readout as the schema'd `--json` verdict artifact
205
+ * (mmnto-ai/totem#2327 R4) on stdout INSTEAD of the human render — the
206
+ * artifact is diffable, so nothing else may share stdout. The `--strict`
207
+ * exit-code semantics are unchanged (artifact + non-zero exit both happen).
208
+ */
209
+ json?: boolean;
106
210
  /** Test seam — production callers omit and the command uses `process.cwd()`. */
107
211
  cwdForTest?: string;
108
212
  }
@@ -1 +1 @@
1
- {"version":3,"file":"doctor-parity.d.ts","sourceRoot":"","sources":["../../src/commands/doctor-parity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAIH,OAAO,KAAK,EAGV,qBAAqB,EAEtB,MAAM,cAAc,CAAC;AAQtB;;;;;;GAMG;AACH,MAAM,WAAW,UAAW,SAAQ,qBAAqB;IACvD,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,6EAA6E;IAC7E,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B;;;;;;;OAOG;IACH,UAAU,EAAE,OAAO,CAAC;CACrB;AA0WD;;;;;;;;;;;GAWG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAkdzE;AAoDD,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;;;OAUG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwF1F"}
1
+ {"version":3,"file":"doctor-parity.d.ts","sourceRoot":"","sources":["../../src/commands/doctor-parity.ts"],"names":[],"mappings":"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"}