Skip to content

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

A declared protocol says which repository may be adopted, what is recorded and what may be published. At least one admitted foreign repository has a committed T1 trial record from the published installer to an accepted finish, with step times, overhead against declared budgets, footprint classes and every friction tied to an observed event and cited by an issue. The record is published whatever its outcome.

PLANNED 0 of 7 issues done

ready
1
blocked
6
active
0
verify
0
done
0
cancelled
0

Problem

The owner's report of 2026-10-19 (T1) asks that at least one repository not created or structured around Majordomus be connected. scripts/ci/install-check:17-27 ends when the installed launcher serves a freshly initialised empty repository, and test/cases/1024_an_installed_release_serves_a_foreign_repository.sh:10 uses a local fixture only. I3127 adds the refuse-then-accept stage on a fixture and is BLOCKED, because its milestone a-stranger-adopts-it-unaided depends on a-second-adopter-is-served, which site/data/generated/plan.json derives as ACTIVE. Two of the owner's repositories that predate Majordomus have been adopted, and neither adoption has a record on master; the findings of one live only on the unmerged PR #1089, and the 0.29.0 findings of the other only on a local branch that no remote holds. No record gives a selection basis, a publication basis, elapsed time per step or measured overhead.

Outcome

A declared protocol says which repository may be adopted, what is recorded and what may be published. At least one admitted foreign repository has a committed T1 trial record from the published installer to an accepted finish, with step times, overhead against declared budgets, footprint classes and every friction tied to an observed event and cited by an issue. The record is published whatever its outcome.

Current state

git ls-files .ai/repo/workflows lists README.md, continuity.md, plan.md, task-lifecycle.md and use-cases.md; none covers adoption. docs/ADOPTION.md:5-16 gives the day-one commands and :165-169 removal, untimed. lib/finish.sh:108 writes task.refused; lib/check.sh:51-58 writes no ledger line for a refused check, which share/events.yaml:62 records as deliberate. I3299 (READY, p3) measures overhead on this repository's fixtures against .ai/repo/benchmarks/baseline.json (lib/bench.sh:17,39), with no target-repository input. Case 3113 holds the footprint inventory against docs/TWO_FOLDER_CONSOLIDATION.md.

Desired state

.ai/repo/workflows/foreign-repository-adoption.md declares the protocol; the T1 protocol and candidates are registered; at least one admitted record reached an accepted finish, with its overhead record; zero uncovered events and zero uncited friction ids.

Scope

  • .ai/repo/workflows
  • .ai/repo/workflows/README.md
  • docs/ADOPTION.md
  • .ai/repo/benchmarks
  • scripts/ci/install-check
  • test/cases/1024_an_installed_release_serves_a_foreign_repository.sh
  • apps/majordomus-cli/src/bench/runner.rs
  • apps/majordomus-cli/src/commands/bench.rs
  • apps/majordomus-cli/tests/bench.rs
  • apps/majordomus-cli/tests/economics.rs
  • docs/generated/economics.json
  • docs/generated/economics.md
  • docs/generated/economics.yaml
  • site/data/generated/economics.json

Out of scope

  • The A/B comparison (T2) and delivery economics (T3)
  • Outside persons' first runs (a-stranger-adopts-it-unaided, I3129)
  • Pushing anything to the adopted repository's remote
  • Fixing the frictions found; each becomes its own issue
  • Re-planning the findings PR #1089 carries
  • Choosing the repository on the owner's behalf; consent is the owner's act

Acceptance criteria

  • At least one admitted repository's T1 record has reached_accepted_finish true, and no record of a failed adoption is missing from the scorecard's T1 row
  • No record of a repository without a publication basis carries a name, raw commit id, path or free text
  • No fix or check decides by the identity of the repository it runs in

Validation

  • majordomus plan validate

Risks

  • I3361 waits on I3127, which is BLOCKED; the live adoption I3363 does not depend on it
  • Whether the owner's own pre-Majordomus repositories count as foreign is the owner's decision
  • A third-party repository needs a licence that permits a local clone and published measurements
  • Real-agent runs depend on account limits; a run that stops partway is recorded as failed, never retried silently
  • A peer may claim scripts/ci/install-check or case 1024; I3361 reads the board at start

Issues

Each one is an execution contract with its own acceptance criteria, validation command and required evidence. The wave column is the layer of the dependency graph it sits in.

issuestatuswavedepends ontitle
I3359 READY 0 — A workflow states which repository may be adopted as foreign, what each adoption records and publishes, and with whose consent
I3360 BLOCKED 2 I3352, I3353, I3359 The T1 protocol and its selection floors are registered before any candidate is measured, and a record without an admitted candidate is refused
I3361 BLOCKED 3 I3127, I3360 install-check's first-run stage runs against a clone of an existing repository named on the command line and writes a T1 trial record
I3362 BLOCKED 3 I3360 Candidate repositories are measured against the registered floors and admitted or refused before any of them is installed into
I3363 BLOCKED 4 I3362 One admitted foreign repository is adopted from the published installer to an accepted finish by a real coding agent, and its record is committed whatever its outcome
I3364 BLOCKED 5 I3299, I3363 The adoption-overhead bench takes a target repository, and Majordomus's overhead and footprint are measured in the adopted foreign repository
I3365 BLOCKED 5 I3363 Every intervention, undocumented command and refused step of a foreign adoption carries a friction id or a reason, and every friction id is cited by an issue or a cancellation

The graph

a-foreign-repository-is-adopted-and-measured dependency graphfrom .ai/repo/project
flowchart LR
    I3359["I3359<br/>A workflow states which repository may be adopted as foreign, what each adoption records and publishes, and with whose consent"]:::ready
    I3360["I3360<br/>The T1 protocol and its selection floors are registered before any candidate is measured, and a record without an admitted candidate is refused"]:::blocked
    I3361["I3361<br/>install-check's first-run stage runs against a clone of an existing repository named on the command line and writes a T1 trial record"]:::blocked
    I3362["I3362<br/>Candidate repositories are measured against the registered floors and admitted or refused before any of them is installed into"]:::blocked
    I3363["I3363<br/>One admitted foreign repository is adopted from the published installer to an accepted finish by a real coding agent, and its record is committed whatever its outcome"]:::blocked
    I3364["I3364<br/>The adoption-overhead bench takes a target repository, and Majordomus's overhead and footprint are measured in the adopted foreign repository"]:::blocked
    I3365["I3365<br/>Every intervention, undocumented command and refused step of a foreign adoption carries a friction id or a reason, and every friction id is cited by an issue or a cancellation"]:::blocked
    I3359 --> I3360
    I3360 --> I3361
    I3360 --> I3362
    I3362 --> I3363
    I3363 --> I3364
    I3363 --> I3365
    classDef done stroke:#16a34a,fill:#dcfce7,color:#14532d,stroke-width:2px
    classDef active stroke:#2563eb,fill:#eff6ff,color:#1e3a8a,stroke-width:2px
    classDef verify stroke:#7c3aed,fill:#f5f3ff,color:#4c1d95,stroke-width:2px
    classDef ready stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
    classDef planned stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
    classDef blocked stroke:#b45309,fill:#fffbeb,color:#78350f,stroke-width:2px
    classDef cancelled stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px
    classDef superseded stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px

Canonical record: .ai/repo/project/milestones/a-foreign-repository-is-adopted-and-measured.yaml. Read it back with majordomus plan show a-foreign-repository-is-adopted-and-measured.

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