Two capability seams carried abstract methods no production consumer calls. A method no consumer programs against is not a seam — it is speculative surface every implementation must still provide and test. - SessionPersistence: remove has() and delete(), the coordinator's has/delete/deleteCore, and the PersistenceBackend.deleteStored hook (with its jsonl + sqlite + in-spec memory-stub impls). Surviving service surface: create/append/load/list. Production uses only load() (resume) and list() (ACP session/list). - BashExecutor: remove get(id) and list(), the abstract decls and the LocalBashExecutor impls. The internal tasks map survives (it backs ownerOf/readOutput/kill); get/list were pure public accessors over it with no shipping caller and no bash_list tool. - Migrate tests that reached through ctx.bash.get(id) to the public completion seam: a doneFor(id) helper over onTaskDone awaits a task by id, and the HMR-reload ownership test now proves task survival through A's own bash_output ([status: running]) plus ownerOf + B-rejection — a stronger through-the-tool assertion than the removed lookup peek. - Update seam READMEs (six -> four service methods, drop the deleteStored hook and the get/list row) and the two implemented persistence RFCs in place. Implements docs/rfc/implemented/simplification/2026-06-20-prune-dead-seam-methods.md
session-persistence/ — persistence capability family
The durable session-persistence seam and its storage backends. The interface package owns the abstract SessionPersistence service and the shared write coordinator; the backends are concrete implementations that register on ctx.sessionPersistence. All product packages.
| Package | Role | ctx key |
|---|---|---|
session-persistence/ |
Persistence seam + shared write coordinator | ctx.sessionPersistence |
session-persistence-jsonl/ |
JSONL-sidecar persistence backend | (registers ctx.sessionPersistence) |
session-persistence-sqlite/ |
SQLite persistence backend | (registers ctx.sessionPersistence) |
The interface lives at session-persistence/session-persistence/; backends are flat siblings. A new storage backend joins here and registers on ctx.sessionPersistence. See session persistence.