mirror of
https://github.com/garrytan/gbrain.git
synced 2026-07-27 22:15:33 +00:00
Brings v0.31.4.1 (#815: VERSION/package.json alignment + 4-segment
version mandate) and v0.31.6 (#796: extract facts during sync,
real-time hot memory) into the wave assembly.
Conflicts resolved:
1. VERSION + package.json — kept 0.31.7 (highest semver wins).
2. scripts/test-shard.sh — took master's version. v0.31.4.1 (#815)
independently shipped the same .serial.test.ts exclusion fix I
added in 45c40048, plus a richer --dry-run-list flag this branch
didn't have. Master's shape supersedes mine.
3. .github/workflows/test.yml — took master's version. Master added
the serial-test step inside shard 1 with `if: matrix.shard == 1`
guarding it; mine added it as a sibling `test-serial` job. Master's
shape uses one less runner and is now the canonical pattern.
4. CHANGELOG.md — kept v0.31.7 entry on top, layered v0.31.4.1 below
it followed by v0.31.3 (chronology preserved). Master never wrote
a v0.31.6 entry; the v0.31.6 commit reused the v0.31.4.1 section.
5. test/doctor.test.ts — auto-merged cleanly. v0.31.6's
`facts_extraction_health` test (line 110+) lives alongside this
wave's IRON-RULE graph_coverage hint test.
6. test/scripts/test-shard.test.ts (mine, deleted) — superseded by
master's test/scripts/test-shard.slow.test.ts which ships a more
thorough regression suite that actually drives `--dry-run-list`
to verify the exclusion against real shard buckets.
7. scripts/check-test-isolation.allowlist — added
test/migration-orchestrator-v0_31_0.test.ts. Master's v0.31.6
shipped this file with R1 process.env mutation in beforeEach/
afterEach but didn't allowlist it; the file follows the existing
try/finally restore pattern (functionally correct, just doesn't
use withEnv()). Allowlisting per the linter's own help text for
baseline files; sweep candidate for a future env-pattern PR.
Verified post-merge:
- typecheck clean
- bun run verify clean
- bun run check:test-isolation clean
- 102/0 fail across resolver/doctor/repo-root/check-resolvable surfaces
- live gbrain check-resolvable: 39/39 reachable, ok=true