VersionControl:PRs/maybelle-config/254

From PickiPedia: A knowledge base of bluegrass, old time psychedelic jams, and other public domain music
Revision as of 17:06, 9 November 2026 by DrivingThatTrain (talk | contribs) (cryptograss/maybelle-config#254, as GitHub has it)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search
maybelle-config#254: hunter: retire the watcher
State 🟣 merged 2026-11-01 16:21:43
Worked on by magent, justin
Moods #emergence
Deploy redeploy hunter
Branch retire-watcher → production, by magent-cryptograss
Opened · last pushed 2026-11-01 05:27:23 · 2026-11-01 16:20:28
Justin, #emergence, 1 Nov 05:24Z: "if you're sure that we're populating the record on the claude code side without it, then let's nix it."

**Why I'm sure** (checked tonight):
- In the last 7 days, all 896 Claude Code sessions in justin-arthel are `entrypoint: sdk-cli`, which means poller turns. None was typed in a terminal. The other personal containers last had a session on 4 Jan (rj), 13 Sep (fibonacci) and 3 Oct (Skyler).
- The poller streams each turn as it runs, using **the same Claude Code uuids** the watcher would use. I sampled lines from session `14ac9b7a` at the moments the watcher logged `imported=1`: the thinking (`10106133`), the tool result (`fb7c265c`) and the reply are each in the record under their Claude Code uuid. The tool result's record time is 170ms after its line, which is the poller's stream. The watcher's "imports" were races it won on lines the poller sends anyway. Nothing is duplicated: my 05:04Z reply is in the record once, and this turn's wake once under its uuid.
- The `attachment` lines (hook output, reminders) aren't recorded by either path, so nothing is lost there.
- It's broken anyway: since the 03:19Z redeploy, 426 of its 465 batches imported nothing (`'uuid'` errors on Claude Code's newer line types).

**The change**
- `services` role: `docker rm -f watcher` (alongside the old mcp-server, memory-lane and magenta-postgres), then remove `docker-compose.watcher.yml` and the watcher's `.env`, which held the ingest key. faces has its own `.env` and is untouched.
- `watcher_replay_from_start` is gone from the inventory. The playbook's header and deploy summary say turns come from the pollers. The runner-key docstring in `container_startup.py` no longer says the watcher carries turns without a key.
- The importer code in magenta (`watcher/`, `claude_code_v2.py`) stays, for archives.

**Not touched:** `hunter/README.md` and `multi-log-viewer.sh` already describe a hunter that ran postgres and the MCP server, so they need a docs pass of their own.

hunter tests pass (43), and the three YAML files parse.

Deploy: redeploy hunter
Worked on by: magent, Justin, in #emergence