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
I1512
Gate state is something the runtime can answer
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
0- Waiting on
- none
- Holds back
- none
- Behind it in all
0- Evidence
0of2
Moves
plan.transitionWhat it is
- Objective
- Give the runtime a capability that answers what the repository's gates are and how the last run of each one went, so that CI status stops being the one observability subject with no reader on any surface.
- Why
- The gap matrix records CI status as absent, and it is absent in a specific and avoidable way: the gates and their plan are canonical — .ai/repo/ci/gates.yaml declares them and scripts/ci-plan --check holds the workflow to them — and nothing reads run state on any surface. Quality gates are recorded as canonical, implemented and verified and yet carry the note that there is no capability and no view of gate state. This repository has repeatedly mistaken a gate that never reported for a gate that passed; master carried three branch-breaking defects it never reported, and no required check exists at the merge, so a verdict that never arrives is the normal case rather than the exception. A surface that shows gate state is how that becomes visible.
- Now
- Gates are declared and planned. Their run state is read by a person on GitHub and by nothing in this repository. No capability, no route, no page.
- Wanted
- The runtime answers the gate set and the standing of each gate's last run, including the case where no run has reported, which is the case that matters most and the one an absent reader hides.
- Done when
- unknown: the record declares no `completion`
- Risk
- Medium. The failure to avoid is a reader that renders a missing verdict as a green one; this repository has already paid for that mistake twice.
Acceptance
- A capability answers the declared gate set and the last known standing of each
- A gate that has never reported is distinguished from a gate that passed
- The capability answers without network access, saying what it could not reach
- Validation
bin/majordomus-cli capabilities validatebash test/run.sh- Evidence required
gate_state_is_answerablenever_reported_is_distinct_from_passed- Evidence present
- unknown: the record carries no `evidence` entries
Scope
- Touches
apps/majordomus-cli/src/capability/builtinscripts/cidocs/COCKPIT.mdtest/cases- Not
Editing .ai/repo/ci/gates.yaml or docs/CI.md. The gate declaration is canonical and this issue reads it.Running gates from the runtime. Reading state is not executing it.A GitHub token requirement for the local read. A capability that cannot answer offline must say so rather than fail.- Depends on
- none
- 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-11
- Updated
- 2026-09-11
- 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 apps/majordomus-cli/src/capability/builtin with I1800; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares apps/majordomus-cli/src/capability/builtin with I1900; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares test/cases with I1980; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares test/cases with I1990; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares apps/majordomus-cli/src/capability/builtin with I1997; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares apps/majordomus-cli/src/capability/builtin with I1999; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares test/cases with I2059; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares apps/majordomus-cli/src/capability/builtin with I2114; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares apps/majordomus-cli/src/capability/builtin with I2140; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares test/cases with I2282; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares test/cases with I2410; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares test/cases with I2411; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares test/cases with I2412; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares test/cases with I2413; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares apps/majordomus-cli/src/capability/builtin with I2414; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares apps/majordomus-cli/src/capability/builtin with I2415; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares scripts/ci with I2653; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares apps/majordomus-cli/src/capability/builtin with I2694; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares test/cases with I2713; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares test/cases with I2714; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares test/cases with I2716; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares scripts/ci with I2717; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares test/cases with I2718; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares apps/majordomus-cli/src/capability/builtin with I2720; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares test/cases with I2723; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares test/cases with I2731; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares test/cases with I2734; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares apps/majordomus-cli/src/capability/builtin with I2740; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares test/cases with I2742; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares scripts/ci with I2747; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares test/cases with I2760; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares docs/COCKPIT.md with I2770; they may not run concurrently | majordomus plan validate |
| WARN | scope_conflict | shares test/cases with I2786; they may not run concurrently | majordomus plan validate |