@mmnto/cli 1.116.0 → 1.118.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/bootstrap-wiring.test.js +28 -0
- package/dist/commands/bootstrap-wiring.test.js.map +1 -1
- package/dist/commands/init-templates.d.ts +6 -6
- package/dist/commands/init-templates.d.ts.map +1 -1
- package/dist/commands/init-templates.js +11 -8
- package/dist/commands/init-templates.js.map +1 -1
- package/dist/commands/init.test.js +54 -6
- package/dist/commands/init.test.js.map +1 -1
- package/dist/commands/install-hooks.d.ts.map +1 -1
- package/dist/commands/install-hooks.js +12 -1
- package/dist/commands/install-hooks.js.map +1 -1
- package/dist/commands/lint.js +1 -1
- package/dist/commands/lint.js.map +1 -1
- package/dist/commands/mail-cli-wiring.test.d.ts +8 -5
- package/dist/commands/mail-cli-wiring.test.d.ts.map +1 -1
- package/dist/commands/mail-cli-wiring.test.js +95 -42
- package/dist/commands/mail-cli-wiring.test.js.map +1 -1
- package/dist/commands/mail-degraded-e4.test.js +46 -13
- package/dist/commands/mail-degraded-e4.test.js.map +1 -1
- package/dist/commands/mail.d.ts +29 -0
- package/dist/commands/mail.d.ts.map +1 -1
- package/dist/commands/mail.js +182 -14
- package/dist/commands/mail.js.map +1 -1
- package/dist/commands/mail.test.js +425 -58
- package/dist/commands/mail.test.js.map +1 -1
- package/dist/commands/pre-push-gate-matrix.test.d.ts +17 -0
- package/dist/commands/pre-push-gate-matrix.test.d.ts.map +1 -0
- package/dist/commands/pre-push-gate-matrix.test.js +135 -0
- package/dist/commands/pre-push-gate-matrix.test.js.map +1 -0
- package/dist/commands/shield-admission.test.d.ts +14 -0
- package/dist/commands/shield-admission.test.d.ts.map +1 -0
- package/dist/commands/shield-admission.test.js +301 -0
- package/dist/commands/shield-admission.test.js.map +1 -0
- package/dist/commands/shield-classify.d.ts +10 -0
- package/dist/commands/shield-classify.d.ts.map +1 -1
- package/dist/commands/shield-classify.js +19 -1
- package/dist/commands/shield-classify.js.map +1 -1
- package/dist/commands/shield-covariate.test.js +3 -0
- package/dist/commands/shield-covariate.test.js.map +1 -1
- package/dist/commands/shield-estimate.js +5 -5
- package/dist/commands/shield-estimate.js.map +1 -1
- package/dist/commands/shield-estimate.test.js +7 -3
- package/dist/commands/shield-estimate.test.js.map +1 -1
- package/dist/commands/shield-nonreview.test.d.ts +12 -14
- package/dist/commands/shield-nonreview.test.d.ts.map +1 -1
- package/dist/commands/shield-nonreview.test.js +228 -42
- package/dist/commands/shield-nonreview.test.js.map +1 -1
- package/dist/commands/shield.d.ts +116 -1
- package/dist/commands/shield.d.ts.map +1 -1
- package/dist/commands/shield.js +439 -116
- package/dist/commands/shield.js.map +1 -1
- package/dist/git.d.ts +20 -2
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +11 -4
- package/dist/git.js.map +1 -1
- package/dist/git.test.js +58 -18
- package/dist/git.test.js.map +1 -1
- package/dist/index.js +17 -3
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -60,6 +60,15 @@ import { formatTextResult, pollMail, resolveMailExitCode } from './mail.js';
|
|
|
60
60
|
// ─── Fixture helpers ────────────────────────────────────
|
|
61
61
|
let tmpRoot;
|
|
62
62
|
let workspace;
|
|
63
|
+
/**
|
|
64
|
+
* Explicit single-seat identity (mmnto-ai/totem#2204). The `totem` fixture
|
|
65
|
+
* basename resolves TWO seats, so an identity-less poll withholds directed
|
|
66
|
+
* dispatches as a count; the faults below are induced on the DIRECTED
|
|
67
|
+
* pipeline, so each such poll declares the seat it reads as — the same
|
|
68
|
+
* per-shell `TOTEM_SELF_AGENT` a real seat exports. Polls whose subject is the
|
|
69
|
+
* multi-seat resolution itself pass `allSeats: true` instead.
|
|
70
|
+
*/
|
|
71
|
+
const SELF_CLAUDE = { TOTEM_SELF_AGENT: 'totem-claude' };
|
|
63
72
|
function mkDir(p) {
|
|
64
73
|
fs.mkdirSync(p, { recursive: true });
|
|
65
74
|
return p;
|
|
@@ -159,7 +168,7 @@ describe('E4 fault 1 — basename collision is surfaced AND loudly accounted', (
|
|
|
159
168
|
// Cross-repo variant: distinct outbox-owner seats in distinct repos.
|
|
160
169
|
writeOutbox('totem-strategy', 'strategy-claude', [{ name: NAME, to: 'totem-claude' }]);
|
|
161
170
|
writeOutbox('liquid-city', 'lc-claude', [{ name: NAME, to: 'totem-claude' }]);
|
|
162
|
-
const result = pollMail({ repoRoot: selfRepoRootWithSeats([]), workspace, env:
|
|
171
|
+
const result = pollMail({ repoRoot: selfRepoRootWithSeats([]), workspace, env: SELF_CLAUDE });
|
|
163
172
|
// Pack 1 — the accounting fires: the degraded envelope announces itself.
|
|
164
173
|
const collisionWarnings = result.warnings.filter((w) => w.startsWith('cross-sender basename collision'));
|
|
165
174
|
expect(collisionWarnings).toHaveLength(1);
|
|
@@ -181,7 +190,7 @@ describe('E4 fault 1 — basename collision is surfaced AND loudly accounted', (
|
|
|
181
190
|
writeOutbox('liquid-city', 'lc-claude', [
|
|
182
191
|
{ name: '2026-07-20T1718Z-totem-claude-lane-note.md', to: 'totem-claude' },
|
|
183
192
|
]);
|
|
184
|
-
const result = pollMail({ repoRoot: selfRepoRootWithSeats([]), workspace, env:
|
|
193
|
+
const result = pollMail({ repoRoot: selfRepoRootWithSeats([]), workspace, env: SELF_CLAUDE });
|
|
185
194
|
expect(result.mail).toHaveLength(2);
|
|
186
195
|
expect(result.warnings).toEqual([]);
|
|
187
196
|
expect(resolveMailExitCode(result)).toBe(0);
|
|
@@ -194,12 +203,18 @@ describe('E4 fault 1 — basename collision is surfaced AND loudly accounted', (
|
|
|
194
203
|
describe('E4 fault 2 — own-broadcast suppression is never silent (mmnto-ai/totem#2462, #2509)', () => {
|
|
195
204
|
const BCAST = '2026-07-20T2326Z-broadcast-cohort-note.md';
|
|
196
205
|
const RESIDENT_SEATS = ['totem-claude', 'totem-gemini'];
|
|
197
|
-
/**
|
|
206
|
+
/**
|
|
207
|
+
* Default-resolution poll (no env override) over the two-seat fixture. The
|
|
208
|
+
* union is served BY NAME (`allSeats`, mmnto-ai/totem#2204) because the
|
|
209
|
+
* multi-seat resolution IS the #2462 condition under test — the identity
|
|
210
|
+
* gate would otherwise withhold directed mail and mask it.
|
|
211
|
+
*/
|
|
198
212
|
function pollTwoSeat(opts = {}) {
|
|
199
213
|
return pollMail({
|
|
200
214
|
repoRoot: selfRepoRootWithSeats(RESIDENT_SEATS),
|
|
201
215
|
workspace,
|
|
202
216
|
env: {},
|
|
217
|
+
allSeats: true,
|
|
203
218
|
...opts,
|
|
204
219
|
});
|
|
205
220
|
}
|
|
@@ -293,7 +308,7 @@ describe('E4 fault 3 — scan failure announces itself, never a silent clean inb
|
|
|
293
308
|
it('workspace scan root unresolvable (ENOTDIR) with dispatches on disk → degraded envelope, empty mail, exit 0', () => {
|
|
294
309
|
writeHealthyFixture();
|
|
295
310
|
// Positive control (pack 3): the healthy fixture renders everything.
|
|
296
|
-
const healthy = pollMail({ repoRoot: selfRepoRootWithSeats([]), workspace, env:
|
|
311
|
+
const healthy = pollMail({ repoRoot: selfRepoRootWithSeats([]), workspace, env: SELF_CLAUDE });
|
|
297
312
|
expect(healthy.mail).toHaveLength(2);
|
|
298
313
|
expect(healthy.warnings).toEqual([]);
|
|
299
314
|
// Induce: point the scan root at a FILE — fs.existsSync passes,
|
|
@@ -305,7 +320,7 @@ describe('E4 fault 3 — scan failure announces itself, never a silent clean inb
|
|
|
305
320
|
const degraded = pollMail({
|
|
306
321
|
repoRoot: selfRepoRootWithSeats([]),
|
|
307
322
|
workspace: brokenRoot,
|
|
308
|
-
env:
|
|
323
|
+
env: SELF_CLAUDE,
|
|
309
324
|
});
|
|
310
325
|
// Pack 1 — the accounting fires: the scan failure is named in the
|
|
311
326
|
// warnings channel, so the rendered output carries `Warning: workspace
|
|
@@ -323,7 +338,11 @@ describe('E4 fault 3 — scan failure announces itself, never a silent clean inb
|
|
|
323
338
|
expect(resolveMailExitCode(degraded)).toBe(0);
|
|
324
339
|
// Fault-removed-returns-to-green (pack 3): repoint at the healthy scan
|
|
325
340
|
// root and the same fixture polls clean.
|
|
326
|
-
const recovered = pollMail({
|
|
341
|
+
const recovered = pollMail({
|
|
342
|
+
repoRoot: selfRepoRootWithSeats([]),
|
|
343
|
+
workspace,
|
|
344
|
+
env: SELF_CLAUDE,
|
|
345
|
+
});
|
|
327
346
|
expect(recovered.mail).toHaveLength(2);
|
|
328
347
|
expect(recovered.warnings).toEqual([]);
|
|
329
348
|
});
|
|
@@ -344,7 +363,11 @@ describe('E4 fault 3 — scan failure announces itself, never a silent clean inb
|
|
|
344
363
|
return realReaddirSync(target, options);
|
|
345
364
|
});
|
|
346
365
|
try {
|
|
347
|
-
const degraded = pollMail({
|
|
366
|
+
const degraded = pollMail({
|
|
367
|
+
repoRoot: selfRepoRootWithSeats([]),
|
|
368
|
+
workspace,
|
|
369
|
+
env: SELF_CLAUDE,
|
|
370
|
+
});
|
|
348
371
|
// Pack 1 — the accounting fires: the failed repo is NAMED.
|
|
349
372
|
expect(degraded.warnings.some((w) => w.startsWith('orchestration scan failed (totem-strategy)'))).toBe(true);
|
|
350
373
|
// Pack 2 — backstop: skip-don't-abort, never silent narrowing — the
|
|
@@ -359,7 +382,11 @@ describe('E4 fault 3 — scan failure announces itself, never a silent clean inb
|
|
|
359
382
|
}
|
|
360
383
|
// Pack 3 — fault-removed-returns-to-green: with the scan healthy again,
|
|
361
384
|
// BOTH dispatches surface with zero warnings.
|
|
362
|
-
const recovered = pollMail({
|
|
385
|
+
const recovered = pollMail({
|
|
386
|
+
repoRoot: selfRepoRootWithSeats([]),
|
|
387
|
+
workspace,
|
|
388
|
+
env: SELF_CLAUDE,
|
|
389
|
+
});
|
|
363
390
|
expect(recovered.mail.map((m) => m.file).sort()).toEqual([MAIL_A, MAIL_B].sort());
|
|
364
391
|
expect(recovered.warnings).toEqual([]);
|
|
365
392
|
});
|
|
@@ -391,12 +418,15 @@ describe('E4 fault 3 addendum — qualified verdict line (mmnto-ai/totem#2516)',
|
|
|
391
418
|
return line;
|
|
392
419
|
}
|
|
393
420
|
/** Two-seat fixture so the clean-empty sentence names real seats — making
|
|
394
|
-
* the substring-exclusion assertion (invariant 2) load-bearing.
|
|
421
|
+
* the substring-exclusion assertion (invariant 2) load-bearing. Both seats
|
|
422
|
+
* are declared explicitly (mmnto-ai/totem#2204): an identity-less two-seat
|
|
423
|
+
* poll is gated onto its own NOT-DERIVED verdict arm, which would take the
|
|
424
|
+
* #2516 verdict line out from under these assertions entirely. */
|
|
395
425
|
function pollTwoSeat(opts = {}) {
|
|
396
426
|
return pollMail({
|
|
397
427
|
repoRoot: selfRepoRootWithSeats(SEATS),
|
|
398
428
|
workspace,
|
|
399
|
-
env: {},
|
|
429
|
+
env: { TOTEM_SELF_AGENT: SEATS.join(',') },
|
|
400
430
|
...opts,
|
|
401
431
|
});
|
|
402
432
|
}
|
|
@@ -515,7 +545,10 @@ describe('E4 fault 4 — a corrupt lifecycle marker never silently narrows (mmnt
|
|
|
515
545
|
// this broadcast would be silently subtracted: an obligation closed by a
|
|
516
546
|
// file nobody could parse.
|
|
517
547
|
writeBroadcastMark(root, 'totem-gemini', [BCAST]);
|
|
518
|
-
|
|
548
|
+
// The union is served by NAME (`allSeats`, mmnto-ai/totem#2204): the
|
|
549
|
+
// multi-seat denominator IS what this fault probes, so the identity gate
|
|
550
|
+
// must not withhold the directed half of the fixture.
|
|
551
|
+
const result = pollMail({ repoRoot: root, workspace, env: {}, allSeats: true });
|
|
519
552
|
// Pack 1 — the accounting fires, and it hands over the ONE-STEP recovery
|
|
520
553
|
// target (#2511 amendment 2: the recovery route is "fix or delete the
|
|
521
554
|
// marker", so the warning names the marker file).
|
|
@@ -545,7 +578,7 @@ describe('E4 fault 4 — a corrupt lifecycle marker never silently narrows (mmnt
|
|
|
545
578
|
// mechanism that never fires. Directed mail still surfaces — suspension
|
|
546
579
|
// touches the denominator only.
|
|
547
580
|
const markerPath = writeLifecycleMarker(root, 'totem-claude', 'suspended');
|
|
548
|
-
const suspended = pollMail({ repoRoot: root, workspace, env: {} });
|
|
581
|
+
const suspended = pollMail({ repoRoot: root, workspace, env: {}, allSeats: true });
|
|
549
582
|
expect(suspended.mail.map((m) => m.file)).toEqual([DIRECTED]);
|
|
550
583
|
// Falsification finding 1, arm (b): a VALID suspended marker is a healthy
|
|
551
584
|
// scan — the annotation rides `notices`, warnings stay EMPTY, and the
|
|
@@ -561,7 +594,7 @@ describe('E4 fault 4 — a corrupt lifecycle marker never silently narrows (mmnt
|
|
|
561
594
|
// would (both seats in the denominator, so one mark leaves the broadcast
|
|
562
595
|
// unread).
|
|
563
596
|
fs.rmSync(markerPath);
|
|
564
|
-
const recovered = pollMail({ repoRoot: root, workspace, env: {} });
|
|
597
|
+
const recovered = pollMail({ repoRoot: root, workspace, env: {}, allSeats: true });
|
|
565
598
|
expect(recovered.warnings).toEqual([]);
|
|
566
599
|
expect(recovered.mail.map((m) => m.file).sort()).toEqual([BCAST, DIRECTED].sort());
|
|
567
600
|
expect(verdictLineOf(formatTextResult(recovered))).not.toContain('INCOMPLETE');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mail-degraded-e4.test.js","sourceRoot":"","sources":["../../src/commands/mail-degraded-e4.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mail-degraded-e4.test.js","sourceRoot":"","sources":["../../src/commands/mail-degraded-e4.test.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/mail.d.ts
CHANGED
|
@@ -74,6 +74,14 @@ export interface MailPollResult {
|
|
|
74
74
|
* mark-compaction or pin the verdict to INCOMPLETE (the falsification-round
|
|
75
75
|
* regression this channel exists to prevent). */
|
|
76
76
|
notices: string[];
|
|
77
|
+
/** Present iff the identity gate fired (mmnto-ai/totem#2204): a MULTI-seat
|
|
78
|
+
* non-env resolution was polled without an explicit selector, so directed
|
|
79
|
+
* dispatches addressed to union seats were withheld from `mail[]`. COUNT
|
|
80
|
+
* only, deliberately — the listing (subjects included) is the exposure
|
|
81
|
+
* surface the gate exists to close, so no per-item detail may leak here. */
|
|
82
|
+
seatGate?: {
|
|
83
|
+
withheldDirected: number;
|
|
84
|
+
};
|
|
77
85
|
}
|
|
78
86
|
export interface MailCommandOptions {
|
|
79
87
|
/** Emit JSON instead of human-readable text. */
|
|
@@ -105,6 +113,21 @@ export interface MailCommandOptions {
|
|
|
105
113
|
* processed` contract; the two callers stay single-homed on one scan.
|
|
106
114
|
*/
|
|
107
115
|
includeProcessed?: boolean;
|
|
116
|
+
/**
|
|
117
|
+
* Serve exactly this seat's mail (`--as <seat>`, mmnto-ai/totem#2204).
|
|
118
|
+
* Consumed by `mailCommand`, which validates it against the RESOLVED union
|
|
119
|
+
* (a foreign-anchored poll answers "ever addressed", never "unread" —
|
|
120
|
+
* lesson-2923d5e0) and re-enters `pollMail` via an env-injected
|
|
121
|
+
* `TOTEM_SELF_AGENT`, so resolution flows through the existing resolver.
|
|
122
|
+
* `pollMail` itself never reads this field.
|
|
123
|
+
*/
|
|
124
|
+
asSeat?: string;
|
|
125
|
+
/**
|
|
126
|
+
* Serve the full multi-seat union by NAME (`--all-seats`) — the repo
|
|
127
|
+
* dashboard view the union serve was built for. Bypasses the identity gate
|
|
128
|
+
* (mmnto-ai/totem#2204); mutually exclusive with `asSeat`.
|
|
129
|
+
*/
|
|
130
|
+
allSeats?: boolean;
|
|
108
131
|
}
|
|
109
132
|
/**
|
|
110
133
|
* Normalize an ECL dispatch basename to its portable, NTFS-safe form by
|
|
@@ -144,6 +167,12 @@ export declare function pollMail(opts?: MailCommandOptions): MailPollResult;
|
|
|
144
167
|
* plain poll must not be softer than its `totem ecl-gc` sibling, whose
|
|
145
168
|
* unresolvable-self is exit 2 — so this arm is exit 2 too. A resolved self
|
|
146
169
|
* (genuine clean inbox OR a real unread list) is exit 0.
|
|
170
|
+
*
|
|
171
|
+
* The identity-gated arm (mmnto-ai/totem#2204) joins the SAME NOT-DERIVED
|
|
172
|
+
* family: a multi-seat non-env poll without a selector withholds the directed
|
|
173
|
+
* listing, so the per-seat inbox verdict the caller asked for cannot be
|
|
174
|
+
* asserted — exit 0 there would be the reassuring-lead class (#2516). The
|
|
175
|
+
* named `--all-seats` union view never carries `seatGate` and stays exit 0.
|
|
147
176
|
*/
|
|
148
177
|
export declare function resolveMailExitCode(result: MailPollResult): 0 | 2;
|
|
149
178
|
export declare function formatTextResult(result: MailPollResult): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mail.d.ts","sourceRoot":"","sources":["../../src/commands/mail.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAKH,OAAO,EAaL,KAAK,mBAAmB,EAEzB,MAAM,cAAc,CAAC;AAoBtB,mDAAmD;AACnD,MAAM,WAAW,SAAS;IACxB,6EAA6E;IAC7E,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,EAAE,EAAE,MAAM,CAAC;IACX,4HAA4H;IAC5H,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,yCAAyC;AACzC,MAAM,WAAW,cAAc;IAC7B;;;iDAG6C;IAC7C,UAAU,EAAE;QACV,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;KACvC,CAAC;IACF,+EAA+E;IAC/E,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,SAAS,EAAE,OAAO,CAAC;IACnB,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;qEAKiE;IACjE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB;;;;qDAIiD;IACjD,OAAO,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"mail.d.ts","sourceRoot":"","sources":["../../src/commands/mail.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/mail.js
CHANGED
|
@@ -420,6 +420,13 @@ function enumerateOutboxes(workspace, recursive, warnings) {
|
|
|
420
420
|
return slots;
|
|
421
421
|
}
|
|
422
422
|
// ─── Core poll ──────────────────────────────────────────
|
|
423
|
+
// The #2204 gate line's producer/discriminator coupling: `pollMail` emits the
|
|
424
|
+
// warning under this prefix and `formatTextResult`'s #2516 INCOMPLETE
|
|
425
|
+
// discriminator filters it back out (the gate line is serve-policy, not scan
|
|
426
|
+
// integrity). One constant binds the two sites so a reword can never desync
|
|
427
|
+
// them — that desync is exactly falsification-leg F2's recorded failure
|
|
428
|
+
// (CR on #2639).
|
|
429
|
+
const GATE_WARNING_PREFIX = 'identity-ambiguous poll:';
|
|
423
430
|
/**
|
|
424
431
|
* Programmatic entry point. Returns a structured `MailPollResult` for
|
|
425
432
|
* consumers that want to render their own output (hooks, MCP audits,
|
|
@@ -458,6 +465,20 @@ export function pollMail(opts = {}) {
|
|
|
458
465
|
// "seats counted" and "seats that can hold marks" is load-bearing for the
|
|
459
466
|
// per-seat broadcast rule, so it is enforced rather than assumed (GCA #2424).
|
|
460
467
|
const selfAgents = [...new Set(selfResolution.agents)];
|
|
468
|
+
// Identity gate (mmnto-ai/totem#2204): a multi-seat resolution WITHOUT
|
|
469
|
+
// explicit identity serves the whole union — subjects included — which is
|
|
470
|
+
// how the 2026-08-13 BLIND-round contamination happened: the listing itself
|
|
471
|
+
// is the exposure surface, so by the time a seat can check the banner,
|
|
472
|
+
// foreign subjects are already in its context. `source: 'env'` is an
|
|
473
|
+
// explicit operator declaration and stays exempt — which also structurally
|
|
474
|
+
// exempts the `ecl-gc` A2.1 discovery and A2.4 verify polls (both force
|
|
475
|
+
// TOTEM_SELF_AGENT, § A2.3). A single-seat resolution from ANY source is
|
|
476
|
+
// unambiguous and serves as before (no consumer-repo regression).
|
|
477
|
+
// `--all-seats` bypasses by NAME. The denominator/subtraction math below
|
|
478
|
+
// stays on the FULL union either way — the gate withholds the LISTING,
|
|
479
|
+
// never the accounting.
|
|
480
|
+
const identityGated = selfAgents.length > 1 && selfResolution.source !== 'env' && opts.allSeats !== true;
|
|
481
|
+
let withheldDirected = 0;
|
|
461
482
|
// Declared seat lifecycle (mmnto-ai/totem#2511). Resolution stays
|
|
462
483
|
// lifecycle-BLIND: `selfAgents` is the resolver's answer untouched, so every
|
|
463
484
|
// resolved seat keeps directed-mail visibility AND its processed-mark
|
|
@@ -630,17 +651,28 @@ export function pollMail(opts = {}) {
|
|
|
630
651
|
// FILENAME (zero I/O) for self/broadcast tokens. Self-token files sort
|
|
631
652
|
// first, so any landing here means self-priority volume alone exceeded
|
|
632
653
|
// the cap — name them explicitly instead of hiding behind the generic
|
|
633
|
-
// truncation line.
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
654
|
+
// truncation line. Under the identity gate (mmnto-ai/totem#2204) the
|
|
655
|
+
// WHOLE self-token tail is reported as a COUNT: an ECL basename is
|
|
656
|
+
// `<stamp>-<recipient>-<topic-slug>.md` — recipient + compressed subject
|
|
657
|
+
// — and the filename token is untrusted for delivery truth (codex F2: a
|
|
658
|
+
// broadcast-NAMED file can carry a directed `to:` inside), so the only
|
|
659
|
+
// exposure-safe read of an UNOPENED tail is to name none of it
|
|
660
|
+
// (falsification-leg F1 + re-arm finding 3). The count line says
|
|
661
|
+
// "self-token", filename-truth — it never asserts a parsed `to:` the
|
|
662
|
+
// code does not have (re-arm finding 6).
|
|
663
|
+
const droppedSelfEntries = ordered.slice(maxScan).filter(({ file }) => hasSelfToken(file));
|
|
664
|
+
if (droppedSelfEntries.length > 0) {
|
|
665
|
+
if (identityGated) {
|
|
666
|
+
warnings.push(`possible self-addressed mail beyond the scan horizon: ${droppedSelfEntries.length} self-token file(s), withheld from naming — identity-ambiguous poll`);
|
|
667
|
+
}
|
|
668
|
+
else {
|
|
669
|
+
const droppedSelf = droppedSelfEntries.map(({ slot, file }) => `${slot.repo}/${slot.agent}/${file}`);
|
|
670
|
+
const shown = droppedSelf.slice(0, 5);
|
|
671
|
+
if (droppedSelf.length > shown.length) {
|
|
672
|
+
shown.push(`(+${droppedSelf.length - shown.length} more)`);
|
|
673
|
+
}
|
|
674
|
+
warnings.push(`possible self-addressed mail beyond the scan horizon: ${shown.join(', ')}`);
|
|
642
675
|
}
|
|
643
|
-
warnings.push(`possible self-addressed mail beyond the scan horizon: ${shown.join(', ')}`);
|
|
644
676
|
}
|
|
645
677
|
}
|
|
646
678
|
// Roster-validation sensor (mmnto-ai/totem#2335, write-side sibling of the
|
|
@@ -757,15 +789,43 @@ export function pollMail(opts = {}) {
|
|
|
757
789
|
// nothing gates on notices, so the discovery path needs no special case.
|
|
758
790
|
if (toLower !== 'broadcast' && !lifecycleAnnotatedSeats.has(toLower)) {
|
|
759
791
|
const seatState = seatLifecycleStates.get(toLower);
|
|
792
|
+
// Gate-aware wording (re-arm finding 1): on the withheld path the
|
|
793
|
+
// "surfacing"/"still surfaces" clauses would assert a listing the same
|
|
794
|
+
// render withholds — the mislabeled-claim class this file's own re-arm
|
|
795
|
+
// D-2 test forbids. The seat name stays (it is already in the banner);
|
|
796
|
+
// the obligation/re-route sense is what the notice exists to carry.
|
|
797
|
+
const withheld = identityGated;
|
|
760
798
|
if (seatState === 'suspended') {
|
|
761
799
|
lifecycleAnnotatedSeats.add(toLower);
|
|
762
|
-
notices.push(
|
|
800
|
+
notices.push(withheld
|
|
801
|
+
? `directed mail WITHHELD for suspended seat: to: "${header.to}" (identity-ambiguous poll) — obligation held, not discharged — disposition per mmnto-ai/totem-status#127`
|
|
802
|
+
: `directed mail surfacing for suspended seat: to: "${header.to}" — obligation held, not discharged — disposition per mmnto-ai/totem-status#127`);
|
|
763
803
|
}
|
|
764
804
|
else if (seatState === 'retired') {
|
|
765
805
|
lifecycleAnnotatedSeats.add(toLower);
|
|
766
|
-
notices.push(
|
|
806
|
+
notices.push(withheld
|
|
807
|
+
? `addressed to retired seat: to: "${header.to}" — mail withheld (identity-ambiguous poll); the sender should re-route`
|
|
808
|
+
: `addressed to retired seat: to: "${header.to}" — mail still surfaces; the sender should re-route`);
|
|
767
809
|
}
|
|
768
810
|
}
|
|
811
|
+
// Identity gate (mmnto-ai/totem#2204): under an ambiguous poll,
|
|
812
|
+
// union-directed dispatches are withheld as a COUNT. The skip sits AFTER
|
|
813
|
+
// the lifecycle annotations above (they name only a union SEAT already in
|
|
814
|
+
// the banner — #2511 sensing preserved, falsification-leg F9) and BEFORE
|
|
815
|
+
// the collision sensor and the mail[] push (both name FILENAMES; an ECL
|
|
816
|
+
// basename is recipient + compressed subject, so naming a withheld file
|
|
817
|
+
// would rebuild the exposure — collision coverage for these files is
|
|
818
|
+
// preserved by every ungated poll, incl. ecl-gc's env-bound ones, which
|
|
819
|
+
// are the polls whose compaction gates need it). Runs AFTER
|
|
820
|
+
// processed-mark subtraction (the unread-collection loop above), so the
|
|
821
|
+
// count is exactly the would-have-served set. Named limit: a dispatch
|
|
822
|
+
// that cannot be CLASSIFIED (read/parse failure) is warned with its
|
|
823
|
+
// filename before its `to:` is knowable — an integrity signal that
|
|
824
|
+
// cannot be seat-scoped.
|
|
825
|
+
if (identityGated && toLower !== 'broadcast') {
|
|
826
|
+
withheldDirected += 1;
|
|
827
|
+
continue;
|
|
828
|
+
}
|
|
769
829
|
let seats = collisionsByBasename.get(file);
|
|
770
830
|
if (seats === undefined) {
|
|
771
831
|
seats = new Map();
|
|
@@ -811,6 +871,23 @@ export function pollMail(opts = {}) {
|
|
|
811
871
|
const paths = [...seats.values()];
|
|
812
872
|
warnings.push(`cross-sender basename collision: ${name} from ${paths.join(' and ')} — a single processed/ mark would shadow ${seats.size === 2 ? 'both' : `all ${seats.size}`}`);
|
|
813
873
|
}
|
|
874
|
+
// Identity-gate accounting (mmnto-ai/totem#2204). The line rides `warnings`
|
|
875
|
+
// deliberately: a gated poll cannot certify a clean DIRECTED inbox — exactly
|
|
876
|
+
// the #2516 INCOMPLETE class — and `warnings.length` arms every A2.2-style
|
|
877
|
+
// completeness gate, so a future compaction-style caller that forgets
|
|
878
|
+
// env-binding fails toward retain-everything, never toward the A2.1
|
|
879
|
+
// false-unread bomb. Fires even at zero withheld: the ambiguity, not the
|
|
880
|
+
// volume, is what the caller must not build on. Seat ids are listed (they
|
|
881
|
+
// are the resolver's own answer, already in the banner); withheld items are
|
|
882
|
+
// a count only.
|
|
883
|
+
if (identityGated) {
|
|
884
|
+
warnings.push(`${GATE_WARNING_PREFIX} ${selfAgents.length} seats resolve from ${selfResolution.source} (${selfAgents.join(', ')}); ${withheldDirected} directed dispatch(es) withheld — pass --as <seat> or set per-shell TOTEM_SELF_AGENT; --all-seats serves the union dashboard view by name`);
|
|
885
|
+
}
|
|
886
|
+
else if (opts.allSeats === true && selfAgents.length > 1 && selfResolution.source !== 'env') {
|
|
887
|
+
// The named bypass is a sense-worthy event (informational — a notice,
|
|
888
|
+
// never a warning: an explicitly requested union view is a healthy scan).
|
|
889
|
+
notices.push(`union dashboard view (--all-seats): serving ${selfAgents.length} seats (${selfAgents.join(', ')}) — per-seat unread accounting does not apply`);
|
|
890
|
+
}
|
|
814
891
|
// Re-sort the surviving mail by frontmatter date when available (filename
|
|
815
892
|
// sort already handled the primary order; this refines for files whose
|
|
816
893
|
// `date:` differs from the filename prefix).
|
|
@@ -823,6 +900,7 @@ export function pollMail(opts = {}) {
|
|
|
823
900
|
workspace,
|
|
824
901
|
warnings,
|
|
825
902
|
notices,
|
|
903
|
+
...(identityGated ? { seatGate: { withheldDirected } } : {}),
|
|
826
904
|
};
|
|
827
905
|
}
|
|
828
906
|
// ─── Output formatting ──────────────────────────────────
|
|
@@ -835,9 +913,15 @@ export function pollMail(opts = {}) {
|
|
|
835
913
|
* plain poll must not be softer than its `totem ecl-gc` sibling, whose
|
|
836
914
|
* unresolvable-self is exit 2 — so this arm is exit 2 too. A resolved self
|
|
837
915
|
* (genuine clean inbox OR a real unread list) is exit 0.
|
|
916
|
+
*
|
|
917
|
+
* The identity-gated arm (mmnto-ai/totem#2204) joins the SAME NOT-DERIVED
|
|
918
|
+
* family: a multi-seat non-env poll without a selector withholds the directed
|
|
919
|
+
* listing, so the per-seat inbox verdict the caller asked for cannot be
|
|
920
|
+
* asserted — exit 0 there would be the reassuring-lead class (#2516). The
|
|
921
|
+
* named `--all-seats` union view never carries `seatGate` and stays exit 0.
|
|
838
922
|
*/
|
|
839
923
|
export function resolveMailExitCode(result) {
|
|
840
|
-
return result.selfAgents.source === 'none' ? 2 : 0;
|
|
924
|
+
return result.selfAgents.source === 'none' || result.seatGate !== undefined ? 2 : 0;
|
|
841
925
|
}
|
|
842
926
|
export function formatTextResult(result) {
|
|
843
927
|
const lines = [];
|
|
@@ -868,6 +952,33 @@ export function formatTextResult(result) {
|
|
|
868
952
|
: '';
|
|
869
953
|
lines.push(`Inbox state NOT DERIVED — no self agent resolved; cannot assert an empty inbox.${broadcastHint} Set TOTEM_SELF_AGENT or declare host_agents in .totem/orchestration/config.json.`);
|
|
870
954
|
}
|
|
955
|
+
else if (result.seatGate !== undefined) {
|
|
956
|
+
// Identity-gated arm (mmnto-ai/totem#2204): the DIRECTED verdict leads
|
|
957
|
+
// with its withheld qualifier — a broadcast-only list rendered under the
|
|
958
|
+
// normal `N unread:` banner would be the reassuring-lead class (#2516).
|
|
959
|
+
// Broadcast dispatches (addressed to every seat — no per-seat privacy)
|
|
960
|
+
// still render below it. The #2516 INCOMPLETE discriminator keys on
|
|
961
|
+
// NON-GATE warnings here: the gate line is serve-policy, not scan
|
|
962
|
+
// integrity, and is ALWAYS present on a gated poll — keying on
|
|
963
|
+
// `warnings.length` alone would pin every gated poll to INCOMPLETE and
|
|
964
|
+
// destroy the discriminator (falsification-leg F2).
|
|
965
|
+
const nonGateWarnings = result.warnings.filter((w) => !w.startsWith(GATE_WARNING_PREFIX)).length;
|
|
966
|
+
lines.push(`Directed inbox NOT DERIVED — identity-ambiguous poll (${result.selfAgents.agents.length} seats via ${result.selfAgents.source}); ${result.seatGate.withheldDirected} directed dispatch(es) withheld. Pass --as <seat>, set per-shell TOTEM_SELF_AGENT, or use --all-seats for the union dashboard view.`);
|
|
967
|
+
if (result.mail.length === 0) {
|
|
968
|
+
lines.push(nonGateWarnings > 0
|
|
969
|
+
? `Scan INCOMPLETE (${nonGateWarnings} scan warning(s) above) — no unread broadcast mail found in the scanned locations; unread broadcast mail may exist in the unscanned ones.`
|
|
970
|
+
: 'No unread broadcast mail in the scanned locations.');
|
|
971
|
+
}
|
|
972
|
+
else {
|
|
973
|
+
lines.push(nonGateWarnings > 0
|
|
974
|
+
? `${result.mail.length} unread broadcast dispatch(es) — scan INCOMPLETE (${nonGateWarnings} scan warning(s) above); more may exist in unscanned locations:`
|
|
975
|
+
: `${result.mail.length} unread broadcast dispatch(es):`);
|
|
976
|
+
for (const m of result.mail) {
|
|
977
|
+
lines.push(` - ${m.file} (from ${m.from} @ ${m.repo}, to: ${m.to})`);
|
|
978
|
+
lines.push(` subject: ${m.subject}`);
|
|
979
|
+
}
|
|
980
|
+
}
|
|
981
|
+
}
|
|
871
982
|
else if (result.mail.length === 0) {
|
|
872
983
|
// A degraded scan must not close with the verdict a clean scan produces
|
|
873
984
|
// (mmnto-ai/totem#2516): the `Warning:` lines above are scrollback, the
|
|
@@ -898,7 +1009,64 @@ export function formatTextResult(result) {
|
|
|
898
1009
|
}
|
|
899
1010
|
// ─── CLI entry ──────────────────────────────────────────
|
|
900
1011
|
export async function mailCommand(opts = {}) {
|
|
901
|
-
|
|
1012
|
+
let pollOpts = opts;
|
|
1013
|
+
if (opts.asSeat !== undefined) {
|
|
1014
|
+
if (opts.allSeats === true) {
|
|
1015
|
+
throw new TotemError('CONFIG_INVALID', '--as <seat> and --all-seats are contradictory (exactly one seat vs the whole union)', 'pass exactly one of them.');
|
|
1016
|
+
}
|
|
1017
|
+
const asSeat = opts.asSeat.trim();
|
|
1018
|
+
// Core's path-segment guard, inlined rather than via `assertSafeAgentId`:
|
|
1019
|
+
// that helper's MAIL_SEND_FAILED code is the send path's contract, and a
|
|
1020
|
+
// poll-option rejection is CONFIG_INVALID like every other `--as` refusal
|
|
1021
|
+
// in this function (GCA on #2639). The message renders the flag name
|
|
1022
|
+
// verbatim (falsification-leg F8) and JSON-escapes the echoed token — this
|
|
1023
|
+
// rejection path exists precisely because the value may carry control
|
|
1024
|
+
// bytes, and echoing it raw would re-create the terminal injection it
|
|
1025
|
+
// blocks.
|
|
1026
|
+
if (!isPathSafeAgentId(asSeat)) {
|
|
1027
|
+
throw new TotemError('CONFIG_INVALID', `invalid --as ${JSON.stringify(asSeat)} (path-traversal, unsafe characters, or empty)`, 'pass a plain agent-id such as "totem-claude" (no path separators, "..", whitespace, or control characters).');
|
|
1028
|
+
}
|
|
1029
|
+
const env = opts.env ?? process.env;
|
|
1030
|
+
// Same walk-start the poll itself uses (mmnto-ai/totem#2312), so the
|
|
1031
|
+
// validation resolves the SAME union the poll would — but with any ambient
|
|
1032
|
+
// TOTEM_SELF_AGENT stripped first: the flag is explicit operator intent and
|
|
1033
|
+
// must override a shell-scoped identity (flag-over-env precedence), so it
|
|
1034
|
+
// validates against the repo's STRUCTURAL union (config/dirs/map). Without
|
|
1035
|
+
// the strip, a seated shell could never `--as` a sibling seat of its own
|
|
1036
|
+
// repo — the env identity would shadow the union down to itself. When the
|
|
1037
|
+
// structural union is EMPTY (a per-agent worktree off the cohort map with
|
|
1038
|
+
// the gitignored config absent — falsification-leg F4), fall back to the
|
|
1039
|
+
// env-declared list itself: a multi-seat env declaration is the
|
|
1040
|
+
// gate-exempt operator-declared shape, and narrowing it is exactly what
|
|
1041
|
+
// this flag is for.
|
|
1042
|
+
const repoRoot = resolveTotemRepoRootSync(opts.repoRoot, process.cwd());
|
|
1043
|
+
const structuralEnv = { ...env };
|
|
1044
|
+
delete structuralEnv['TOTEM_SELF_AGENT'];
|
|
1045
|
+
let resolved = resolveSelfAgents(repoRoot, structuralEnv);
|
|
1046
|
+
if (resolved.agents.length === 0) {
|
|
1047
|
+
resolved = resolveSelfAgents(repoRoot, env);
|
|
1048
|
+
}
|
|
1049
|
+
const member = resolved.agents.find((a) => a.toLowerCase() === asSeat.toLowerCase());
|
|
1050
|
+
if (member === undefined) {
|
|
1051
|
+
// Foreclose the foreign-anchor trap (lesson-2923d5e0): marks live in the
|
|
1052
|
+
// seat's HOME repo, so polling "as" a seat that does not resolve here
|
|
1053
|
+
// would count its entire addressed inbound as unread — an answer to
|
|
1054
|
+
// "ever addressed", presented as "unread". The resolver's own
|
|
1055
|
+
// diagnostics ride along (falsification-leg F3): the #2141
|
|
1056
|
+
// config-omits-present-dir warn-shape often IS the explanation.
|
|
1057
|
+
const resolverDiag = resolved.warnings !== undefined && resolved.warnings.length > 0
|
|
1058
|
+
? ` Resolver: ${resolved.warnings.join('; ')}`
|
|
1059
|
+
: '';
|
|
1060
|
+
throw new TotemError('CONFIG_INVALID', `--as "${asSeat}" is not a seat resolved for this repo (resolved: ${resolved.agents.length > 0 ? resolved.agents.join(', ') : '(none)'} via ${resolved.source}).${resolverDiag}`, "a foreign-anchored poll answers 'ever addressed', never 'unread' — run the poll from that seat's home repo, pass a seat this repo resolves (config/dirs/map or an env-declared list), or fix the config omission the resolver names.");
|
|
1061
|
+
}
|
|
1062
|
+
// Validated: inject as ENV (canonical casing from the resolver) so
|
|
1063
|
+
// resolution flows through the existing precedence chain — the banner
|
|
1064
|
+
// truthfully reports `source: env`, and core's SelfAgentResolution union
|
|
1065
|
+
// gains no new member (protects every `source` consumer, including the
|
|
1066
|
+
// #2634 provenance sensor, from an unknown value).
|
|
1067
|
+
pollOpts = { ...opts, env: { ...env, TOTEM_SELF_AGENT: member } };
|
|
1068
|
+
}
|
|
1069
|
+
const result = pollMail(pollOpts);
|
|
902
1070
|
// The wrapper decides the exit (AGENTS.md: lib returns data, wrapper maps to a
|
|
903
1071
|
// code — `pollMail` never throws). The `mail` action sets `process.exitCode`
|
|
904
1072
|
// from this (mmnto-ai/totem#2312).
|