Skip to content

Consolidate 4 scattered data roots into one (Etan: 'why the fuck would we have 4 places?') #715

Description

@EtanHey

Etan, 2026-08-15, after having to add four separate Spotlight exclusions by hand (one of them a hidden Library path he couldn't find in Finder): "that's the type of thing we need to consolidate out of the system, why the fuck would we have 4 places?"

Current sprawl

Root What it holds Verdict
~/.local/share/brainlayer DB + WAL/SHM + vector sidecars keep — the data root
~/.brainlayer durable queue, quarantine, drain logs, runtime state earned a separate root ONLY for the "survives a corrupt DB" property — but that argument covers the queue, not the logs living beside it
~/Library/Logs/brainlayer launchd stdout/err + BrainBar logs macOS convention; a third place to remember
~/.brainlayer-p0-counter one counter log pure accretion — a top-level dotfolder for a single log

Cost already paid

  • The Spotlight exclusion runbook needs FOUR marker roots, four probes, four Search Privacy entries — and the hidden Library/Logs one is invisible in Finder (Etan needed Cmd+Shift+G).
  • Backups, doctor, and every future "exclude/verify/inventory" operation multiplies by four.
  • 08-15 M1 window: markers alone did not take; the human step became a 4-item checklist instead of 1.

Target

One root with a documented internal layout, e.g.

~/.local/share/brainlayer/
  db/        (brainlayer.db + wal/shm + vector sidecars)
  queue/     (durable queue, quarantine)
  logs/      (launchd + BrainBar + drain + p0-counter)
  • paths.py becomes the single resolver; nothing else constructs a root.
  • Migration must be a runbook operation (writers stopped, moves are same-volume renames) with rollback, like the Spotlight window.
  • Keep a compatibility read-path for one release so an un-migrated machine still starts, then delete it (per Etan's no-shim standing preference, the compat window is explicitly time-boxed and tracked).
  • After consolidation: ONE Spotlight marker, ONE thing to back up, ONE inventory line in doctor.

Sequencing

Do it AFTER #713 (self-verification layer) lands, so the migration itself can be verified automatically — and fold the Spotlight runbook down to a single root as part of it.

Related: #713 (nothing verifies itself), #714 (stale socket = existence≠liveness), the 08-15 Spotlight windows on both hosts.

Filed by brainlayerClaude lead (Fable 5).

🤖 Generated with Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions