@mmnto/totem 2.2.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/bot-identity.d.ts +94 -0
  2. package/dist/bot-identity.d.ts.map +1 -0
  3. package/dist/bot-identity.js +118 -0
  4. package/dist/bot-identity.js.map +1 -0
  5. package/dist/capability/review-catch.d.ts.map +1 -1
  6. package/dist/capability/review-catch.js +10 -6
  7. package/dist/capability/review-catch.js.map +1 -1
  8. package/dist/gate-engine.d.ts +8 -2
  9. package/dist/gate-engine.d.ts.map +1 -1
  10. package/dist/gate-engine.js +10 -2
  11. package/dist/gate-engine.js.map +1 -1
  12. package/dist/gate-engine.test.js +112 -1
  13. package/dist/gate-engine.test.js.map +1 -1
  14. package/dist/gate-types.d.ts +41 -1
  15. package/dist/gate-types.d.ts.map +1 -1
  16. package/dist/index.d.ts +6 -2
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +3 -1
  19. package/dist/index.js.map +1 -1
  20. package/dist/merge-ready.d.ts +157 -0
  21. package/dist/merge-ready.d.ts.map +1 -0
  22. package/dist/merge-ready.js +1256 -0
  23. package/dist/merge-ready.js.map +1 -0
  24. package/dist/merge-ready.test.d.ts +2 -0
  25. package/dist/merge-ready.test.d.ts.map +1 -0
  26. package/dist/merge-ready.test.js +814 -0
  27. package/dist/merge-ready.test.js.map +1 -0
  28. package/dist/orchestration-resolver.d.ts +13 -7
  29. package/dist/orchestration-resolver.d.ts.map +1 -1
  30. package/dist/orchestration-resolver.js +60 -14
  31. package/dist/orchestration-resolver.js.map +1 -1
  32. package/dist/orchestration-resolver.test.js +277 -1
  33. package/dist/orchestration-resolver.test.js.map +1 -1
  34. package/dist/parity-label-canon.d.ts +7 -5
  35. package/dist/parity-label-canon.d.ts.map +1 -1
  36. package/dist/parity-label-canon.js +7 -5
  37. package/dist/parity-label-canon.js.map +1 -1
  38. package/dist/parity-label-canon.test.js +36 -4
  39. package/dist/parity-label-canon.test.js.map +1 -1
  40. package/dist/retrospect.d.ts +6 -6
  41. package/dist/selection-manifest.d.ts +2 -2
  42. package/dist/spine/corpus-dispositions.d.ts +30 -30
  43. package/dist/sys/git.d.ts +50 -0
  44. package/dist/sys/git.d.ts.map +1 -1
  45. package/dist/sys/git.js +101 -0
  46. package/dist/sys/git.js.map +1 -1
  47. package/dist/transport-shield.test.js +6 -2
  48. package/dist/transport-shield.test.js.map +1 -1
  49. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-ready.test.js","sourceRoot":"","sources":["../src/merge-ready.test.ts"],"names":[],"mappings":"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"}
@@ -123,11 +123,13 @@ export interface SelfAgentResolution {
123
123
  * PRESENT safe seat dir attaches a loud warning naming the omitted
124
124
  * seat(s) (mmnto-ai/totem#2141 warn-shape; the in-repo mirror of the
125
125
  * strategy-side `ecl-self-agent-binding` superset-of-dirs probe)
126
- * 3. Seat dirs UNION `COHORT_AGENT_MAP[basename]` — union, not replace:
127
- * orchestration is gitignored, so on a partial-dir fresh clone a
128
- * dirs-only answer would vanish roster siblings; the map keeps them
129
- * visible while present dirs admit unmapped seats with zero
130
- * registration surfaces (Tenet 20; the totem-codex exhibit)
126
+ * 3. Seat dirs UNION the cohort map for this REPOSITORY
127
+ * ({@link cohortSeatsForRepo}: the `origin` remote's repo name, else the
128
+ * repo-root basename) — union, not replace: orchestration is gitignored,
129
+ * so on a partial-dir fresh clone a dirs-only answer would vanish roster
130
+ * siblings; the map keeps them visible while present dirs admit unmapped
131
+ * seats with zero registration surfaces (Tenet 20; the totem-codex
132
+ * exhibit)
131
133
  * 4. `{ agents: [], source: 'none' }`
132
134
  *
133
135
  * Entries failing `isPathSafeAgentId` (path traversal, null byte, control/
@@ -136,8 +138,12 @@ export interface SelfAgentResolution {
136
138
  * a higher-precedence layer falls through to the next (so a malformed env
137
139
  * var doesn't shadow a valid config or map entry).
138
140
  *
139
- * Pure utility — no caching, no logging, no side effects other than a
140
- * single `fs.readFileSync` of the config.json when present.
141
+ * No caching, no logging, no mutation. Reads: a single `fs.readFileSync` of
142
+ * config.json when present, the seat-dir listing, and — on layer 3 ONLY, so
143
+ * never when the env or config answered — one synchronous `git config --get
144
+ * remote.origin.url` spawn to key the cohort map on the repository rather than
145
+ * on the directory name (mmnto-ai/totem#2801). That read never throws; a
146
+ * failure degrades to the basename key.
141
147
  *
142
148
  * @param repoRoot — Absolute path to the consuming repo's root.
143
149
  * @param env — Optional env override (default: `process.env`). Injection
@@ -1 +1 @@
1
- {"version":3,"file":"orchestration-resolver.d.ts","sourceRoot":"","sources":["../src/orchestration-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAOH;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,eAAe,GAAG,MAAM,CAAC;CAClC;AA8DD,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,kBAAkB,CA4C/F;AAgCD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAavD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAuB9D;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAOrD;AAcD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;IAChE;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAgBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,mBAAmB,CAwErB"}
1
+ {"version":3,"file":"orchestration-resolver.d.ts","sourceRoot":"","sources":["../src/orchestration-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AASH;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,eAAe,GAAG,MAAM,CAAC;CAClC;AA8DD,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,kBAAkB,CA4C/F;AAwED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAavD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAuB9D;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAOrD;AAcD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;IAChE;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAgBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,mBAAmB,CAuErB"}
@@ -23,6 +23,7 @@
23
23
  import * as fs from 'node:fs';
24
24
  import * as path from 'node:path';
25
25
  import { z } from 'zod';
26
+ import { getOriginRepoName } from './sys/git.js';
26
27
  /**
27
28
  * `fs.statSync` raises on missing paths and on EACCES/ENOTDIR; treat any
28
29
  * stat failure as "not a directory." Mirrors the `substrate-resolver`
@@ -131,11 +132,11 @@ export function resolveOrchestrationPaths(repoRoot, agentId) {
131
132
  * where no dirs exist yet (fresh clones — the tree is gitignored) or only
132
133
  * some seats have written (partial-dir union, `resolveSelfAgents` layer 3).
133
134
  *
134
- * Keyed by the repo-root basename (the bottom segment of the repo's
135
- * absolute path). Each value is the list of agent-ids this repo natively
136
- * hosts (zero, one, or two — the Claude + Gemini pair where both
137
- * variants ship). Empty array marks an orphan-stream repo with no native
138
- * agent (`totem-playground`).
135
+ * Keyed by REPOSITORY name — the `origin` remote's repo segment where one can
136
+ * be read, else the repo-root basename ({@link cohortSeatsForRepo}). Each value
137
+ * is the list of agent-ids this repo natively hosts (zero, one, or two — the
138
+ * Claude + Gemini pair where both variants ship). Empty array marks an
139
+ * orphan-stream repo with no native agent (`totem-playground`).
139
140
  */
140
141
  const COHORT_AGENT_MAP = Object.freeze({
141
142
  totem: Object.freeze(['totem-claude', 'totem-gemini']),
@@ -149,6 +150,46 @@ const COHORT_AGENT_MAP = Object.freeze({
149
150
  'totem-status': Object.freeze(['status-claude', 'status-gemini']),
150
151
  'totem-playground': Object.freeze([]),
151
152
  });
153
+ /**
154
+ * The cohort seats `COHORT_AGENT_MAP` records for a checkout, keyed on the
155
+ * REPOSITORY the checkout belongs to.
156
+ *
157
+ * The key is the `origin` remote's repository name when one can be read, and
158
+ * the repo-root basename otherwise (no origin, no git, an unparseable URL).
159
+ * Keying on the basename alone was wrong for every checkout whose DIRECTORY is
160
+ * not named after its repository — a per-agent worktree
161
+ * (`totem-totem-claude-build-2801`), a second clone (`totem-2`), a rename —
162
+ * and there the map contributed nothing, so a repo that plainly hosts seats
163
+ * resolved as hosting none (mmnto-ai/totem#2801). The basename arm keeps every
164
+ * origin-less checkout (a fresh `git init`, an offline export, a fixture)
165
+ * behaving exactly as before.
166
+ *
167
+ * Cost: at most ONE `git config` spawn per resolution, on the map-lookup path
168
+ * only — layers 1 and 2 (`TOTEM_SELF_AGENT`, `config.json host_agents`) return
169
+ * before it, so the hook-path polls that declare identity never reach it. The
170
+ * read never throws; a failure means "unknown repository" and the basename
171
+ * answers instead.
172
+ */
173
+ function cohortSeatsForRepo(resolvedRoot) {
174
+ const originName = getOriginRepoName(resolvedRoot);
175
+ // Lower-cased before lookup: GitHub repository names are case-insensitive,
176
+ // so `…/mmnto-ai/Totem.git` and a `Totem` directory name the same repository
177
+ // the map already knows, and a case-exact lookup would silently resolve
178
+ // zero seats for them. The map's own keys are lower-case (locked by test).
179
+ const key = (originName ?? path.basename(resolvedRoot)).toLowerCase();
180
+ // An OWN-property lookup: the frozen map keeps `Object.prototype`, and a
181
+ // repository whose lower-cased name is one of its members — `constructor`
182
+ // (a function) or `__proto__` (Object.prototype itself), both legal GitHub
183
+ // names that `repoNameFromRemoteUrl` accepts — would otherwise read the
184
+ // inherited value out of the map, and layer 3 below has no try/catch, so the
185
+ // TypeError at the first `.filter` reached every poll. Camel-case members
186
+ // (`toString`, `hasOwnProperty`) never get here: the fold above lower-cases
187
+ // the key first (mmnto-ai/totem#2843 round 1, CodeRabbit; the leg narrowed
188
+ // the two names).
189
+ if (!Object.hasOwn(COHORT_AGENT_MAP, key))
190
+ return [];
191
+ return COHORT_AGENT_MAP[key] ?? [];
192
+ }
152
193
  /**
153
194
  * Enumerate the seat directories registered in a repo's orchestration tree:
154
195
  * immediate child DIRECTORIES of `<repoRoot>/.totem/orchestration/` whose
@@ -276,11 +317,13 @@ function parseEnvAgentList(raw) {
276
317
  * PRESENT safe seat dir attaches a loud warning naming the omitted
277
318
  * seat(s) (mmnto-ai/totem#2141 warn-shape; the in-repo mirror of the
278
319
  * strategy-side `ecl-self-agent-binding` superset-of-dirs probe)
279
- * 3. Seat dirs UNION `COHORT_AGENT_MAP[basename]` — union, not replace:
280
- * orchestration is gitignored, so on a partial-dir fresh clone a
281
- * dirs-only answer would vanish roster siblings; the map keeps them
282
- * visible while present dirs admit unmapped seats with zero
283
- * registration surfaces (Tenet 20; the totem-codex exhibit)
320
+ * 3. Seat dirs UNION the cohort map for this REPOSITORY
321
+ * ({@link cohortSeatsForRepo}: the `origin` remote's repo name, else the
322
+ * repo-root basename) — union, not replace: orchestration is gitignored,
323
+ * so on a partial-dir fresh clone a dirs-only answer would vanish roster
324
+ * siblings; the map keeps them visible while present dirs admit unmapped
325
+ * seats with zero registration surfaces (Tenet 20; the totem-codex
326
+ * exhibit)
284
327
  * 4. `{ agents: [], source: 'none' }`
285
328
  *
286
329
  * Entries failing `isPathSafeAgentId` (path traversal, null byte, control/
@@ -289,8 +332,12 @@ function parseEnvAgentList(raw) {
289
332
  * a higher-precedence layer falls through to the next (so a malformed env
290
333
  * var doesn't shadow a valid config or map entry).
291
334
  *
292
- * Pure utility — no caching, no logging, no side effects other than a
293
- * single `fs.readFileSync` of the config.json when present.
335
+ * No caching, no logging, no mutation. Reads: a single `fs.readFileSync` of
336
+ * config.json when present, the seat-dir listing, and — on layer 3 ONLY, so
337
+ * never when the env or config answered — one synchronous `git config --get
338
+ * remote.origin.url` spawn to key the cohort map on the repository rather than
339
+ * on the directory name (mmnto-ai/totem#2801). That read never throws; a
340
+ * failure degrades to the basename key.
294
341
  *
295
342
  * @param repoRoot — Absolute path to the consuming repo's root.
296
343
  * @param env — Optional env override (default: `process.env`). Injection
@@ -352,8 +399,7 @@ export function resolveSelfAgents(repoRoot, env = process.env) {
352
399
  // a map-only answer is the stale cache mmnto-ai/totem#2141 indicts (the
353
400
  // totem-codex exhibit: a registered dir invisible to mail). The tri-state
354
401
  // source keeps the derivation honest.
355
- const basename = path.basename(resolvedRoot);
356
- const mapped = COHORT_AGENT_MAP[basename] ?? [];
402
+ const mapped = cohortSeatsForRepo(resolvedRoot);
357
403
  const dirs = readSeatDirs(resolvedRoot);
358
404
  const dirSet = new Set(dirs);
359
405
  const mapExtra = mapped.filter((agent) => !dirSet.has(agent));
@@ -1 +1 @@
1
- {"version":3,"file":"orchestration-resolver.js","sourceRoot":"","sources":["../src/orchestration-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestration-resolver.js","sourceRoot":"","sources":["../src/orchestration-resolver.ts"],"names":[],"mappings":"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"}
@@ -8,11 +8,23 @@
8
8
  * from a clean state. Mirrors the `substrate-resolver.test.ts` shape so
9
9
  * the two resolvers' tests stay symmetric.
10
10
  */
11
+ import { execFileSync } from 'node:child_process';
11
12
  import * as fs from 'node:fs';
12
13
  import * as os from 'node:os';
13
14
  import * as path from 'node:path';
14
- import { afterEach, beforeEach, describe, expect, it } from 'vitest';
15
+ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
16
+ // Passthrough mock so `vi.spyOn` can observe the ORIGIN READ the resolver
17
+ // performs (mmnto-ai/totem#2801 fold round 3, F7): the precedence test below
18
+ // claims layers 1 and 2 never reach it, and a claim about a call is only
19
+ // testable by counting the call. Every export behaves identically until a test
20
+ // installs a spy.
21
+ vi.mock('./sys/git.js', async (importOriginal) => {
22
+ const actual = await importOriginal();
23
+ return { ...actual };
24
+ });
15
25
  import { isPathSafeAgentId, knownCohortAgents, resolveOrchestrationPaths, resolveSelfAgents, } from './orchestration-resolver.js';
26
+ import * as gitModule from './sys/git.js';
27
+ import { envWithoutGitLocation, getOriginRepoName, repoNameFromRemoteUrl } from './sys/git.js';
16
28
  import { cleanTmpDir } from './test-utils.js';
17
29
  let tmpRoot;
18
30
  let repoRoot;
@@ -20,6 +32,17 @@ function mkDir(p) {
20
32
  fs.mkdirSync(p, { recursive: true });
21
33
  return p;
22
34
  }
35
+ /**
36
+ * Run git against a FIXTURE directory. The location env is scrubbed for the
37
+ * same reason the product read scrubs it (mmnto-ai/totem#2801 F3): git reads
38
+ * `GIT_DIR` and friends before `cwd`, so under an exported `GIT_DIR` — the
39
+ * shape every git hook runs in — `git init` here would target the ambient
40
+ * repository and `git remote add` would try to write to it. The fixtures must
41
+ * describe the directory they name, exactly like the code under test.
42
+ */
43
+ function gitFixture(cwd, args) {
44
+ execFileSync('git', args, { cwd, stdio: 'ignore', env: envWithoutGitLocation(process.env) });
45
+ }
23
46
  /**
24
47
  * Build a partial or full orchestration tree for `agentId` at `repoRoot`.
25
48
  * Pass an explicit subset of `'outbox' | 'processed' | 'journal'` to
@@ -461,6 +484,259 @@ describe('knownCohortAgents — single-source recipient set', () => {
461
484
  // cohort's frozen value lives in `totem.config.ts`, not a core constant. See
462
485
  // `packages/core/src/config-schema.test.ts` (schema) and
463
486
  // `packages/cli/src/commands/ecl-gc.test.ts` (resolution precedence).
487
+ // ─── cohort map keyed on the git origin (mmnto-ai/totem#2801) ──────────────
488
+ //
489
+ // The map used to be keyed on the repo-root BASENAME, which every checkout
490
+ // whose directory is not named after its repository fails: a per-agent
491
+ // worktree (`totem-totem-claude-build-2801`), a second clone (`totem-2`), a
492
+ // rename. There the map contributed nothing, so a repo that plainly hosts
493
+ // seats resolved as hosting none — and `totem mail --derive-seat`, whose whole
494
+ // job is refusing an identity the repo does not host, had nothing to check
495
+ // against. The key is now the `origin` remote's repository name when one can be
496
+ // read, with the basename as the unchanged fallback.
497
+ describe('resolveSelfAgents — cohort map keyed on the origin repository (mmnto-ai/totem#2801)', () => {
498
+ /** A real git repo in a directory whose basename is NOT a cohort key. */
499
+ function mkGitRepo(dirName, originUrl) {
500
+ const root = mkDir(path.join(tmpRoot, dirName));
501
+ gitFixture(root, ['init', '-q', '-b', 'main']);
502
+ if (originUrl !== undefined) {
503
+ gitFixture(root, ['remote', 'add', 'origin', originUrl]);
504
+ }
505
+ return root;
506
+ }
507
+ it('(i) an https origin keys the map — the totem seats resolve from a worktree-named directory', () => {
508
+ const root = mkGitRepo('totem-totem-claude-build-2801', 'https://github.com/mmnto-ai/totem.git');
509
+ const result = resolveSelfAgents(root, {});
510
+ expect(result.source).toBe('map');
511
+ expect(result.agents).toEqual(['totem-claude', 'totem-gemini']);
512
+ });
513
+ it('(ii) an ssh origin keys the map identically', () => {
514
+ const root = mkGitRepo('wt-2801', 'git@github.com:mmnto-ai/totem.git');
515
+ const result = resolveSelfAgents(root, {});
516
+ expect(result.source).toBe('map');
517
+ expect(result.agents).toEqual(['totem-claude', 'totem-gemini']);
518
+ });
519
+ it('an origin WITHOUT the .git suffix (and with a trailing slash) parses the same', () => {
520
+ const root = mkGitRepo('wt-2801-plain', 'https://github.com/mmnto-ai/liquid-city/');
521
+ const result = resolveSelfAgents(root, {});
522
+ expect(result.source).toBe('map');
523
+ expect(result.agents).toEqual(['lc-claude', 'lc-gemini']);
524
+ });
525
+ it('an origin whose CASE differs still keys the map — GitHub repo names are case-insensitive', () => {
526
+ const root = mkGitRepo('wt-2801-cased', 'https://github.com/mmnto-ai/Totem.git');
527
+ const result = resolveSelfAgents(root, {});
528
+ expect(result.source).toBe('map');
529
+ expect(result.agents).toEqual(['totem-claude', 'totem-gemini']);
530
+ });
531
+ it('a case-shifted DIRECTORY name keys the map too (the basename arm folds case as well)', () => {
532
+ const root = mkDir(path.join(tmpRoot, 'Totem-Strategy'));
533
+ const result = resolveSelfAgents(root, {});
534
+ expect(result.source).toBe('map');
535
+ expect(result.agents).toEqual(['strategy-claude', 'strategy-gemini']);
536
+ });
537
+ it('(iii) NO origin falls back to the basename — a git repo named `totem` still resolves', () => {
538
+ const root = mkGitRepo('totem');
539
+ const result = resolveSelfAgents(root, {});
540
+ expect(result.source).toBe('map');
541
+ expect(result.agents).toEqual(['totem-claude', 'totem-gemini']);
542
+ });
543
+ it('(iii) a non-git directory is unaffected — the basename answers, as it always did', () => {
544
+ const root = mkDir(path.join(tmpRoot, 'totem-strategy'));
545
+ const result = resolveSelfAgents(root, {});
546
+ expect(result.source).toBe('map');
547
+ expect(result.agents).toEqual(['strategy-claude', 'strategy-gemini']);
548
+ });
549
+ it('every cohort-map key is reachable through the lower-cased lookup — no key carries upper case (fold F4)', () => {
550
+ // The lookup lower-cases its key, so a map key with an upper-case letter
551
+ // would be permanently unreachable while still contributing agents to
552
+ // `knownCohortAgents()`. Walking the repo names and comparing the reachable
553
+ // union against that flatten catches exactly that, and also catches a new
554
+ // map entry whose repo name this test does not yet name.
555
+ const repoNames = [
556
+ 'totem',
557
+ 'totem-strategy',
558
+ 'liquid-city',
559
+ 'arhgap11',
560
+ 'totem-status',
561
+ 'totem-playground',
562
+ ];
563
+ const reachable = new Set();
564
+ for (const name of repoNames) {
565
+ for (const seat of resolveSelfAgents(mkDir(path.join(tmpRoot, name)), {}).agents) {
566
+ reachable.add(seat);
567
+ }
568
+ }
569
+ expect([...reachable].sort()).toEqual(knownCohortAgents());
570
+ });
571
+ it('(iv) an origin naming a repo the map does not know resolves empty, as today', () => {
572
+ const root = mkGitRepo('wt-unknown', 'https://github.com/someone/not-a-cohort-repo.git');
573
+ const result = resolveSelfAgents(root, {});
574
+ expect(result.source).toBe('none');
575
+ expect(result.agents).toEqual([]);
576
+ });
577
+ it('an origin named like an Object.prototype member resolves empty and never throws (PR round 1)', () => {
578
+ // `constructor` and `__proto__` are legal repository names, pass
579
+ // `repoNameFromRemoteUrl`, and survive the lower-casing of the key — so a
580
+ // plain-object lookup read the inherited value (a function, and
581
+ // Object.prototype itself) out of the frozen map and threw at the first
582
+ // `.filter`. Both rows FAIL on the pre-fold line (the leg simulated it);
583
+ // camel-case members such as `toString` never reached the map at all,
584
+ // because the key is lower-cased first, so they are not controls here.
585
+ for (const name of ['constructor', '__proto__']) {
586
+ const root = mkGitRepo(`wt-${name}`, `https://github.com/someone/${name}.git`);
587
+ const result = resolveSelfAgents(root, {});
588
+ expect(result.source, name).toBe('none');
589
+ expect(result.agents, name).toEqual([]);
590
+ }
591
+ });
592
+ it('the ORIGIN wins over a misleading directory name (the key is the repository)', () => {
593
+ // A directory named `totem` that is actually a liquid-city checkout must
594
+ // not claim the totem seats.
595
+ const root = mkGitRepo('totem-lookalike', 'https://github.com/mmnto-ai/liquid-city.git');
596
+ fs.renameSync(root, path.join(tmpRoot, 'totem-decoy'));
597
+ const renamed = path.join(tmpRoot, 'totem-decoy');
598
+ const result = resolveSelfAgents(renamed, {});
599
+ expect(result.agents).toEqual(['lc-claude', 'lc-gemini']);
600
+ });
601
+ it('seat dirs still UNION the origin-keyed map', () => {
602
+ const root = mkGitRepo('wt-union', 'https://github.com/mmnto-ai/totem.git');
603
+ mkDir(path.join(root, '.totem', 'orchestration', 'totem-codex'));
604
+ const result = resolveSelfAgents(root, {});
605
+ expect(result.source).toBe('dirs+map');
606
+ expect(result.agents).toEqual(['totem-claude', 'totem-codex', 'totem-gemini']);
607
+ });
608
+ it('env and config win WITHOUT reaching the origin read — zero spawns on layers 1 and 2', () => {
609
+ // The claim is about a CALL, so it is counted, not inferred from the
610
+ // result (fold round 3, F7). The docstring promises an identity-declaring
611
+ // poll spawns no git; this is that promise under test.
612
+ const root = mkGitRepo('wt-precedence', 'https://github.com/mmnto-ai/totem.git');
613
+ const originSpy = vi.spyOn(gitModule, 'getOriginRepoName');
614
+ try {
615
+ expect(resolveSelfAgents(root, { TOTEM_SELF_AGENT: 'visitor-seat' })).toEqual({
616
+ agents: ['visitor-seat'],
617
+ source: 'env',
618
+ });
619
+ expect(originSpy).not.toHaveBeenCalled();
620
+ mkDir(path.join(root, '.totem', 'orchestration'));
621
+ fs.writeFileSync(path.join(root, '.totem', 'orchestration', 'config.json'), JSON.stringify({ host_agents: ['declared-seat'] }), 'utf-8');
622
+ const viaConfig = resolveSelfAgents(root, {});
623
+ expect(viaConfig.source).toBe('config');
624
+ expect(viaConfig.agents).toEqual(['declared-seat']);
625
+ expect(originSpy).not.toHaveBeenCalled();
626
+ // Positive control: layer 3 DOES reach it, exactly once — otherwise the
627
+ // two negatives above could pass on a spy that never wires up.
628
+ fs.rmSync(path.join(root, '.totem', 'orchestration', 'config.json'));
629
+ const viaMap = resolveSelfAgents(root, {});
630
+ expect(viaMap.source).toBe('map');
631
+ expect(originSpy).toHaveBeenCalledTimes(1);
632
+ }
633
+ finally {
634
+ originSpy.mockRestore();
635
+ }
636
+ });
637
+ });
638
+ describe('repoNameFromRemoteUrl — the parse (mmnto-ai/totem#2801)', () => {
639
+ it.each([
640
+ ['https://github.com/mmnto-ai/totem.git', 'totem'],
641
+ ['https://github.com/mmnto-ai/totem', 'totem'],
642
+ ['https://github.com/mmnto-ai/totem.git/', 'totem'],
643
+ ['git@github.com:mmnto-ai/totem.git', 'totem'],
644
+ ['git@github.com:mmnto-ai/totem', 'totem'],
645
+ ['ssh://git@github.com/mmnto-ai/liquid-city.git', 'liquid-city'],
646
+ ['https://gitlab.example.com/team/sub/totem-status.git', 'totem-status'],
647
+ ])('%s -> %s', (url, expected) => {
648
+ expect(repoNameFromRemoteUrl(url)).toBe(expected);
649
+ });
650
+ it.each([undefined, '', ' ', 'not-a-url'])('%s -> null', (url) => {
651
+ expect(repoNameFromRemoteUrl(url)).toBeNull();
652
+ });
653
+ });
654
+ describe('getOriginRepoName — the read (mmnto-ai/totem#2801)', () => {
655
+ it('returns null for a directory that is not a git repository — never throws', () => {
656
+ const plain = mkDir(path.join(tmpRoot, 'not-a-repo'));
657
+ expect(getOriginRepoName(plain)).toBeNull();
658
+ });
659
+ it('returns null for a git repo with no origin remote', () => {
660
+ const root = mkDir(path.join(tmpRoot, 'no-origin'));
661
+ gitFixture(root, ['init', '-q', '-b', 'main']);
662
+ expect(getOriginRepoName(root)).toBeNull();
663
+ });
664
+ it('returns the repository name for a git repo with an origin', () => {
665
+ const root = mkDir(path.join(tmpRoot, 'has-origin'));
666
+ gitFixture(root, ['init', '-q', '-b', 'main']);
667
+ gitFixture(root, ['remote', 'add', 'origin', 'git@github.com:mmnto-ai/totem-status.git']);
668
+ expect(getOriginRepoName(root)).toBe('totem-status');
669
+ });
670
+ // ── the ambient-GIT_DIR class (mmnto-ai/totem#2801 fold round 3, F3) ──
671
+ //
672
+ // Git reads its repository-location variables BEFORE cwd, and exports them
673
+ // into every hook process it spawns. An inherited GIT_DIR therefore made this
674
+ // read answer for the ambient repository instead of the directory asked
675
+ // about — a non-repo dir resolving cohort seats, which is exactly the
676
+ // identity adoption the caller exists to prevent (and it turned this suite
677
+ // 19-red under an exported GIT_DIR).
678
+ describe('is a function of cwd alone — ambient git-location env is scrubbed', () => {
679
+ /** A scratch repo whose origin is a cohort repo, to point GIT_DIR at. */
680
+ function scratchCohortRepo() {
681
+ const root = mkDir(path.join(tmpRoot, 'ambient-origin-repo'));
682
+ gitFixture(root, ['init', '-q', '-b', 'main']);
683
+ gitFixture(root, ['remote', 'add', 'origin', 'https://github.com/mmnto-ai/totem.git']);
684
+ return root;
685
+ }
686
+ it('an exported GIT_DIR does not make a NON-repo directory resolve that repo', () => {
687
+ const ambient = scratchCohortRepo();
688
+ const plain = mkDir(path.join(tmpRoot, 'not-a-repo-under-git-dir'));
689
+ const saved = process.env['GIT_DIR'];
690
+ process.env['GIT_DIR'] = path.join(ambient, '.git');
691
+ try {
692
+ expect(getOriginRepoName(plain)).toBeNull();
693
+ // And the caller that keys on it stays honest: no seats, not the
694
+ // ambient repo's seats.
695
+ const result = resolveSelfAgents(plain, {});
696
+ expect(result.source).toBe('none');
697
+ expect(result.agents).toEqual([]);
698
+ }
699
+ finally {
700
+ if (saved === undefined)
701
+ delete process.env['GIT_DIR'];
702
+ else
703
+ process.env['GIT_DIR'] = saved;
704
+ }
705
+ });
706
+ it('an exported GIT_DIR does not override a real repo’s own origin', () => {
707
+ const ambient = scratchCohortRepo();
708
+ const own = mkDir(path.join(tmpRoot, 'own-repo'));
709
+ gitFixture(own, ['init', '-q', '-b', 'main']);
710
+ gitFixture(own, ['remote', 'add', 'origin', 'https://github.com/mmnto-ai/liquid-city']);
711
+ const saved = process.env['GIT_DIR'];
712
+ process.env['GIT_DIR'] = path.join(ambient, '.git');
713
+ try {
714
+ expect(getOriginRepoName(own)).toBe('liquid-city');
715
+ }
716
+ finally {
717
+ if (saved === undefined)
718
+ delete process.env['GIT_DIR'];
719
+ else
720
+ process.env['GIT_DIR'] = saved;
721
+ }
722
+ });
723
+ it('envWithoutGitLocation drops every location variable and keeps the rest', () => {
724
+ const scrubbed = envWithoutGitLocation({
725
+ GIT_DIR: '/somewhere/.git',
726
+ GIT_WORK_TREE: '/somewhere',
727
+ GIT_COMMON_DIR: '/somewhere/.git',
728
+ GIT_INDEX_FILE: '/somewhere/.git/index',
729
+ GIT_OBJECT_DIRECTORY: '/somewhere/.git/objects',
730
+ GIT_ALTERNATE_OBJECT_DIRECTORIES: '/elsewhere/objects',
731
+ GIT_CEILING_DIRECTORIES: '/',
732
+ PATH: '/usr/bin',
733
+ GIT_AUTHOR_NAME: 'someone',
734
+ });
735
+ expect(Object.keys(scrubbed).sort()).toEqual(['GIT_AUTHOR_NAME', 'PATH']);
736
+ expect(scrubbed['PATH']).toBe('/usr/bin');
737
+ });
738
+ });
739
+ });
464
740
  // ─── resolveSelfAgents — seat dirs (mmnto-ai/totem#2141) ───────────────────
465
741
  describe('resolveSelfAgents — seat dirs (mmnto-ai/totem#2141)', () => {
466
742
  it('a BARE seat dir registers the seat with zero config/map presence (repo+1 zero surfaces)', () => {