docs(plan): leverage the Gilamonster Rust stack, don't reinvent it#5
Open
hartsock wants to merge 1 commit into
Open
docs(plan): leverage the Gilamonster Rust stack, don't reinvent it#5hartsock wants to merge 1 commit into
hartsock wants to merge 1 commit into
Conversation
…g it WHAT: Add a "Leverage, don't reinvent" section to PLAN.md recording the decision to converge the thoon-* acceleration layer onto shared, framework-neutral primitive crates already built by newt-agent + agent-bridle, rather than the clean-room reimplementation the original scaffold implied. WHY: PLAN.md previously made zero mention of newt-agent or agent-bridle, even though those projects already ship (to PyPI) the exact primitives the phases propose to rebuild from scratch: a Caveats-confined tool registry + shell/fs tools (agent-bridle), and a tokio/reqwest-pooled streaming inference client (newt-agent-py). Reimplementing them duplicates work and drifts the line. The section records: - The map from each phase's greenfield primitive to the shared crate that replaces it (toolreg -> agent-bridle-core + agent-mesh Caveats; fileops -> a shared fileops primitive; sqlite stays genuinely-new; INFERENCE added as a new target that the original plan omitted). - The "extract shared crates" coupling model: neutral primitives consumed by BOTH newt and thoon, not thoon-depends-on-the-newt-app and not duplication. - Immediate arms-length reuse: Hermes already has an MCP *client* (tools/mcp_tool.py), so wiring agent-bridle-mcp via config.yaml mcp_servers offloads confined Rust tools with zero Python code. - The publishability guardrail (isolate the brush git-dep to the MCP binary) so the MIT-cherry-pickable surface stays a thin Python shim on an Apache-2.0 wheel. - B0 status (pyo3 0.28 alignment) as the prerequisite. Doc-only change. Co-Authored-By: Claude Opus 4.8 (1M context) <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.
Summary
Records the extract-shared-crates decision in
PLAN.md. The doc previouslynever mentioned
newt-agentoragent-bridle, even though those projectsalready ship (to PyPI) the exact primitives the acceleration phases propose to
rebuild from scratch.
New "Leverage, don't reinvent" section adds:
it (
thoon-toolreg→agent-bridle-core+ agent-mesh Caveats;thoon-fileops→ a shared fileops primitive;
thoon-sqlitestays genuinely-new; inferenceadded as a new target the plan had omitted — newt's pooled streaming client).
not thoon-depends-on-the-newt-app, not duplication.
(
tools/mcp_tool.py), so wiringagent-bridle-mcpviaconfig.yamlmcp_serversoffloads confined Rust shell/web/fs tools with zero Pythoncode.
brushgit-dep to the MCP binary)so the MIT-cherry-pickable surface stays a thin Python shim on an Apache-2.0
wheel.
Test plan
Doc-only change. Pre-push hook ran the thoon CI parity (cargo fmt/clippy/check)
green.
thoon-ci.ymldoesn't trigger on rootPLAN.md.risk:low — documentation only.
Pairs with #4 (pyo3 0.28 alignment).
🤖 Generated with Claude Code