This is the record of an abcd-managed repository

abcdBetav0.16.2 · 2026-11-06

Development record

the history store's validKinds drops the source harness of an imported transcript

issueresolvedminoriss-2608230752354928

the history store's validKinds drops the source harness of an imported transcript

validKinds accepts exactly native and specstory-import. Capture refuses anything else, so a transcript from another harness reaches the store only by being declared native — a positive claim that abcd's own SessionEnd hook produced it.

source_kind is the sole provenance channel on a record. The frontmatter carries session_id, root_commit, captured_at, source_kind, source_sha256, and the two redaction counters; none of the others names a harness. So the misdeclaration is unrecoverable from the record.

This matters now rather than later because the store is otherwise already harness-agnostic. Capture treats the transcript as opaque bytes, with no JSONL parsing and no message-shape assumption, and the key is the git root-commit SHA rather than anything about the host. The kind field is the one place harness coupling survives, and it is the field that would carry the answer.

Adjacent, and the reason to settle the shape first: specstory-import already names a tool where the sibling value names a route, so the vocabulary conflates ingest path with source. iss-217 plans the cross-agent import over exactly this seam, so the shape is better decided before that work than during it.

Additional evidence (2026-08-26, second-harness adaptor lab, local tier): the lab's capture path exercises this defect live. Transcripts exported from a non-native host reach the store through hook session-end and are recorded as source_kind: "native" — the exact misdeclaration this issue predicts, now demonstrated rather than hypothetical. The rest of the pipeline held: the store treated the foreign transcripts as opaque bytes and redacted them end to end (twelve sessions stored in one drain), confirming the kind field is the sole remaining harness coupling and must be settled before any second-harness capture ships.

Grounds

  • pursued: an imported transcript is stored naming its tool and the import route, native captures record host, and a forged label is refused (source_labels_test.go, history_source_labels_test.go); it would be shown wrong by a stored record whose source_tool is a route word, or an old native/specstory-import record that no longer reads

Frontmatter

idiss-2608230752354928
typeissue
lifecycleresolved
severityminor

mentions7