Skip to content
Cockpit0.29.0
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

I0004

Implement DAG validation and execution waves

Where it stands

devtask.issue
Readiness
complete completion is recorded and every required evidence token is present
Status
DONE
Can start
not now
Milestone
Milestone status
DONE
Wave
3
Waiting on
none
Holds back
Behind it in all
11
Evidence
1 of 1
A move writes the repository: it stamps one field of this issue's record and appends one event to the ledger, and a commit will carry both.
The same moves from a terminal

majordomus plan start I0004

majordomus plan verify I0004

majordomus plan done I0004

What it is

Objective
Validate the dependency graph and derive topological execution waves, refusing every malformed graph with a named finding rather than a guess.
Why
A dependency list without validation is a suggestion. A cycle that nobody detects becomes a set of issues that can never be ready and nobody can explain why.
Now
No graph existed.
Wanted
Unknown, self and duplicate dependencies, duplicate ids and cycles are each rejected by name, and waves are computed by Kahn layering.
Done when
unknown: the record declares no `completion`
Risk
Low

Acceptance

  • A cycle is detected and the issues inside it are named
  • A self-dependency and an unknown dependency are each a distinct finding
  • Waves place an issue one layer past its deepest dependency
  • Two issues sharing a wave and a scope path are reported as serialised
Validation
bash test/run.sh 42_dag_waves
Evidence required
dag_test
Evidence present
dag_test

Scope

Touches
lib/project.awk
Not
Estimation or critical-path scheduling
Depends on
Priority
p0
Profile
deep-work
Parallel safe
false
Owner
unknown: the record declares no `owner`

The work so far

Branches
none
Merged
none
Commits
0
Trunk
master
Sessions
none
Created
2026-09-04
Updated
2026-09-04T03:12:50Z
Started
2026-09-04T03:12:48Z
Verified
2026-09-04T03:12:48Z
Completed
2026-09-04T03:12:50Z

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

Nothing is wrong with these records.