docs(safety): de-stale SR-17 — reverse-direction non-BMP + lone-surrogate oracles now exist#289
Merged
Merged
Conversation
…gate oracles now exist SR-17's verification-description (written at the v0.31.0 audit) listed the UTF-16 → UTF-8 reverse direction and lone-surrogate U+FFFD substitution as a carried gap "covered structurally but not yet by a non-BMP runtime round-trip". The #272 async cross-encoding campaign closed that gap afterward but the SR text was not updated, leaving an understated (phantom) gap in the safety record. Cite the runtime oracles that close it, all passing under wasmtime: - test_sr17_utf16_to_utf8_supplementary_plane_transcoding (U+1F600 pair D83D DE00 → UTF-8 F0 9F 98 80) — reverse-direction non-BMP round-trip - test_sr17_utf16_to_utf8_lone_high_surrogate_replacement - test_sr17_utf16_to_utf8_midstring_lone_surrogate_replacement (→ U+FFFD) - test_sr17_utf16_to_utf8_malformed_surrogate_matrix - inc2_async_utf16_to_utf8_param_* (async path, same shared helpers) Text-only change to one existing `verified` SR: no links, artifacts, or status changed. rivet validate identical with/without (180 errors / 101 warnings / 0 broken cross-refs — the pre-existing left-side baseline). LS-N gate 57/0/0. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
LS-N verification gate✅ 57/57 approved LS entries verified
Approved Failed LS entries(none) Missing regression tests(none) Updated automatically by |
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.
What
SR-17's
verification-description(authored at the v0.31.0 traceability audit) lists the UTF-16 → UTF-8 reverse direction and lone-surrogate U+FFFD substitution as a carried gap — "covered structurally (LS-P-16) but not yet by a non-BMP runtime round-trip". The subsequent #272 async cross-encoding campaign closed that gap with runtime oracles, but the SR text was never updated. The result was an understated (phantom) gap in the safety record — the safe failure direction, but still a traceability defect that under-credits real verification.This is a text-only correction to one existing
verifiedSR. No links, artifacts, or statuses change.Oracles that close the gap (all passing under wasmtime)
test_sr17_utf16_to_utf8_supplementary_plane_transcodingD83D DE00→ UTF-8F0 9F 98 80test_sr17_utf16_to_utf8_lone_high_surrogate_replacementEF BF BDtest_sr17_utf16_to_utf8_midstring_lone_surrogate_replacementtest_sr17_utf16_to_utf8_malformed_surrogate_matrixinc2_async_utf16_to_utf8_param_*(tests/async_cross_encoding.rs)Verification
adapter_safetySR-17 oracles: 8 passed / 0 failed; async non-BMP oracles: 44 passed / 0 failed.rivet validate: identical with and without this edit — 180 errors / 101 warnings / 0 broken cross-refs (the pre-existing left-sidemissing: feature/design-decisionbaseline; this edit changes no validation state).run_ls_verification.py): 57 passed / 0 failed / 0 missing.Scope
Touches only
safety/requirements/safety-requirements.yaml— no Tier-5 source path, so no Mythos gate applies.🤖 Generated with Claude Code