Audit agent decisions after the fact by turning raw traces into per-property reconstructability reports that identify evidenced, missing, and opaque decision facts.
Project description
Decision Trace Reconstructor
Decision Trace Reconstructor makes agent decisions auditable after the fact: it shows whether the available traces are enough to reconstruct what happened, and names every missing or opaque decision fact.
Instead of generating another narrative, it produces a per-property reconstructability matrix: which decision-event fields are evidenced, partial, structurally absent, or opaque. No synthetic rationale is invented.
Supported Adapters
Full adapter documentation lives in docs/adapters/. Each adapter supports offline file ingest; vendor-backed adapters also support live/network ingest when the optional extra and credentials are available.
| # | Adapter | Extra | Covers |
|---|---|---|---|
| 01 | langsmith |
[langsmith] |
LangChain / LangGraph ecosystem |
| 02 | otlp |
[otlp] |
OpenTelemetry GenAI — one adapter, many backends |
| 03 | bedrock |
[bedrock] |
AWS Bedrock AgentCore |
| 04 | openai-agents |
[openai-agents] |
OpenAI Agents SDK + Traces dashboard exports |
| 05 | anthropic |
[anthropic] |
Anthropic Messages API + Computer Use |
| 06 | mcp |
[mcp] |
Model Context Protocol transcripts |
| 07 | crewai |
[crewai] |
CrewAI multi-agent telemetry |
| 08 | agentframework |
[agentframework] |
Microsoft Agent Framework / AutoGen v0.4 |
| 09 | pydantic-ai |
[pydantic-ai] |
Pydantic AI run records |
| 10 | generic-jsonl |
none | Custom JSONL logs via mapping config |
Unsupported source systems should use generic-jsonl first. If OpenTelemetry GenAI spans are available, otlp is usually the better long-term integration path.
Quick Start
# 1. Install with the relevant adapter extra
pip install -e '.[langsmith]' # or [otlp], [bedrock], [openai-agents], ...
# 2. Ingest a trace into a fragments manifest
decision-trace ingest langsmith --from-file traces/agent_run.json \
--architecture single_agent --stack-tier within_stack \
--state-mutation-tools "(write|exec|drop|delete|update)" \
--out fragments.json
# 3. Reconstruct and emit evidence reports
decision-trace reconstruct fragments.json --out report/ --jsonld
Output:
report/feasibility.json: per-property reconstructability categories, gap descriptions, and completeness percentagereport/trace.jsonld: W3C PROV-O graph, queryable via SPARQL
Ingest can also be piped directly into reconstruction:
decision-trace ingest langsmith --from-file traces/run.json --out - | \
decision-trace reconstruct /dev/stdin --out report/ --jsonld
Result Shape
The report is intentionally diagnostic, not narrative:
| Property | Category | Gap |
|---|---|---|
inputs |
fully_fillable |
none |
policy_basis |
structurally_unfillable |
active policy was not recorded |
reasoning_trace |
opaque |
model reasoning is not externally observable |
Documentation
- Installation
- Adapter documentation
- Reports and output artifacts
- Reconstruction architecture
- Development
- Roadmap
Examples
Worked examples live under examples/<adapter>_basic_agent/ and are pinned by integration tests for bit-identical reproduction. The named incident example examples/replit_drop_database/ shows reconstruction from a public-record fragment manifest.
Related Work Status
- Companion papers for the Decision Evidence Maturity Model and related evidence-regime concepts are in preparation. They are intentionally not cited as publications until public identifiers exist.
- Conceptual dependencies: the Decision Event Schema, the upstream Evidence Collector SDK, and the downstream Governance Benchmark Dataset.
Citation
CITATION.cff, codemeta.json, and ro-crate-metadata.json ship with the package.
Version v0.1.0 is archived on Zenodo at https://doi.org/10.5281/zenodo.19851574.
License
Apache-2.0. See LICENSE.
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 decision_trace_reconstructor-0.1.2.tar.gz.
File metadata
- Download URL: decision_trace_reconstructor-0.1.2.tar.gz
- Upload date:
- Size: 254.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e5c70ad5788ca376b8afa3a3ca0b2ea57502d73c1bd0d18aa20b5f3978a5281
|
|
| MD5 |
2ea156e454101fc5301894a7518aef9d
|
|
| BLAKE2b-256 |
4088dfff45259e22977e1ade6b0cf68bd111b0e07f2022afe639d9ab41d3d637
|
Provenance
The following attestation bundles were made for decision_trace_reconstructor-0.1.2.tar.gz:
Publisher:
release.yml on governance-evidence/decision-trace-reconstructor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
decision_trace_reconstructor-0.1.2.tar.gz -
Subject digest:
8e5c70ad5788ca376b8afa3a3ca0b2ea57502d73c1bd0d18aa20b5f3978a5281 - Sigstore transparency entry: 1806792737
- Sigstore integration time:
-
Permalink:
governance-evidence/decision-trace-reconstructor@460dec947f62843f1361998765662032f58ff67b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/governance-evidence
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@460dec947f62843f1361998765662032f58ff67b -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file decision_trace_reconstructor-0.1.2-py3-none-any.whl.
File metadata
- Download URL: decision_trace_reconstructor-0.1.2-py3-none-any.whl
- Upload date:
- Size: 204.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba8564ae04e53a06b9450a2da5bba83c2c8d01bd69f4ab90fe9cafdbead124da
|
|
| MD5 |
6d9687ab89c694e1f8f90f457b4d49c5
|
|
| BLAKE2b-256 |
d140d5f85b202e46b65591e50a69dbee2ff8358e1be5703c8a528fa88a706cfa
|
Provenance
The following attestation bundles were made for decision_trace_reconstructor-0.1.2-py3-none-any.whl:
Publisher:
release.yml on governance-evidence/decision-trace-reconstructor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
decision_trace_reconstructor-0.1.2-py3-none-any.whl -
Subject digest:
ba8564ae04e53a06b9450a2da5bba83c2c8d01bd69f4ab90fe9cafdbead124da - Sigstore transparency entry: 1806792821
- Sigstore integration time:
-
Permalink:
governance-evidence/decision-trace-reconstructor@460dec947f62843f1361998765662032f58ff67b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/governance-evidence
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@460dec947f62843f1361998765662032f58ff67b -
Trigger Event:
workflow_dispatch
-
Statement type: