Skip to content

Make multi-grid writes and auxiliary outputs idempotent - #13

Merged
CraigMyles merged 1 commit into
mainfrom
fix/grid-aux-receipts
Jul 15, 2026
Merged

Make multi-grid writes and auxiliary outputs idempotent#13
CraigMyles merged 1 commit into
mainfrom
fix/grid-aux-receipts

Conversation

@CraigMyles

Copy link
Copy Markdown
Owner

Summary

  • keep grid_hash unchanged as the grid identity while suffixing colliding human-readable grid labels with a short hash and reporting the actual stored key
  • bind receipt completion to the requested grid, prefer current hashes over compatible legacy hashes, and reject ambiguous hashless multi-grid resume
  • make QC, thumbnails, GeoJSON, and inline slide encoders produce-if-missing on completed stores and during model append without re-embedding patches
  • keep the primary thumbnail/GeoJSON filenames backward-compatible while namespacing grid-dependent overlays and polygons for additional grids
  • repair interrupted QC and thumbnail outputs, regenerate sidecars on fresh/forced builds, reuse the grid's recorded segmenter and thumbnail settings, and replace PNG/GeoJSON sidecars atomically without changing shared-file permissions

Validation

  • Spark: pytest -m "not slow and not network" -q — 471 passed, 90 deselected
  • focused Spark integration suite — 104 passed, 9 deselected
  • ruff check .
  • git diff --check

Closes #4
Refs #6

@CraigMyles
CraigMyles marked this pull request as ready for review July 15, 2026 11:18
@CraigMyles
CraigMyles merged commit 3ca3d27 into main Jul 15, 2026
5 checks passed
@CraigMyles
CraigMyles deleted the fix/grid-aux-receipts branch July 15, 2026 11:18
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.

Fix grid-label collisions, runtime auxiliary idempotency, and per-grid receipt validation

1 participant