I0836 — A synthetic repository generator for scaling cases
Add a test helper that builds a repository with N issues, N milestones, N rules and N context documents from the skeleton, and a case that runs doctor and plan validate at three sizes and asserts the yaml_flatten count grows linearly.
READY wave 2 · p0 · implementation profile · runs alone
Part of M004 — Performance is executable evidence, and the hot path does no canonical work twice.
Ready. Every dependency is done, so majordomus plan start I0836 will be accepted.
Objective
Add a test helper that builds a repository with N issues, N milestones, N rules and N context documents from the skeleton, and a case that runs doctor and plan validate at three sizes and asserts the yaml_flatten count grows linearly.
Why
Quadratic behaviour hides in small repositories; the counters expose it before wall clock does.
Current state
Fixtures are hand-built per case.
Desired state
One generator in test/lib.sh, one scaling case, counters linear in N.
Scope
- test/lib.sh
- test/cases/84_scaling.sh
Out of scope
- Wall-clock assertions in the scaling case
Dependencies
Acceptance criteria
- Counters at N, 2N and 4N are within a linear bound
- The generator is reused by at least one other case
Validation
- bash test/run.sh 84_scaling
Evidence required
- batch_reads
Evidence
None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.
Risk
The generated records must pass plan validate; the helper builds them from the same templates the skeleton ships.
Timeline
- started
- —
- verified
- —
- completed
- —
Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.
Canonical record: .ai/repo/project/issues/I0836.yaml. Read it back with majordomus plan show I0836.