Skip to content

chore(mcpl): drop the dead context/afterInference send surface (issue #39) - #86

Merged
antra-tess merged 1 commit into
anima-research:mainfrom
slimepriestess:chore/drop-dead-afterinference-surface
Aug 6, 2026
Merged

chore(mcpl): drop the dead context/afterInference send surface (issue #39)#86
antra-tess merged 1 commit into
anima-research:mainfrom
slimepriestess:chore/drop-dead-afterinference-surface

Conversation

@slimepriestess

Copy link
Copy Markdown
Contributor

The one cleanup Sol's issue-#39 ruling permits now, cut exactly along her stated boundary.

The helper bodysendAfterInference (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 sending context/afterInference at the 0.5.0 spec removal (§10.5, replaced by inference/lifecycle); only the helper survived.

The method-table entry and typesMcplMethod.AfterInference, AfterInferenceParams, AfterInferenceResult — leave with it because exact export tracing proves they are private/internal, per the ruling's condition: package.json exports maps only "." (subpath imports sealed), and the root src/index.ts re-exports a curated subset of ./mcpl/index.js that 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_EMOJIS alias retirement from discord-mcpl #13). A comment at the McplMethod table says exactly this so the boundary survives the file.

Verification: bunx tsc --noEmit clean; zero residual AfterInference references (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 full bun test run shows a connectMcplServer/WebSocket failure cluster with 5s timeouts on this machine — it reproduces identically on clean main (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

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
antra-tess merged commit b4fca7a into anima-research:main Aug 6, 2026
0 of 2 checks passed
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>
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.

2 participants