Repository navigation
spec(t27mcp): service.t27 -- one MCP service, TRI CLAW's /mcp with the t27 tools mounted - #10484
Merged
Merged
Conversation
…e t27 tools mounted Names belong to a home by prefix (t27_ and t27f_ to the t27 module, the rest to TRI CLAW). admit() mounts the t27 tools, drops the t27-mcp tg_ forwarders, and refuses a collision or a name MCP would not carry. The mounted tools are shown to the owner's scope only. The keyless local server keeps the t27 names, and TRI CLAW's coder persona carries four t27 tools. 9 of 9 tests pass, 0 are vacuous, and the seal is saved. Refs #10483 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gHashTag
enabled auto-merge (squash)
October 18, 2026 14:27
Contributor
…lds the wasm both servers call gen-c lowers a `string` parameter as NUL-terminated text and needs u32 indices; with `str` it emitted name.len on a const char*. Checked on the lab: 9 of 9 tests, 0 vacuous; gen-c plus zig cc gives a 736-byte wasm exporting admit, local_serves, t27_visible, home_of and name_ok. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
PR DashboardGenerated at: 2026-10-18 14:35:33 UTC
Summary
Seal Status
|
This was referenced Oct 18, 2026
Closed
gHashTag
added a commit
that referenced
this pull request
Oct 18, 2026
…token_floor uses it (Closes #10385) (#10388) * t27f: frame shards as a generic spec, frame_shard.t27 (Closes #10385) The shard partition and the TF_SHARD/TF_SHARDS reader, with the reel length as a parameter, so any renderer opts in with three lines in its main instead of copying them. token_floor.t27 switches to it in its owner's render(wide) rewrite. Lab: test report 5/5, 0 vacuous; sealed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * t27f: token_floor takes its shards from frame_shard.t27; t27b ledger names frame_shard (Closes #10385) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * t27f: reseal token_floor after the frame_shard swap (Refs #10385) Lab: t27c test-report token_floor 32/32, frame_shard 5/5, 0 vacuous; frame_shard seal verifies unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * t27f: reseal token_floor_mux, whose closure holds token_floor's hash (Refs #10385) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * t27b ledger: list ledger_union.t27 and t27mcp/service.t27, which t27b passes (Refs #10385) Both specs reached master in #10485 and #10484 without ledger lines, so the ratchet reported them UNLISTED. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * t27f: reseal token_floor_mux after merging master (Refs #10385) Master's mux seal recorded the token_floor hash from before the frame_shard swap. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * t27b ledger: list model_route, lesson_reel and reel_topics as CI's t27b run saw them (Refs #10385) model_route.t27 and reel_topics.t27 pass. lesson_reel.t27 is blocked on type [N]T, like frame_shard, so max_not_pass goes from 133 to 134. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <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.
Step 1 of #10483. This PR adds
specs/t27mcp/service.t27, the contract for one MCP service: TRI CLAW's/mcpwith the t27 tools mounted into it.What the spec decides:
t27_andt27f_. Every other name,tg_*included, belongs to TRI CLAW.t27aiis not a t27 name.admit(name, offered_by)decides what happens to each tool a side offers:t27_visible(scope). The mounted tools read public data and change nothing, so they are shown to the owner's scope only. Editorial keys and game tokens keep the fixed sets TRI CLAW gives them.local_serves(name). The keyless local t27 server keeps the t27 names and retires itstg_*forwarders.CODER_TOOLS. TRI CLAW's coder persona carriest27_check,t27_find,t27_specandt27_examples.The spec does not copy the endpoint or the key variable; they stay in
telegram.t27until the forwarders retire. The per-tool schemas stay intool_schema.t27.Checked on the lab against master 82bd5f4 with t27c 0.5.2:
t27c checkis OK, with 0 errors and 0 warnings.t27c test-reportpasses 9 of 9, with 0 vacuous. Three of the tests are negative controls.t27c seal --savewrote.trinity/seals/t27mcp_T27mcpService.json, and itsspec_hashmatches the file.tri types ratchetis CLEAN, with 107 names in the ledger and 107 observed.This PR adds no code in another language. Steps 2 and 3 are JS in t27-mcp and TS in TRI CLAW; they wait for the owner's
owner-approved-foreignlabel.Refs #10483, #10066
🤖 Generated with Claude Code