@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.
- package/dist/commands/doctor-parity.d.ts +105 -1
- package/dist/commands/doctor-parity.d.ts.map +1 -1
- package/dist/commands/doctor-parity.js +406 -34
- package/dist/commands/doctor-parity.js.map +1 -1
- package/dist/commands/doctor-parity.test.js +423 -2
- package/dist/commands/doctor-parity.test.js.map +1 -1
- package/dist/commands/ecl-gc.test.js +20 -0
- package/dist/commands/ecl-gc.test.js.map +1 -1
- package/dist/commands/init-templates.d.ts +6 -2
- package/dist/commands/init-templates.d.ts.map +1 -1
- package/dist/commands/init-templates.js +63 -2
- package/dist/commands/init-templates.js.map +1 -1
- package/dist/commands/init.test.js +78 -3
- package/dist/commands/init.test.js.map +1 -1
- package/dist/commands/mail.d.ts.map +1 -1
- package/dist/commands/mail.js +36 -0
- package/dist/commands/mail.js.map +1 -1
- package/dist/commands/mail.test.js +77 -0
- package/dist/commands/mail.test.js.map +1 -1
- package/dist/commands/review-fan.d.ts +336 -0
- package/dist/commands/review-fan.d.ts.map +1 -0
- package/dist/commands/review-fan.js +1076 -0
- package/dist/commands/review-fan.js.map +1 -0
- package/dist/commands/review-fan.test.d.ts +2 -0
- package/dist/commands/review-fan.test.d.ts.map +1 -0
- package/dist/commands/review-fan.test.js +1184 -0
- package/dist/commands/review-fan.test.js.map +1 -0
- package/dist/commands/shield-covariate.test.d.ts +14 -0
- package/dist/commands/shield-covariate.test.d.ts.map +1 -0
- package/dist/commands/shield-covariate.test.js +84 -0
- package/dist/commands/shield-covariate.test.js.map +1 -0
- package/dist/commands/shield-eval.integration.test.js +57 -13
- package/dist/commands/shield-eval.integration.test.js.map +1 -1
- package/dist/commands/shield.d.ts +162 -3
- package/dist/commands/shield.d.ts.map +1 -1
- package/dist/commands/shield.js +342 -74
- package/dist/commands/shield.js.map +1 -1
- package/dist/commands/shield.test.js +169 -3
- package/dist/commands/shield.test.js.map +1 -1
- package/dist/git.d.ts +25 -0
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +50 -6
- package/dist/git.js.map +1 -1
- package/dist/git.test.js +119 -14
- package/dist/git.test.js.map +1 -1
- package/dist/index.js +24 -2
- package/dist/index.js.map +1 -1
- package/dist/orchestrators/orchestrator.d.ts +1 -0
- package/dist/orchestrators/orchestrator.d.ts.map +1 -1
- package/dist/orchestrators/orchestrator.js +1 -1
- package/dist/orchestrators/orchestrator.js.map +1 -1
- 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
|
|
1
|
+
{"version":3,"file":"doctor-parity.d.ts","sourceRoot":"","sources":["../../src/commands/doctor-parity.ts"],"names":[],"mappings":"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"}
|