* test(#1178): consolidate duplicated agent-roster helper into tests/helpers The "list gsd-*.md agent files, strip .md, sort" derivation was hand-duplicated across the suite (two listAgentFiles(), an identical agentFilesOnDisk(), and inline readdir blocks). Add tests/helpers/agent-roster.cjs exporting listAgentFiles(agentsDir?) and route the genuinely-identical source-roster sites through it. Semantically-different sites (installed-dest dirs, absolute-path returns, .toml-inclusive Codex rosters, full-.md-filename readers, the uniform multi-family inventory table) are left intact, each with a one-line comment. Test-only; no production code touched. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * test(#1178): note AGENTS_DIR export is for future call sites Review nit: clarify that the currently-unused AGENTS_DIR export is intentional — available for future tests needing the canonical source agents path. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: Tom Boucher <trekkie@nomorestars.com>
This commit is contained in:
committed by
GitHub
parent
9d12725e4e
commit
fc5ca178a2
@@ -18,6 +18,7 @@ const { describe, test } = require('node:test');
|
||||
const assert = require('node:assert/strict');
|
||||
const fs = require('node:fs');
|
||||
const path = require('node:path');
|
||||
const { listAgentFiles } = require('./helpers/agent-roster.cjs');
|
||||
|
||||
const ROOT = path.resolve(__dirname, '..');
|
||||
const AGENTS_MD = path.join(ROOT, 'docs', 'AGENTS.md');
|
||||
@@ -156,17 +157,6 @@ function parseInventoryMd(raw) {
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* List all agents/gsd-*.md basenames (without .md extension).
|
||||
*/
|
||||
function listAgentFiles() {
|
||||
return fs
|
||||
.readdirSync(AGENTS_DIR)
|
||||
.filter((f) => /^gsd-.*\.md$/.test(f))
|
||||
.map((f) => f.replace(/\.md$/, ''))
|
||||
.sort();
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Load and parse
|
||||
// ---------------------------------------------------------------------------
|
||||
@@ -176,7 +166,8 @@ const rawInventoryMd = fs.readFileSync(INVENTORY_MD, 'utf8');
|
||||
|
||||
const { primaryHeadings, advancedHeadings } = parseAgentsMd(rawAgentsMd);
|
||||
const inventoryMap = parseInventoryMd(rawInventoryMd);
|
||||
const agentFiles = listAgentFiles();
|
||||
// Canonical source roster (sorted gsd-* basenames without .md) — shared helper.
|
||||
const agentFiles = listAgentFiles(AGENTS_DIR);
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Robustness guards — must pass before any assertion block runs
|
||||
|
||||
Reference in New Issue
Block a user