linkedin-studio/.gitignore
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

81 lines
1.8 KiB
Text

# Secrets and sensitive files
.mcp.json
.env
.env.*
# Local configuration
*.local.md
# Real voice profile is personal data — adopters keep theirs local; the tracked
# authentic-voice-samples.md ships as a sentinel placeholder. (Already matched by
# *.local.md above; listed explicitly so the intent is unmissable.)
assets/voice-samples/authentic-voice-samples.local.md
# Session state (personal activity, auto-initialized from template)
REMEMBER.md
# Credentials
credentials.json
*-secret*
*.pem
*.key
# OS files
.DS_Store
Thumbs.db
# IDE
.idea/
.vscode/
*.swp
*.swo
# Temporary files
*.tmp
*.bak
# Draft content (personal posts)
assets/drafts/queue.json
assets/drafts/week-*/
# Analytics data (personal performance data)
assets/analytics/exports/
assets/analytics/posts/
assets/analytics/weekly-reports/
# Internal development files (not for public release)
BACKLOG.md
docs/DEVELOPMENT-LOG.md
# Generated annotation/review artifacts (regenerable; annotations live in browser localStorage)
docs/review/
docs/**/*.html
# Voyage executor bookmarks (local continuity, not tracked)
docs/**/.session-state.local.json
*.local.json
# Node.js
scripts/analytics/node_modules/
scripts/analytics/build/
scripts/brain/node_modules/
scripts/brain/build/
scripts/contract-gate/node_modules/
scripts/contract-gate/build/
scripts/specifics-bank/node_modules/
scripts/specifics-bank/build/
scripts/trends/node_modules/
scripts/trends/build/
# --- session/local state ---
# STATE.md is LOCAL-ONLY (gitignored): no private remote exists and STATE must
# never reach the public open/ mirror. Deliberate deviation from the global
# "STATE tracked" rule, justified by the absence of any private remote.
STATE.md
REMEMBER.md
ROADMAP.md
TODO.md
NEXT-SESSION-PROMPT*.local.md
*.local.md
*.local.json
*.local.sh
.DS_Store
.claude/