internal/session/session.go still exports BD_ACTOR alongside AF_ROLE, AF_ROOT, BEADS_DIR. The bd-era store (internal/issuestore/bdstore/) was deleted, but BD_ACTOR is not dead code: ~12 sites in internal/cmd/ (bead.go, done.go, handoff.go, mail.go, prime.go, sling.go, step.go) read it and pass it to newIssueStore(…, actor) as the mcpstore actor default.
The risk documented in docs/architecture/gaps.md (GAP-1): a developer sees BD_ACTOR, assumes it's vestigial, deletes it, and silently breaks actor-scoping in every command that runs outside an agent session.
Task
- Rename
BD_ACTOR → AF_ACTOR at the export site and all consumer sites (grep for BD_ACTOR)
- Consider collapsing into
AF_ROLE instead — session.go sets both to m.agentName, so they are always equal in practice; if you take this route, document why
- Update
docs/architecture/gaps.md GAP-1 and any references in subsystems/session.md
Well-scoped: mechanical rename + one design decision, all sites greppable.
internal/session/session.gostill exportsBD_ACTORalongsideAF_ROLE,AF_ROOT,BEADS_DIR. The bd-era store (internal/issuestore/bdstore/) was deleted, butBD_ACTORis not dead code: ~12 sites ininternal/cmd/(bead.go, done.go, handoff.go, mail.go, prime.go, sling.go, step.go) read it and pass it tonewIssueStore(…, actor)as the mcpstore actor default.The risk documented in
docs/architecture/gaps.md(GAP-1): a developer seesBD_ACTOR, assumes it's vestigial, deletes it, and silently breaks actor-scoping in every command that runs outside an agent session.Task
BD_ACTOR→AF_ACTORat the export site and all consumer sites (grep forBD_ACTOR)AF_ROLEinstead — session.go sets both tom.agentName, so they are always equal in practice; if you take this route, document whydocs/architecture/gaps.mdGAP-1 and any references insubsystems/session.mdWell-scoped: mechanical rename + one design decision, all sites greppable.