Skip to content

I1122 — A foreign repository, adopted, upgraded and given back

Prove the contract against a repository that is not this one: adopt it, verify the footprint, run it again, upgrade the tool, edit a bridge by hand, then remove the adoption and compare what is left against what was there before.

BLOCKED wave 7 · p0 · deep-work profile · runs alone

Part of two-folder-integration — A repository that adopts Majordomus gains two directories and two lines, and can give them back.

Blocked. This issue cannot start until I1110, I1111, I1116, I1121 are done. The status is derived from that, not declared.

Objective

Prove the contract against a repository that is not this one: adopt it, verify the footprint, run it again, upgrade the tool, edit a bridge by hand, then remove the adoption and compare what is left against what was there before.

Why

Every claim in this milestone is about somebody else's repository. Proving it here, where the tool and the subject are the same tree, proves the easy half; the interesting failures are the ones this repository cannot exhibit.

Current state

Nothing has been adopted anywhere but here.

Desired state

One test drives the whole lifecycle on a foreign fixture and asserts each stage, including the ones designed to refuse.

Scope

  • test/cases

Out of scope

  • A fixture the implementation recognises as a test
  • Declaring success from the exit code of an adoption

Dependencies

What waits on this

Acceptance criteria

  • Adoption of a repository with no prior Majordomus state adds the two namespaces and the declared bridges, and nothing else, verified against the tree rather than against the report
  • The second adoption changes nothing
  • An adoption made by an older version reconciles forward without rewriting a bridge that did not need to change
  • A bridge edited by a person is refused rather than overwritten, and reported
  • Removal returns the repository to what it was, apart from authored content, compared against a recorded starting state
  • The fixture is ordinary in every respect and nothing in the implementation recognises it

Validation

  • bash test/run.sh

Evidence required

  • foreign_adoption
  • upgrade_path
  • removal_restores

Evidence

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

Risk

An end-to-end test with a fixture the implementation special-cases proves nothing. The fixture has to be indistinguishable from a real repository.

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