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
I0819
The project model is loaded with one flatten per file and no per-file lookups
Where it stands
devtask.issueMoves
plan.transitionWhat it is
- Objective
- Make mj_project_load and mj_project_unknown_keys read each milestone and issue once, checking ids and unknown keys inside awk rather than with a subprocess per file and per key.
- Why
- The project validator costs 3.5 s of doctor and plan validate costs 4.4 s on 73 records; the count grows with the plan.
- Now
- Every record is flattened, then read back with mj_yget per check, then re-read to build raw.tsv.
- Wanted
- One flatten and one awk per record, unknown keys computed by one awk over the flat directory against the allow-lists.
- Done when
- unknown: the record declares no `completion`
- Risk
- Unknown-key detection moved into awk must keep the same allow-list semantics; case 44 mutates a record and expects the refusal.
Acceptance
- validate:project under 400 ms and plan validate under 1 s on this repository
- Cases 40 to 48 pass unchanged
- Validation
MJ_TIMING=1 bin/majordomus plan validatebash test/run.sh 40_project_model- Evidence required
batch_reads- Evidence present
batch_reads
Scope
- Touches
lib/project.shlib/doctor.shlib/plan.shtest/cases/40_project_model.shtest/cases/41_project_status.shtest/cases/43_plan_command.sh- Not
Any change to the model semantics in project.awk- Depends on
- Priority
- p0
- Profile
- implementation
- 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-05
- Updated
- 2026-09-05
- Started
- 2026-09-05T02:06:00Z
- Verified
- 2026-09-05T02:16:00Z
- Completed
- 2026-09-05T02:16:00Z
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.