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
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
- I1110BLOCKED The second run changes nothing, and a test says so
- I1111BLOCKED Uninstall gives back exactly what was taken
- I1116BLOCKED This repository's own footprint moves, through the reconciler
- I1121BLOCKED Every surface shows the integration from the one model
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.