@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.
- package/dist/bot-identity.d.ts +94 -0
- package/dist/bot-identity.d.ts.map +1 -0
- package/dist/bot-identity.js +118 -0
- package/dist/bot-identity.js.map +1 -0
- package/dist/capability/review-catch.d.ts.map +1 -1
- package/dist/capability/review-catch.js +10 -6
- package/dist/capability/review-catch.js.map +1 -1
- package/dist/gate-engine.d.ts +8 -2
- package/dist/gate-engine.d.ts.map +1 -1
- package/dist/gate-engine.js +10 -2
- package/dist/gate-engine.js.map +1 -1
- package/dist/gate-engine.test.js +112 -1
- package/dist/gate-engine.test.js.map +1 -1
- package/dist/gate-types.d.ts +41 -1
- package/dist/gate-types.d.ts.map +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/merge-ready.d.ts +157 -0
- package/dist/merge-ready.d.ts.map +1 -0
- package/dist/merge-ready.js +1256 -0
- package/dist/merge-ready.js.map +1 -0
- package/dist/merge-ready.test.d.ts +2 -0
- package/dist/merge-ready.test.d.ts.map +1 -0
- package/dist/merge-ready.test.js +814 -0
- package/dist/merge-ready.test.js.map +1 -0
- package/dist/orchestration-resolver.d.ts +13 -7
- package/dist/orchestration-resolver.d.ts.map +1 -1
- package/dist/orchestration-resolver.js +60 -14
- package/dist/orchestration-resolver.js.map +1 -1
- package/dist/orchestration-resolver.test.js +277 -1
- package/dist/orchestration-resolver.test.js.map +1 -1
- package/dist/parity-label-canon.d.ts +7 -5
- package/dist/parity-label-canon.d.ts.map +1 -1
- package/dist/parity-label-canon.js +7 -5
- package/dist/parity-label-canon.js.map +1 -1
- package/dist/parity-label-canon.test.js +36 -4
- package/dist/parity-label-canon.test.js.map +1 -1
- package/dist/retrospect.d.ts +6 -6
- package/dist/selection-manifest.d.ts +2 -2
- package/dist/spine/corpus-dispositions.d.ts +30 -30
- package/dist/sys/git.d.ts +50 -0
- package/dist/sys/git.d.ts.map +1 -1
- package/dist/sys/git.js +101 -0
- package/dist/sys/git.js.map +1 -1
- package/dist/transport-shield.test.js +6 -2
- package/dist/transport-shield.test.js.map +1 -1
- 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
|
|
127
|
-
*
|
|
128
|
-
*
|
|
129
|
-
*
|
|
130
|
-
*
|
|
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
|
-
*
|
|
140
|
-
*
|
|
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;
|
|
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
|
|
135
|
-
*
|
|
136
|
-
* hosts (zero, one, or two — the
|
|
137
|
-
* variants ship). Empty array marks an
|
|
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
|
|
280
|
-
*
|
|
281
|
-
*
|
|
282
|
-
*
|
|
283
|
-
*
|
|
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
|
-
*
|
|
293
|
-
*
|
|
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
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
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)', () => {
|