You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Final mask check before publish leaves a narrow window before the manifest replace #222
This FILE item comes from the external review of #202 (ChatGPT batch 28, claim E5). It is not a blocker.
#202 re-checks every mask fingerprint, and SHA-256 in strict runs, in before_commit. That runs immediately before os.replace of run_manifest.json (run/generation.py:_commit). The output lock does not lock the source masks, so a mask can still change after the check returns and before or during the replace. The window is small, but a published manifest can bind bytes that are no longer on disk.
If the contract is "the visible manifest always binds exactly the bytes present at commit", only snapshotting or locking the source masks can meet it, for example by binding the manifest to an immutable copy. Another check would not help.
Activity