refactor(#1291): T6 — migrate test files off the core spine ahead of deletion (#1293)

The convergence lint only scanned src/ + gsd-core/bin, so ~35 test files
still imported core.cjs. Repoint all 33 behaviour importers to the leaf
modules directly (same symbol->leaf map as the src migration; leaves are the
objects core re-exported by reference), delete the now-meaningless
shim-identity describe blocks in the 8 leaf tests, and delete tests/core.test.cjs
(forwarded-behaviour coverage now lives at the leaves; resolveWorktreeRoot
test relocated to worktree-safety in T0) and tests/lint-core-spine-imports.test.cjs
(the lint is removed in T-final). Dropped the stale core.test.cjs entries from
the allow-test-rule-refs allowlist; eslint-rules RuleTester fixture path
pointed at io.cjs.

After T6: ZERO test imports core.cjs. core.cts still builds (now fully unused);
T-final deletes it. No behaviour change.

Closes #1291

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Tom Boucher
2026-06-15 18:11:20 -04:00
committed by GitHub
parent 76765bc24d
commit c76827afbc
36 changed files with 51 additions and 2650 deletions

View File

@@ -23,7 +23,6 @@ const fs = require('node:fs');
const path = require('node:path');
const roadmapParser = require('../gsd-core/bin/lib/roadmap-parser.cjs');
const core = require('../gsd-core/bin/lib/core.cjs');
const { createTempProject, cleanup } = require('./helpers.cjs');
const {
@@ -46,28 +45,6 @@ function writeState(tmpDir, fields) {
fs.writeFileSync(path.join(tmpDir, '.planning', 'STATE.md'), lines.join('\n') + '\n');
}
// ─── Shim-identity assertions ─────────────────────────────────────────────────
describe('roadmap-parser: shim-identity — core.cjs re-exports same function objects', () => {
test('core.extractCurrentMilestone === roadmapParser.extractCurrentMilestone', () => {
assert.strictEqual(core.extractCurrentMilestone, roadmapParser.extractCurrentMilestone);
});
test('core.stripShippedMilestones === roadmapParser.stripShippedMilestones', () => {
assert.strictEqual(core.stripShippedMilestones, roadmapParser.stripShippedMilestones);
});
test('core.replaceInCurrentMilestone === roadmapParser.replaceInCurrentMilestone', () => {
assert.strictEqual(core.replaceInCurrentMilestone, roadmapParser.replaceInCurrentMilestone);
});
test('core.getRoadmapPhaseInternal === roadmapParser.getRoadmapPhaseInternal', () => {
assert.strictEqual(core.getRoadmapPhaseInternal, roadmapParser.getRoadmapPhaseInternal);
});
test('core.getMilestoneInfo === roadmapParser.getMilestoneInfo', () => {
assert.strictEqual(core.getMilestoneInfo, roadmapParser.getMilestoneInfo);
});
test('core.getMilestonePhaseFilter === roadmapParser.getMilestonePhaseFilter', () => {
assert.strictEqual(core.getMilestonePhaseFilter, roadmapParser.getMilestonePhaseFilter);
});
});
// ─── stripShippedMilestones ───────────────────────────────────────────────────