Skip to content

Fix singleton-axis readiness and preserve outputs on failed updates - #8

Merged
IvanHCenalmor merged 1 commit into
mainfrom
fix/notebook-readiness-output-rollback
Oct 19, 2026
Merged

IvanHCenalmor merged 1 commit into
mainfrom
fix/notebook-readiness-output-rollback

Conversation

@IvanHCenalmor

Copy link
Copy Markdown
Contributor

Summary

  • notebook_ui: experiments containing both ZCYX and ZYX images can proceed after the missing channel is confirmed as a singleton. Readiness uses the confirmed axis review and retains all folder, exclusion and other metadata errors. Undoing the confirmation blocks running again.
  • run: prepare the CSV and manifest before replacing either output, back up earlier files, and restore their previous state if publication raises. Previously, a manifest failure could leave a new CSV paired with the old manifest. Failed restoration retains backups and reports their location; temporary-file cleanup failures do not invalidate a completed run.
  • Update the contract, implementation plan, development notes and user guide.

Decisions

Keep CSV schema 1, manifest version 1, filenames and public API unchanged. These fixes restore the intended workflow and output-preservation guarantees.

Notes for review

  • The two filesystem replacements are not jointly atomic. Forced termination between them is still detected by the existing CSV hash check on rerun. Writers to the same output folder must run one at a time.
  • Staging and backups require additional disk space.
  • Widgets were tested headlessly and standalone HTML previews generated. Automatic approval review blocked launching Edge with "blocked by policy", so no browser/JupyterLab visual check was completed.
  • The user's local AGENTS.md is intentionally excluded from the commit.

Tests

  • Before implementation, the initial regression selection reproduced the bugs: 8 failed, 5 passed.
  • Full suite on Windows / Python 3.12.11: 473 passed, 2 skipped (Windows filesystem/permission limitations).
  • ruff check ., ruff format --check . and git diff --check pass.
  • 18 new regression cases cover singleton confirmation and undo, unrelated blocking errors, CSV/hash/manifest/backup failures, publication failures with complete/partial/absent earlier output, successful retries, keyboard interruption, retained recovery backups and cleanup failures.

@IvanHCenalmor
IvanHCenalmor merged commit 15033ed into main Oct 19, 2026
7 checks passed
@IvanHCenalmor
IvanHCenalmor deleted the fix/notebook-readiness-output-rollback branch October 19, 2026 13:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant