Stop SafetyEnvelopeVerdict claiming it survives export whole - #680
Open
xmap wants to merge 1 commit into
Open
Conversation
It does not. `_SCALAR_KEEP` maps `bool` to `keep:number`, which is what the docstring reasoned from, but `gen_record_dispositions.py`'s `_OVERRIDE_DISPOSITIONS` sends both `enclosure_permitted` and `beam_available` to `drop:text`, and `_dispositions.py` has carried that since. The override is deliberate and was itself a gate-review finding: a point-in-time reading of live PSS/interlock and beam-shutter state is the same class of fact `EnclosurePermitObserved.from_status` / `.to_status` already drop, and the two events had been getting opposite export treatment purely because one used `str` and the other `bool`. So the fields are `bool` for domain correctness, and the docstring's inference from that to "survives export and redaction whole" was inverted. The VO is present in the full, unredacted bundle and absent from the published one. Not cosmetic: a research session evaluating whether a witnessed Run should record a clearance flag read this docstring, cited it correctly, and drew a conclusion the disposition table contradicts. The corrected text names the override, states which bundle each way, and tells the next reader to check the override before restoring the claim. Comment-only; no behaviour changes. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
SafetyEnvelopeVerdict's docstring asserted that its twoboolfieldssurvive record export and redaction whole, and reasoned from
_SCALAR_KEEPmapping
booltokeep:numberto justify the field types.The claim is false.
gen_record_dispositions.py's_OVERRIDE_DISPOSITIONSsends both
beam_availableandenclosure_permittedtodrop:text,deliberately: a point-in-time reading of live PSS/interlock and beam-shutter
state is the same class of fact that
EnclosurePermitObserved.from_status/.to_statusalready drop. So the VO is present in the full bundle and absentfrom the published one, the opposite of what the docstring promised a reader.
The fields stay
boolbecause that is the honest domain type for a yes/noreading, not because of their disposition. The new text says so, names the
override as the authority, and tells anyone tempted to restore a
survives-export claim to read that override and its rationale first.
Docstring only. No behaviour change.
Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com