transcript progress: capnp append-only log replaces stub nodes

Add TranscriptSegment capnp schema and append-only log for tracking
which transcript segments have been mined by which agents. Replaces
the old approach of creating stub nodes (_observed-transcripts,
_mined-transcripts, _facts-) in the main graph store.

- New schema: TranscriptSegment and TranscriptProgressLog
- Store methods: append_transcript_progress, replay, is_segment_mined,
  mark_segment_mined
- Migration command: admin migrate-transcript-progress (migrated 1771
  markers, soft-deleted old stub nodes)
- Progress log replayed on all Store::load paths

Also: revert extractor.agent to graph-only (no CONVERSATIONS),
update memory-instructions-core with refine-over-create principle.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Kent Overstreet 2026-03-16 17:40:32 -04:00
parent 1500a2b635
commit 835b392b7a
4 changed files with 221 additions and 1 deletions

View file

@ -122,3 +122,18 @@ struct AgentVisit {
struct AgentVisitLog {
visits @0 :List(AgentVisit);
}
# Transcript mining progress — separate append-only log.
# Tracks which segments of which transcripts have been processed,
# by which agent, so we never re-mine the same content.
struct TranscriptSegment {
transcriptId @0 :Text; # session UUID (filename stem)
segmentIndex @1 :UInt32; # compaction segment index within transcript
agent @2 :Text; # "observation", "experience", "fact"
timestamp @3 :Int64; # unix epoch seconds when mining completed
}
struct TranscriptProgressLog {
segments @0 :List(TranscriptSegment);
}