I3148 — An episode records the governance digest and the briefing digest it was handed at start
Write governance_digest and the governance manifest into session.started, and append a session.briefed event carrying briefing_digest once the start briefing has been derived; the preflight and the brief show the recorded values; an episode that edited files with no session.briefed receipt is flagged where the policy and the provider promise a briefing.
BLOCKED wave 3 · p1 · implementation profile · parallel safe
Blocked. This issue cannot start until I3147, I3142, milestone:entry-proves-what-it-handed are done. The status is derived from that, not declared.
Objective
Write governance_digest and the governance manifest into session.started, and append a session.briefed event carrying briefing_digest once the start briefing has been derived; the preflight and the brief show the recorded values; an episode that edited files with no session.briefed receipt is flagged where the policy and the provider promise a briefing.
Why
docs/PREFLIGHT.md on master: 'No compiled context revision exists in a checkout yet, so none is shown.' The 2026-09-10 brief asked for evidence that auto-load happened (a load receipt per episode). Proposed in ADR 0181 (An episode records the governance and the briefing it was handed, each by one digest) (proposed; it carries no authority until the owner accepts it). Sources: chatgpt-majordomus:c097#2.
Current state
session.started carries neither digest; case 127 judges briefing freshness by HEAD and tree only.
Desired state
The governance digest is recorded per episode at open and the briefing digest as a delivery receipt; both are shown; a missing receipt is a finding where one was due.
Scope
- share/events.yaml
- apps/majordomus-cli/src/session
- apps/majordomus-cli/src/environment/preflight.rs
- apps/majordomus-cli/src/capability/builtin/brief.rs
- lib/capture.sh
- docs/PREFLIGHT.md
Out of scope
- Changing what the briefing contains
Dependencies
- I3147BLOCKED The effective governance has one digest, computed by one function and shown by the preflight
- I3142BLOCKED An episode opens through the typed domain and records the task and issue it began on
What waits on this
Acceptance criteria
- session.started names the governance digest, and session.briefed the briefing digest
- The preflight shows the recorded briefing digest instead of 'none'
- An episode with edits and no receipt is reported where a briefing was due
Validation
- bash test/run.sh 127_briefing_freshness 190_entry_is_automatic
Evidence required
- case_episode_pins_what_it_was_handed
Evidence
None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.
Timeline
- started
- —
- verified
- —
- completed
- —
Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.
Canonical record: .ai/repo/project/issues/I3148.yaml. Read it back with majordomus plan show I3148.