feat(core-realtime): scaffold realtime optional core

Generator-emitted scaffold (pnpm turbo gen core-package realtime) plus
the story-00-precedent coverage repairs (coverage provider devDep,
symbols.ts exclude + tested allowlist mirror) and three minimal tests
covering generator-emitted realtime code the template suite misses.
Squash of 31d85e0 + review-fix cf11b38.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016j8z4VHjedXDTjEDNg7qHK
This commit is contained in:
2026-07-12 20:35:09 +02:00
parent fc13424e9d
commit e50306cbf6
41 changed files with 1913 additions and 3 deletions

View File

@@ -185,6 +185,22 @@ describe("computeDiffCoverage", () => {
assert.equal(result.summary.filesChanged, 2);
});
test("skips DI symbol constant files (symbols.ts)", () => {
const lcov = parseLcov(lcovText);
const diff = new Map([
// DI symbol constants are boilerplate covered implicitly by bind-*
// tests; packages exclude src/**/symbols.ts from their vitest coverage
// (see core-shared/vitest.config.ts), so they never appear in the
// merged lcov and must be exempted from the no-coverage-data gate.
["packages/auth/src/di/symbols.ts", new Set([1, 2, 3])],
["packages/core-events/src/symbols.ts", new Set([1, 2, 3])],
]);
const result = computeDiffCoverage(diff, lcov);
assert.equal(result.status, "pass");
assert.equal(result.summary.filesGated, 0);
assert.equal(result.summary.filesChanged, 2);
});
test("skips dotfile ignore configs (.prettierignore, .gitignore)", () => {
const lcov = parseLcov(lcovText);
const diff = new Map([