Skip to content

I2485 — The bench measures the first request after the repository moved, and a budget bounds it

Measure what a reader pays on the first request after the repository changed, as a benchmark target of its own, so that the budget of I2489 covers the case ADR 0142 was written for and not only the warm one.

READY wave 3 · p2 · implementation profile · parallel safe

Part of development-runtime — The runtime has a development surface.

Ready. Every dependency is done, so majordomus plan start I2485 will be accepted.

Objective

Measure what a reader pays on the first request after the repository changed, as a benchmark target of its own, so that the budget of I2489 covers the case ADR 0142 was written for and not only the warm one.

Why

ADR 0142 took the handlers and the reload off the path of a UI request. Its effect on the warm request is now held by a budget (I2489). Its effect on the first request after a commit was measured by hand, once: 1.2-4.2 s before, 3-330 ms after, on release builds with a script outside the repository. Nothing measures it again, so a change that puts a wait back after a move would pass every gate.

Current state

bench has two cache modes for a page, cold (the executor cache cleared before every sample) and warm. Neither moves the repository. The live view targets (system.http.live.ui.*) pay the git stamp and never a new generation.

Desired state

A system target per screen over the live view takes each sample right after the fixture repository moved (an empty commit), in a cache mode of its own, so a result document says what the first reader after a change waited. The policy bounds it with a budget of its own, measured before it is declared, and the ui job's check holds it. The hand script is retired.

Scope

  • apps/majordomus-cli/src/bench
  • .ai/repo/benchmarks/rust/policy.yaml
  • docs/MAJORDOMUS_UI.md
  • test/cases
  • .ai/repo/project/issues/I2485.yaml

Dependencies

Acceptance criteria

  • A result document carries, per screen of the live view, a measurement taken on the first request after the repository moved
  • A screen made to wait for a source after a move, in a fixture, is over its budget and fails the check
  • The budget is declared in the benchmark policy with the measurement it was set from

Validation

  • bin/majordomus plan validate
  • MJ_TEST_JOBS=2 bash test/run.sh 1095_the_bench_measures_the_request_after_a_move

Evidence required

  • bench_moved_mode_tests
  • bench_moved_case_1095

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

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