@mmnto/cli 1.89.0 → 1.91.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.
@@ -20,7 +20,7 @@
20
20
  */
21
21
  import * as fs from 'node:fs';
22
22
  import * as path from 'node:path';
23
- import { isPathSafeAgentId, knownCohortAgents, resolveSelfAgents, TotemError, } from '@mmnto/totem';
23
+ import { isPathSafeAgentId, knownCohortAgents, resolveSelfAgents, resolveTotemRepoRootSync, TotemError, } from '@mmnto/totem';
24
24
  // ─── Constants ──────────────────────────────────────────
25
25
  const TAG = 'Mail';
26
26
  /**
@@ -322,7 +322,13 @@ function enumerateOutboxes(workspace, recursive, warnings) {
322
322
  */
323
323
  export function pollMail(opts = {}) {
324
324
  const env = opts.env ?? process.env;
325
- const repoRoot = path.resolve(opts.repoRoot ?? process.cwd());
325
+ // Walk-start, not definitive root (contract in `resolveTotemRepoRootSync`):
326
+ // from a SUBDIRECTORY (e.g. `.totem/orchestration/<seat>/processed/`), the
327
+ // old `path.resolve(cwd)` made `repoRoot` the subdir and `workspace =
328
+ // dirname(subdir)` garbage — `enumerateOutboxes` scanned nothing real and the
329
+ // poll rendered a false-clean inbox (mmnto-ai/totem#2312). Explicit
330
+ // `--workspace` / `TOTEM_WORKSPACE` overrides are untouched below.
331
+ const repoRoot = resolveTotemRepoRootSync(opts.repoRoot, process.cwd());
326
332
  const workspaceRaw = opts.workspace ?? env['TOTEM_WORKSPACE'] ?? path.dirname(repoRoot);
327
333
  const workspace = path.resolve(workspaceRaw);
328
334
  const selfResolution = resolveSelfAgents(repoRoot, env);
@@ -336,7 +342,11 @@ export function pollMail(opts = {}) {
336
342
  if (selfResolution.agents.length === 0) {
337
343
  warnings.push(`no SELF_AGENT resolved (set TOTEM_SELF_AGENT, add .totem/orchestration/config.json host_agents, or run from a known cohort repo)`);
338
344
  }
339
- const processedNames = selfResolution.agents.length > 0
345
+ // `includeProcessed` (ADR-106 § A2.1) yields the RAW addressed-inbound set:
346
+ // an empty processed set makes the `processedNames.has(file)` filter below a
347
+ // no-op, so nothing is subtracted. The reader default stays `inbound −
348
+ // processed`; the compaction path opts in to the pre-dedupe view.
349
+ const processedNames = opts.includeProcessed !== true && selfResolution.agents.length > 0
340
350
  ? buildProcessedSet(repoRoot, selfResolution.agents, warnings)
341
351
  : new Set();
342
352
  const slots = enumerateOutboxes(workspace, opts.recursive === true, warnings);
@@ -466,6 +476,19 @@ export function pollMail(opts = {}) {
466
476
  };
467
477
  }
468
478
  // ─── Output formatting ──────────────────────────────────
479
+ /**
480
+ * Exit-code contract for `totem mail` (mmnto-ai/totem#2312). Pure so the class
481
+ * is unit-testable independent of the CLI wrapper, mirroring
482
+ * `resolveEclGcExitCode`. An UNRESOLVED self (`source: 'none'`, agents `[]`) is
483
+ * a NOT-DERIVED verdict, never a clean inbox: every directed dispatch is
484
+ * filtered out so "no unread" asserts nothing (the false-clean class). The
485
+ * plain poll must not be softer than its `totem ecl-gc` sibling, whose
486
+ * unresolvable-self is exit 2 — so this arm is exit 2 too. A resolved self
487
+ * (genuine clean inbox OR a real unread list) is exit 0.
488
+ */
489
+ export function resolveMailExitCode(result) {
490
+ return result.selfAgents.source === 'none' ? 2 : 0;
491
+ }
469
492
  function formatTextResult(result) {
470
493
  const lines = [];
471
494
  const selfList = result.selfAgents.agents.length > 0 ? result.selfAgents.agents.join(', ') : '(none)';
@@ -475,7 +498,20 @@ function formatTextResult(result) {
475
498
  for (const w of result.warnings)
476
499
  lines.push(`Warning: ${w}`);
477
500
  }
478
- if (result.mail.length === 0) {
501
+ if (result.selfAgents.source === 'none') {
502
+ // Unresolved self ⇒ refuse to render ANY inbox verdict (Tenet 4 fail-loud,
503
+ // mmnto-ai/totem#2312). A clean/unread line here is a FALSE-CLEAN: with an
504
+ // empty self-set every directed dispatch is filtered out, so an empty inbox
505
+ // asserts nothing. Broadcast matches survive the filter but still cannot
506
+ // certify directed-mail absence — they are COUNTED in the hint (so waiting
507
+ // mail is not invisible) and inspectable via `--json`; the verdict itself
508
+ // stays withheld.
509
+ const broadcastHint = result.mail.length > 0
510
+ ? ` ${result.mail.length} broadcast dispatch(es) present — inspect via --json.`
511
+ : '';
512
+ 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.`);
513
+ }
514
+ else if (result.mail.length === 0) {
479
515
  lines.push(`No unread mail addressed to ${selfList} or broadcast.`);
480
516
  }
481
517
  else {
@@ -493,11 +529,18 @@ function formatTextResult(result) {
493
529
  // ─── CLI entry ──────────────────────────────────────────
494
530
  export async function mailCommand(opts = {}) {
495
531
  const result = pollMail(opts);
532
+ // The wrapper decides the exit (AGENTS.md: lib returns data, wrapper maps to a
533
+ // code — `pollMail` never throws). The `mail` action sets `process.exitCode`
534
+ // from this (mmnto-ai/totem#2312).
535
+ const exitCode = resolveMailExitCode(result);
496
536
  if (opts.json === true) {
497
537
  // JSON output goes to stdout (hook-friendly); structured logger goes to stderr
498
538
  // via the standard CLI path. Using process.stdout keeps the JSON stream clean.
539
+ // Emit the FULL result even on the exit-2 unresolved arm — it already exposes
540
+ // `source: 'none'` + warnings, so a --json consumer parses one object AND
541
+ // reads the exit code (mmnto-ai/totem#2312).
499
542
  process.stdout.write(JSON.stringify(result, null, 2) + '\n');
500
- return result;
543
+ return { result, exitCode };
501
544
  }
502
545
  const { log } = await import('../ui.js');
503
546
  const text = formatTextResult(result);
@@ -507,7 +550,7 @@ export async function mailCommand(opts = {}) {
507
550
  for (const line of text.split('\n')) {
508
551
  log.info(TAG, line);
509
552
  }
510
- return result;
553
+ return { result, exitCode };
511
554
  }
512
555
  // ─── Outbound: send / reply (mmnto-ai/totem#2042) ───────
513
556
  //
@@ -1 +1 @@
1
- {"version":3,"file":"mail.js","sourceRoot":"","sources":["../../src/commands/mail.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mail.js","sourceRoot":"","sources":["../../src/commands/mail.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EAExB,UAAU,GACX,MAAM,cAAc,CAAC;AAEtB,2DAA2D;AAE3D,MAAM,GAAG,GAAG,MAAM,CAAC;AAEnB;;;;;;;;;GASG;AACH,MAAM,QAAQ,GAAG,IAAI,CAAC;AA4EtB,2DAA2D;AAE3D;;;;;;;;;GASG;AACH,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAEvC;;;GAGG;AACH,MAAM,iBAAiB,GAAG,2BAA2B,CAAC;AAiBtD;;;;;;;;GAQG;AACH,SAAS,WAAW,CAAC,OAAe,EAAE,eAAe,GAAG,KAAK;IAC3D,0EAA0E;IAC1E,wEAAwE;IACxE,wBAAwB;IACxB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC;IAC9E,CAAC;IAED,yEAAyE;IACzE,2EAA2E;IAC3E,2EAA2E;IAC3E,0EAA0E;IAC1E,2EAA2E;IAC3E,wDAAwD;IACxD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,uBAAuB,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;YACL,EAAE,EAAE,KAAK;YACT,UAAU,EAAE,IAAI;YAChB,MAAM;YACJ,qEAAqE;YACrE,sEAAsE;YACtE,uEAAuE;YACvE,uEAAuE;YACvE,oEAAoE;YACpE,wDAAwD;YACxD,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,uBAAuB,IAAI,eAAe;gBAC7D,CAAC,CAAC,6BAA6B,uBAAuB,qBAAqB;gBAC3E,CAAC,CAAC,0BAA0B;SACjC,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAE5C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC;IAChF,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7E,4EAA4E;IAC5E,2EAA2E;IAC3E,0EAA0E;IAC1E,0EAA0E;IAC1E,sEAAsE;IACtE,2EAA2E;IAC3E,0EAA0E;IAC1E,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACpF,2EAA2E;IAC3E,6EAA6E;IAC7E,6EAA6E;IAC7E,mEAAmE;IACnE,4EAA4E;IAC5E,0EAA0E;IAC1E,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM,EAAE;YACN,EAAE,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;YAC1C,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;YACjE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;YAC9D,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;SAC7D;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,KAAa;IACvC,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,4BAA4B,GAAG,iCAAiC,CAAC;AAEvE;;;;;;;;;GASG;AACH,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAY,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1F,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,iBAAiB,GAAG,CAAC,GAAG,uBAAuB,CAAC;AAStD;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,QAAgB;IACxC,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACtC,IAAI,CAAC;QACH,0EAA0E;QAC1E,qEAAqE;QACrE,sEAAsE;QACtE,yEAAyE;QACzE,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,iBAAiB,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACpE,OAAO;YACL,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;YACzE,eAAe,EAAE,SAAS,GAAG,iBAAiB;SAC/C,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CACxB,QAAgB,EAChB,UAAoB,EACpB,QAAkB;IAElB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QACpF,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QACjD,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAW,EAAE,IAAiB,EAAE,QAAkB;IAC3E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO;IAChC,2UAA2U;IAC3U,IAAI,CAAC;QACH,KAAK,MAAM,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;QACD,8JAA8J;IAChK,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,QAAQ,CAAC,IAAI,CAAC,2BAA2B,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAcD;;;;GAIG;AACH,SAAS,iBAAiB,CACxB,SAAiB,EACjB,SAAkB,EAClB,QAAkB;IAElB,MAAM,KAAK,GAAiB,EAAE,CAAC;IAE/B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,QAAQ,CAAC,IAAI,CAAC,6BAA6B,SAAS,EAAE,CAAC,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,EAAE;aACP,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aAC/C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC;aACtF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAClB,IAAI,EAAE,CAAC;QACV,oPAAoP;IACtP,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,QAAQ,CAAC,IAAI,CAAC,0BAA0B,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,SAAiB,EAAE,OAAe,EAAQ,EAAE;QACzD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO;QACpC,IAAI,MAAgB,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YACxC,uNAAuN;QACzN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC,8BAA8B,SAAS,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YACnD,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,uEAAuE;IACvE,sEAAsE;IACtE,iEAAiE;IACjE,MAAM,mBAAmB,GAAG,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAyD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpF,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC5B,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;KACT,CAAC,CAAC,CAAC;IACJ,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;QAClE,IAAI,IAAI,CAAC,KAAK,IAAI,mBAAmB;YAAE,SAAS;QAChD,IAAI,QAAqB,CAAC;QAC1B,IAAI,CAAC;YACH,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7D,iMAAiM;QACnM,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC,0BAA0B,IAAI,CAAC,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrE,SAAS;QACX,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS;YACjE,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;gBAAE,SAAS;YAC5C,KAAK,CAAC,IAAI,CAAC;gBACT,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC;gBACpC,gEAAgE;gBAChE,uEAAuE;gBACvE,8DAA8D;gBAC9D,oEAAoE;gBACpE,KAAK,EAAE,KAAK,CAAC,IAAI;gBACjB,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,2DAA2D;AAE3D;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CAAC,OAA2B,EAAE;IACpD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACpC,4EAA4E;IAC5E,2EAA2E;IAC3E,sEAAsE;IACtE,8EAA8E;IAC9E,oEAAoE;IACpE,mEAAmE;IACnE,MAAM,QAAQ,GAAG,wBAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAExE,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxF,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAE7C,MAAM,cAAc,GAAG,iBAAiB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAE7E,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,cAAc,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC1C,uEAAuE;QACvE,8EAA8E;QAC9E,QAAQ,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,QAAQ,CAAC,IAAI,CACX,kIAAkI,CACnI,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,6EAA6E;IAC7E,uEAAuE;IACvE,kEAAkE;IAClE,MAAM,cAAc,GAClB,IAAI,CAAC,gBAAgB,KAAK,IAAI,IAAI,cAAc,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QAChE,CAAC,CAAC,iBAAiB,CAAC,QAAQ,EAAE,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC9D,CAAC,CAAC,IAAI,GAAG,EAAU,CAAC;IAExB,MAAM,KAAK,GAAG,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,QAAQ,CAAC,CAAC;IAE9E,6CAA6C;IAC7C,4EAA4E;IAC5E,yEAAyE;IACzE,qEAAqE;IACrE,0EAA0E;IAC1E,0EAA0E;IAC1E,6DAA6D;IAC7D,yBAAyB;IACzB,MAAM,MAAM,GAA8C,EAAE,CAAC;IAC7D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,KAAe,CAAC;QACpB,IAAI,CAAC;YACH,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YACrE,6JAA6J;QAC/J,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjF,SAAS;QACX,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YACvC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,yEAAyE;IACzE,oBAAoB;IACpB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAEpD,sEAAsE;IACtE,wEAAwE;IACxE,uEAAuE;IACvE,0EAA0E;IAC1E,iEAAiE;IACjE,uEAAuE;IACvE,qEAAqE;IACrE,2EAA2E;IAC3E,2EAA2E;IAC3E,eAAe;IACf,MAAM,WAAW,GAAG,4BAA4B,CAAC;IACjD,MAAM,UAAU,GAAG,CAAC,GAAG,SAAS,EAAE,WAAW,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,CAAC,IAAY,EAAW,EAAE;QAC7C,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QACvD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,KAAK,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC;IAC5F,CAAC,CAAC;IACF,MAAM,OAAO,GAAG;QACd,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAClD,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;KACpD,CAAC;IAEF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC;IACzC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,OAAO,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC;QAC7B,SAAS,GAAG,IAAI,CAAC;QACjB,wEAAwE;QACxE,uEAAuE;QACvE,uEAAuE;QACvE,sEAAsE;QACtE,mBAAmB;QACnB,MAAM,WAAW,GAAG,OAAO;aACxB,KAAK,CAAC,OAAO,CAAC;aACd,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;aACxC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC;QACjE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACtC,IAAI,WAAW,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBACtC,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;YAC7D,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,yDAAyD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAgB,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC/E,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,OAAO,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,CAAC;QACb,IAAI,YAA8B,CAAC;QACnC,IAAI,CAAC;YACH,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;YAC9D,4NAA4N;QAC9N,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvF,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC;QAC/E,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,sEAAsE;YACtE,uEAAuE;YACvE,mEAAmE;YACnE,kDAAkD;YAClD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtB,QAAQ,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5F,CAAC;YACD,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,OAAO,KAAK,WAAW,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,SAAS;QACjE,IAAI,CAAC,IAAI,CAAC;YACR,IAAI;YACJ,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK;YAC/B,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,cAAc;YACzC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;SACvC,CAAC,CAAC;IACL,CAAC;IAED,0EAA0E;IAC1E,uEAAuE;IACvE,6CAA6C;IAC7C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAExE,OAAO;QACL,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE;QACjF,IAAI;QACJ,OAAO;QACP,SAAS;QACT,SAAS;QACT,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,2DAA2D;AAE3D;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAsB;IACxD,OAAO,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAsB;IAC9C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,QAAQ,GACZ,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACvF,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAC7C,KAAK,CAAC,IAAI,CAAC,gBAAgB,QAAQ,aAAa,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7E,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QACxC,2EAA2E;QAC3E,2EAA2E;QAC3E,4EAA4E;QAC5E,yEAAyE;QACzE,2EAA2E;QAC3E,0EAA0E;QAC1E,kBAAkB;QAClB,MAAM,aAAa,GACjB,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;YACpB,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,uDAAuD;YAC/E,CAAC,CAAC,EAAE,CAAC;QACT,KAAK,CAAC,IAAI,CACR,kFAAkF,aAAa,mFAAmF,CACnL,CAAC;IACJ,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,+BAA+B,QAAQ,gBAAgB,CAAC,CAAC;IACtE,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,CAAC;QAC5C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACtE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,OAAO,yCAAyC,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,2DAA2D;AAE3D,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAA2B,EAAE;IAE7B,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9B,+EAA+E;IAC/E,6EAA6E;IAC7E,mCAAmC;IACnC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAE7C,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACvB,+EAA+E;QAC/E,+EAA+E;QAC/E,8EAA8E;QAC9E,0EAA0E;QAC1E,6CAA6C;QAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACtC,yEAAyE;IACzE,sEAAsE;IACtE,qBAAqB;IACrB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC9B,CAAC;AAED,2DAA2D;AAC3D,EAAE;AACF,2EAA2E;AAC3E,2EAA2E;AAC3E,yEAAyE;AACzE,yEAAyE;AACzE,wEAAwE;AACxE,qDAAqD;AACrD,EAAE;AACF,6EAA6E;AAC7E,qEAAqE;AACrE,sEAAsE;AACtE,yEAAyE;AACzE,4EAA4E;AAC5E,oDAAoD;AACpD,2EAA2E;AAC3E,kCAAkC;AAClC,EAAE;AACF,8EAA8E;AAC9E,0DAA0D;AAE1D,qEAAqE;AACrE,MAAM,aAAa,GAAG,cAAc,CAAC;AA2ErC;;;;;;;;GAQG;AACH,SAAS,UAAU,CAAC,KAAa;IAC/B,MAAM,UAAU,GACd,KAAK,KAAK,EAAE;QACZ,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE;QACtB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;QACnB,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QACjB,2EAA2E;QAC3E,2EAA2E;QAC3E,yEAAyE;QACzE,kEAAkE;QAClE,4CAA4C,CAAC,IAAI,CAAC,KAAK,CAAC;QACxD,6CAA6C,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5D,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,MAAsB,EAAE,IAAY;IAClE,MAAM,KAAK,GAAa,CAAC,KAAK,CAAC,CAAC;IAChC,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,4EAA4E;IAC5E,0EAA0E;IAC1E,sFAAsF;IACtF,KAAK,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/C,KAAK,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3C,KAAK,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAC7C,KAAK,CAAC,IAAI,CAAC,YAAY,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrD,KAAK,CAAC,IAAI,CAAC,oBAAoB,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IACpE,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC/F,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1F,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9D,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,mEAAmE;IACnE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;IACrC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAA0C,EAC1C,WAA8B;IAE9B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC/D,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,WAAW,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QACrE,QAAQ,CAAC,IAAI,CACX,cAAc,EAAE,oHAAoH,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CACrL,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,QAAQ,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAgB,EAChB,GAAuC,EACvC,YAAqB;IAErB,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjE,OAAO,YAAY,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IACD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAClD,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC;IAC7D,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,UAAU,CAClB,kBAAkB,EAClB,4DAA4D,EAC5D,iDAAiD,CAClD,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,UAAU,CAClB,kBAAkB,EAClB,sCAAsC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAClE,yCAAyC,CAC1C,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,EAAU,EAAE,KAAa;IAClD,2EAA2E;IAC3E,4EAA4E;IAC5E,4EAA4E;IAC5E,sEAAsE;IACtE,mEAAmE;IACnE,qEAAqE;IACrE,mDAAmD;IACnD,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAC;QAC3B,0EAA0E;QAC1E,qEAAqE;QACrE,6EAA6E;QAC7E,MAAM,IAAI,UAAU,CAClB,kBAAkB,EAClB,aAAa,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,gDAAgD,EACxF,6GAA6G,CAC9G,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,SAAS,CAAC,KAAa;IAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAChF,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,CAAO;IAC3B,MAAM,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5B,iEAAiE;IACjE,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAChD,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC;AACxC,CAAC;AAED,qFAAqF;AACrF,SAAS,OAAO,CAAC,OAAe,EAAE,QAAiB;IACjD,MAAM,MAAM,GAAG,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;IACzF,MAAM,IAAI,GAAG,MAAM;SAChB,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;SAC3B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,IAAI,CAAC,GAAG,CAAC;SACT,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChB,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;AAC7C,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,SAAiB,EAAE,IAAY;IACvD,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;IACnD,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAChC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC,IAAI,CAAC,CAAC;IACT,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAqB;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IAE/C,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;IAC1B,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QACjB,MAAM,IAAI,UAAU,CAClB,kBAAkB,EAClB,8BAA8B,EAC9B,kDAAkD,CACnD,CAAC;IACJ,0EAA0E;IAC1E,6FAA6F;IAC7F,iBAAiB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACpC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QACtB,MAAM,IAAI,UAAU,CAClB,kBAAkB,EAClB,8BAA8B,EAC9B,0BAA0B,CAC3B,CAAC;IAEJ,MAAM,IAAI,GAAG,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAEhC,8EAA8E;IAC9E,4EAA4E;IAC5E,uCAAuC;IACvC,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;IAC3B,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC/C,2MAA2M;QAC7M,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,UAAU,CAClB,kBAAkB,EAClB,2BAA2B,IAAI,CAAC,QAAQ,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,EAC3D,oDAAoD,EACpD,GAAG,CACJ,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAmB;QAC7B,MAAM,EAAE,aAAa;QACrB,IAAI;QACJ,EAAE;QACF,SAAS,EAAE,GAAG,CAAC,WAAW,EAAE;QAC5B,OAAO;QACP,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,MAAM;QACrD,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5F,CAAC;IAEF,2EAA2E;IAC3E,uEAAuE;IACvE,wEAAwE;IACxE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAC5B,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CACnE,CAAC;IACF,MAAM,QAAQ,GAAG,uBAAuB,CACtC,MAAM,EACN,IAAI,CAAC,WAAW,IAAI,iBAAiB,CAAC,SAAS,CAAC,CACjD,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACjF,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,2EAA2E;QAC3E,0EAA0E;QAC1E,yFAAyF;IAC3F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,UAAU,CAClB,kBAAkB,EAClB,sCAAsC,SAAS,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,EAClE,gEAAgE,EAChE,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACpF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE9C,yEAAyE;IACzE,MAAM,GAAG,GAAG,GAAG,QAAQ,MAAM,CAAC;IAC9B,IAAI,CAAC;QACH,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACxC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,2EAA2E;QAC3E,uEAAuE;QACvE,sEAAsE;QACtE,sEAAsE;QACtE,2DAA2D;QAC3D,MAAM,IAAI,GAAG,8DAA8D,CAAC;QAC5E,IAAI,CAAC;YACH,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;QACjE,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YACpB,kEAAkE;YAClE,wEAAwE;YACxE,uEAAuE;YACvE,MAAM,IAAI,UAAU,CAClB,kBAAkB,EAClB,iBAAiB,QAAQ,MAAM,MAAM,CAAC,GAAG,CAAC,eAAe,GAAG,0BAA0B,MAAM,CAAC,UAAU,CAAC,GAAG,EAC3G,IAAI,EACJ,GAAG,CACJ,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,UAAU,CAClB,kBAAkB,EAClB,iBAAiB,QAAQ,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,EAC5C,IAAI,EACJ,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC3E,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CACvB,MAAc,EACd,OAGI,EAAE;IAEN,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3C,oLAAoL;IACtL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,UAAU,CAClB,kBAAkB,EAClB,sCAAsC,MAAM,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,EAC/D,uDAAuD,EACvD,GAAG,CACJ,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,IAAI,UAAU,CAClB,kBAAkB,EAClB,uCAAuC,MAAM,MAAM,MAAM,CAAC,MAAM,EAAE,EAClE,6GAA6G,CAC9G,CAAC;IACJ,CAAC;IACD,4EAA4E;IAC5E,2EAA2E;IAC3E,0EAA0E;IAC1E,6DAA6D;IAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,oBAAoB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACpF,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,UAAU,CAClB,kBAAkB,EAClB,4CAA4C,MAAM,GAAG,EACrD,6CAA6C,CAC9C,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,cAAc,EAAE,CAAC;IACjF,OAAO,QAAQ,CAAC,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC3F,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,MAAc;IAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACjD,OAAO,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAClE,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,iBAAiB,CAAC,MAAc;IACvC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC9C,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;IAC5D,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAClE,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAsB;IAC1D,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ;QAAE,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAClD,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,qBAAqB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvF,GAAG,CAAC,IAAI,CACN,GAAG,EACH,SAAS,MAAM,CAAC,MAAM,CAAC,EAAE,YAAY,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CACvF,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -11,8 +11,10 @@ import * as fs from 'node:fs';
11
11
  import * as os from 'node:os';
12
12
  import * as path from 'node:path';
13
13
  import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
14
+ import { findTotemRepoRootSync } from '@mmnto/totem';
14
15
  import { cleanTmpDir } from '../test-utils.js';
15
- import { composeDispatch, mailCommand, mailReply, mailSend, pollMail, resolveSelfSender, validateDispatchContent, } from './mail.js';
16
+ import { log } from '../ui.js';
17
+ import { composeDispatch, mailCommand, mailReply, mailSend, pollMail, resolveMailExitCode, resolveSelfSender, validateDispatchContent, } from './mail.js';
16
18
  // ─── Fixture helpers ────────────────────────────────────
17
19
  let tmpRoot;
18
20
  let workspace;
@@ -63,7 +65,24 @@ function writeBroadcastProcessed(repo, recipientAgent, names) {
63
65
  * map without needing a config.json or env override for every test.
64
66
  */
65
67
  function selfRepoRoot() {
66
- return mkDir(path.join(workspace, 'totem'));
68
+ const root = mkDir(path.join(workspace, 'totem'));
69
+ // A real repo root carries a `.totem` marker (`totem init`). Since mmnto-ai/totem#2312
70
+ // the poll derives the repo root by walking UP to the nearest `.totem`/`.git`
71
+ // marker, so the fixture must present one — else the walk climbs past this
72
+ // marker-less dir to a host-level ancestor marker (e.g. `~/.totem`) and
73
+ // self-resolution reads the wrong basename.
74
+ mkDir(path.join(root, '.totem'));
75
+ return root;
76
+ }
77
+ /**
78
+ * Build a marker-bearing repo root at `<workspace>/<basename>` with no outbox of
79
+ * its own (a recipient repo). Same rationale as `selfRepoRoot` — the #2312
80
+ * walk-up needs a marker to anchor on.
81
+ */
82
+ function markedRepoRoot(basename) {
83
+ const root = mkDir(path.join(workspace, basename));
84
+ mkDir(path.join(root, '.totem'));
85
+ return root;
67
86
  }
68
87
  /**
69
88
  * Build a frontmatter-only dispatch (zero blank lines) carrying the whole
@@ -181,6 +200,25 @@ describe('pollMail — processed/ exclusion', () => {
181
200
  const result = poll();
182
201
  expect(result.mail).toEqual([]);
183
202
  });
203
+ it('includeProcessed returns the RAW addressed-inbound set (does NOT subtract processed) — ADR-106 § A2.1', () => {
204
+ // The pre-dedupe discovery `ecl-gc` compaction consumes: an already-handled
205
+ // dispatch stays VISIBLE so its mark reads as load-bearing, not inert.
206
+ writeOutbox('totem-strategy', 'strategy-claude', [
207
+ { name: '2026-05-18T1734Z.md', to: 'totem-claude', subject: 'already actioned' },
208
+ { name: '2026-05-18T1918Z.md', to: 'totem-claude', subject: 'still unread' },
209
+ ]);
210
+ writeProcessed('totem', 'totem-claude', ['2026-05-18T1734Z.md']);
211
+ // Default (reader) view subtracts the mark → 1 unread.
212
+ expect(poll().mail).toHaveLength(1);
213
+ // Pre-dedupe view keeps BOTH → the raw addressed-inbound set. NON-VACUITY:
214
+ // feeding the default 1-item list back to compaction would delete the
215
+ // handled mark (the A2.1 false-unread bomb).
216
+ const raw = poll({ includeProcessed: true });
217
+ expect(raw.mail.map((m) => m.file).sort()).toEqual([
218
+ '2026-05-18T1734Z.md',
219
+ '2026-05-18T1918Z.md',
220
+ ]);
221
+ });
184
222
  });
185
223
  // ─── Sort + metadata ────────────────────────────────────
186
224
  describe('pollMail — sort + metadata', () => {
@@ -301,6 +339,9 @@ describe('pollMail — SELF_AGENT resolution', () => {
301
339
  });
302
340
  it('warns when SELF_AGENT cannot be resolved', () => {
303
341
  const unknownRoot = mkDir(path.join(tmpRoot, 'workspace', 'unknown-repo'));
342
+ // Marker so the #2312 walk-up anchors here (basename `unknown-repo` ⇒ self
343
+ // unresolved) instead of climbing to a host-level ancestor marker.
344
+ mkDir(path.join(unknownRoot, '.totem'));
304
345
  writeOutbox('totem-strategy', 'strategy-claude', [
305
346
  { name: 'x.md', to: 'something', subject: 'orphan' },
306
347
  ]);
@@ -313,6 +354,9 @@ describe('pollMail — SELF_AGENT resolution', () => {
313
354
  });
314
355
  it('still surfaces broadcast mail when SELF_AGENT cannot be resolved', () => {
315
356
  const unknownRoot = mkDir(path.join(tmpRoot, 'workspace', 'unknown-repo'));
357
+ // Marker so the #2312 walk-up anchors here (basename `unknown-repo` ⇒ self
358
+ // unresolved) instead of climbing to a host-level ancestor marker.
359
+ mkDir(path.join(unknownRoot, '.totem'));
316
360
  writeOutbox('totem-strategy', 'strategy-claude', [
317
361
  { name: 'b.md', to: 'broadcast', subject: 'cohort' },
318
362
  ]);
@@ -375,6 +419,72 @@ describe('pollMail — workspace', () => {
375
419
  expect(result.mail).toEqual([]);
376
420
  });
377
421
  });
422
+ // ─── Subdirectory workspace derivation (mmnto-ai/totem#2312) ───────────────
423
+ // Run from a SUBDIRECTORY, the old `path.resolve(cwd)` made repoRoot the subdir
424
+ // and `workspace = dirname(subdir)` garbage — nothing scanned, a false-clean
425
+ // verdict at exit 0. The walk-up derives the real root, so workspace resolves
426
+ // to its parent and directed mail is found. `workspace` is intentionally NOT
427
+ // passed here so the derivation (not the injection) is under test.
428
+ describe('pollMail — subdirectory workspace derivation (mmnto-ai/totem#2312)', () => {
429
+ it('walks up from a deep .totem subdir to the real root; workspace = parent-of-root and mail is found', () => {
430
+ // `<workspace>/totem/.totem/...` makes `totem` the marked repo root; the
431
+ // walk must anchor there from a nested processed/ subdir.
432
+ const repoRoot = selfRepoRoot();
433
+ const subdir = mkDir(path.join(repoRoot, '.totem', 'orchestration', 'totem-claude', 'processed'));
434
+ writeOutbox('totem-strategy', 'strategy-claude', [
435
+ { name: '2026-05-18T1734Z-totem-claude.md', to: 'totem-claude', subject: 'from a subdir' },
436
+ ]);
437
+ // No `workspace` override — derivation must find `<workspace>` (parent of
438
+ // the resolved root `<workspace>/totem`).
439
+ const result = pollMail({ repoRoot: subdir, env: {} });
440
+ expect(result.workspace).toBe(path.resolve(workspace));
441
+ expect(result.mail).toHaveLength(1);
442
+ expect(result.mail[0].to).toBe('totem-claude');
443
+ expect(result.mail[0].subject).toBe('from a subdir');
444
+ });
445
+ it('also anchors on a `.git` marker (dir) with no `.totem` at the root', () => {
446
+ // `.git` created as a plain directory via fs — never a git spawn (Windows
447
+ // leaves a temp-cwd git process undeletable). Root has ONLY `.git` (no
448
+ // `.totem`), so this isolates the `.git`-marker arm; basename `totem`
449
+ // resolves self via the cohort map even without a `.totem/orchestration` tree.
450
+ const repoRoot = mkDir(path.join(workspace, 'totem'));
451
+ fs.mkdirSync(path.join(repoRoot, '.git'));
452
+ const subdir = mkDir(path.join(repoRoot, 'src', 'deep'));
453
+ writeOutbox('totem-strategy', 'strategy-claude', [
454
+ { name: '2026-05-18T1800Z-totem-claude.md', to: 'totem-claude', subject: 'git-marked' },
455
+ ]);
456
+ const result = pollMail({ repoRoot: subdir, env: {} });
457
+ expect(result.workspace).toBe(path.resolve(workspace));
458
+ expect(result.selfAgents.agents).toContain('totem-claude');
459
+ expect(result.mail).toHaveLength(1);
460
+ expect(result.mail[0].subject).toBe('git-marked');
461
+ });
462
+ it('a marker-less start dir resolves to its nearest marked ancestor (no garbage; deterministic)', () => {
463
+ // A bare start dir with no marker of its own must not yield garbage: the walk
464
+ // climbs to the nearest real root and derives workspace as that root's parent.
465
+ // A controlled ancestor marker fixes the stop point regardless of host tmp
466
+ // ancestry (the literal null→given-dir fallback is unit-tested on the helper).
467
+ const anchor = mkDir(path.join(tmpRoot, 'anchor-repo'));
468
+ mkDir(path.join(anchor, '.totem'));
469
+ const bare = mkDir(path.join(anchor, 'nested', 'start'));
470
+ const result = pollMail({ repoRoot: bare, env: {} });
471
+ expect(result.workspace).toBe(path.resolve(tmpRoot)); // parent of anchor-repo
472
+ });
473
+ it('a marker-less start dir falls back to the given dir when the ancestry is marker-free', () => {
474
+ // The literal pre-#2312 behavior: `findTotemRepoRootSync` returns null ⇒
475
+ // repoRoot stays the given dir ⇒ workspace = its parent. Guarded like
476
+ // findRepoRootSync's own null-case test — some dev hosts nest tmp under a
477
+ // marker (e.g. `~/.totem`), where the walk anchors upward instead.
478
+ const bare = mkDir(path.join(tmpRoot, 'bare-parent', 'bare-repo'));
479
+ const result = pollMail({ repoRoot: bare, env: {} });
480
+ if (findTotemRepoRootSync(bare) === null) {
481
+ expect(result.workspace).toBe(path.resolve(path.join(tmpRoot, 'bare-parent')));
482
+ }
483
+ else {
484
+ expect(path.isAbsolute(result.workspace)).toBe(true);
485
+ }
486
+ });
487
+ });
378
488
  // ─── MAX_SCAN truncation ────────────────────────────────
379
489
  describe('pollMail — MAX_SCAN truncation', () => {
380
490
  it('marks truncated and stops scanning at the cap (scanned <= maxScan)', () => {
@@ -817,6 +927,108 @@ describe('mailCommand — --json output', () => {
817
927
  expect(parsed.warnings).toEqual([]);
818
928
  });
819
929
  });
930
+ // ─── Exit contract + NOT-DERIVED verdict (mmnto-ai/totem#2312) ─────────────
931
+ describe('resolveMailExitCode (unit)', () => {
932
+ function result(selfAgents) {
933
+ return { selfAgents, mail: [], scanned: 0, truncated: false, workspace: '/w', warnings: [] };
934
+ }
935
+ it('is 2 when self is unresolved (source none), 0 when resolved', () => {
936
+ expect(resolveMailExitCode(result({ agents: [], source: 'none' }))).toBe(2);
937
+ expect(resolveMailExitCode(result({ agents: ['totem-claude'], source: 'map' }))).toBe(0);
938
+ });
939
+ });
940
+ describe('mailCommand — exit contract + NOT-DERIVED verdict (mmnto-ai/totem#2312)', () => {
941
+ function unknownRepo() {
942
+ // Marker-bearing so the #2312 walk-up anchors here (basename `unknown-repo`
943
+ // ⇒ self unresolved) instead of climbing to a host-level ancestor marker.
944
+ return markedRepoRoot('unknown-repo');
945
+ }
946
+ it('unresolved self ⇒ NOT-DERIVED text (never the clean line) and exit 2', async () => {
947
+ const lines = [];
948
+ const spy = vi.spyOn(log, 'info').mockImplementation((_tag, msg) => {
949
+ lines.push(msg);
950
+ });
951
+ let exitCode;
952
+ try {
953
+ ({ exitCode } = await mailCommand({ repoRoot: unknownRepo(), workspace, env: {} }));
954
+ }
955
+ finally {
956
+ spy.mockRestore();
957
+ }
958
+ const text = lines.join('\n');
959
+ expect(exitCode).toBe(2);
960
+ expect(text).toContain('NOT DERIVED');
961
+ expect(text).not.toContain('No unread mail');
962
+ });
963
+ it('unresolved self + waiting broadcast ⇒ NOT-DERIVED carries a broadcast-count hint, exit 2', async () => {
964
+ // Broadcasts pass the self-filter even with an empty self-set — the verdict
965
+ // stays withheld, but waiting mail must not be invisible (greptile P2 on
966
+ // mmnto-ai/totem#2313): the hint counts it and points at --json.
967
+ writeOutbox('totem-strategy', 'strategy-claude', [
968
+ { name: '2026-05-18T1900Z-broadcast.md', to: 'broadcast', subject: 'cohort-wide' },
969
+ ]);
970
+ const lines = [];
971
+ const spy = vi.spyOn(log, 'info').mockImplementation((_tag, msg) => {
972
+ lines.push(msg);
973
+ });
974
+ let exitCode;
975
+ try {
976
+ ({ exitCode } = await mailCommand({ repoRoot: unknownRepo(), workspace, env: {} }));
977
+ }
978
+ finally {
979
+ spy.mockRestore();
980
+ }
981
+ const text = lines.join('\n');
982
+ expect(exitCode).toBe(2);
983
+ expect(text).toContain('NOT DERIVED');
984
+ expect(text).toContain('1 broadcast dispatch(es) present');
985
+ expect(text).not.toContain('No unread mail');
986
+ expect(text).not.toContain('unread:');
987
+ });
988
+ it('resolved self + genuinely empty inbox ⇒ clean line and exit 0', async () => {
989
+ const lines = [];
990
+ const spy = vi.spyOn(log, 'info').mockImplementation((_tag, msg) => {
991
+ lines.push(msg);
992
+ });
993
+ let exitCode;
994
+ try {
995
+ ({ exitCode } = await mailCommand({ repoRoot: selfRepoRoot(), workspace, env: {} }));
996
+ }
997
+ finally {
998
+ spy.mockRestore();
999
+ }
1000
+ const text = lines.join('\n');
1001
+ expect(exitCode).toBe(0);
1002
+ expect(text).toContain('No unread mail');
1003
+ expect(text).not.toContain('NOT DERIVED');
1004
+ });
1005
+ it('--json on the unresolved arm still emits the JSON result AND exits 2', async () => {
1006
+ const writes = [];
1007
+ const spy = vi
1008
+ .spyOn(process.stdout, 'write')
1009
+ .mockImplementation((chunk) => {
1010
+ writes.push(typeof chunk === 'string' ? chunk : Buffer.from(chunk).toString('utf-8'));
1011
+ return true;
1012
+ });
1013
+ let exitCode;
1014
+ try {
1015
+ ({ exitCode } = await mailCommand({
1016
+ json: true,
1017
+ repoRoot: unknownRepo(),
1018
+ workspace,
1019
+ env: {},
1020
+ }));
1021
+ }
1022
+ finally {
1023
+ spy.mockRestore();
1024
+ }
1025
+ expect(exitCode).toBe(2);
1026
+ expect(writes).toHaveLength(1);
1027
+ const parsed = JSON.parse(writes[0]);
1028
+ expect(parsed.selfAgents.source).toBe('none');
1029
+ expect(parsed.warnings.some((w) => w.includes('no SELF_AGENT resolved'))).toBe(true);
1030
+ });
1031
+ });
820
1032
  // ─── Structured warnings on FS failures ─────────────────
821
1033
  describe('pollMail — structured warnings on FS failures', () => {
822
1034
  it('emits a warning when processed/ exists but is unreadable', () => {
@@ -904,7 +1116,7 @@ describe('mailSend — actuator (mmnto-ai/totem#2042)', () => {
904
1116
  expect(written).toContain('expected-action: none');
905
1117
  expect(res.warnings).toEqual([]);
906
1118
  // The poller (sensor) surfaces exactly what the actuator emitted.
907
- const recipientRepo = mkDir(path.join(workspace, 'totem-strategy'));
1119
+ const recipientRepo = markedRepoRoot('totem-strategy');
908
1120
  const inbox = pollMail({ repoRoot: recipientRepo, workspace, env: {} });
909
1121
  expect(inbox.mail).toHaveLength(1);
910
1122
  expect(inbox.mail[0].to).toBe('strategy-claude');