Skip to content

I2865 — The eight kinds of derive are measured cold on a host of their own, each with its sample count

Measure a cold run, a no-op run, one rule edited, one Rust source edited, one site source edited, one generated output deleted, one staged new file and one unstaged tracked edit, stage by stage, in a disposable checkout with a build directory of its own, several samples each, and commit the result as I2521's derive record.

BLOCKED wave 1 · p2 · deep-work profile · runs alone

Part of a-derive-does-only-the-work-its-inputs-changed — A derive does only the work its inputs changed, and can say why.

Blocked. This issue cannot start until I2521 is done. The status is derived from that, not declared.

Objective

Measure a cold run, a no-op run, one rule edited, one Rust source edited, one site source edited, one generated output deleted, one staged new file and one unstaged tracked edit, stage by stage, in a disposable checkout with a build directory of its own, several samples each, and commit the result as I2521's derive record.

Why

Split from I2521 on 2026-10-21 (3e with a3). On the shared development machine a derive takes 14 to 28 minutes under load 17 to 63, so eight scenarios with several cold samples each would hold the machine and its disk for hours and still measure the other sessions as much as the derive. I1409 records two timings twenty minutes apart that disagreed sixfold.

Current state

Nothing measured. Blocked on a host: it needs a machine whose load is the derive's own, with room for a private build directory. The shared development machine is not one (load 17-63, disk 34-66 GiB free on 2026-10-21).

Desired state

One derive record per scenario under .ai/repo/benchmarks/, written by I2521's script, each with commit, host, load and sample count.

Scope

  • .ai/repo/benchmarks
  • .ai/repo/project/issues/I2865.yaml

Out of scope

  • Cleaning a build directory other worktrees share
  • Budgets or gates on the measured durations

Dependencies

Acceptance criteria

  • Each of the eight scenarios has a recorded duration per stage with the commit, the host, the load at the time and the number of samples
  • The no-op scenario names the stage that is its largest share, from the samples
  • No tracked generated file differs before and after the measurements

Validation

  • bin/majordomus plan validate

Evidence required

  • derive_scenarios_measured

Evidence

None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.

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/I2865.yaml. Read it back with majordomus plan show I2865.

Searches the titles and descriptions of every page this site publishes.