Skip to content

entry-proves-what-it-handed — An episode records the governance and briefing it was handed, and a change is told

One governance digest computed by one function, recorded per episode with the briefing digest, compared at the next interaction, carried by handovers, identical across every entry surface; every route around the preflight is a case or a stated limit; task start states how far its base is behind the remote's master.

BLOCKED 0 of 7 issues done

ready
0
blocked
7
active
0
verify
0
done
0
cancelled
0

Problem

The entry preflight reports governance per claim (ADR 0066, docs/PREFLIGHT.md) but there is no digest of the effective governance, docs/PREFLIGHT.md states 'No compiled context revision exists in a checkout yet, so none is shown', session.started records neither, and a rule edited mid-session is noticed by nobody. intent_binding pins the plan revision of a task's intents (plan_revision) but not governance. 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.

Outcome

One governance digest computed by one function, recorded per episode with the briefing digest, compared at the next interaction, carried by handovers, identical across every entry surface; every route around the preflight is a case or a stated limit; task start states how far its base is behind the remote's master.

Current state

Verified on master 707a04c: environment/cache.rs fingerprints tiers for caching only; environment/preflight.rs derives the verdicts; cases 118, 190-192 prove entry converges on one server; SECURITY.md lists three bypass limits; lib/start.sh does not report base divergence; environment/vcs.rs reads ahead/behind against the branch's own upstream without fetching; worktree create already starts a new branch from the remote's trunk (case 3131_a_new_worktree_starts_from_the_remote_trunk).

Desired state

governance digest on the preflight, the brief, session.started and handovers; a parity case across clients; a bypass inventory held to SECURITY.md.

Scope

  • apps/majordomus-cli/src/environment
  • apps/majordomus-cli/src/capability/builtin/environment.rs
  • apps/majordomus-cli/src/capability/builtin/brief.rs
  • apps/majordomus-cli/src/session
  • lib/handover.sh
  • lib/start.sh
  • share/events.yaml
  • docs/PREFLIGHT.md
  • docs/ENTRY.md
  • SECURITY.md

Out of scope

  • Any network call at entry
  • Filesystem watchers
  • Regenerating context from the preflight

Acceptance criteria

  • The same tree gives the same governance digest on every surface
  • An episode record names the digests it started under
  • A governance edit during a session is told at the next brief or check
  • A handover says when governance moved since it was written
  • Every route around the preflight names its case or its SECURITY.md limit

Validation

  • majordomus plan validate

Risks

  • The digest's input set must be declared once (policy) or it drifts per surface
  • Overlaps I2988 (the AGENTS.md/CLAUDE.md policy stamp, in flight on the board and not on master)

Issues

Each one is an execution contract with its own acceptance criteria, validation command and required evidence. The wave column is the layer of the dependency graph it sits in.

issuestatuswavedepends ontitle
I3147 BLOCKED 0 — The effective governance has one digest, computed by one function and shown by the preflight
I3148 BLOCKED 3 I3147, I3142 An episode records the governance digest and the briefing digest it was handed at start
I3149 BLOCKED 4 I3148 A governance change during a session is told at the session's next brief or check
I3150 BLOCKED 3 I3147, I2003 A handover carries the governance digest it was written under, and resolving it says when governance moved
I3151 BLOCKED 1 I3147 Every entry surface reports the same governance digest for one checkout
I3152 BLOCKED 0 — Every known route around the preflight and the edit guard is a case or a stated limit
I3153 BLOCKED 0 — Task start says how far its base is behind the remote's master as last fetched, and stops only on a diverged local master, with the next step

The graph

entry-proves-what-it-handed dependency graphfrom .ai/repo/project
flowchart LR
    I3147["I3147<br/>The effective governance has one digest, computed by one function and shown by the preflight"]:::blocked
    I3148["I3148<br/>An episode records the governance digest and the briefing digest it was handed at start"]:::blocked
    I3149["I3149<br/>A governance change during a session is told at the session's next brief or check"]:::blocked
    I3150["I3150<br/>A handover carries the governance digest it was written under, and resolving it says when governance moved"]:::blocked
    I3151["I3151<br/>Every entry surface reports the same governance digest for one checkout"]:::blocked
    I3152["I3152<br/>Every known route around the preflight and the edit guard is a case or a stated limit"]:::blocked
    I3153["I3153<br/>Task start says how far its base is behind the remote's master as last fetched, and stops only on a diverged local master, with the next step"]:::blocked
    I3147 --> I3148
    I3147 --> I3150
    I3147 --> I3151
    I3148 --> I3149
    classDef done stroke:#16a34a,fill:#dcfce7,color:#14532d,stroke-width:2px
    classDef active stroke:#2563eb,fill:#eff6ff,color:#1e3a8a,stroke-width:2px
    classDef verify stroke:#7c3aed,fill:#f5f3ff,color:#4c1d95,stroke-width:2px
    classDef ready stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
    classDef planned stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
    classDef blocked stroke:#b45309,fill:#fffbeb,color:#78350f,stroke-width:2px
    classDef cancelled stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px
    classDef superseded stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px

Canonical record: .ai/repo/project/milestones/entry-proves-what-it-handed.yaml. Read it back with majordomus plan show entry-proves-what-it-handed.

Searches the titles and descriptions of every page this site publishes.