Repository navigation
spec(t27mcp): seal_verdict -- the seal receipt of t27_spec (#10066) - #10239
Merged
Merged
Conversation
t27_spec hands out a spec; this hands out the receipt for it. The verdict (verified, stale, unsealed, vacuous, failing, forced, unknown) is decided by specs/verified/seal_check.t27 (seal_check_alg, fail closed) with PART_* codes from specs/verified/reuse.t27; this spec only maps the answer onto words and adds three things the checker lacks: a seal whose recorded spec_path is another path is no seal of this spec (case twins, #8540), the byte-for-byte comparison of two sha256 strings, and the vacuous verdict. 9 tests, 0 vacuous; six mutations each fail 1-2 tests. Compiled to wasm for gHashTag/t27-mcp on the lab. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Contributor
This was referenced Oct 18, 2026
Merged
Open
Merged
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.
Adds
specs/t27mcp/seal_verdict.t27(moduleT27mcpSealVerdict), the verdict logic behind the newsealreceipt oft27_specin gHashTag/t27-mcp. Refs #10066.The rules are not restated here.
specs/verified/seal_check.t27(seal_check_alg, fail closed) decides what a seal's parts mean, andspecs/verified/reuse.t27owns thePART_*codes. This spec maps the checker's answer onto the words an agent reads (verified, stale, unsealed, vacuous, failing, forced, unknown) and adds three things the checker does not have:spec_pathis another path is no seal of this spec (case twins, seal store: two specs derive one seal file name, and seal --save overwrites the other spec's seal #8540);sha256:<hex>strings, so a digest of another shape is never fresh;"Fresh" means the spec bytes are the sealed bytes. The server cannot regenerate the four backends, so those parts are passed as
PART_SAME;t27c seal --verifystays the full check.Checked on the Railway lab (t27c 0.5.2, zig 0.16.0): 9 of 9 tests pass, 0 vacuous. Six mutations (stale as fresh, foreign seal accepted, forced as pass, failing as pass, vacuous as verified, unknown digest as fresh) each fail 1-2 tests.
dupe_scan --likeis clean. The only compiler warning is "11 parameters" onseal_verdict.The wasm built from this file is in the companion gHashTag/t27-mcp PR.
🤖 Generated with Claude Code