{"id":51010878,"url":"https://github.com/governance-evidence/decision-trace-reconstructor","last_synced_at":"2026-06-21T02:30:28.647Z","repository":{"id":354570923,"uuid":"1223455840","full_name":"governance-evidence/decision-trace-reconstructor","owner":"governance-evidence","description":"Post-hoc trace reconstruction for AI agents: turns raw runtime traces into per-property reconstructability reports naming evidenced, missing, and opaque decision facts.","archived":false,"fork":false,"pushed_at":"2026-06-13T01:41:46.000Z","size":352,"stargazers_count":1,"open_issues_count":4,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-13T03:22:37.565Z","etag":null,"topics":["agent-runtime","ai-agents","auditability","bedrock","decision-trace","governance-evidence","json-ld","langsmith","mcp","openai-agents","opentelemetry","provenance","reconstructability","w3c-prov"],"latest_commit_sha":null,"homepage":"https://doi.org/10.5281/zenodo.19851574","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/governance-evidence.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"docs/roadmap.md","authors":null,"dei":null,"publiccode":null,"codemeta":"codemeta.json","zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-28T10:42:52.000Z","updated_at":"2026-06-13T01:41:50.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/governance-evidence/decision-trace-reconstructor","commit_stats":null,"previous_names":["governance-evidence/decision-trace-reconstructor"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/governance-evidence/decision-trace-reconstructor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/governance-evidence%2Fdecision-trace-reconstructor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/governance-evidence%2Fdecision-trace-reconstructor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/governance-evidence%2Fdecision-trace-reconstructor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/governance-evidence%2Fdecision-trace-reconstructor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/governance-evidence","download_url":"https://codeload.github.com/governance-evidence/decision-trace-reconstructor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/governance-evidence%2Fdecision-trace-reconstructor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34592050,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-21T02:00:05.568Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-runtime","ai-agents","auditability","bedrock","decision-trace","governance-evidence","json-ld","langsmith","mcp","openai-agents","opentelemetry","provenance","reconstructability","w3c-prov"],"created_at":"2026-06-21T02:30:28.169Z","updated_at":"2026-06-21T02:30:28.632Z","avatar_url":"https://github.com/governance-evidence.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Decision Trace Reconstructor\n\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.19851574.svg)](https://doi.org/10.5281/zenodo.19851574)\n\n**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.**\n\nInstead 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.\n\n## Supported Adapters\n\nFull adapter documentation lives in [`docs/adapters/`](docs/adapters/README.md). Each adapter supports offline file ingest; vendor-backed adapters also support live/network ingest when the optional extra and credentials are available.\n\n| # | Adapter | Extra | Covers |\n|---|---|---|---|\n| 01 | [`langsmith`](docs/adapters/langsmith.md) | `[langsmith]` | LangChain / LangGraph ecosystem |\n| 02 | [`otlp`](docs/adapters/otlp.md) | `[otlp]` | OpenTelemetry GenAI — one adapter, many backends |\n| 03 | [`bedrock`](docs/adapters/bedrock.md) | `[bedrock]` | AWS Bedrock AgentCore |\n| 04 | [`openai-agents`](docs/adapters/openai-agents.md) | `[openai-agents]` | OpenAI Agents SDK + Traces dashboard exports |\n| 05 | [`anthropic`](docs/adapters/anthropic.md) | `[anthropic]` | Anthropic Messages API + Computer Use |\n| 06 | [`mcp`](docs/adapters/mcp.md) | `[mcp]` | Model Context Protocol transcripts |\n| 07 | [`crewai`](docs/adapters/crewai.md) | `[crewai]` | CrewAI multi-agent telemetry |\n| 08 | [`agentframework`](docs/adapters/agentframework.md) | `[agentframework]` | Microsoft Agent Framework / AutoGen v0.4 |\n| 09 | [`pydantic-ai`](docs/adapters/pydantic-ai.md) | `[pydantic-ai]` | Pydantic AI run records |\n| 10 | [`generic-jsonl`](docs/adapters/generic-jsonl.md) | none | Custom JSONL logs via mapping config |\n\nUnsupported source systems should use [`generic-jsonl`](docs/adapters/generic-jsonl.md) first. If OpenTelemetry GenAI spans are available, [`otlp`](docs/adapters/otlp.md) is usually the better long-term integration path.\n\n## Quick Start\n\n```bash\n# 1. Install with the relevant adapter extra\npip install -e '.[langsmith]'   # or [otlp], [bedrock], [openai-agents], ...\n\n# 2. Ingest a trace into a fragments manifest\ndecision-trace ingest langsmith --from-file traces/agent_run.json \\\n  --architecture single_agent --stack-tier within_stack \\\n  --state-mutation-tools \"(write|exec|drop|delete|update)\" \\\n  --out fragments.json\n\n# 3. Reconstruct and emit evidence reports\ndecision-trace reconstruct fragments.json --out report/ --jsonld\n```\n\nOutput:\n\n- `report/feasibility.json`: per-property reconstructability categories, gap descriptions, and completeness percentage\n- `report/trace.jsonld`: W3C PROV-O graph, queryable via SPARQL\n\nIngest can also be piped directly into reconstruction:\n\n```bash\ndecision-trace ingest langsmith --from-file traces/run.json --out - | \\\n  decision-trace reconstruct /dev/stdin --out report/ --jsonld\n```\n\n## Result Shape\n\nThe report is intentionally diagnostic, not narrative:\n\n| Property | Category | Gap |\n|---|---|---|\n| `inputs` | `fully_fillable` | none |\n| `policy_basis` | `structurally_unfillable` | active policy was not recorded |\n| `reasoning_trace` | `opaque` | model reasoning is not externally observable |\n\n## Documentation\n\n- [Installation](docs/installation.md)\n- [Adapter documentation](docs/adapters/README.md)\n- [Reports and output artifacts](docs/reports.md)\n- [Reconstruction architecture](docs/architecture.md)\n- [Development](docs/development.md)\n- [Roadmap](docs/roadmap.md)\n\n## Examples\n\nWorked examples live under `examples/\u003cadapter\u003e_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.\n\n## Related Work Status\n\n- 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.\n- **Conceptual dependencies:** the Decision Event Schema, the upstream Evidence Collector SDK, and the downstream Governance Benchmark Dataset.\n\n## Citation\n\n`CITATION.cff`, `codemeta.json`, and `ro-crate-metadata.json` ship with the package.\nVersion `v0.1.0` is archived on Zenodo at \u003chttps://doi.org/10.5281/zenodo.19851574\u003e.\n\n## License\n\nApache-2.0. See [`LICENSE`](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgovernance-evidence%2Fdecision-trace-reconstructor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgovernance-evidence%2Fdecision-trace-reconstructor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgovernance-evidence%2Fdecision-trace-reconstructor/lists"}