Ctrl K
ComunidadGuías…

ARCHAEOLOGY.md

Rama master · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# exec-fn — Archaeology

The past: bugs that have already been fixed, choices made and then reversed,
measurements taken once, and mechanisms that no longer exist.

**Why it is kept.** Every entry here cost somebody a day to find. Knowing that
`/graph`'s "groups of four" was a double quantisation, or that an unpinned
`httpx` once 502'd every route on the box, is what keeps the second occurrence
from taking as long as the first. None of it describes how the system works
today — [`ARCHITECTURE.md`](ARCHITECTURE.md) is for that.

**Sections mirror ARCHITECTURE.md**, so §11 is `/graph` in both files. A section
absent here has no recorded history yet.

**The split is by a paragraph's primary claim.** A standing rule lives in
ARCHITECTURE.md even where it names the incident that produced it; the incident
itself lives here. Text is moved verbatim.

---

## Sections

Each `## N.` section lives in its own file under `docs/archaeology/`, text
moved verbatim (2026-11-10, the 500-line cap). This file is the index:
every `§N` reference still resolves here, then one click to the file.

| § | Topic | File |
|---|---|---|
| 1 | Deployment | [`docs/archaeology/01-deployment.md`](docs/archaeology/01-deployment.md) |
| 2 | Module graph | [`docs/archaeology/02-module-graph.md`](docs/archaeology/02-module-graph.md) |
| 3 | Morning pipeline + scheduling | [`docs/archaeology/03-morning-pipeline.md`](docs/archaeology/03-morning-pipeline.md) |
| 4 | TTS (text-to-speech) | [`docs/archaeology/04-tts.md`](docs/archaeology/04-tts.md) |
| 5 | LLM call sites + prompt caching | [`docs/archaeology/05-llm-calls.md`](docs/archaeology/05-llm-calls.md) |
| 6 | Printer (ELEGOO Centauri Carbon) | [`docs/archaeology/06-printer.md`](docs/archaeology/06-printer.md) |
| 7 | `/cc` — the Exec panel's agent | [`docs/archaeology/07-cc-exec-agent.md`](docs/archaeology/07-cc-exec-agent.md) |
| 8 | `/rd` — the board and its month calendar | [`docs/archaeology/08-rd-board.md`](docs/archaeology/08-rd-board.md) |
| 9 | The landing page | [`docs/archaeology/09-landing-page.md`](docs/archaeology/09-landing-page.md) |
| 10 | The CRT effect stack (`_CRT_FX`) | [`docs/archaeology/10-crt-effects.md`](docs/archaeology/10-crt-effects.md) |
| 11 | `/graph` | [`docs/archaeology/11-graph.md`](docs/archaeology/11-graph.md) |
| 12 | The bottom nav | [`docs/archaeology/12-bottom-nav.md`](docs/archaeology/12-bottom-nav.md) |
| 13 | The pre-commit hook suite | [`docs/archaeology/13-pre-commit-hooks.md`](docs/archaeology/13-pre-commit-hooks.md) |
| 14 | `/tarot` | [`docs/archaeology/14-tarot.md`](docs/archaeology/14-tarot.md) |
| 15 | The nudge loop | [`docs/archaeology/15-nudge-loop.md`](docs/archaeology/15-nudge-loop.md) |
| 16 | The Exec monitor | [`docs/archaeology/16-exec-monitor.md`](docs/archaeology/16-exec-monitor.md) |
| 17 | Memory is the scarce resource on this box | [`docs/archaeology/17-memory.md`](docs/archaeology/17-memory.md) |
| 18 | The typewriter and the shared chat surfaces | [`docs/archaeology/18-typewriter-chat.md`](docs/archaeology/18-typewriter-chat.md) |
| 19 | `/zombo` | [`docs/archaeology/19-zombo.md`](docs/archaeology/19-zombo.md) |
| 20 | Pages and subsystems without a section of their own | [`docs/archaeology/20-other-pages.md`](docs/archaeology/20-other-pages.md) |
| 21 | noodle — moved to its own repo | [`docs/archaeology/21-noodle.md`](docs/archaeology/21-noodle.md) |
| 22 | /spire — moved to its own repo | [`docs/archaeology/22-spire.md`](docs/archaeology/22-spire.md) |

## 1. Deployment

→ [`docs/archaeology/01-deployment.md`](docs/archaeology/01-deployment.md)

- [Moved out of ARCHITECTURE.md (2026-10-15 pass)](docs/archaeology/01-deployment.md#moved-out-of-architecturemd-2026-10-15-pass)
- [Python deps, the httpx2 502 (2026-09-17)](docs/archaeology/01-deployment.md#python-deps-the-httpx2-502-2026-09-17)
- [rmapi-auth](docs/archaeology/01-deployment.md#rmapi-auth)
- [nginx 502 on `--reload` (the double upstream)](docs/archaeology/01-deployment.md#nginx-502-on---reload-the-double-upstream)
- [413 on pasted screenshots (2026-09-13)](docs/archaeology/01-deployment.md#413-on-pasted-screenshots-2026-09-13)
- [Access-log masking (2026-10-14, security audit)](docs/archaeology/01-deployment.md#access-log-masking-2026-10-14-security-audit)
- [Submodule migration (2026-10-14)](docs/archaeology/01-deployment.md#submodule-migration-2026-10-14)
- [`--reload-exclude` (2026-10-14)](docs/archaeology/01-deployment.md#--reload-exclude-2026-10-14)
- [Traps hit during the swap (2026-10-14)](docs/archaeology/01-deployment.md#traps-hit-during-the-swap-2026-10-14)
- [deploy.sh (2026-10-14)](docs/archaeology/01-deployment.md#deploysh-2026-10-14)
- [Local-claude deploy: no pull / no stash](docs/archaeology/01-deployment.md#local-claude-deploy-no-pull--no-stash)
- [sudo on the git half](docs/archaeology/01-deployment.md#sudo-on-the-git-half)

## 2. Module graph

→ [`docs/archaeology/02-module-graph.md`](docs/archaeology/02-module-graph.md)

- [Moved out of ARCHITECTURE.md (2026-10-15 pass)](docs/archaeology/02-module-graph.md#moved-out-of-architecturemd-2026-10-15-pass)

## 3. Morning pipeline + scheduling

→ [`docs/archaeology/03-morning-pipeline.md`](docs/archaeology/03-morning-pipeline.md)

- [Moved out of ARCHITECTURE.md (2026-10-15 pass)](docs/archaeology/03-morning-pipeline.md#moved-out-of-architecturemd-2026-10-15-pass)

## 4. TTS (text-to-speech)

→ [`docs/archaeology/04-tts.md`](docs/archaeology/04-tts.md)

- [Moved out of ARCHITECTURE.md (2026-10-15 pass)](docs/archaeology/04-tts.md#moved-out-of-architecturemd-2026-10-15-pass)

## 5. LLM call sites + prompt caching

→ [`docs/archaeology/05-llm-calls.md`](docs/archaeology/05-llm-calls.md)

- [Moved out of ARCHITECTURE.md (2026-10-15 pass)](docs/archaeology/05-llm-calls.md#moved-out-of-architecturemd-2026-10-15-pass)

## 6. Printer (ELEGOO Centauri Carbon)

→ [`docs/archaeology/06-printer.md`](docs/archaeology/06-printer.md)

- [Moved out of ARCHITECTURE.md (2026-10-15 pass)](docs/archaeology/06-printer.md#moved-out-of-architecturemd-2026-10-15-pass)

## 7. `/cc` — the Exec panel's agent

→ [`docs/archaeology/07-cc-exec-agent.md`](docs/archaeology/07-cc-exec-agent.md)

- [Moved out of ARCHITECTURE.md (2026-10-15 pass)](docs/archaeology/07-cc-exec-agent.md#moved-out-of-architecturemd-2026-10-15-pass)

## 8. `/rd` — the board and its month calendar

→ [`docs/archaeology/08-rd-board.md`](docs/archaeology/08-rd-board.md)

- [Moved out of ARCHITECTURE.md (2026-10-15 pass)](docs/archaeology/08-rd-board.md#moved-out-of-architecturemd-2026-10-15-pass)
- [8-notes. From CLAUDE.md (moved 2026-09-27) — verbatim](docs/archaeology/08-rd-board.md#8-notes-from-claudemd-moved-2026-09-27--verbatim)

## 9. The landing page

→ [`docs/archaeology/09-landing-page.md`](docs/archaeology/09-landing-page.md)

- [Moved out of ARCHITECTURE.md (2026-10-15 pass)](docs/archaeology/09-landing-page.md#moved-out-of-architecturemd-2026-10-15-pass)
- [9-notes. From CLAUDE.md (moved 2026-09-27) — verbatim](docs/archaeology/09-landing-page.md#9-notes-from-claudemd-moved-2026-09-27--verbatim)

## 10. The CRT effect stack (`_CRT_FX`)

→ [`docs/archaeology/10-crt-effects.md`](docs/archaeology/10-crt-effects.md)

- [Moved out of ARCHITECTURE.md (2026-10-15 pass)](docs/archaeology/10-crt-effects.md#moved-out-of-architecturemd-2026-10-15-pass)
- [10-notes. From CLAUDE.md (moved 2026-09-27) — verbatim](docs/archaeology/10-crt-effects.md#10-notes-from-claudemd-moved-2026-09-27--verbatim)

## 11. `/graph`

→ [`docs/archaeology/11-graph.md`](docs/archaeology/11-graph.md)

- [Moved out of ARCHITECTURE.md (2026-10-15 pass)](docs/archaeology/11-graph.md#moved-out-of-architecturemd-2026-10-15-pass)
- [11 (intro)](docs/archaeology/11-graph.md#11-intro)
- [11a. Applied per request, COMPUTED once per artifact](docs/archaeology/11-graph.md#11a-applied-per-request-computed-once-per-artifact)
- [11b. Drops](docs/archaeology/11-graph.md#11b-drops)
- [11c. Communities](docs/archaeology/11-graph.md#11c-communities)
- [11d. Size, labels, shape, physics, stats](docs/archaeology/11-graph.md#11d-size-labels-shape-physics-stats)
- [11e. Baked layout](docs/archaeology/11-graph.md#11e-baked-layout)
- [11f. The client-side overlay (history moved out of ARCHITECTURE.md, 2026-10-15)](docs/archaeology/11-graph.md#11f-the-client-side-overlay-history-moved-out-of-architecturemd-2026-10-15)
- [11g. Field notes (moved verbatim from CLAUDE.md 2026-09-27)](docs/archaeology/11-graph.md#11g-field-notes-moved-verbatim-from-claudemd-2026-09-27)

## 12. The bottom nav

→ [`docs/archaeology/12-bottom-nav.md`](docs/archaeology/12-bottom-nav.md)

- [Moved out of ARCHITECTURE.md (2026-10-15 pass)](docs/archaeology/12-bottom-nav.md#moved-out-of-architecturemd-2026-10-15-pass)

## 13. The pre-commit hook suite

→ [`docs/archaeology/13-pre-commit-hooks.md`](docs/archaeology/13-pre-commit-hooks.md)

- [Moved out of ARCHITECTURE.md (2026-10-15 pass)](docs/archaeology/13-pre-commit-hooks.md#moved-out-of-architecturemd-2026-10-15-pass)

## 14. `/tarot`

→ [`docs/archaeology/14-tarot.md`](docs/archaeology/14-tarot.md)

- [Moved out of ARCHITECTURE.md (2026-10-15 pass)](docs/archaeology/14-tarot.md#moved-out-of-architecturemd-2026-10-15-pass)

## 15. The nudge loop

→ [`docs/archaeology/15-nudge-loop.md`](docs/archaeology/15-nudge-loop.md)

- [Moved out of ARCHITECTURE.md (2026-10-15 pass)](docs/archaeology/15-nudge-loop.md#moved-out-of-architecturemd-2026-10-15-pass)
- [15e (2026-09-13) — why the nudge asks instead of asserts](docs/archaeology/15-nudge-loop.md#15e-2026-09-13--why-the-nudge-asks-instead-of-asserts)
- [15e-bis — tappable answers, history](docs/archaeology/15-nudge-loop.md#15e-bis--tappable-answers-history)
- [15a/15d — stall re-peel removal](docs/archaeology/15-nudge-loop.md#15a15d--stall-re-peel-removal)
- [15g — recalibration detail](docs/archaeology/15-nudge-loop.md#15g--recalibration-detail)
- [CLAUDE.md "15-notes" dump (moved 2026-09-27) — residue not kept in section 15](docs/archaeology/15-nudge-loop.md#claudemd-15-notes-dump-moved-2026-09-27--residue-not-kept-in-section-15)

## 16. The Exec monitor

→ [`docs/archaeology/16-exec-monitor.md`](docs/archaeology/16-exec-monitor.md)

- [Moved out of ARCHITECTURE.md (2026-10-15 pass)](docs/archaeology/16-exec-monitor.md#moved-out-of-architecturemd-2026-10-15-pass)
- [Exec's own changes (2026-09-29)](docs/archaeology/16-exec-monitor.md#execs-own-changes-2026-09-29)
- [Watermark advance](docs/archaeology/16-exec-monitor.md#watermark-advance)
- [Orphaned tool_use](docs/archaeology/16-exec-monitor.md#orphaned-tool_use)
- [CLAUDE.md "16-notes" dump (moved 2026-09-27)](docs/archaeology/16-exec-monitor.md#claudemd-16-notes-dump-moved-2026-09-27)

## 17. Memory is the scarce resource on this box

→ [`docs/archaeology/17-memory.md`](docs/archaeology/17-memory.md)

- [Moved out of ARCHITECTURE.md (2026-10-15 pass)](docs/archaeology/17-memory.md#moved-out-of-architecturemd-2026-10-15-pass)
- [Swap sizing](docs/archaeology/17-memory.md#swap-sizing)
- [17b — graphify rebuild ownership](docs/archaeology/17-memory.md#17b--graphify-rebuild-ownership)
- [17c — the `$?` bug](docs/archaeology/17-memory.md#17c--the--bug)
- [17d — graphify history](docs/archaeology/17-memory.md#17d--graphify-history)
- [17e — the `--reload` poller burning 44% of a core](docs/archaeology/17-memory.md#17e--the---reload-poller-burning-44-of-a-core)
- [CLAUDE.md "17-notes" dump (moved 2026-09-27)](docs/archaeology/17-memory.md#claudemd-17-notes-dump-moved-2026-09-27)

## 18. The typewriter and the shared chat surfaces

→ [`docs/archaeology/18-typewriter-chat.md`](docs/archaeology/18-typewriter-chat.md)

- [Moved out of ARCHITECTURE.md (2026-10-15 pass)](docs/archaeology/18-typewriter-chat.md#moved-out-of-architecturemd-2026-10-15-pass)

## 19. `/zombo`

→ [`docs/archaeology/19-zombo.md`](docs/archaeology/19-zombo.md)

- [Moved out of ARCHITECTURE.md (2026-10-15 pass)](docs/archaeology/19-zombo.md#moved-out-of-architecturemd-2026-10-15-pass)

## 20. Pages and subsystems without a section of their own

→ [`docs/archaeology/20-other-pages.md`](docs/archaeology/20-other-pages.md)

- [Moved out of ARCHITECTURE.md (2026-10-15 pass)](docs/archaeology/20-other-pages.md#moved-out-of-architecturemd-2026-10-15-pass)

## 21. noodle — moved to its own repo

→ [`docs/archaeology/21-noodle.md`](docs/archaeology/21-noodle.md)

- [Moved out of ARCHITECTURE.md (2026-10-15 pass)](docs/archaeology/21-noodle.md#moved-out-of-architecturemd-2026-10-15-pass)

## 22. /spire — moved to its own repo

→ [`docs/archaeology/22-spire.md`](docs/archaeology/22-spire.md)

- [Moved out of ARCHITECTURE.md (2026-10-15 pass)](docs/archaeology/22-spire.md#moved-out-of-architecturemd-2026-10-15-pass)