monad-developers / monad-developers/ultrafuzz
Controller refresh rejects an authenticated prepared temporary snapshot publication
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 85
- Forks
- 18
- Avg merge
- 11h 10m
- Merged PRs (30d)
- 194
Description
A crash after a refreshed execution snapshot temporary tree is fully written but before its atomic rename leaves an authenticated prepared journal entry alongside the matching temporary publication. An authorized refresh resume currently validates the snapshot root before reconciling that exact temporary publication and fails closed instead of safely removing it and rebuilding.\n\nAcceptance criteria:\n- During explicit controller-refresh recovery, reconcile only temporary publication names matching the single authenticated prepared generation.\n- Keep unrelated generations, final directories, malformed names, and symlinks fail-closed.\n- Add a regression for the abrupt-exit filesystem state and preserve the existing published-final recovery.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the controller-refresh recovery path that validates the snapshot root, then trace how authenticated prepared journal entries and temporary publication names are reconciled. Reproduce the abrupt-exit state where the temporary tree is complete but not atomically renamed. Done means the matching temporary publication is safely rebuilt only for the authenticated generation, while unrelated, malformed, final, and symlink entries remain fail-closed and published-final recovery still passes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- backend, security
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100