A snapshot: read at commit 707a04c7ce8 on 2026-10-18T00:06:01Z by majordomus 0.29.0. Nothing on this page is read again. See it live
I1965
The entry preflight reads the one verdict
Where it stands
devtask.issue- Readiness
- ready no dependency and no gate holds it; nobody has started it
- Status
- READY
- Can start
- startable
- Milestone
- Milestone status
- ACTIVE
- Wave
1- Waiting on
- none
- Holds back
- none
- Behind it in all
0- Evidence
0of1
Moves
plan.transitionWhat it is
- Objective
- Move the entry preflight's verification.tests check onto the freshness function and its verification.enforcement check onto the rules corpus verdict, ending the one known exception ADR 0087 names in decisions 3 and 4. It depends on PR #578 as well as on I1948, because the preflight exists only on #578.
- Why
- The preflight proposed in PR #578 counts a run as current by a filter of its own, with no containment test, and recounts rules::report instead of reading RulesVerdict. The entry briefing, the Cockpit overview, /api/v1/environment/preflight and the MCP tool majordomus_preflight render it, so every entry surface carries a second derivation of proven.
- Now
- The preflight exists only on PR #578 (feature/entry-proves-what-is-active). Its observe_ledger calls evidence::changed_since and matches digests with no containment test; its enforcement_check compares the proven count with the owed count.
- Wanted
- observe_ledger judges each recorded run through the freshness function, with the test source as its input, at the working tree: a run counts as current only when proven, as failing only on a failure, and a skip as not run. enforcement_check says verified only when RulesVerdict is proven. The cache keeps its fingerprint, and no capability declaration or schema changes.
- Done when
- unknown: the record declares no `completion`
- Risk
- It starts only once PR #578 and PR #597, carrying I1948's slice, are both on master. The case name is this slice's to confirm when it is written.
Acceptance
- A run recorded on a commit HEAD does not contain, with an identical tree, is not current
- A corpus whose blocking rule is only inputs_unchanged is not verified
- A skip is counted as not run, never as a failure
- The entry briefing and the Cockpit overview render the verdict evidence show gives
- Validation
bash test/run.sh 529_the_preflight_reads_the_one_verdict- Evidence required
preflight_reads_the_one_verdict- Evidence present
- unknown: the record carries no `evidence` entries
Scope
- Touches
apps/majordomus-cli/src/environment/preflight.rstest/cases- Not
A capability declaration or an output schema change: if one proves necessary, the slice stops and joins the capability chain after I1953apps/majordomus-cli/src/evidence and apps/majordomus-cli/src/rules- Depends on
- Priority
- p2
- Profile
- implementation
- Parallel safe
- true
- Owner
- unknown: the record declares no `owner`
The work so far
- Branches
- none
- Merged
- none
- Commits
0- Trunk
- master
- Sessions
- none
- Created
- 2026-09-26
- Updated
- 2026-09-26
- Started
- unknown: the record declares no `started_at`
- Verified
- unknown: the record declares no `verified_at`
- Completed
- unknown: the record declares no `completed_at`
Synchronisation
- Adapter
scripts/github-sync- Repository
- unknown: the derived plan's header carries no repository
- External issue
- unknown: a live GitHub state; this executable makes no network call, so only `scripts/github-sync --check` can answer it
- State there
- unknown: a live GitHub state; this executable makes no network call, so only `scripts/github-sync --check` can answer it
Findings
| Level | Code | Message | Reproduce |
|---|---|---|---|
| WARN | scope_conflict | shares test/cases with I1985; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares test/cases with I1988; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares test/cases with I2403; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares test/cases with I2484; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares test/cases with I2700; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares test/cases with I2701; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares test/cases with I2706; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares test/cases with I2708; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares test/cases with I2709; they may not run concurrently | majordomus plan validate |