Record the composed bundle identity in the session transcript, so a run joins to an exact bundle #350
Labels
No labels
burndown-2026-08
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
coherence-core
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
qa-fixture
role/devrel
role/eval
role/exec
role/frontend
role/gamedev
role/human
role/platform
role/qa
role/sysadmin
role/tpm
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-flight-deck/agent-compose#350
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Need
Session transcripts can be mined for evidence that the composed bundle needs adjustment: the human's own corrections are labelled defects, produced in real time at no grading cost. Turning that into an iterative loop needs a before-and-after comparison across a bundle change, and today that join is fuzzy.
What the transcripts carry today
Measured against the local Claude Code transcript store, 418 sessions over 50k, 1.4GB total:
timestampon every record, ISO 8601.agent-nameandcustom-titlerecords carrying the composed seat label, in the richest formAngie [she] (Developer Platform Engineer) cb47. That is name, pronoun, role title, and session short id.bundle,composeMark,bundleDigest, andlogical_content_idacross a transcript returns nothing.So a reader can recover the role a session ran under, and the date, but not the bundle. The role title is a weak proxy: the corpus spans a roster rename (
EngineertoDeveloper Platform Engineer,DevOpstoSystems Administrator,AI EngineertoAgent Evaluation Engineer,Executive StrategisttoTechnical Program Manager, withQAandDirectorretired), and any other bundle change landing in the same window is indistinguishable from the rename.What the software must do
Make the exact composed bundle recoverable from a session transcript, without inferring it from date or role label.
The pieces already exist.
acompose whoamireads the selected bundle manifest to print the seat label, and perdocs/bundle-protocol.mdthe manifest already carries a logical content ID and digest. The gap is that the identity reaching the transcript is the human-facing label rather than the bundle identity behind it.Implementation is the owner's call. Two shapes that would satisfy it:
whoamigains a machine-readable form carrying the bundle identity, and the SessionStart hook records it.Acceptance conditions
agent-compose verifyfor that bundle, so a transcript cannot name a bundle that never existed.whoamisilence rule indocs/whoami.md.Why this shape
docs/bundle-protocol.mdmakes bundles immutable and content addressed, which means a transcript only ever needs to point at a bundle rather than copy any of it. The quote stays reconstructible from the bundle itself. That keeps this consistent with the metadata-only rule in the agent-proxy adapter atdocs/agent-compose-ingestion.md, which already ingestsmanifest.jsonandtrace.jsonand joins on bundle and decision hashes.Out of scope
Provenance
Specified by the eval seat from a read-only pass over the local transcript store on 2026-08-25. Counts above are measured, not estimated. Filed as a bounded buildable definition under
boundary-build-foundational-software, so the build and the shape belong to platform.