Skip to main content

urirun-reasoner

Intent → need → capability → URI plan, headless-first. Model the GOAL, not the app.

A missing GUI editor is one blocked method in a graph — not the end of the road. Asked to "test office on lenovo", the reasoner does not stop at "no LibreOffice"; it reframes to "produce a document artifact and verify it exists" and resolves it through the cheapest feasible URI path.

The resolution ladder (kernel decides, cheapest/safest first)

  1. direct — a capability is already served on the node (headless)
  2. host_fallback — a headless capability runs host-side + sync (no node change)
  3. install_then_run — a connector provides it and the node can manage (install → rebuild → restart → smoke → use)
  4. gui — a GUI capability, only as a last resort
  5. blocked — nothing feasible → honest, with what was tried

GUI is never chosen when a headless path exists; connectors are never installed blindly.

Layers

module role
needs.py NeedSpec — the intent contract (goal, required outputs, preferred/acceptable capabilities, requires_gui) + a catalog
capabilities.py CapabilityMap — capability → URI route templates + connectors (the layer between language and URIs)
intent.py prompt → NeedSpec (rules first; LLM only names the intent, never invents URIs)
planner.py the deterministic ladder + resolve(need, ctx) with a postcondition

Use

from urirun_reasoner import Context, resolve_prompt
ctx = Context(node="lenovo", node_served=[...], host_served=["fs://host/file/command/write"],
              installable={"sheet"}, can_manage=True)
plan = resolve_prompt("przetestuj biuro na lenovo", ctx)
# → {"strategy": "host_fallback", "steps": [...], "postcondition": {...}}

Pairs with urirun-fleet (node readiness + execution) and the dispatch _meta provenance (so the reasoner knows what is actually served). Part of the ifURI solution · Apache-2.0

Metadata

Release files for urirun-reasoner 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for urirun-reasoner 0.1.0
File Size Uploaded
urirun_reasoner-0.1.0.tar.gz 13.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for urirun-reasoner 0.1.0
File Interpreter ABI Platform
urirun_reasoner-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 27.8 kB

Release files / urirun_reasoner-0.1.0.tar.gz

Download URL urirun_reasoner-0.1.0.tar.gz
Size 13.3 kB
Tags Source
SHA-256 checksum
How to use checksums
f7cdce7d9166a2c0e48056e6849e26e81433859c648e8bd5178775c375e172e6
BLAKE2b-256 checksum
How to use checksums
275c15cfbeb8f69aed85c3c98349517714f1f878611d1cd9bffce83fcb830f57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Release files / urirun_reasoner-0.1.0-py3-none-any.whl

Download URL urirun_reasoner-0.1.0-py3-none-any.whl
Size 14.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7a90a585f64e536de6ec96a2cdfa47b4e0e0fe2ecaaa8b109e78cd75dbe0a1fe
BLAKE2b-256 checksum
How to use checksums
13e7aeb3a375406a7c70425ac9c6295b2542231b563b9c4abf63a8aa0311324b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page