Skip to content

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.