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.
Metadata
Release files for openral-reasoner 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| openral_reasoner-0.3.1.tar.gz | 97.3 kB | With provenance | Details for openral_reasoner-0.3.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| openral_reasoner-0.3.1-py3-none-any.whl | Python 3 | none | any | Details for openral_reasoner-0.3.1-py3-none-any.whl |
Total release size: 196.9 kB
Release files / openral_reasoner-0.3.1.tar.gz
| Download URL | openral_reasoner-0.3.1.tar.gz |
|---|---|
| Size | 97.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
56e92c59d113c800330d8f2c06f5e5ebab9c285957adec39bbc6e8ee69122643
|
|
BLAKE2b-256 checksum How to use checksums |
919dfbb1945e89d0be0ef2824534a05253e53dc1ada8d8dc5bcf68bd4051c363
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 8, 2026.
Transparency logRelease files / openral_reasoner-0.3.1-py3-none-any.whl
| Download URL | openral_reasoner-0.3.1-py3-none-any.whl |
|---|---|
| Size | 99.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
40b580b08fb1aef33ec7e89f85aea9d2d141a1a3946d01e6d8357abd7bf48277
|
|
BLAKE2b-256 checksum How to use checksums |
a22caef95a3264ec609fd8a29733ec9ca02926937a5ac83a85ee24c2b441551d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 8, 2026.
Transparency logSecurity for openral-reasoner 0.3.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for openral_reasoner-0.3.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 8, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.