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.issueMoves
plan.transitionWhat 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.