linkedin-studio/docs/second-brain
Kjell Tore Guttormsen 68f6283d8a feat(linkedin-studio): SB-S3e — retire dead content-history + read-side brain reconcile [skip-docs]
The LAST second-brain slice; the S0–S3e arc is now complete.

(b) Retire the dead, zero-reader content-history.md across its 8 plumbing
surfaces: the flaky Stop-hook writer prose, the template (git-rm'd), the
migrate-data.mjs B1 MOVE entry + its test assertions, .gitignore, the gate
SC2_CLASSES guard, the data-path ref-doc, and a session-start comment. SC1
grep = 0; migrate suite 5/5 (R8 idempotency demonstrated).

(c) `brain reconcile` — read-side triple-post reconciliation joining silo 1
(## Recent Posts, auto-tracked creation) to the silo 2↔3 graph, surfacing the
coverage gap: posts created via the plugin but never `brain ingest`-ed. New
pure core scripts/brain/src/reconcile.ts (parseRecentPosts tracks the WRITER
format state-updater.mjs:116, NOT the date-only pruner; reconcileRecentPosts
matches hook→record.body→graph for the in-graph/in-brain-only/orphaned tiers;
loadRecentPosts reads STATE_FILE via the canonical getStateFile() chain — a new
cross-seam read, the state file lives outside the brain dataRoot). Wired as the
`brain reconcile` CLI subcommand (inline parsePublishedRecord loader, not the
body-less listPublished). Read-only: never writes the state silo.

Tests (verified live): gate 99/0/0 (ASSERT floor 82→84; new Section 16f
self-test + CLI grep) · brain 127/127 (floor 114→127, +13 reconcile) · hook
suite 136/136. SC4/SC6 end-to-end run is a real behavioural pass (STATE_FILE
seam read + fallback). Honest limit: read-side cannot reconstruct un-captured
specifics/trends — auto-capture is the flagged follow-up.

Brief/plan: docs/second-brain/{brief,plan}-sb-s3e.md (fbad29d). Go-before-code
gate cleared (operator: retire · read-side · build-now).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RigJBiRFNtFZKCz21qNbQ4
2026-06-23 22:13:45 +02:00
..
research docs(linkedin-studio): second-brain architecture (approved) + 3 research reports 2026-06-23 12:55:17 +02:00
architecture.md feat(linkedin-studio): SB-S3e — retire dead content-history + read-side brain reconcile [skip-docs] 2026-06-23 22:13:45 +02:00
brief-sb-s1.md docs(linkedin-studio): second-brain SB-S1 brief + plan (review-hardened) 2026-06-23 14:51:29 +02:00
brief-sb-s2.md docs(linkedin-studio): second-brain SB-S2 brief + plan (review-hardened) 2026-06-23 16:57:17 +02:00
brief-sb-s3a.md docs(linkedin-studio): SB-S3b brief + plan — supersede arm (light-Voyage hardened) 2026-06-23 18:51:25 +02:00
brief-sb-s3b.md docs(linkedin-studio): SB-S3b brief + plan — supersede arm (light-Voyage hardened) 2026-06-23 18:51:25 +02:00
brief-sb-s3c.md feat(linkedin-studio): SB-S3c — cross-silo id-threading + post→analytics assembler [skip-docs] 2026-06-23 20:47:34 +02:00
brief-sb-s3d.md docs(linkedin-studio): SB-S3d brief + plan — ops centre (operations.md reader, light-Voyage hardened) 2026-06-23 21:13:50 +02:00
brief-sb-s3e.md docs(linkedin-studio): SB-S3e brief + plan — hygiene + triple-post reconciliation (light-Voyage hardened) 2026-06-23 21:51:14 +02:00
brief.md docs(linkedin-studio): second-brain SB-S0 brief + plan (review-hardened) 2026-06-23 13:24:18 +02:00
consolidation-loop.md feat(linkedin-studio): SB-S3b — supersede arm in the consolidation engine [skip-docs] 2026-06-23 19:58:09 +02:00
ingest-manual-import.md feat(linkedin-studio): SB-S1 wire voice-trainer to published-only + gate-enforce it [skip-docs] 2026-06-23 15:02:32 +02:00
plan-sb-s0.md docs(linkedin-studio): second-brain SB-S0 brief + plan (review-hardened) 2026-06-23 13:24:18 +02:00
plan-sb-s1.md docs(linkedin-studio): second-brain SB-S1 brief + plan (review-hardened) 2026-06-23 14:51:29 +02:00
plan-sb-s2.md docs(linkedin-studio): second-brain SB-S2 brief + plan (review-hardened) 2026-06-23 16:57:17 +02:00
plan-sb-s3a.md docs(linkedin-studio): SB-S3a brief + plan — first profile.md reader (light-Voyage hardened) 2026-06-23 18:09:54 +02:00
plan-sb-s3b.md docs(linkedin-studio): SB-S3b brief + plan — supersede arm (light-Voyage hardened) 2026-06-23 18:51:25 +02:00
plan-sb-s3c.md feat(linkedin-studio): SB-S3c — cross-silo id-threading + post→analytics assembler [skip-docs] 2026-06-23 20:47:34 +02:00
plan-sb-s3d.md docs(linkedin-studio): SB-S3d brief + plan — ops centre (operations.md reader, light-Voyage hardened) 2026-06-23 21:13:50 +02:00
plan-sb-s3e.md docs(linkedin-studio): SB-S3e brief + plan — hygiene + triple-post reconciliation (light-Voyage hardened) 2026-06-23 21:51:14 +02:00