Skip to content

fix: #505 duplicate MCP tools, grok-4.6 500k, TUI/worker vision, #504 GIT_DIR - #507

Open
justrach wants to merge 10 commits into
mainfrom
fix/505-dup-mcp-and-followups
Open

fix: #505 duplicate MCP tools, grok-4.6 500k, TUI/worker vision, #504 GIT_DIR#507
justrach wants to merge 10 commits into
mainfrom
fix/505-dup-mcp-and-followups

Conversation

@justrach

Copy link
Copy Markdown
Owner

Ports the uncommitted hover-tree fixes onto release/v0.0.258 and lands the remaining small follow-ups.

#505 — Duplicate mcp__codedbpro__read

--yolo starts codedbpro from .mcp.json, then companion auto-connect starts it again. After load_tool_schemas both copies unfolded and the Responses wire 400'd (Duplicate function definition provided). Pending-name claim + catalog name-dedup.

grok-4.6 window

Bake grok-4.5/4.6 at 500k (id-only /v1/models no longer falls back to 200k). Honor context_window when a row declares it.

TUI @[path] + #385

Hosted TUI history now stages a real image_url. Vision-ask workers get the named local image on their first message (missing files stay text).

#504

fixtureCmd wraps git with env -u GIT_* so a hook-inherited GIT_DIR cannot mark the checkout bare. stripGitHookEnv is the map helper.

#489

Already on this branch (bccd9cc). Not re-implemented.

Hover 1003h is not in this PR — already on 258 via the kitty overhaul.

--yolo starts codedbpro from .mcp.json, then connectCompanion starts it
again. load_tool_schemas unfolded both copies and xAI/Kimi rejected the
next turn: Duplicate function definition provided: mcp__codedbpro__read.

Claim the pending server name during the deferred handshake, skip a
second addServer, and emit each qualified name only once in the catalog.
xAI's /v1/models list is often id-only, so contextFor fell back to 200k.
Bake the official 500k windows and read the context_window field when a
row actually declares one.
The hosted TUI path copied @[png] as text, so grok-4.6 never got pixels.
Workers seated by vision-ask had the same hole: the path was in the
brief, not on the wire. Both now go through imageMessage when the file
is readable.
tier-1 already unsets the hook-exported git keys, but a direct
GIT_DIR=… zig build test still let fixture git init retarget this repo
(core.bare=true). fixtureCmd now wraps git with env -u, and
stripGitHookEnv is the reusable map helper.
Bake grok-4.5 and grok-4.6 into the generated model lists.
The CI fixture still required a single tools/list. First launch overlaps
discover + tools/list + at most one initialize. A well-behaved server no
longer 500s the rest of the handshake (which was what produced the second
initialize).
prepareInput tests now expect std.fs.path.resolve output, not a hard-coded
slash. adopt builds and compares paths with std.fs.path.join / either
separator, writes with read=true, and alreadyAdopted falls back to a
path-based read when File.stat fails on a write-only handle.
…-*.md (#470)

Outcome.describe already named the miss. The tool result and the inspect
record now carry that same string; honoured pins stay quiet.
renameSession deleted the old .session.json but left g_transcript_note
pointing at it. rearmAfterRename rewrites the armed line to the live name.
#453)

rearmAfterRename only rewrote g_transcript_note. Production apply() never
calls setSystemPrompts after renameSession, so the live prompt still named
the deleted file. Match noteSessionCompacted: re-arm, then derive from
sys_base. The #453 test now asserts sys_normal is already updated.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant