A snapshot: read at commit 707a04c7ce8 on 2026-10-18T00:06:01Z by majordomus 0.29.0. Nothing on this page is read again. See it live
I1982
Plan stamps written before seals existed are re-sealed by a command that keeps their original times
Where it stands
devtask.issue- Readiness
- blocked 1 of its dependencies is not DONE
- Status
- BLOCKED
- Can start
- not now
- Milestone
- Milestone status
- ACTIVE
- Wave
1- Waiting on
- Holds back
- none
- Behind it in all
0- Evidence
0of2
| In the way | Subject | Detail |
|---|---|---|
| issue | I1980 | I1980 is not DONE |
Moves
plan.transitionWhat it is
- Objective
- Provide a migration step (for example `plan seal --backfill`) that seals the stamps an older tool wrote, keeping each stamp's original time and recording who sealed it and when. Make the seal cutoff a per-repository value rather than one global constant.
- Why
- OSCILLA had to replay every plan transition with 0.12 to satisfy sealed stamps (34f967a), so its stamps now carry the replay time and the true times survive only in git. This repository excused its own pre-seal stamps by hand with unsealed_stamps (91080bd64f). SEALED_FROM = 2026-10-01T00:00:00Z is hard-coded in lib/project.awk:45 and apps/majordomus-cli/src/plan.rs:122, so a stamp a 0.11 tool wrote after that date can never be excused.
- Now
- No command seals or excuses existing stamps; both engines share a fixed cutoff.
- Wanted
- One command, run by `migrate --layer` from I1980, that seals or excuses every unsealed stamp with provenance and leaves the times unchanged. Both engines read the cutoff from the repository.
- Done when
- unknown: the record declares no `completion`
- Risk
- unknown: the record declares no `risk`
Acceptance
- A fixture with stamps written before sealing passes plan validate after the backfill, with every stamp's time unchanged
- Both engines agree on the cutoff read from the repository; case 582_the_done_guard_holds_in_both_engines still passes
- Validation
bin/majordomus plan validateMJ_TEST_JOBS=4 bash test/run.sh <the case this issue adds>- Evidence required
reseal_keeps_times_casecutoff_per_repository- Evidence present
- unknown: the record carries no `evidence` entries
Scope
- Touches
lib/plan.shlib/project.awkapps/majordomus-cli/src/plan.rsdocs/PLANNING.mdtest/cases- Not
- unknown: the record declares no `non_scope`
- Depends on
- Priority
- p1
- Profile
- implementation
- Parallel safe
- true
- Owner
- unknown: the record declares no `owner`
The work so far
- Branches
- none
- Merged
- none
- Commits
0- Trunk
- master
- Sessions
- none
- Created
- 2026-10-04
- Updated
- 2026-10-04
- Started
- unknown: the record declares no `started_at`
- Verified
- unknown: the record declares no `verified_at`
- Completed
- unknown: the record declares no `completed_at`
Synchronisation
- Adapter
scripts/github-sync- Repository
- unknown: the derived plan's header carries no repository
- External issue
- unknown: a live GitHub state; this executable makes no network call, so only `scripts/github-sync --check` can answer it
- State there
- unknown: a live GitHub state; this executable makes no network call, so only `scripts/github-sync --check` can answer it
Findings
Nothing is wrong with these records.