Optional, budget-bounded semantic analysis for Runopsy diagnoses
Project description
runopsy-semantic
The optional layer that costs money. Everything else in Runopsy runs offline and free; this asks a model about the handful of steps the deterministic engine already found suspicious.
What it may conclude
Very little, on purpose. A model can see what structural analysis cannot — a command that succeeded while writing the wrong value, a claim the observed output contradicts — and it can invent all of that with complete fluency. So the boundary is enforced, not advised:
- It cannot produce a status. Findings are L3 signals that feed evidence and the
ranking's evaluator term.
replay_supportedis reachable only through an experiment, and that path does not run through here. - Its confidence is capped below the deterministic engine's own ceiling, and its severity is capped at medium regardless of how certain it claims to be.
- Unparseable output is discarded, never repaired. Coaxing meaning from a malformed response is how a hallucination becomes a finding.
- It only ever sees spans the deterministic layers flagged. It never roams the trace.
What leaves the machine
The focus step and two neighbours on each side — not the run. build_packet takes a
window rather than a context, so minimization cannot be forgotten by a caller. Command
text comes from the local vault when one exists; steps whose payload was redacted are
sent as metadata only, and the packet records what was withheld so a weaker verdict is
visibly weaker.
Everything passes the secret scanner once more immediately before sending. That check should never fire — the capture-time scan already ran — and it exists because "should never" is not a security control.
Budget
Ceilings are checked before a call, never after: a limit enforced afterwards is one you discover on an invoice. Defaults follow section 12.1 — two calls, 6000 input tokens each, ten cents. Verdicts are cached by evidence, model and prompt version, so re-reading a diagnosis costs nothing.
Bring your own key (OPENROUTER_API_KEY). No key means the deterministic diagnosis runs
and answers anyway, which is the point of the offline-first design.
Project details
Release history Release notifications | RSS feed
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 runopsy_semantic-0.1.7.tar.gz.
File metadata
- Download URL: runopsy_semantic-0.1.7.tar.gz
- Upload date:
- Size: 17.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
134106e6204963d3f8145d3fe85b0d91a95f7f921d49dbde7744d570c74decb1
|
|
| MD5 |
286a6529a9471845d1565a47796106cc
|
|
| BLAKE2b-256 |
ebc5fc6827f0b266cfaa759c65eb453210496f53c5aaef8c1d37a1aa6c92faf2
|
File details
Details for the file runopsy_semantic-0.1.7-py3-none-any.whl.
File metadata
- Download URL: runopsy_semantic-0.1.7-py3-none-any.whl
- Upload date:
- Size: 21.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d4337732d27a539975e06150515a8388805501c0a8d362834e77a9b326e23e3
|
|
| MD5 |
a63f330ef6d97a587bfc8fecb08060f0
|
|
| BLAKE2b-256 |
19a0224ac28fe0580dce63847036ca45f69cea2098fd1597e32bc309a4f57c6e
|