openral-reasoner
OpenRAL S2 reasoner — the event-driven slow planning loop (CLAUDE.md §3
Layer 4). ReasonerCore consumes a WorldState snapshot plus rolling
event buffers (failures, perception events, operator prompts) and emits
exactly one typed ReasonerToolCall per tick via the LLM's
structured tool-use API — no free-form JSON. The ROS-side
reasoner_node (in packages/openral_reasoner_ros/)
wraps this core with rclpy subscriptions and dispatch plumbing.
Layer
CLAUDE.md §3 Layer 4 — S2 slow reasoning: event-driven with a ~0.2 Hz
heartbeat, sitting between the WorldStateAggregator and the S1 skill
executor. Dispatch is direct typed tool calls.
Design
- ROS 2 reasoner supervisor: direct typed tool-call dispatch.
- Symbolic S2 reasoner: authored playbooks, self-maintained memory, success-gated task queue.
- VLM-adjudicated completion, grounding-before-decompose, detection identity.
Public surface
from openral_reasoner import (
ReasonerCore, ReasonerTickResult, # the S2 tick loop
ToolPalette, build_tool_palette, # registry -> LLM tool palette
AnthropicToolUseClient, # provider clients
OpenAICompatibleToolUseClient,
build_tool_use_client_from_env, # model-first env selection
ContextRenderer, # WorldState/event -> prompt context
MemoryStore, MissionState, # self-maintained memory + mission ladder
CriticWatchdog, SpatialMemoryQuerier, # critic gating + spatial recall
plan_active_search, # active-search frontier planning
)
ReasonerCore— the tick loop: render context → call the LLM with the tool palette → validate into aReasonerToolCall→ bounded replanning ladder on failure (retry → param-tweak → substitute-skill → goal-replan → human-handoff).AnthropicToolUseClient/OpenAICompatibleToolUseClient— concreteToolUseClientimplementations; selected at activate-time from the curatedopenral_core.REASONER_MODELSregistry viaOPENRAL_REASONER_MODEL.OPENRAL_REASONER_ENDPOINToverrides where the model runs. No hidden default.ToolPalette/build_tool_palette— generated from the local skill registry, rebuilt on/openral/skill_registry_changed.MemoryStore,MissionState,evaluate_task_verdict— self-maintained memory and success-gated task queue.
See docs/methods/06-reasoning-wam-safety-observability.md
for the full symbol inventory and
docs/reference/reasoner-design.md
for the design walkthrough.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file openral_reasoner-0.3.0.tar.gz.
File metadata
- Download URL: openral_reasoner-0.3.0.tar.gz
- Upload date:
- Size: 97.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f5776e475d3e1db4193043040f2471bcb92d692b411696d43a7d7146d6c2931
|
|
| MD5 |
b2607060dfebba5eb119fdb2aa989899
|
|
| BLAKE2b-256 |
aa51cae698a6719d8c3fad4934c18878f7f57a0932e77aaa3d58e6a3f8da5777
|
Provenance
The following attestation bundles were made for openral_reasoner-0.3.0.tar.gz:
Publisher:
release-pypi.yml on OpenRAL/openral
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openral_reasoner-0.3.0.tar.gz -
Subject digest:
0f5776e475d3e1db4193043040f2471bcb92d692b411696d43a7d7146d6c2931 - Sigstore transparency entry: 2385970516
- Sigstore integration time:
-
Permalink:
OpenRAL/openral@be4417627a78f7b3151491ff1e33b41cc51019a4 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/OpenRAL
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-pypi.yml@be4417627a78f7b3151491ff1e33b41cc51019a4 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openral_reasoner-0.3.0-py3-none-any.whl.
File metadata
- Download URL: openral_reasoner-0.3.0-py3-none-any.whl
- Upload date:
- Size: 99.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
021f977862e6cd14a17aa23ff6c04ce3eb6e640c12b7a85ff5331724e183fd61
|
|
| MD5 |
da3107d0e8563e3d1f8bfd6c2aeb4f37
|
|
| BLAKE2b-256 |
272ffb9709032020fb3ac9a617e99e42b732959a86fe45f6a3330b78452142ad
|
Provenance
The following attestation bundles were made for openral_reasoner-0.3.0-py3-none-any.whl:
Publisher:
release-pypi.yml on OpenRAL/openral
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openral_reasoner-0.3.0-py3-none-any.whl -
Subject digest:
021f977862e6cd14a17aa23ff6c04ce3eb6e640c12b7a85ff5331724e183fd61 - Sigstore transparency entry: 2385970594
- Sigstore integration time:
-
Permalink:
OpenRAL/openral@be4417627a78f7b3151491ff1e33b41cc51019a4 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/OpenRAL
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-pypi.yml@be4417627a78f7b3151491ff1e33b41cc51019a4 -
Trigger Event:
push
-
Statement type: