I3160 — A behavioural case can be written as a Rust integration test over a disposable repository, and the continuity cases are the first ported
Add a typed fixture builder (disposable git repository, remote, fake clock, two checkouts) under apps/majordomus-cli/tests and port the continuity cases 821-827, whose behaviour is already Rust, with the same assertions, deleting the shell originals.
PŘIPRAVENO vlna 0 · p2 · profil implementation · bezpečné souběžně
Součást automation — Automatizace repozitáře jsou skriptované schopnosti nad typovaným Rustem, ne shell.
Připraveno. Všechny závislosti jsou hotové, takže majordomus plan start I3160 bude přijato.
Cíl
Add a typed fixture builder (disposable git repository, remote, fake clock, two checkouts) under apps/majordomus-cli/tests and port the continuity cases 821-827, whose behaviour is already Rust, with the same assertions, deleting the shell originals.
Proč
Owner, 2026-10-12: port tests to Rust/Rhai. test/cases holds 527 shell files (ls test/cases | wc -l at 707a04c); shell cases share the defect classes ADR 0069 lists. This is harness maintenance: test/ is not governed by the automation inventory, so the port moves no class-A count and serves no criterion of repository-automation-is-typed. Sources: chatgpt-majordomus:c192#8, chatgpt-majordomus:c230#6.
Aktuální stav
apps/majordomus-cli/tests has Rust integration tests but no shared disposable-repository builder for behavioural cases.
Cílový stav
One builder and one family ported; coverage counted.
Rozsah
- test/cases/821_a_session_moves_between_machines.sh
- test/cases/822_a_dirty_handover_restores_context_not_source.sh
- test/cases/823_the_same_work_continued_twice_is_a_conflict.sh
- test/cases/824_separate_work_on_two_machines_is_not_a_conflict.sh
- test/cases/825_a_handover_published_offline_waits_for_its_remote.sh
- test/cases/826_a_handover_carrying_a_secret_is_not_published.sh
- test/cases/827_a_record_is_admitted_before_it_is_read.sh
- .ai/repo/ci/gates.yaml
Mimo rozsah
- Cases whose subject is still shell (they wait for the cutover)
Závislosti
Žádné. Tento úkol je kořenem grafu.
Kritéria přijetí
- The seven cases pass as Rust tests and the shell files are gone
- CI runs them in the same job class
Validace
- cargo test --manifest-path apps/majordomus-cli/Cargo.toml --test continuity --test continuity_transfer
Požadované důkazy
- test_continuity_cases_in_rust
Důkazy
Nic nezaznamenáno. Za každým tokenem výše musí stát příkaz nebo artefakt, než lze tento úkol dokončit; vyprávění se odmítá.
Časová osa
- zahájeno
- —
- ověřeno
- —
- dokončeno
- —
Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.
Canonical record: .ai/repo/project/issues/I3160.yaml. Read it back with majordomus plan show I3160.