neuruhai/neuruh-public-micro-plugins
v0.1.9-alphaApache-2.0
public-safe context pack, cheapest-capable route, and proof card. no private neuruh runtime.
Changelog
Unreleased — distribution truth
Documentation, manifests and courts only. No package, tool, schema, or permission change,
so the published v0.1.9-alpha artifact is untouched and stays the pinned release.
- Say what a Claude Code install actually gives you.
/plugin marketplace addthen/plugin installregisters four skills and one MCP server, and the skills work immediately — but the plugin install does not install the Python package. On an interpreter without the six pinned dependencies the server exits at import withModuleNotFoundError: No module named 'neuruh_agent_run_manifest'and the plugin lists zero tools.DISTRIBUTION.mdand a newQUICKSTART.mdsection now give the two steps in order, with a one-line handshake check. - Stop the Claude manifests advertising five MCP tools. Both
.claude-plugindescriptions listed all five operations and then said "Offline stdio MCP". The server exposes three; state diff and handoff pack are CLIs, asREADME.mdandMICRO_PLUGINS.mdalready said correctly. Descriptions now match the code. - Give the marketplace manifest its own description, which
claude plugin validatewarned was missing. It now validates with no warnings. - Court it.
ClaudeMarketplaceManifestTestsasserts the manifests name the real MCP tool count, never sell the CLIs as MCP tools, agree withSERVER_VERSION, and keep the marketplace description. Verified to fail before it passes: against the previous manifests it fails three assertions. Suite is 95 tests.
0.1.9a0 — v0.1.9-alpha
- Fix the stdio MCP transport. The server framed messages LSP-style with
Content-Lengthheaders. MCP's stdio transport is newline-delimited JSON, which is what every MCP client writes, so a spec-compliant client hung atinitializeand no tool was ever reachable over the wire._read_messagenow reads newline-delimited JSON, still acceptsContent-Lengthframing from older callers, and_write_messagereplies in whichever framing the client used. - Close the test blind spot that hid it. The suite drove
handle_rpcdirectly and its one transport test wroteContent-Lengthframes itself, so it agreed with the server about a framing no MCP client uses. Added a subprocess round-trip over newline-delimited JSON (it fails against the 0.1.8-alpha transport) plus direct framing-detection assertions. - No tool, schema, permission, or public-boundary change.
context_pack,cheap_route, andproof_cardare unchanged.
0.1.7a0 — v0.1.7-alpha
- Docs and adoption only. No new primitive.
- Add
QUICKSTART.md,examples/demos/A/B/C fixtures, architecture-neutral diagram, and tagged pip-from-git install. Demo D reusesexamples/handoff-previous.synthetic.json+examples/handoff-current.synthetic.json. - Lead README with the five public CLIs. Pin stranger clone commands to a Git tag.
- Sync
plugin.jsonandmcp_server.SERVER_VERSIONfrom0.1.4-alphato0.1.7-alpha. - Document local plugin copy (
PYTHONPATH=${PLUGIN_ROOT}/src) versus pip-installedpython3 -m neuruh_sovereign_agent_starter.mcp_serverwith no PYTHONPATH. - CLI UX:
ValueError/TypeErrorfrom the five CLIs print one stderr line and exit 1. Refusal policy unchanged. Proof-card remains an allowlist (drops unknown keys, includingtranscript). - Public proof card:
PUBLIC_PROOF_CARD.v0.1.7-alpha.json(packaging/docs, not a production receipt).
0.1.6a0 — v0.1.6-alpha
- Replace the 0.1.5-alpha handoff envelope with Form A:
compile_handoff_packet(previous, current)is a thin composition ofdiff_public_stateandcompile_context_packet. No second packing or diffing implementation. parent_mission_idis required (fromprevious.mission_id, orprevious.missionif that is all that is present) and is allowed through context pack.changed_since_last_runis derived as pointer-heavy added/changed/removed path strings. Caller-supplied deltas are ignored.- CLI:
neuruh-handoff-pack previous.json current.json [--max-bytes]. Add skillneuruh-handoff-pack. Still not a fourth MCP tool. - Refuse raw chat/transcript keys and inherit state-diff private-key refusal for nested state. Oversize fails with the existing refs-not-blobs error.
- Add synthetic previous/current fixtures and tests covering composition identity, transcript refusal, private refs, derived delta, bounded size, and no network.
0.1.5a0 — v0.1.5-alpha
- Add
neuruh-handoff-pack: portable continuation envelope assembled from caller-supplied public pieces. - Compose
compile_context_packet, optionaldiff_public_state(only when before+after are supplied), and optionalpublic_proof_card(only when a receipt is supplied). No second implementation. - CLI only. Not a fourth MCP tool and not a fourth Agent Plugin skill. PR #4's public contract remains exactly three MCP tools (
context_pack,cheap_route,proof_card). - Refuse private/conversational fields. Bundle ceiling 4096 bytes; refuse rather than truncate the spine. No invented mission, objective, next-action, cost, proof, or timestamp fields.
- Add tests covering context spine, unknown/private-key refusal, transcript refusal, optional delta/proof identity, oversized-bundle refusal, composition identity, and non-JSON rejection.
0.1.4a0 — v0.1.4-alpha
- Package the existing public micro-plugins as an Agent Plugin (
plugin.json+mcp.json+ three skills). - Add a stdio MCP server that imports and calls
compile_context_packet,choose_cheapest_capable_route, andpublic_proof_card. No second implementation. - MCP tools:
context_pack,cheap_route,proof_card. - Add JSON Schemas, synthetic fixtures, a tiny fixture demo, and MCP protocol tests.
- The primitives and the governed-exec starter path are unchanged.
neuruh-state-diffremains a CLI utility and is not added as a fourth MCP tool.
0.1.3a0 — v0.1.3-alpha
- Add
neuruh-state-diff: deterministic public-safe structural delta of two JSON objects. - Refuse private/conversational fields instead of projecting them.
- Add tests covering added/removed/changed paths, nested list indexes, private-field refusal, and oversized-delta refusal.
- This utility is a standalone public edge tool; it does not connect to or expose the private Neuruh production runtime.
0.1.2a0 — v0.1.2-alpha
- Add
neuruh-context-pack: deterministic <=4 KiB execution-context compiler that refuses raw transcript/chat fields. - Add
neuruh-cheap-route: generic cheapest-capable route selector using expected value, success probability, model/execution/risk cost, founder time, and latency. - Add
neuruh-proof-card: explicit-allowlist projection for public-safe proof records. - Add tests covering bounded context, transcript refusal, capability floors, deterministic-vs-frontier routing, and private-field omission.
- These utilities are standalone public edge tools; they do not connect to or expose the private Neuruh production runtime.
0.1.1a0 — v0.1.1-alpha
- Every dependency now resolves to an immutable public tag. The
neuruh-agent-receiptdependency previously pinned a raw commit SHA. - The sealed manifest records the version of each component that actually ran, read from installed distribution metadata, instead of a hard-coded component list that had drifted from the released versions. Covered by a new test.
__version__is read from installed distribution metadata.- Packaging metadata: PEP 639
license/license-files, project URLs; the public composition moved from an optional extra to required dependencies. - README documents the pinned component matrix, the run and both verification steps with expected output, the public API, and the safety boundary.
- Continuous integration on Python 3.11, 3.12, and 3.13.
- Source formatting throughout. Enforcement behavior is unchanged.
0.1.0a0 — v0.1.0-alpha
- Initial public extraction: runnable governed-agent reference composition.