Replace synthetic-message instruction injection with a durable
discovery projection so discovered AGENTS.md files survive compaction,
forks, reverts, and restarts.
- Add the instruction_file table and the durable
session.instructions.discovered event; projection stores each
discovered path and content with its owning assistant-message
boundary and durable discovery order.
- Fold discovered files into the core/instructions source through
InstructionDiscovery, absorbing SessionInstructions. Completed
compaction rebaselines restate discovered instructions instead of
summarizing them away.
- Re-read discovered files live at each observation so mid-session
edits reach the model; the frozen discovery content stands in only
when a file becomes unreadable.
- Narrate instruction file changes as per-file deltas via diffByKey,
restating the full set only for pure reorderings.
- Fork copies discoveries within the inherited transcript, committed
revert removes discoveries past the revert boundary, and Session
movement clears them so the destination initializes a complete
baseline.