tracefork 0.2.0__tar.gz → 0.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {tracefork-0.2.0 → tracefork-0.2.2}/.github/workflows/ci.yml +3 -1
- {tracefork-0.2.0 → tracefork-0.2.2}/.github/workflows/release.yml +2 -2
- {tracefork-0.2.0 → tracefork-0.2.2}/.gitignore +2 -0
- tracefork-0.2.2/CHANGELOG.md +665 -0
- tracefork-0.2.2/CLAUDE.md +571 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/PKG-INFO +182 -24
- {tracefork-0.2.0 → tracefork-0.2.2}/README.md +166 -19
- tracefork-0.2.2/docs/packaging-decisions.md +170 -0
- tracefork-0.2.2/docs/plugin-api.md +171 -0
- tracefork-0.2.2/examples/plugin_example/README.md +35 -0
- tracefork-0.2.2/examples/plugin_example/plugin_example/__init__.py +3 -0
- tracefork-0.2.2/examples/plugin_example/plugin_example/matcher.py +67 -0
- tracefork-0.2.2/examples/plugin_example/pyproject.toml +24 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/pyproject.toml +43 -10
- tracefork-0.2.2/scripts/check_executed_evidence.py +168 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/scripts/e2e.sh +5 -2
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/__init__.py +15 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/adapters/__init__.py +19 -3
- tracefork-0.2.2/src/tracefork/adapters/adk.py +465 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/adapters/autogen.py +11 -3
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/adapters/crewai.py +11 -3
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/adapters/langchain.py +22 -6
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/adapters/openai_agents.py +11 -3
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/bench.py +37 -4
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/blame.py +298 -39
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/boundary_guard.py +108 -1
- tracefork-0.2.2/src/tracefork/bundle.py +122 -0
- tracefork-0.2.2/src/tracefork/certificate.py +134 -0
- tracefork-0.2.2/src/tracefork/checkpoint.py +151 -0
- tracefork-0.2.2/src/tracefork/ci_calibration.py +207 -0
- tracefork-0.2.2/src/tracefork/cli.py +1594 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/competing_faults.py +222 -1
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/constants.py +5 -1
- tracefork-0.2.2/src/tracefork/coverage.py +227 -0
- tracefork-0.2.2/src/tracefork/diff.py +169 -0
- tracefork-0.2.2/src/tracefork/fork.py +696 -0
- tracefork-0.2.2/src/tracefork/fsck.py +116 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/interop.py +26 -6
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/matcher.py +11 -0
- tracefork-0.2.2/src/tracefork/receipt.py +160 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/record_mode.py +18 -20
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/recorder.py +74 -4
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/replay.py +45 -2
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/report.py +25 -2
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/server.py +31 -3
- tracefork-0.2.2/src/tracefork/store.py +1197 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/tape.py +53 -12
- tracefork-0.2.2/src/tracefork/tournament.py +397 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/transport.py +77 -5
- tracefork-0.2.2/tests/required_test_ids.txt +55 -0
- tracefork-0.2.2/tests/test_adapters_adk.py +305 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_adapters_autogen.py +2 -1
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_adapters_crewai.py +2 -1
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_adapters_langchain.py +4 -2
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_adapters_openai_agents.py +2 -1
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_bench.py +11 -9
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_blame.py +463 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_boundary_guard.py +91 -1
- tracefork-0.2.2/tests/test_bundle.py +205 -0
- tracefork-0.2.2/tests/test_causal_edges.py +235 -0
- tracefork-0.2.2/tests/test_certificate.py +175 -0
- tracefork-0.2.2/tests/test_check_executed_evidence.py +130 -0
- tracefork-0.2.2/tests/test_checkpoint.py +151 -0
- tracefork-0.2.2/tests/test_ci_calibration.py +100 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_cli.py +32 -0
- tracefork-0.2.2/tests/test_cli_smoke.py +892 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_competing_faults.py +58 -0
- tracefork-0.2.2/tests/test_coverage.py +132 -0
- tracefork-0.2.2/tests/test_diff.py +206 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_e2e.py +5 -4
- tracefork-0.2.2/tests/test_fork.py +664 -0
- tracefork-0.2.2/tests/test_fsck.py +107 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_interop.py +53 -0
- tracefork-0.2.2/tests/test_plugin_example.py +114 -0
- tracefork-0.2.2/tests/test_property_matcher.py +63 -0
- tracefork-0.2.2/tests/test_property_tape.py +130 -0
- tracefork-0.2.2/tests/test_receipt.py +271 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_record_mode.py +11 -12
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_replay.py +37 -1
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_report.py +133 -1
- tracefork-0.2.2/tests/test_sessions.py +231 -0
- tracefork-0.2.2/tests/test_storage.py +939 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_tape.py +29 -0
- tracefork-0.2.2/tests/test_tournament.py +244 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_transport.py +69 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/uv.lock +199 -6
- {tracefork-0.2.0 → tracefork-0.2.2}/web/report.html +137 -1
- tracefork-0.2.0/CHANGELOG.md +0 -124
- tracefork-0.2.0/CLAUDE.md +0 -236
- tracefork-0.2.0/src/tracefork/cli.py +0 -766
- tracefork-0.2.0/src/tracefork/fork.py +0 -370
- tracefork-0.2.0/src/tracefork/store.py +0 -175
- tracefork-0.2.0/tests/test_cli_smoke.py +0 -360
- tracefork-0.2.0/tests/test_fork.py +0 -313
- tracefork-0.2.0/tests/test_storage.py +0 -248
- {tracefork-0.2.0 → tracefork-0.2.2}/.editorconfig +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/.github/dependabot.yml +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/.github/pull_request_template.md +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/.pre-commit-config.yaml +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/CODE_OF_CONDUCT.md +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/CONTRIBUTING.md +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/LICENSE +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/SECURITY.md +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/SPIKE0.md +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/docs/demo.png +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/examples/demo_report.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/experiments/replay_fixtures/manifest.json +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/experiments/replay_fixtures/single_turn.tape.sqlite +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/experiments/replay_fixtures/two_turn.tape.sqlite +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/experiments/validation_report_committed.json +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/scripts/gen_replay_fixtures.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/adapters/base.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/bedrock_transport.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/config.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/data/pricing.json +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/divergence.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/eventstream.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/faults.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/fixtures.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/judge.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/mcp_client.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/nondet.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/observability.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/plugins.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/pricing.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/providers/__init__.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/providers/anthropic.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/providers/base.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/providers/bedrock.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/providers/gemini.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/providers/openai.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/proxy.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/py.typed +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/redact.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/synthetic.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/tools.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/validate.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork/wire.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork_spike/__init__.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork_spike/__main__.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork_spike/agent.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork_spike/fake_llm.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork_spike/nondet.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork_spike/spike.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork_spike/tape.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/src/tracefork_spike/transport.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/__init__.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/fakes.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/fixtures/legacy_tape_v1.blob +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_adapters_base.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_bedrock_eventstream.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_bedrock_provider.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_bedrock_transport.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_concurrency.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_config.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_divergence.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_faults.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_gemini_provider.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_judge.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_matcher.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_mcp_client.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_nondet.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_observability.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_openai_provider.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_plugins.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_pricing.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_provider_faults.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_providers.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_proxy.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_recorder.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_redact.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_spike0.py +0 -0
- {tracefork-0.2.0 → tracefork-0.2.2}/tests/test_tools.py +0 -0
|
@@ -27,7 +27,9 @@ jobs:
|
|
|
27
27
|
- name: Type check
|
|
28
28
|
run: uv run mypy src/tracefork
|
|
29
29
|
- name: Tests + coverage
|
|
30
|
-
run: uv run pytest -q --cov --cov-report=term-missing
|
|
30
|
+
run: uv run pytest -q --cov --cov-report=term-missing --junit-xml=junit.xml
|
|
31
|
+
- name: Executed-evidence CI sentinel
|
|
32
|
+
run: uv run python scripts/check_executed_evidence.py
|
|
31
33
|
- name: Self-validation regression gate
|
|
32
34
|
run: uv run tracefork validate --check
|
|
33
35
|
- name: Build distribution
|
|
@@ -20,9 +20,9 @@ jobs:
|
|
|
20
20
|
permissions:
|
|
21
21
|
id-token: write # OIDC token for PyPI Trusted Publishing
|
|
22
22
|
steps:
|
|
23
|
-
- uses: actions/checkout@
|
|
23
|
+
- uses: actions/checkout@v7
|
|
24
24
|
- name: Install uv
|
|
25
|
-
uses: astral-sh/setup-uv@
|
|
25
|
+
uses: astral-sh/setup-uv@v7
|
|
26
26
|
with:
|
|
27
27
|
python-version: "3.12"
|
|
28
28
|
- name: Build sdist and wheel
|