Skip to content

I3364 — The adoption-overhead bench takes a target repository, and Majordomus's overhead and footprint are measured in the adopted foreign repository

Give majordomus bench a --repository <path> input so I3299's adoption-overhead suite runs in a named repository instead of this repository's fixtures, compared with its declared budgets rather than .ai/repo/benchmarks/baseline.json. Run it in the adopted foreign repository at its adopted commit, list the adoption's footprint outside .ai/ and .majordomus/ as path classes, compare it class by class with case 3113's inventory, and commit the result beside the T1 record.

BLOCKED wave 5 · p1 · implementation profile · parallel safe

Part of a-foreign-repository-is-adopted-and-measured — A repository not built around Majordomus is adopted from the published installer to an accepted finish, and its overhead and friction are recorded without exposing what its basis does not permit.

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

Objective

Give majordomus bench a --repository <path> input so I3299's adoption-overhead suite runs in a named repository instead of this repository's fixtures, compared with its declared budgets rather than .ai/repo/benchmarks/baseline.json. Run it in the adopted foreign repository at its adopted commit, list the adoption's footprint outside .ai/ and .majordomus/ as path classes, compare it class by class with case 3113's inventory, and commit the result beside the T1 record.

Why

T1 of the owner's report of 2026-10-19 asks for overhead, and its point that complexity is no moat makes overhead the cost side of the verdict. The critique found I3299 runs only on this repository's fixtures against its own baseline (lib/bench.sh:17,39), so this issue owns the target-repository input and depends on I3299 for the budgets.

Current state

I3299 (READY, p3) scopes apps/majordomus-cli/src/bench/* and .ai/repo/benchmarks/rust/policy.yaml. Case 3113 inventories the footprint on a fresh repository only.

Desired state

An overhead record per adopted repository with every exceeded budget shown as exceeded.

Scope

  • apps/majordomus-cli/src/bench/runner.rs
  • apps/majordomus-cli/src/commands/bench.rs
  • apps/majordomus-cli/tests/bench.rs
  • .ai/repo/benchmarks
  • apps/majordomus-cli/tests/economics.rs

Out of scope

  • Changing I3299's budgets
  • Reducing overhead; each exceeded budget becomes its own issue

Dependencies

Acceptance criteria

  • bench --repository runs the adoption suite in a fixture clone and never writes outside its scratch tree
  • Every operation I3299 declares has a measurement in the foreign repository, or the record names why not
  • An exceeded budget is published as exceeded
  • A test refuses a T1 record that reached an accepted finish but has no overhead record

Validation

  • cargo test --manifest-path apps/majordomus-cli/Cargo.toml --test bench
  • majordomus bench --check
  • bash test/run.sh 3113_the_adoption_footprint_is_inventoried
  • cargo test --manifest-path apps/majordomus-cli/Cargo.toml --test economics

Evidence required

  • overhead_record_in_foreign_repository

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

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