I1982 — Razítka plánu zapsaná před vznikem pečetí se znovu zapečetí příkazem, který zachová jejich původní časy
Poskytnout migrační krok (například `plan seal --backfill`), který zapečetí razítka zapsaná starším nástrojem, zachová původní čas každého razítka a zaznamená, kdo je zapečetil a kdy. Udělat hranici pečeti hodnotou na repozitář, a ne jednou globální konstantou.
BLOKOVÁNO vlna 1 · p1 · profil implementation · bezpečné paralelně
Blokováno. Tento úkol nelze začít, dokud není hotov I1980. Stav se z toho odvozuje, nedeklaruje.
Cíl
Poskytnout migrační krok (například `plan seal --backfill`), který zapečetí razítka zapsaná starším nástrojem, zachová původní čas každého razítka a zaznamená, kdo je zapečetil a kdy. Udělat hranici pečeti hodnotou na repozitář, a ne jednou globální konstantou.
Proč
OSCILLA musela přehrát každý přechod plánu s 0.12, aby vyhověla zapečetěným razítkům (34f967a), takže její razítka nyní nesou čas přehrání a skutečné časy přežívají jen v gitu. Tento repozitář ručně omluvil svá razítka před zapečetěním pomocí unsealed_stamps (91080bd64f). SEALED_FROM = 2026-10-01T00:00:00Z je napevno v lib/project.awk:45 a apps/majordomus-cli/src/plan.rs:122, takže razítko, které nástroj 0.11 zapsal po tomto datu, nelze nikdy omluvit.
Aktuální stav
Žádný příkaz nezapečeťuje ani neomlouvá existující razítka; oba enginy sdílejí pevnou hranici.
Cílový stav
Jeden příkaz, spouštěný `migrate --layer` z I1980, který zapečetí nebo omluví každé nezapečetěné razítko s původem a nechá časy beze změny. Oba enginy čtou mez z repozitáře.
Rozsah
- lib/plan.sh
- lib/project.awk
- apps/majordomus-cli/src/plan.rs
- docs/PLANNING.md
- test/cases
Závislosti
Kritéria přijetí
- Testovací vstup s razítky zapsanými před zapečetěním projde plan validate po doplnění, přičemž čas každého razítka zůstane beze změny
- Oba enginy se shodují na hranici načtené z repozitáře; případ 582_the_done_guard_holds_in_both_engines nadále prochází
Validace
- bin/majordomus plan validate
- MJ_TEST_JOBS=4 bash test/run.sh <the case this issue adds>
Požadované důkazy
- reseal_keeps_times_case
- cutoff_per_repository
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.
Kanonický záznam: .ai/repo/project/issues/I1982.yaml. Přečtěte jej zpět přes majordomus plan show I1982.