@mmnto/cli 1.53.0 → 1.53.2

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.
@@ -297,6 +297,24 @@ function toReport(state) {
297
297
  boardConfigured: state.boardConfigured,
298
298
  };
299
299
  }
300
+ /**
301
+ * Programmatic entry: derive the full `OrientReport` for `cwd` WITHOUT writing
302
+ * stdout. Identical report to `orient --json` (one derivation, two callers —
303
+ * cannot diverge). Reused by `orientCommand` (the CLI surface) and the
304
+ * SessionStart hook (`.claude/hooks/session-context.mjs`, mmnto-ai/totem#2044
305
+ * PR-2), which dynamic-imports this from `packages/cli/dist/commands/orient.js`
306
+ * — the workspace-dist pattern, deliberately NOT the global `totem` binary
307
+ * (sidesteps the stale-resolve trap mmnto-ai/totem#2053).
308
+ *
309
+ * Latency note: orient's gh adapters are synchronous (`safeExec`/execFileSync),
310
+ * so this runs ~4 sequential blocking gh calls (repo view + PRs + issues + board),
311
+ * each bounded by the adapter's per-call timeout. Callers on a latency-sensitive
312
+ * path (the hook) wrap it best-effort and degrade on failure.
313
+ */
314
+ export async function deriveOrientReport(cwd) {
315
+ const state = await derive(cwd);
316
+ return toReport(state);
317
+ }
300
318
  // ─── Human render ───────────────────────────────────────
301
319
  const FOOTER = [
302
320
  '— end orient. State derives from the primitives above (Tenet 20); this output is a',
@@ -393,16 +411,154 @@ export function renderReport(report) {
393
411
  out.push(FOOTER);
394
412
  return out.join('\n');
395
413
  }
414
+ // ─── Session-start projection (the auto-injected Tier-A block) ──
415
+ // Bounds for the session-start orient block (mmnto-ai/totem#2044 PR-2).
416
+ // Binding guardrail (strategy charter 2026-06-01T0229Z, mmnto-ai/totem-strategy#467):
417
+ // the block must be HARD-BOUNDED so it can never displace high-value session
418
+ // content (journal carryforward, parked, inbound mail) past the hook's
419
+ // MAX_TOTAL_CHARS cap — favorable ordering alone is insufficient, a runaway block
420
+ // would itself crowd out high-value content. Net-neutral-or-positive on
421
+ // high-value-content truncation; truncation absorbs the low-value vector tail.
422
+ const SESSION_BLOCK_MAX_CHARS = 1500;
423
+ const SESSION_PARKED_CAP = 8;
424
+ const SESSION_PR_CAP = 10;
425
+ const SESSION_COHERENCE_CAP = 10;
426
+ /**
427
+ * Compact projection of an `OrientReport` for auto-injection at session start.
428
+ *
429
+ * Emits ONLY high-signal state — parked/frozen subsystems, open PRs, and board↔
430
+ * issue coherence drift — plus a one-line COUNTS pointer for epics/other-issues
431
+ * (NOT the full enumeration: "pointers not bodies", mmnto-ai/totem-strategy#467
432
+ * Tier-A discipline). An underivable section stays a `⚠ could not derive` line
433
+ * (Tenet 4 — never a silent omit), so the projection inherits orient's fail-loud
434
+ * contract. Hard-bounded by `SESSION_BLOCK_MAX_CHARS` (the guardrail above).
435
+ *
436
+ * Returns '' when there is nothing high-signal to surface (no parked, no PRs, no
437
+ * drift, no derivable counts) so the hook can omit the block entirely rather than
438
+ * inject an empty header.
439
+ */
440
+ export function renderOrientForSession(report) {
441
+ const out = [];
442
+ const repo = isError(report.repo) ? '(repo undetermined)' : report.repo;
443
+ out.push(`── orient (derived state): ${repo} ──`);
444
+ const headerLen = out.length;
445
+ // PARKED / FROZEN — you must not touch these subsystems (high value).
446
+ if (isError(report.parked)) {
447
+ out.push(`⛔ parked: ⚠ could not derive: ${report.parked.error}`);
448
+ }
449
+ else if (report.parked.length > 0) {
450
+ const shown = report.parked.slice(0, SESSION_PARKED_CAP).map((f) => f.subsystem);
451
+ const more = report.parked.length > SESSION_PARKED_CAP ? ' …' : '';
452
+ out.push(`⛔ parked/frozen (${report.parked.length}): ${shown.join(', ')}` + more);
453
+ }
454
+ // OPEN PRs — what's in flight.
455
+ if (isError(report.openPRs)) {
456
+ out.push(`◐ open PRs: ⚠ could not derive: ${report.openPRs.error}`);
457
+ }
458
+ else if (report.openPRs.length > 0) {
459
+ for (const p of report.openPRs.slice(0, SESSION_PR_CAP)) {
460
+ const draft = p.isDraft ? ' [draft]' : '';
461
+ out.push(`◐ PR #${p.number}` + draft + ` ${p.title} (${p.headRefName})`);
462
+ }
463
+ if (report.openPRs.length > SESSION_PR_CAP) {
464
+ out.push(` … and ${report.openPRs.length - SESSION_PR_CAP} more open PRs`);
465
+ }
466
+ }
467
+ // BOARD↔ISSUE COHERENCE drift — the anomaly signal (active card, issue closed/absent).
468
+ if (isError(report.coherence)) {
469
+ out.push(`⚖ coherence: ⚠ could not derive: ${report.coherence.error}`);
470
+ }
471
+ else if (report.coherence.length > 0) {
472
+ for (const c of report.coherence.slice(0, SESSION_COHERENCE_CAP)) {
473
+ out.push(`⚖ drift: [${c.boardStatus}] "${c.boardItemTitle}" → #${c.issueNumber} closed/absent`);
474
+ }
475
+ if (report.coherence.length > SESSION_COHERENCE_CAP) {
476
+ out.push(` … and ${report.coherence.length - SESSION_COHERENCE_CAP} more drift flags`);
477
+ }
478
+ }
479
+ // COUNTS pointer — NOT the enumeration (Tier-A lean: the agent runs `totem
480
+ // orient` on demand for the full epic/issue board). One fail-loud line if the
481
+ // issue derivation failed — epics + otherOpenIssues share `deriveIssues`, so
482
+ // they error together with the same message; surface it once, never drop it
483
+ // silently (Tenet 4). A zero count emits nothing (no "0 epics" noise).
484
+ if (isError(report.epics)) {
485
+ out.push(`● issues: ⚠ could not derive: ${report.epics.error}`);
486
+ }
487
+ else {
488
+ // `epics` and `otherOpenIssues` share `deriveIssues`, so `toReport` errors
489
+ // them together today — but the type (`Section<...>`) permits an independent
490
+ // split. Surface an errored `otherOpenIssues` explicitly rather than silently
491
+ // coercing its count to 0 (Tenet 4 — never a silent omit, even type-only).
492
+ if (isError(report.otherOpenIssues)) {
493
+ out.push(`● other open issues: ⚠ could not derive: ${report.otherOpenIssues.error}`);
494
+ }
495
+ const epicCount = report.epics.length;
496
+ const otherCount = isError(report.otherOpenIssues) ? 0 : report.otherOpenIssues.length;
497
+ const parts = [];
498
+ if (epicCount > 0)
499
+ parts.push(`${epicCount} epic${epicCount === 1 ? '' : 's'}`);
500
+ if (otherCount > 0) {
501
+ parts.push(`${otherCount} other open issue${otherCount === 1 ? '' : 's'}`);
502
+ }
503
+ if (parts.length > 0) {
504
+ out.push(`● ${parts.join(' · ')} — run \`totem orient\` for the full board`);
505
+ }
506
+ }
507
+ // Nothing high-signal beyond the header ⇒ let the hook omit the block.
508
+ if (out.length === headerLen)
509
+ return '';
510
+ const block = out.join('\n');
511
+ return block.length > SESSION_BLOCK_MAX_CHARS
512
+ ? block.slice(0, SESSION_BLOCK_MAX_CHARS) + '\n …(orient block truncated)'
513
+ : block;
514
+ }
396
515
  // ─── Command entry ──────────────────────────────────────
397
516
  export async function orientCommand(opts) {
517
+ const cwd = process.cwd();
518
+ // Session-render mode (mmnto-ai/totem#2044 PR-3): emit ONLY the bounded
519
+ // `renderOrientForSession` projection so a SessionStart hook can inject it.
520
+ // The third caller of the single `deriveOrientReport` derivation (alongside
521
+ // `orient --json`, the human render, and the PR-2 in-process hook
522
+ // `session-context.mjs:buildOrientBlock`) — they cannot diverge.
523
+ //
524
+ // Boot-safety contract (lesson 8d363778): a SessionStart consumer must never
525
+ // have its boot crashed by orient. On ANY failure, write a stderr breadcrumb
526
+ // and NOTHING to stdout (the hook simply omits the block) — never throw, never
527
+ // exit non-zero. An empty block (nothing high-signal) likewise emits nothing,
528
+ // so the hook omits it rather than printing a bare header. Checked before
529
+ // `--json` so a `--session --json` invocation stays in the boot-safe path.
530
+ if (opts.session === true) {
531
+ try {
532
+ // --session is the hook render contract (raw text) and takes precedence over
533
+ // --json; surface the ignored flag on stderr rather than dropping it silently
534
+ // (mmnto-ai/totem#2062 greptile G2). Kept INSIDE the boot-safe try so it can never crash the
535
+ // hook, and on stderr so it never pollutes the session block on stdout.
536
+ const { isJsonMode } = await import('../json-output.js');
537
+ if (opts.json === true || isJsonMode()) {
538
+ process.stderr.write('[orient] --session takes precedence over --json; --json ignored\n');
539
+ }
540
+ const report = await deriveOrientReport(cwd);
541
+ const block = renderOrientForSession(report);
542
+ if (block)
543
+ process.stdout.write(block + '\n');
544
+ // Boot-safe degradation: a SessionStart hook must never crash the agent's
545
+ // boot (lesson 8d363778), so this catch must NOT rethrow. The failure is
546
+ // surfaced LOUDLY via the stderr breadcrumb below (Tenet 4 satisfied by
547
+ // REPORTING, not propagating) and stdout stays empty so the hook omits the
548
+ // block. Mirrors the sibling session-context.mjs:buildOrientBlock (PR-2).
549
+ // totem-context: intentional boot-safe degradation, not a fail-open swallow.
550
+ }
551
+ catch (err) {
552
+ process.stderr.write(`[orient] session block skipped: ${err instanceof Error ? err.message : String(err)}\n`);
553
+ }
554
+ return;
555
+ }
398
556
  // Honor the subcommand flag AND the root program's global `--json` (commander
399
557
  // routes a leading `--json` to the root option; the root sets this env). Same
400
558
  // dual-source pattern other JSON-emitting commands use.
401
559
  const { isJsonMode } = await import('../json-output.js');
402
560
  const json = opts.json === true || isJsonMode();
403
- const cwd = process.cwd();
404
- const state = await derive(cwd);
405
- const report = toReport(state);
561
+ const report = await deriveOrientReport(cwd);
406
562
  if (json) {
407
563
  process.stdout.write(JSON.stringify(report, null, 2) + '\n');
408
564
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"orient.js","sourceRoot":"","sources":["../../src/commands/orient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orient.js","sourceRoot":"","sources":["../../src/commands/orient.ts"],"names":[],"mappings":"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"}
@@ -65,7 +65,7 @@ vi.mock('../utils.js', () => ({
65
65
  resolveConfigPath: () => '/repo/root/totem.config.ts',
66
66
  loadConfig: () => mockLoadConfig(),
67
67
  }));
68
- import { orientCommand, renderReport } from './orient.js';
68
+ import { deriveOrientReport, orientCommand, renderOrientForSession, renderReport, } from './orient.js';
69
69
  // ─── Test harness ───────────────────────────────────────
70
70
  let stdout;
71
71
  let writeSpy;
@@ -326,4 +326,181 @@ describe('orient footer and #2018 structural guard', () => {
326
326
  expect(embedderTripwire).not.toHaveBeenCalled();
327
327
  });
328
328
  });
329
+ // ─── PR-2: programmatic entry + session-start projection (mmnto-ai/totem#2044) ──
330
+ describe('deriveOrientReport — one derivation, two callers (cannot diverge)', () => {
331
+ it('returns the SAME report `orient --json` serializes (modulo the derivedAt stamp)', async () => {
332
+ // A small but non-empty world so the comparison is meaningful.
333
+ mockFetchOpenPRs.mockReturnValue([
334
+ { number: 42, title: 'do thing', headRefName: 'feat/x', isDraft: false },
335
+ ]);
336
+ mockFetchOpenIssuesWithBody.mockReturnValue([
337
+ { number: 7, title: 'Other Seven', body: '', labels: [] },
338
+ ]);
339
+ await runJson();
340
+ const fromCommand = parseJson();
341
+ const fromApi = await deriveOrientReport(repoRoot);
342
+ // derivedAt is a wall-clock stamp set per call — the only field allowed to differ.
343
+ const { derivedAt: _a, ...cmdRest } = fromCommand;
344
+ const { derivedAt: _b, ...apiRest } = fromApi;
345
+ expect(apiRest).toEqual(cmdRest);
346
+ });
347
+ });
348
+ describe('renderOrientForSession — bounded Tier-A projection', () => {
349
+ function makeReport(overrides = {}) {
350
+ return {
351
+ repo: 'mmnto-ai/totem',
352
+ derivedAt: '2026-06-01T00:00:00.000Z',
353
+ indexFreshness: { synced: false },
354
+ parked: [],
355
+ openPRs: [],
356
+ board: [],
357
+ coherence: [],
358
+ epics: [],
359
+ otherOpenIssues: [],
360
+ boardConfigured: false,
361
+ ...overrides,
362
+ };
363
+ }
364
+ it('surfaces high-value signals (parked, open PR, coherence drift) + a counts pointer', () => {
365
+ const block = renderOrientForSession(makeReport({
366
+ parked: [{ subsystem: 'embedder', since: '2026-01-01' }],
367
+ openPRs: [{ number: 42, title: 'do thing', headRefName: 'feat/x', isDraft: false }],
368
+ coherence: [
369
+ {
370
+ boardItemTitle: 'Stale card',
371
+ boardStatus: 'In Progress',
372
+ issueNumber: 99,
373
+ kind: 'issue-closed-or-absent',
374
+ },
375
+ ],
376
+ epics: [{ number: 1, title: 'Epic One', labels: ['type: epic'], subIssues: [] }],
377
+ otherOpenIssues: [{ number: 7, title: 'Other Seven', labels: [] }],
378
+ }));
379
+ expect(block).toContain('embedder'); // parked subsystem
380
+ expect(block).toContain('#42'); // open PR
381
+ expect(block).toContain('do thing');
382
+ expect(block).toContain('#99'); // coherence drift
383
+ expect(block).toContain('1 epic · 1 other open issue'); // counts pointer
384
+ expect(block).toContain('run `totem orient`');
385
+ });
386
+ it('NEVER enumerates epics / children / other issues (the #467 Tier-A-lean guard)', () => {
387
+ const block = renderOrientForSession(makeReport({
388
+ epics: [
389
+ {
390
+ number: 1,
391
+ title: 'Epic One',
392
+ labels: ['type: epic'],
393
+ subIssues: [{ number: 2, title: 'Child Two' }],
394
+ },
395
+ ],
396
+ otherOpenIssues: [{ number: 7, title: 'Other Seven', labels: [] }],
397
+ }));
398
+ // Counts only — the titles must not appear (pointers not bodies).
399
+ expect(block).toContain('1 epic · 1 other open issue');
400
+ expect(block).not.toContain('Epic One');
401
+ expect(block).not.toContain('Child Two');
402
+ expect(block).not.toContain('Other Seven');
403
+ });
404
+ it('an {error} section renders a fail-loud `⚠ could not derive` line, never a silent omit', () => {
405
+ const parkedErr = renderOrientForSession(makeReport({ parked: { error: 'freeze.json unreadable' } }));
406
+ expect(parkedErr).toContain('⚠ could not derive');
407
+ expect(parkedErr).toContain('freeze.json unreadable');
408
+ // epics + otherOpenIssues share deriveIssues → one issues error line.
409
+ const issuesErr = renderOrientForSession(makeReport({
410
+ epics: { error: 'gh issue list exploded' },
411
+ otherOpenIssues: { error: 'gh issue list exploded' },
412
+ }));
413
+ expect(issuesErr).toContain('issues: ⚠ could not derive: gh issue list exploded');
414
+ });
415
+ it('surfaces an otherOpenIssues error that splits independently from epics (Tenet 4 type-gap)', () => {
416
+ // toReport couples these today, but the type permits the split — a derived
417
+ // `epics` with an errored `otherOpenIssues` must still fail loud, not coerce
418
+ // the count to 0 silently.
419
+ const block = renderOrientForSession(makeReport({
420
+ epics: [{ number: 1, title: 'Epic One', labels: ['type: epic'], subIssues: [] }],
421
+ otherOpenIssues: { error: 'gh issue list (others) exploded' },
422
+ }));
423
+ expect(block).toContain('other open issues: ⚠ could not derive: gh issue list (others) exploded');
424
+ expect(block).toContain('1 epic'); // epics still surface
425
+ });
426
+ it('returns "" when there is nothing high-signal (so the hook omits the block)', () => {
427
+ expect(renderOrientForSession(makeReport())).toBe('');
428
+ // A zero count must NOT emit a "0 epics" pointer line.
429
+ expect(renderOrientForSession(makeReport({ epics: [], otherOpenIssues: [] }))).toBe('');
430
+ });
431
+ it('is HARD-BOUNDED — long content cannot blow past the char cap (net-neutral-truncation guardrail)', () => {
432
+ // Within the per-section item cap (10) but with long titles, so the CHAR
433
+ // ceiling — not the item cap — is what bounds the block.
434
+ const longTitle = 'x'.repeat(300);
435
+ const prs = Array.from({ length: 10 }, (_, i) => ({
436
+ number: i,
437
+ title: longTitle,
438
+ headRefName: `feat/branch-${i}`,
439
+ isDraft: false,
440
+ }));
441
+ const block = renderOrientForSession(makeReport({ openPRs: prs }));
442
+ // Bounded: ≤ SESSION_BLOCK_MAX_CHARS (1500) plus the short truncation marker.
443
+ expect(block.length).toBeLessThanOrEqual(1500 + 32);
444
+ expect(block).toContain('…(orient block truncated)');
445
+ });
446
+ it('caps per-section item counts with a "… and N more" overflow line', () => {
447
+ const flood = Array.from({ length: 25 }, (_, i) => ({
448
+ number: i,
449
+ title: `t${i}`,
450
+ headRefName: `b${i}`,
451
+ isDraft: false,
452
+ }));
453
+ const block = renderOrientForSession(makeReport({ openPRs: flood }));
454
+ expect(block).toContain('more open PRs');
455
+ });
456
+ });
457
+ // ─── orient --session — boot-safe SessionStart projection (PR-3, #2044) ──
458
+ describe('orient --session — boot-safe SessionStart projection', () => {
459
+ it('emits the bounded session projection to stdout when there is high-signal state', async () => {
460
+ mockFetchOpenPRs.mockReturnValue([
461
+ { number: 42, title: 'wire orient', headRefName: 'feat/orient', isDraft: false },
462
+ ]);
463
+ await orientCommand({ session: true });
464
+ // The bounded `renderOrientForSession` projection — header + the PR line…
465
+ expect(stdout).toContain('orient (derived state)');
466
+ expect(stdout).toContain('◐ PR #42');
467
+ // …NOT the full human render (that's `orient` without --session): no full
468
+ // banner header, no footer. The two surfaces must not be confused.
469
+ expect(stdout).not.toContain('═══ totem orient');
470
+ expect(stdout).not.toContain('end orient. State derives');
471
+ });
472
+ it('emits NOTHING when there is no high-signal state (so the hook omits the block)', async () => {
473
+ // beforeEach defaults: no PRs / issues / board / freeze → projection is "".
474
+ await orientCommand({ session: true });
475
+ expect(stdout).toBe('');
476
+ });
477
+ it('is boot-safe — a section failure surfaces a fail-loud line but never rejects', async () => {
478
+ // A malformed freeze.json makes the REAL readFreezeConfig throw, isolating the
479
+ // parked section to { error } (no thrown derivation). Proves the session path
480
+ // RESOLVES — a SessionStart hook must never crash the boot (lesson 8d363778) —
481
+ // AND surfaces the failure loudly (Tenet 4), never a silent blank.
482
+ fs.writeFileSync(path.join(tmpRoot, '.totem', 'freeze.json'), '{ not valid json');
483
+ await expect(orientCommand({ session: true })).resolves.toBeUndefined();
484
+ expect(stdout).toContain('could not derive');
485
+ });
486
+ it('with --json: surfaces an ignored-flag note on stderr, still renders the raw block (not JSON)', async () => {
487
+ mockFetchOpenPRs.mockReturnValue([
488
+ { number: 42, title: 'wire orient', headRefName: 'feat/orient', isDraft: false },
489
+ ]);
490
+ let stderr = '';
491
+ const errSpy = vi
492
+ .spyOn(process.stderr, 'write')
493
+ .mockImplementation((chunk) => {
494
+ stderr += chunk.toString();
495
+ return true;
496
+ });
497
+ await orientCommand({ session: true, json: true });
498
+ errSpy.mockRestore();
499
+ // The ignored --json is surfaced (not silently dropped) — greptile mmnto-ai/totem#2062 G2.
500
+ expect(stderr).toContain('--json ignored');
501
+ // …and stdout is still the bounded session projection, NOT the JSON report.
502
+ expect(stdout).toContain('◐ PR #42');
503
+ expect(stdout).not.toContain('"openPRs"');
504
+ });
505
+ });
329
506
  //# sourceMappingURL=orient.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"orient.test.js","sourceRoot":"","sources":["../../src/commands/orient.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orient.test.js","sourceRoot":"","sources":["../../src/commands/orient.test.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -406,8 +406,15 @@ program
406
406
  .command('orient')
407
407
  .description('Derive session orientation from primitives (open PRs/issues/board/freeze) — zero LLM')
408
408
  .option('--json', 'Output the OrientReport as structured JSON')
409
+ .option('--session', 'Emit the bounded session-orientation block for a SessionStart hook (boot-safe; empty when nothing high-signal)')
409
410
  .action(async (opts) => {
410
- requireGhCli();
411
+ // Session-render mode runs INSIDE a SessionStart hook and must never hard-fail
412
+ // the boot: skip the hard `gh` gate. A missing/unauthenticated gh then degrades
413
+ // to per-section `⚠ could not derive` lines via renderOrientForSession (or an
414
+ // omitted block), never a process.exit(1) that would surface an error banner in
415
+ // the consumer's session context.
416
+ if (!opts.session)
417
+ requireGhCli();
411
418
  try {
412
419
  const { orientCommand } = await import('./commands/orient.js');
413
420
  await orientCommand(opts);