🧠 IA Brain Map — Sam's two systems

How the public website + the private substrate are laid out, where they connect, where they overlap, and what to consolidate · built 2026-06-30
What this is: a structural map of BOTH repos so Sam can see the whole brain at a glance. The consolidation list at the bottom is PROPOSE-ONLY — nothing here has been merged or moved yet; Sam reviews first. Archive-not-delete applies to everything suggested.

1. The two systems, one sentence each

2. Tree diagram — main spaces (2 levels)

PUBLIC website (samesolutionsllc-website)

samesolutionsllc-website/
+-- index.html              public landing SPA (home / services / about / contact)
+-- manage/                 the business PWA
|   +-- index.html          ~28k-line single-file app (data model + migrations + UI + Firebase)
|   +-- sw.js               service worker (cache v59)
|   +-- manifest.json, utilities.css, icon-192/512.png
+-- Firebase / deploy config
|   +-- firebase.json, .firebaserc, firestore.rules, firestore.indexes.json
+-- activation kit
|   +-- ACTIVATION-RUNBOOK.md, ACTIVATION-LOCAL-RUN.md
|   +-- scripts/ (backup-blob.js, migrate-blob.js, set-admin-claim.js)
+-- docs / tests
|   +-- docs/firestore-data-model.md
|   +-- test/isolation.rules.test.js (21/21), tests/smoke.spec.js (Playwright)
+-- repo docs: CLAUDE.md, REPO.md, PLANNER.md, CHANGELOG.md
+-- package.json, .github/workflows/smoke-test.yml, deploy-log.json, archive/

PRIVATE substrate (samesolutions-equipment-service)

samesolutions-equipment-service/
+-- index.html  hub home    +-- sitemap.html   +-- awareness-backlog.md
+-- repo docs: CLAUDE? / METHODOLOGY.md, SESSION-PRELUDE.md, PRINCIPLES.md, SYSTEM-DESIGN.md, ARCHITECTURE.md, README.md
+-- data/                canonical JSON stores
|   +-- sitemap-status.json, active-projects.json, customer-jobs.json, issues.json,
|   +-- my-equipment.json, where-you-are.json, customers/ (9 + _template)
+-- index/               session-start pointers  (equipment/*.md, personal-project/*.md, active-chats.md)
+-- customer-jobs/       8 job folders (aceves fence, lubig-sister-bathroom, peter-scott-shed, letvin, ...)
+-- equipment/           4 service hubs (fourwinns-h190, lt180, seadoo-gtx, harris-pontoon)
+-- guides/              near-empty (guides moved into equipment/)
+-- personal/            ~45 project folders (ai-hub/career, ddr grill, this-week, system-overview,
|   |                     status-tracker[legacy], issues, 3d-printing, ia-map[this page], ...)
+-- handoff-blocks/      200+ files (audits/, patterns/, cc-session-reports/, architecture/, scripts/, ...)
+-- our/  Sam+CeCe shared   +-- cece/  CeCe hub + rainhairstudio
+-- jon/ mike/ abbey/ aimee/ win/   per-person portals
+-- functions/           Cloudflare Workers API (auth, our/, calendar, handoff, bets)
+-- bets/                sports-betting analytics hub
+-- architecture/  docs/adr/   decision records   +-- archive/  snapshots/  dated backups

3. Connections — how the two systems reference each other

The boundary is documented in website CLAUDE.md ("Source-of-truth boundaries"). They are deliberately NOT duplicates — each owns different data:

4. Overlap / duplication — same info in 2+ places

Most substrate "duplication" is intentional data-driven rendering (one canonical JSON → many renderers). Those are fine. The rows below flag the ones worth reviewing.

WhatLives inRead
Status / system trackerspersonal/status-tracker/ (legacy) · personal/system-overview/ (current) · data/sitemap-status.json (canonical) · personal/this-week/3+ tracker surfaces. sitemap-status.json is canonical; status-tracker is superseded — archive candidate.
Issuesdata/issues.json (canonical) · handoff-blocks/issues/index.md (regenerated) · personal/issues/index.html · old status-tracker/issues.htmlOK by design (JSON canonical + renderers), but the legacy status-tracker copy is stale.
Customer jobscustomer-jobs/<id>/ folders · data/customer-jobs.json · data/active-projects.json (cross_listed_in) · index/personal-project/Same job referenced in up to 4 places. Held together by cross_listed_in; watch for drift.
Customer records (cross-repo)Substrate data/customers/ (9 profiles) · website /manage data.customersTwo customer stores in two repos. Biggest cross-system overlap — see suggestion P0-b.
Equipmentequipment/<id>/ hub · index/equipment/<id>.md pointer · data/my-equipment.json · empty guides/Intentional (hub + cursor + JSON). guides/ is a dead shell — archive.
Repo-guidance docsTwo CLAUDE.md (parent dir + website) · substrate METHODOLOGY/SYSTEM-DESIGN/ARCHITECTURE/PRINCIPLESSeveral overlapping "how things work" docs in substrate root — consolidation candidate.

5. Suggested improvements — PROPOSE-ONLY

Prioritized. Nothing executed this pass — each is a proposal for Sam to approve. Archive, don't delete.

P0-aRetire the legacy personal/status-tracker/. It predates system-overview/ + sitemap-status.json and now shows stale data. Move it to archive/status-tracker-2026-06/ and point any inbound links at system-overview/. Lowest-risk, highest-clarity win.
P0-bPick ONE canonical customer store. Customer identity currently lives in both substrate data/customers/ and website /manage. Decide: /manage (Firebase, post-activation) is the system-of-record for billing/identity; substrate data/customers/ becomes either a generated mirror or is retired in favor of the customer-jobs/ dossiers. Sequence this with the Firebase activation so they converge, not diverge. (Ties into the Firebase plan.)
P1-aCollapse the tracker surfaces. Make system-overview/ the single system dashboard and this-week/ the single personal to-do surface; everything else reads data/*.json. Document the one-canonical-each rule so new trackers aren't spawned.
P1-bArchive the empty guides/ tree. Guides moved into equipment/<id>/; guides/ holds only a .gitkeep. Remove it as a live path (archive note) so it stops implying a second guide location.
P1-cOne "how the system works" doc. Substrate root has METHODOLOGY, SYSTEM-DESIGN, ARCHITECTURE, PRINCIPLES, SESSION-PRELUDE all describing overlapping mechanics. Keep METHODOLOGY (session protocol) + SYSTEM-DESIGN (schema) canonical; fold the rest in as sections or clearly cross-reference, so there's one place to look.
P2-aAdd a cross-repo pointer on each side. A short "sibling system" note in each repo's README/hub linking the other (website ↔ substrate) with the canonical URL scheme, so the two-brain layout is discoverable without reading CLAUDE.md.
P2-bPrune the handoff-blocks/ long tail. 200+ files; many are one-off session reports. Propose an archive/handoff-blocks-<date>/ sweep for reports older than N months, keeping patterns/, protocols/, architecture/, and the current ledger live. Reduces noise in the biggest folder.
IA brain map · both repos · built 2026-06-30 · consolidation list is PROPOSE-ONLY (archive-not-delete) · Sam's private page (noindex) · Same Solutions substrate.