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

@@ -29,7 +29,6 @@ const { cleanup } = require('./helpers.cjs');
// ─── modules under test ───────────────────────────────────────────────────────
const modelResolver = require('../gsd-core/bin/lib/model-resolver.cjs');
const coreModule = require('../gsd-core/bin/lib/core.cjs');
const {
resolveTierEntry,
@@ -60,61 +59,6 @@ function writeConfig(tmpDir, obj) {
fs.writeFileSync(configPath, JSON.stringify(obj, null, 2), 'utf-8');
}
// ─── shim identity ────────────────────────────────────────────────────────────
describe('model-resolver shim identity', () => {
test('core.resolveTierEntry === modelResolver.resolveTierEntry', () => {
assert.strictEqual(coreModule.resolveTierEntry, modelResolver.resolveTierEntry);
});
test('core.resolveModelPolicy === modelResolver.resolveModelPolicy', () => {
assert.strictEqual(coreModule.resolveModelPolicy, modelResolver.resolveModelPolicy);
});
test('core.resolveModelInternal === modelResolver.resolveModelInternal', () => {
assert.strictEqual(coreModule.resolveModelInternal, modelResolver.resolveModelInternal);
});
test('core.VALID_GRANULARITIES === modelResolver.VALID_GRANULARITIES (same Set object)', () => {
assert.strictEqual(coreModule.VALID_GRANULARITIES, modelResolver.VALID_GRANULARITIES);
});
test('core.resolveGranularityInternal === modelResolver.resolveGranularityInternal', () => {
assert.strictEqual(coreModule.resolveGranularityInternal, modelResolver.resolveGranularityInternal);
});
test('core.assertValidGranularityOverride === modelResolver.assertValidGranularityOverride', () => {
assert.strictEqual(coreModule.assertValidGranularityOverride, modelResolver.assertValidGranularityOverride);
});
test('core.resolveModelForTier === modelResolver.resolveModelForTier', () => {
assert.strictEqual(coreModule.resolveModelForTier, modelResolver.resolveModelForTier);
});
test('core.VALID_EFFORTS === modelResolver.VALID_EFFORTS (same Array object)', () => {
assert.strictEqual(coreModule.VALID_EFFORTS, modelResolver.VALID_EFFORTS);
});
test('core.EFFORT_SET === modelResolver.EFFORT_SET (same Set object)', () => {
assert.strictEqual(coreModule.EFFORT_SET, modelResolver.EFFORT_SET);
});
test('core.nextEffort === modelResolver.nextEffort', () => {
assert.strictEqual(coreModule.nextEffort, modelResolver.nextEffort);
});
test('core.resolveEffortInternal === modelResolver.resolveEffortInternal', () => {
assert.strictEqual(coreModule.resolveEffortInternal, modelResolver.resolveEffortInternal);
});
test('core.resolveFastModeInternal === modelResolver.resolveFastModeInternal', () => {
assert.strictEqual(coreModule.resolveFastModeInternal, modelResolver.resolveFastModeInternal);
});
test('core.resolveEffortForTier === modelResolver.resolveEffortForTier', () => {
assert.strictEqual(coreModule.resolveEffortForTier, modelResolver.resolveEffortForTier);
});
});
// ─── resolveModelInternal ─────────────────────────────────────────────────────