Skip to main content

Goose extension for Neruva agent memory + reasoning substrate. Wires Neruva's three auto-pilot layers (route intent / reflect / extract) into Goose's pre-message and post-tool events. Pattern-C: substrate emits the prompt, your LLM runs it, results pushed back. Substrate stays $0/call. Pairs with the @neruva/mcp Goose MCP extension for full tool surface.

Project description

neruva-goose

Goose (Block Inc) extension for the Neruva agent memory + reasoning substrate.

Two integration paths -- use one or both:

Path 1: @neruva/mcp as a Goose MCP extension (zero Python)

Drop the Neruva MCP server straight into Goose's extension config. You get every Neruva substrate tool (records, KG, causal, analogy, CBR, ToM, EFE planning, code graph, replay) inside Goose with no glue code.

~/.config/goose/config.yaml:

extensions:
  neruva:
    type: stdio
    cmd: npx
    args: ["-y", "@neruva/mcp@latest"]
    env:
      NERUVA_API_KEY: nv_your_key_here

Restart Goose. Run goose mcp list -- you should see ~80 Neruva tools.

Path 2: neruva-goose Python package (auto-pilot)

For pattern-C auto-pilot (route intent / reflect / extract running through your LLM, with substrate emitting only the prompts), install this Python package and wire its hooks into your Goose extension.

pip install neruva-goose
from neruva_goose import NeruvaAutoPilot, NeruvaAutoPilotHooks

ap = NeruvaAutoPilot(
    api_key="nv_...",
    namespace="my_session",
    llm_callable=lambda prompt: my_llm.complete(prompt),
)
hooks = NeruvaAutoPilotHooks(ap, reflect_every=10)

# Pre-message: classify intent so you can pick the right Neruva tool
intent = hooks.before_user_message(user_text)
print(intent)
# -> {"primary_intent": "counterfactual", "confidence": 0.87,
#     "suggested_tool": "agent_counterfactual_rollout", ...}

# Post-tool: auto-extract facts to the auto-KG, fire reflection every 10
hooks.after_tool_call("agent_recall", str(tool_output))

# Optional: buffer assistant turns
hooks.after_assistant_message(assistant_text)

# End of session: force a final reflection
hooks.after_session(force=True)

The three layers:

Layer Hook Substrate prompt What happens
1 after_tool_call inline extraction prompt Triples extracted from tool output, pushed to <ns>-auto-kg.
2 before_user_message /v1/agent/route_intent_prompt Returns top intent + suggested Neruva tool.
3 after_session / every N tool calls /v1/agent/reflect_prompt Decisions / facts / mistakes / open_questions written to substrate.

Pattern-C, $0/call

The substrate never runs your LLM. It hands back canonical prompts; your code runs them; structured results come back via the existing client. That keeps the substrate deterministic and free at the call boundary, and means your LLM provider, model choice, and rate limits are entirely yours.

License

MIT. Same as neruva-mcp, neruva-record, neruva-langchain, neruva-langgraph, neruva-crewai.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

neruva_goose-0.1.0.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

neruva_goose-0.1.0-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file neruva_goose-0.1.0.tar.gz.

File metadata

  • Download URL: neruva_goose-0.1.0.tar.gz
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for neruva_goose-0.1.0.tar.gz
Algorithm Hash digest
SHA256 df4b1067c2877145bb9903bd019b4fd5be95428b26cbe3aaa5cd036c3f29650b
MD5 50f1de9dcdd56bbe4848ae8453508b29
BLAKE2b-256 8b5d47381d4911bcba0ac3a91f50185d075a122eee7279221b9748c5b39a19b7

See more details on using hashes here.

File details

Details for the file neruva_goose-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: neruva_goose-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for neruva_goose-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 60ac3d0b6b4da171e566f923f4d1bc10cf7f065269505cf6b5a34e72235ba911
MD5 adbf784140673697084ee3d9bd53dfdb
BLAKE2b-256 cda65af959a9b7ee690a84c7af21459c574cbec89d9ad05ab32dc9cd9e064abb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page