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

Download files

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

Source Distribution

urirun_reasoner-0.1.0.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

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

urirun_reasoner-0.1.0-py3-none-any.whl (14.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for urirun_reasoner-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f7cdce7d9166a2c0e48056e6849e26e81433859c648e8bd5178775c375e172e6
MD5 7a14396dbfe834de2797a31246059de0
BLAKE2b-256 275c15cfbeb8f69aed85c3c98349517714f1f878611d1cd9bffce83fcb830f57

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for urirun_reasoner-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7a90a585f64e536de6ec96a2cdfa47b4e0e0fe2ecaaa8b109e78cd75dbe0a1fe
MD5 357e3942ab02c2b3cd0cb094f2d66e86
BLAKE2b-256 13e7aeb3a375406a7c70425ac9c6295b2542231b563b9c4abf63a8aa0311324b

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 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