release/v0.0.277 — MCP slim (L) + licensed surface, no tag - #630
Merged
Conversation
After load_tool_schemas unfolds a tool, rlm scripts may call that MCP name via exec_mod (unloaded names refused; GRAFF_RLM_MCP=0 restores structured- only). Infer field names + broad types from results, persist under .graff/mcp-shapes.json, and splice them onto the next load_tool_schemas result — never the always-on prefix. each(arr, tool, field) maps a JSON array so the Linear-shaped bench can run as one script.
Live grok-4.6 one-rep: warm D is -36% tok_in vs --old; cold C loses wall; B (structured-only) is the old gap. How to rerun is in the record.
Second-round A/B for ADR 0029: F/G never print() fat MCP arrays; H/I drop the each() recipe so we can see whether shapes alone steer the script. --only filters the runner.
Second SuperGrok rep: A wall is stable (~36s). D token win did not hold (159k / 61s). Quiet-print (F/G) burned 21–29 calls on Python. No-hint H/I never used rlm and beat --old (28–31s, 7 calls).
each() without a slim print made grok invent for/len (ADR 0029). len(x) and project(x, field) stay data helpers. eval-mcp-pareto.py keeps the undominated set on wall / tok_in / calls.
len/project recipe (J) is the token vertex at 84k / 47s. H remains the wall vertex at 28s / 7 calls. Nothing wins both.
After remember() of the fat payload, takeSlim / print() keep identity keys and fold comments to n+latest_author. Two stored shapes add a # muscle: line on the load result (never the catalog prefix). L–Q sweep those paths against the existing Linear fixture.
The len/project advertise pushed the discovery note over the byte check (em-dash + signatures). Shorter wording; the catalog desc still has the full each/len/project signatures.
Lean skipped MCP connect and hid load_tool_schemas even when a workspace server was present, so every MCP one-shot needed --no-lean. Default -p (lean+yolo) now connects and folds: names on the meta tool, full schemas a load away. Empty -p still hides the meta tool.
Live SuperGrok grok-4.6: graff-dev + linear-nohint passed and dominates the prior --no-lean H/I/J front.
Lean shrinks the prefix (workflow/webfetch/full MCP listing off). R's 16s/14k/4 is not an A/B against H/J. Front stays graff-dev-nolean; next live points are N/L/P (slim on the full harness).
graff-dev-nolean SuperGrok: L 14.8s/31k/5 (warm), N 20.8s/30k/5 (cold). Both dominate H/I/J. P 48s/66k/9 does not. R stays off the front (lean catalog).
Pulse long turns and transport retries (#624/#625) without a default 16-call cap. When codedb-pro is licensed, hide read_file/codedb and companion writes, keep native edits, and give workers the same read/search tools (#626/#627). Smolify/deepwiki/mobbin stay out of the default catalog unless opted in (#628).
L (warm slim, --no-lean) is the wall vertex on the full harness. No tag.
Branch already had d422ee8 (one-read-surface / pulse / Smolify opt-in, +499). This cut merges MCP-inside-rlm + learnt slim. Full-harness L is 14.8s/31k/5. Suite ratchet 1664. No v0.0.277 git tag.
|
Retest on this merge ( |
xAI grok-4.6 already executes {"type":"x_search"} server-side. Graff now
appends that hosted tool on xAI Responses when a tools array is present,
and never local-execs the completed custom_tool_call. Not a catalog
function and not on the prefix. GRAFF_XAI_X_SEARCH=0 opts out.
Record the SuperGrok A/B and that RLM is not a context-length trigger: lean already advertises it; a load appends schema to the tools tail so the cached prefix stays.
xAI grok-4.6 Responses splices {"type":"x_search"} onto tools turns
(ADR 0031). Not a catalog tool. GRAFF_XAI_X_SEARCH=0 opts out.
Fold rlm even under --lean, keep it off the Folded-native listing and the always-on prefix, and unfold on --rlm, a >=4 native batch, or an explicit load. MCP fan-out does not showcase (Linear each() footgun). sPTC stays wired for after unfold.
--rlm loads the schema onto the tail; catalogSkips stays true under GRAFF_STABLE_CATALOG. Assert on the rendered JSON, not the skip flag.
Late-showcase hid rlm on small turns. This adds the missing half: effectiveContextTokens crossing half of compactAt markLoads rlm onto the catalog tail. GRAFF_RLM_CONTEXT overrides (percent, 32k floor, or off). Tools-head bytes stay identical — rlm stays off the meta listing. Zhang/MGH: RLM is for OOD-length decomposition, not a first-turn tool and not a naive fat-payload trigger. 32k is their RL curriculum, opt-in.
The rlm listing skip comment pushed the file to 602. Collapse it so tier 1 lines stays green.
Hide rlm on small turns (ADR 0030). Showcase on --rlm, a ≥4 native batch, context ≥50% of compactAt, or an explicit load. Tools head stays cache-stable; schema rides the tail.
Hide on small turns; showcase at --rlm, a 4-wide native batch, or 50% of compactAt. Tools head stays cache-stable (ADR 0030).
Drop the "no tag" line from notes, changelog, and graff --version.
This was referenced Aug 26, 2026
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.
Cut of
release/v0.0.277atcfb1493. Nov0.0.277git tag.What was already on the branch (
d422ee8)Not a large drop: +499 / −42 in 21 files.
src/tool_surface.zig)GRAFF_SMOLIFY)What this cut adds (L works)
Merge of MCP-inside-rlm + learnt slim (ADR 0029). Fat MCP results slim to identity keys; comments fold to
{n, latest_author}. Shapes persist in.graff/mcp-shapes.json.Full-harness SuperGrok grok-4.6 (
graff-dev-nolean):L is the later run in the same repo (shapes already on disk). Lean catalog (R) is a different prefix and is not on this front.
Suite on the merge: 1664 pass, 1 skip. Ratchet floor 1664.
Notes:
CHANGELOG.md,docs/releases/v0.0.277.md.