Metadata-Version: 2.4
Name: runopsy-core
Version: 0.1.8
Summary: Framework-agnostic trace schema, graph, detectors and causal ranking for Runopsy
Project-URL: Homepage, https://github.com/vahit19/runopsy
Project-URL: Repository, https://github.com/vahit19/runopsy
Project-URL: Issues, https://github.com/vahit19/runopsy/issues
Project-URL: Changelog, https://github.com/vahit19/runopsy/blob/main/CHANGELOG.md
Author-email: Vahit Feryad <vahit.feryat@gmail.com>
License-Expression: Apache-2.0
Keywords: agent,llm,observability,root-cause-analysis,tracing
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Debuggers
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Topic :: System :: Monitoring
Classifier: Typing :: Typed
Requires-Python: >=3.12
Requires-Dist: pydantic>=2.8
Description-Content-Type: text/markdown

# runopsy-core

The framework-agnostic heart of Runopsy: the normalized trace schema, the typed
execution graph, the deterministic detector registry and causal ranking.

This package must never import runtime-specific code. Runtime adapters (Hermes and
later others) translate their own events into the schema defined here, and everything
downstream — diagnosis, replay planning, the UI and the benchmark — consumes only
this normalized form. That boundary is what keeps Runopsy independent of any single
agent framework.

Two properties are structural rather than optional:

- **Content is referenced by hash, not stored.** Prompts, tool arguments, claims and
  evidence carry `*_hash` fields. Raw text stays on the user's machine, so a trace can
  be shared or sent to a diagnostic model without leaking source code or secrets.
- **Events are ordered and gap-checked.** Every event carries a monotonic `sequence`
  within its run, so a truncated or tampered trace is detectable instead of silently
  producing a confident, wrong diagnosis.
