chore(mcpl): drop the dead context/afterInference send surface (issue #39) - #86
Merged
antra-tess merged 1 commit intoAug 6, 2026
Conversation
Removed from the spec in 0.5.0 (§10.5, replaced by inference/lifecycle); the runtime stopped sending it then, but the helper survived. Whole- ecosystem grep (14 trees: the 5 local repos + dog-mcp, zulip_mcp, portal, xgate, eidoverse-worlds, mcpl-editor, slack-mcpl, mcpl-harness, mcpl) finds exactly one definition and zero callers. Export tracing (per Sol's boundary on issue anima-research#39): package.json exports maps only '.', and the root index re-exports a curated subset that never included McplMethod, AfterInferenceParams, or AfterInferenceResult — the surface is provably private/internal, so the method-table entry and both types leave with the helper rather than waiting for the compatibility- retirement release. Pre-0.5 SERVERS' wire handlers (e.g. discord-mcpl's) are untouched: they are their own compatibility surface, retired on fleet-on-0.5 evidence. bunx tsc clean; module-adjacent MCPL suites 57/57 in isolation. The full suite's connectMcplServer/WebSocket failure cluster reproduces identically on clean main on this machine (parallel port/timeout flake, run-to-run nondeterministic collection counts) — pre-existing, not from this change. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
antra-tess
pushed a commit
that referenced
this pull request
Aug 6, 2026
Carries today's merged work: #91 oversized tool-result spill completion, #94 durable resident-owned inline cap (hard-clamped to the strategy bound), #88 refusal-reaction baseline export, #86 removal of the dead context/afterInference surface, #87 MCPL manifest freshness, #98 physical-window projection for continuation rounds. Minor (not patch) because 0.x puts breaking changes in the minor and this release both removes a public method from an exported class (McplServerConnection.sendAfterInference, #86) and changes fleet default behavior (tool results now spill at 5000 chars by default, #91). Dependency floors raised to fix a build that only worked against local symlinks: - chronicle ^0.3.0 — context-manager 0.6.3 requires ^0.3.0, so ^0.2.2 installed TWO chronicles and AF handed a 0.2.x JsStore to APIs wanting the 0.3.x one. Single copy now. - membrane ^0.5.78 — AF consumes the 'retrying' yielding-stream event, which existed only in unpublished membrane commits until 0.5.78. DEPLOY NOTE: chronicle 0.3.0 open-writes a store format 0.2.x cannot reopen. Take cold backups before upgrading any residence. Verified against the real published packages (not local symlinks): single chronicle 0.3.0, cm 0.6.3, membrane 0.5.78; tsc clean; build clean; 539 tests, 538 pass, 0 fail, 1 skipped. Co-Authored-By: Claude Opus 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.
The one cleanup Sol's issue-#39 ruling permits now, cut exactly along her stated boundary.
The helper body —
sendAfterInference(server-connection.ts) — is proven dead: whole-ecosystem grep across 14 trees (agent-framework, connectome-host, discord-mcpl, heartbeat-mcpl, membrane locally, plus fresh clones of dog-mcp, zulip_mcp, portal, xgate, eidoverse-worlds, mcpl-editor, slack-mcpl, mcpl-harness, and the mcpl spec repo) finds exactly one definition and zero callers. The runtime stopped sendingcontext/afterInferenceat the 0.5.0 spec removal (§10.5, replaced byinference/lifecycle); only the helper survived.The method-table entry and types —
McplMethod.AfterInference,AfterInferenceParams,AfterInferenceResult— leave with it because exact export tracing proves they are private/internal, per the ruling's condition:package.jsonexportsmaps only"."(subpath imports sealed), and the rootsrc/index.tsre-exports a curated subset of./mcpl/index.jsthat never included any of them. They are not package-visible compatibility surface.Deliberately untouched: pre-0.5 servers' wire handlers (e.g. discord-mcpl server.ts:937) — that's their own compatibility surface, retired on fleet-on-0.5 evidence in the named compatibility-retirement release (tracked with the
DISCORD_SUPPRESS_REACTION_EMOJISalias retirement from discord-mcpl #13). A comment at theMcplMethodtable says exactly this so the boundary survives the file.Verification:
bunx tsc --noEmitclean; zero residualAfterInferencereferences (BeforeInference untouched); module-adjacent MCPL suites (mcpl-request-timeout,mcpl-ws-transport,mcpl-reconnect-events,mcpl-capability-scoping,mcpl-awareness-barrier) 57/57 in isolation. Honest caveat: the fullbun testrun shows aconnectMcplServer/WebSocket failure cluster with 5s timeouts on this machine — it reproduces identically on cleanmain(and run-to-run collection counts are nondeterministic, 522 vs 825), so it's a pre-existing parallel port/timeout environment flake, not from this change. Flagging rather than hiding it; an independent suite run on a quieter machine is the right check.🤖 Generated with Claude Code
Co-Authored-By: Claude Fable 5 noreply@anthropic.com