execweave 0.7.7__tar.gz → 0.7.8__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.
- {execweave-0.7.7 → execweave-0.7.8}/PKG-INFO +4 -4
- {execweave-0.7.7 → execweave-0.7.8}/README.de.md +3 -3
- {execweave-0.7.7 → execweave-0.7.8}/README.fr.md +3 -3
- {execweave-0.7.7 → execweave-0.7.8}/README.ja.md +3 -3
- {execweave-0.7.7 → execweave-0.7.8}/README.ko.md +3 -3
- {execweave-0.7.7 → execweave-0.7.8}/README.md +3 -3
- {execweave-0.7.7 → execweave-0.7.8}/README.ru.md +3 -3
- {execweave-0.7.7 → execweave-0.7.8}/README.zh-CN.md +3 -3
- {execweave-0.7.7 → execweave-0.7.8}/README.zh-TW.md +3 -3
- {execweave-0.7.7 → execweave-0.7.8}/pyproject.toml +2 -2
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/__init__.py +1 -1
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/_conversation_records_core.py +95 -2
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/viewer_conversation_tree.py +20 -10
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/viewer_projection.py +4 -3
- {execweave-0.7.7 → execweave-0.7.8}/tests/multi_agent_run_fixture.py +35 -3
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_v069_dashboard_release.py +4 -4
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_viewer_agent_isolation_e2e.py +90 -3
- {execweave-0.7.7 → execweave-0.7.8}/.github/workflows/ci.yml +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/.github/workflows/cleanup-workflow-history.yml +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/.github/workflows/i18n.yml +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/.github/workflows/package-benchmark.yml +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/.github/workflows/package-smoke.yml +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/.github/workflows/provider-capability-stage-integrity.yml +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/.github/workflows/publish.yml +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/.github/workflows/scalability.yml +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/.github/workflows/viewer-agent-isolation.yml +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/.github/workflows/wheel-smoke.yml +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/.github/workflows/windows-launcher.yml +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/.gitignore +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/LICENSE +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/RELEASE-PLAN-0.7.5-0.8.0.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/benchmarks/phase1_overhead.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/antigravity-hooks.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/assets/codex.gif +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/benchmarks/README.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/benchmarks/v0.6.0-github-actions.json +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/benchmarks/v0.6.0-github-actions.svg +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/claude-code-hooks.de.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/claude-code-hooks.fr.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/claude-code-hooks.ja.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/claude-code-hooks.ko.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/claude-code-hooks.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/claude-code-hooks.ru.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/claude-code-hooks.zh-CN.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/claude-code-hooks.zh-TW.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/codex-hooks.de.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/codex-hooks.fr.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/codex-hooks.ja.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/codex-hooks.ko.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/codex-hooks.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/codex-hooks.ru.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/codex-hooks.zh-CN.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/codex-hooks.zh-TW.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/cursor-hooks.de.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/cursor-hooks.fr.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/cursor-hooks.ja.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/cursor-hooks.ko.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/cursor-hooks.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/cursor-hooks.ru.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/cursor-hooks.zh-CN.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/cursor-hooks.zh-TW.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/evidence-grades.de.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/evidence-grades.fr.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/evidence-grades.ja.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/evidence-grades.ko.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/evidence-grades.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/evidence-grades.ru.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/evidence-grades.zh-CN.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/evidence-grades.zh-TW.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/gemini-hooks.de.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/gemini-hooks.fr.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/gemini-hooks.ja.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/gemini-hooks.ko.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/gemini-hooks.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/gemini-hooks.ru.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/gemini-hooks.zh-CN.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/gemini-hooks.zh-TW.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/inference-gateway.de.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/inference-gateway.fr.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/inference-gateway.ja.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/inference-gateway.ko.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/inference-gateway.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/inference-gateway.ru.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/inference-gateway.zh-CN.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/inference-gateway.zh-TW.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/internal/provider-capability-matrix.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/live-graph.de.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/live-graph.fr.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/live-graph.ja.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/live-graph.ko.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/live-graph.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/live-graph.ru.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/live-graph.zh-CN.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/live-graph.zh-TW.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/model-runtime.de.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/model-runtime.fr.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/model-runtime.ja.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/model-runtime.ko.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/model-runtime.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/model-runtime.ru.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/model-runtime.zh-CN.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/model-runtime.zh-TW.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/opencode-plugin.de.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/opencode-plugin.fr.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/opencode-plugin.ja.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/opencode-plugin.ko.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/opencode-plugin.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/opencode-plugin.ru.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/opencode-plugin.zh-CN.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/opencode-plugin.zh-TW.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/phase-1-runtime-collection.de.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/phase-1-runtime-collection.fr.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/phase-1-runtime-collection.ja.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/phase-1-runtime-collection.ko.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/phase-1-runtime-collection.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/phase-1-runtime-collection.ru.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/phase-1-runtime-collection.zh-CN.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/phase-1-runtime-collection.zh-TW.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/phase-2-execution-graph.de.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/phase-2-execution-graph.fr.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/phase-2-execution-graph.ja.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/phase-2-execution-graph.ko.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/phase-2-execution-graph.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/phase-2-execution-graph.ru.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/phase-2-execution-graph.zh-CN.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/phase-2-execution-graph.zh-TW.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/rule-packs.de.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/rule-packs.fr.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/rule-packs.ja.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/rule-packs.ko.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/rule-packs.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/rule-packs.ru.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/rule-packs.zh-CN.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/rule-packs.zh-TW.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/run-integrity.de.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/run-integrity.fr.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/run-integrity.ja.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/run-integrity.ko.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/run-integrity.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/run-integrity.ru.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/run-integrity.zh-CN.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/run-integrity.zh-TW.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/runtime-threat-model.de.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/runtime-threat-model.fr.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/runtime-threat-model.ja.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/runtime-threat-model.ko.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/runtime-threat-model.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/runtime-threat-model.ru.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/runtime-threat-model.zh-CN.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/runtime-threat-model.zh-TW.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/security-analysis.de.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/security-analysis.fr.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/security-analysis.ja.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/security-analysis.ko.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/security-analysis.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/security-analysis.ru.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/security-analysis.zh-CN.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/security-analysis.zh-TW.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/semantic-telemetry.de.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/semantic-telemetry.fr.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/semantic-telemetry.ja.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/semantic-telemetry.ko.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/semantic-telemetry.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/semantic-telemetry.ru.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/semantic-telemetry.zh-CN.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/semantic-telemetry.zh-TW.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/docs/v0.6.5-hardening-decisions.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/scripts/audit_i18n_parity.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/scripts/check_claude_hook.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/scripts/check_claude_record_graph.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/scripts/check_codex_hook.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/scripts/check_conversation_records.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/scripts/check_correlation_graph.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/scripts/check_inference_gateway_cli.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/scripts/check_model_runtime_cli.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/scripts/check_openai_compatible_cli.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/scripts/check_release_stage_integrity.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/scripts/check_semantic_graph.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/scripts/check_viewer_js.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/scripts/check_wheel_install.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/scripts/check_windows_launchers.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/scripts/emit_claude_hook_smoke.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/scripts/emit_codex_hook_smoke.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/scripts/emit_cursor_hook_smoke.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/scripts/emit_gemini_hook_smoke.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/scripts/emit_opencode_plugin_smoke.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/scripts/make_semantic_smoke.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/scripts/probe_provider_capability.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/scripts/sync_i18n_nav.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/__main__.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/agent_bootstrap.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/agent_topology.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/agent_trace.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/analysis.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/anthropic.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/anthropic_cli.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/anthropic_full_fidelity.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/antigravity_adapter.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/antigravity_adapter_base.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/antigravity_full_fidelity.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/antigravity_full_fidelity_base.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/antigravity_full_fidelity_collaboration_base.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/antigravity_hook_cli.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/antigravity_record.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/antigravity_subagent_linkage.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/antigravity_trace_capability.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/auto_specialized.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/backends.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/benchmark.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/claude_adapter.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/claude_delegation.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/claude_full_fidelity.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/claude_hook_cli.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/claude_hook_contract.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/claude_model_observer.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/claude_record.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/cli.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/codex_adapter.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/codex_conversation.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/codex_full_fidelity.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/codex_hook_cli.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/codex_hook_lifecycle.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/codex_message_diagnostics.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/codex_message_transport_diagnostics.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/codex_record.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/codex_rollout_structures.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/codex_rollout_trace.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/codex_rollout_trace_base.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/collector.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/command.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/content_evidence.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/content_store.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/conversation_archive.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/conversation_message_identity.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/conversation_preview.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/conversation_records.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/correlation.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/cursor_adapter.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/cursor_delegation.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/cursor_delegation_base.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/cursor_full_fidelity.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/cursor_hook_cli.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/cursor_hook_contract.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/cursor_record.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/entry.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/evidence_availability.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/evidence_grade.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/fidelity.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/filesystem.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/focus.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/gemini_adapter.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/gemini_full_fidelity.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/gemini_hook_cli.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/gemini_hook_contract.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/gemini_record.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/graph.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/graph_ops.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/http_proxy.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/http_proxy_cli.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/inference_gateway.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/inference_gateway_cli.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/inference_gateway_full_fidelity.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/inference_identity.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/inference_identity_cli.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/integrity.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/integrity_cli.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/litellm_callback.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/litellm_callback_cli.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/live.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/live_core.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/live_view.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/live_view_extra_style.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/live_view_markup.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/live_view_script_a.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/live_view_script_b.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/live_view_script_c.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/live_view_script_d.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/live_view_style.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/model_runtime.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/model_runtime_cli.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/model_runtime_full_fidelity.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/openai_compatible.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/openai_compatible_cli.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/openai_compatible_full_fidelity.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/opencode_adapter.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/opencode_event_contract.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/opencode_full_fidelity.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/opencode_hook_cli.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/opencode_plugin_cli.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/opencode_record.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/opencode_task_linkage.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/overhead_benchmark.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/provider_capability.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/provider_lifecycle.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/provider_record.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/rule_pack.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/rule_pack_cli.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/scalability_benchmark.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/schema.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/scope.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/semantic.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/sink.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/strace_backend.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/stream_assembly.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/theme.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/top.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/top_cli.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/validate.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/view_cli.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/viewer.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/viewer_antigravity_linkage_inspector.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/viewer_content_inspector.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/viewer_conversation_panel.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/viewer_dashboard_clean.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/viewer_dashboard_focus.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/viewer_execution_inspector.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/viewer_live_layout.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/viewer_projection_base.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/src/execweave/workflow.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/fixtures/codex_multi_agent/PROVENANCE.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/fixtures/codex_multi_agent/hook-payloads.json +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/fixtures/codex_multi_agent/rollout-main.jsonl +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/fixtures/hooks/README.md +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/fixtures/hooks/claude.json +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/fixtures/hooks/codex.json +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/fixtures/hooks/cursor.json +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/fixtures/hooks/gemini.json +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/fixtures/hooks/manifest.json +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/fixtures/hooks/opencode.json +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_agent_bootstrap.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_agent_message_viewer.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_agent_node_labels.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_agent_said_panel.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_agent_topology_evidence.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_agent_trace_lifecycle.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_agent_trace_viewer_visibility.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_analysis.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_anthropic.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_antigravity_agent_collaboration.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_antigravity_cursor_launch.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_antigravity_lifecycle.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_antigravity_linkage_projection.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_antigravity_official_contract.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_antigravity_subagent_transcript_linkage.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_antigravity_trace_capability_cli.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_auto_specialized.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_backends.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_claude_adapter.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_claude_delegation.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_claude_full_fidelity.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_claude_hook_contract.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_claude_hook_metadata.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_claude_hook_viewer.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_claude_model_observer.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_claude_record.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_codex_adapter.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_codex_archive_full_fidelity.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_codex_conversation_isolation.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_codex_full_fidelity.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_codex_hook_lifecycle.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_codex_hook_partial_capture.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_codex_message_diagnostics.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_codex_message_transport_diagnostics.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_codex_real_multi_agent_conversation.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_codex_record.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_codex_reducer_command.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_codex_rollout_structures.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_codex_rollout_trace.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_codex_routing_native_identity.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_collector.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_command.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_condense.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_conversation_access.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_conversation_agent_focus.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_conversation_agent_isolation.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_conversation_identity_merge.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_conversation_message_observation_dedupe.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_conversation_provider_parity.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_correlation.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_correlation_canonical_path.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_correlation_checker.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_correlation_process_exe.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_cross_provider_agent_trace.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_cursor_adapter.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_cursor_delegation.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_cursor_full_fidelity.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_cursor_hook_contract.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_cursor_hook_fail_open.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_cursor_record.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_cursor_task_linkage.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_dashboard_information_architecture.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_dashboard_simplification.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_dashboard_ux_and_hook_projection.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_delegation_viewer.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_evidence_grade.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_execution_viewer.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_fidelity.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_filesystem_resilience.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_focus.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_full_fidelity.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_gemini_adapter.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_gemini_full_fidelity.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_gemini_hook_contract.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_gemini_lifecycle.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_gemini_record.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_graph.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_graph_ops.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_hook_fixture_corpus.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_http_proxy.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_inference_gateway.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_inference_gateway_full_fidelity.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_inference_identity.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_integrity.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_litellm_callback.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_live.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_live_auth.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_live_dashboard.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_live_dashboard_js.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_live_delta.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_live_logs_export.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_live_theme.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_lmstudio_auto_specialized.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_local_runtime_live_capture.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_model_runtime.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_model_runtime_full_fidelity.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_openai_compatible.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_opencode_adapter.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_opencode_event_contract.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_opencode_event_lifecycle.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_opencode_full_fidelity.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_opencode_plugin.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_opencode_record.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_opencode_task_session_linkage.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_overhead_benchmark.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_per_agent_conversation_default.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_provider_capability.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_provider_conversation_evidence.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_provider_lifecycle.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_rule_pack.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_schema.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_scope.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_semantic.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_strace_backend.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_stream_assembly.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_threat_model.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_top_detached.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_v063_features.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_v064_live_auto_integrations.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_v064_live_evidence.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_validate.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_version.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_viewer.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_viewer_content_inspector.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_viewer_projection.py +0 -0
- {execweave-0.7.7 → execweave-0.7.8}/tests/test_workflow.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: execweave
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.8
|
|
4
4
|
Summary: Turn AI-agent runtime behavior into a local interactive execution graph.
|
|
5
5
|
Project-URL: Homepage, https://github.com/Irish-kw/ExecWeave
|
|
6
6
|
Project-URL: Repository, https://github.com/Irish-kw/ExecWeave
|
|
@@ -84,7 +84,7 @@ Install the latest published wheel/sdist from PyPI:
|
|
|
84
84
|
python -m pip install -U execweave
|
|
85
85
|
```
|
|
86
86
|
|
|
87
|
-
The current release is **v0.7.
|
|
87
|
+
The current release is **v0.7.8**.
|
|
88
88
|
|
|
89
89
|
For development:
|
|
90
90
|
|
|
@@ -120,7 +120,7 @@ execweave record --open -- python my_agent.py
|
|
|
120
120
|
|
|
121
121
|
`execweave top -- codex` keeps the Agent interactive in the launch terminal while opening/attaching the detached Top dashboard according to the host environment.
|
|
122
122
|
|
|
123
|
-
**v0.7.
|
|
123
|
+
**v0.7.8 — a conversation belongs to an agent, everywhere a person can click.** Selecting a node that is not an agent used to resolve to the same empty selection an unselected graph does, so a network endpoint or a process drew every agent's conversation; the selection kind is now tracked apart from the focused agent, and anything that is not an agent says so instead. A provider that prepends the same multi-kilobyte block to every subagent had it recorded where each agent's own assignment belongs, so four siblings rendered as four copies of one plugin catalogue: a text appearing verbatim under two or more agents is not any one agent's assignment, and is folded and named for what it is. Where several agents were read from one rollout — Codex records a child's delegation and return in the parent's file — only the agent that owns it offers the raw bytes, and the others name whose record their turns came from, so a link inside a child's section no longer opens the whole run. The provider-neutral, agent-local multi-agent conversations each agent owns are also projected during a run now, not only once it ends. A release check drives both shipped viewers in a real browser through every selection a person can make, so an agent seeing what is not its own fails a build instead of reaching a release.
|
|
124
124
|
|
|
125
125
|
The unified dashboard brings the execution graph, logs, and conversation records into the same inspection flow. Finalized runs generate `conversations.md` and `conversations.json`, while validated provider transcripts are copied into the run-local SHA-256 content store. Claude Code, OpenAI Codex, Cursor, OpenCode, and Google Antigravity use the strongest provider-exposed multi-agent evidence available to each integration. For gateways and local runtimes that expose only root request/response traffic, ExecWeave shows only that root conversation and does not invent subagents or hidden routing.
|
|
126
126
|
|
|
@@ -329,7 +329,7 @@ Conversation isolation is an attribution/display rule, not a redaction boundary.
|
|
|
329
329
|
|
|
330
330
|
## Current status
|
|
331
331
|
|
|
332
|
-
v0.7.
|
|
332
|
+
v0.7.8 combines cross-platform runtime collection, materialized execution graphs, standalone/live dashboards, conservative provider↔runtime correlation, full-fidelity content-addressed provider evidence, attributable multi-agent execution traces, direct run-local conversation access, agent-local conversation isolation across provider-neutral projections, and per-agent conversation focus in the standalone and live dashboards. Supported integrations preserve the strongest identity/routing evidence actually exposed by each provider and abstain when that evidence is unavailable. Observed evidence and inference remain separate by design.
|
|
333
333
|
|
|
334
334
|
## Documentation
|
|
335
335
|
|
|
@@ -31,7 +31,7 @@ Installieren Sie das neueste veröffentlichte wheel/sdist von PyPI:
|
|
|
31
31
|
python -m pip install -U execweave
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
-
Die aktuelle Version ist **v0.7.
|
|
34
|
+
Die aktuelle Version ist **v0.7.8**.
|
|
35
35
|
|
|
36
36
|
Für die Entwicklung:
|
|
37
37
|
|
|
@@ -67,7 +67,7 @@ execweave record --open -- python my_agent.py
|
|
|
67
67
|
|
|
68
68
|
`execweave top -- codex` hält den Agent im Startterminal interaktiv und öffnet bzw. verbindet gleichzeitig das detached Top dashboard entsprechend der Host-Umgebung.
|
|
69
69
|
|
|
70
|
-
**v0.7.
|
|
70
|
+
**v0.7.8 — eine Conversation gehört einem Agent, überall wo eine Person klicken kann.** Die Auswahl eines Nodes, der kein Agent ist, löste sich zur selben leeren Auswahl auf wie ein nicht ausgewählter Graph, sodass ein Netzwerk-Endpunkt oder ein Prozess die Conversation jedes Agents zeichnete; die Art der Auswahl wird nun getrennt vom fokussierten Agent verfolgt, und was kein Agent ist, sagt das auch. Der mehrere Kilobyte große Block, den ein Provider jedem Subagent voranstellt, war dort aufgezeichnet, wo die eigene Zuweisung jedes Agents hingehört, sodass vier Geschwister als vier Kopien eines Plugin-Katalogs erschienen: Ein Text, der wortgleich unter zwei oder mehr Agents auftaucht, ist die Zuweisung keines von ihnen, wird gefaltet und benannt, was er ist. Wo mehrere Agents aus einem Rollout gelesen wurden — Codex hält die Delegation eines Kindes und dessen Rückgabe in der Datei des Elternteils fest — bietet nur der Agent, dem sie gehört, die Rohbytes an, und die übrigen nennen, aus wessen Aufzeichnung ihre Turns gelesen wurden, sodass ein Link in der Sektion eines Kindes nicht mehr den ganzen Run öffnet. Die provider-neutralen, agent-lokalen Multi-Agent-Conversations, die jeder Agent besitzt, werden nun während eines Runs projiziert, nicht erst wenn er endet. Eine Release-Prüfung führt beide ausgelieferten Viewer in einem echten Browser durch jede Auswahl, die eine Person treffen kann: Ein Agent, der sieht, was ihm nicht gehört, lässt den Build scheitern, statt in ein Release zu gelangen.
|
|
71
71
|
|
|
72
72
|
Das vereinheitlichte Dashboard bringt execution graph, logs und conversation records in denselben Inspection-Flow. Finalisierte Runs erzeugen `conversations.md` und `conversations.json`; validierte Provider-Transcripts werden in den run-local SHA-256 content store kopiert. Claude Code, OpenAI Codex, Cursor, OpenCode und Google Antigravity verwenden jeweils die stärkste Multi-Agent-Evidence, die ihre Integration tatsächlich offenlegt. Wenn ein Gateway oder lokaler Runtime nur root request/response sichtbar macht, zeigt ExecWeave nur diese Root-Conversation und erfindet weder Subagents noch hidden routing.
|
|
73
73
|
|
|
@@ -276,7 +276,7 @@ Conversation isolation ist eine Attribution-/Display-Regel, keine Redaction Boun
|
|
|
276
276
|
|
|
277
277
|
## Aktueller Stand
|
|
278
278
|
|
|
279
|
-
v0.7.
|
|
279
|
+
v0.7.8 kombiniert cross-platform runtime collection, materialized execution graphs, standalone/live dashboards, konservative provider↔runtime correlation, full-fidelity content-addressed provider evidence, attributable multi-agent execution traces, direkten run-local conversation access agent-local conversation isolation in provider-neutralen Projektionen und per-agent conversation focus in den Standalone- und Live-Dashboards. Jede Integration bewahrt nur die stärkste identity/routing evidence, die der Provider tatsächlich offenlegt, und enthält sich, wenn diese Evidence fehlt. Observed evidence und inference bleiben konstruktiv getrennt.
|
|
280
280
|
|
|
281
281
|
## Dokumentation
|
|
282
282
|
|
|
@@ -31,7 +31,7 @@ Installez le dernier wheel/sdist publié depuis PyPI :
|
|
|
31
31
|
python -m pip install -U execweave
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
-
La version courante est **v0.7.
|
|
34
|
+
La version courante est **v0.7.8**.
|
|
35
35
|
|
|
36
36
|
Pour le développement :
|
|
37
37
|
|
|
@@ -67,7 +67,7 @@ execweave record --open -- python my_agent.py
|
|
|
67
67
|
|
|
68
68
|
`execweave top -- codex` garde l’Agent interactif dans le terminal de lancement tout en ouvrant ou en attachant le dashboard Top détaché selon l’environnement hôte.
|
|
69
69
|
|
|
70
|
-
**v0.7.
|
|
70
|
+
**v0.7.8 — une conversation appartient à un agent, partout où une personne peut cliquer.** Sélectionner un node qui n'est pas un agent se résolvait comme la sélection vide d'un graphe non sélectionné, si bien qu'un point de terminaison réseau ou un processus dessinait la conversation de tous les agents ; le type de sélection est désormais suivi séparément de l'agent ciblé, et ce qui n'est pas un agent le dit. Le bloc de plusieurs kilo-octets qu'un provider ajoute devant chaque subagent était enregistré là où appartient l'assignation propre de chaque agent, si bien que quatre frères s'affichaient comme quatre copies d'un même catalogue de plugins : un texte apparaissant mot pour mot sous deux agents ou plus n'est l'assignation d'aucun d'eux, il est plié et nommé pour ce qu'il est. Lorsque plusieurs agents ont été lus depuis un seul rollout — Codex enregistre la délégation d'un enfant et son retour dans le fichier du parent — seul l'agent qui le possède offre les octets bruts, et les autres nomment le registre d'où viennent leurs turns, si bien qu'un lien dans la section d'un enfant n'ouvre plus le run entier. Les conversations multi-agent provider-neutral et agent-local que chaque agent possède sont désormais projetées pendant un run, et non une fois seulement qu'il est terminé. Une vérification de release pilote les deux viewers livrés dans un vrai navigateur à travers chaque sélection possible : un agent voyant ce qui ne lui appartient pas fait échouer la construction au lieu d'atteindre une release.
|
|
71
71
|
|
|
72
72
|
Le dashboard unifié rassemble execution graph, logs et conversation records dans le même flux d’inspection. Les runs finalisés génèrent `conversations.md` et `conversations.json`, et les transcripts provider validés sont copiés dans le content store SHA-256 local au run. Claude Code, OpenAI Codex, Cursor, OpenCode et Google Antigravity exploitent chacun le niveau de multi-agent evidence réellement exposé par leur integration. Lorsqu’un gateway ou un local runtime n’expose que des request/response root, ExecWeave affiche uniquement cette root conversation et n’invente ni subagent ni hidden routing.
|
|
73
73
|
|
|
@@ -276,7 +276,7 @@ La conversation isolation est une règle d’attribution et d’affichage, pas u
|
|
|
276
276
|
|
|
277
277
|
## État actuel
|
|
278
278
|
|
|
279
|
-
v0.7.
|
|
279
|
+
v0.7.8 combine cross-platform runtime collection, materialized execution graphs, standalone/live dashboards, conservative provider↔runtime correlation, full-fidelity content-addressed provider evidence, attributable multi-agent execution traces, accès direct aux conversations run-local agent-local conversation isolation dans les projections provider-neutral et per-agent conversation focus dans les dashboards standalone et live. Chaque integration conserve uniquement la meilleure identity/routing evidence réellement exposée par le provider et s’abstient lorsque cette evidence manque. Observed evidence et inference restent séparées par conception.
|
|
280
280
|
|
|
281
281
|
## Documentation
|
|
282
282
|
|
|
@@ -31,7 +31,7 @@ PyPI から最新の wheel/sdist をインストールします。
|
|
|
31
31
|
python -m pip install -U execweave
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
-
現在のリリースは **v0.7.
|
|
34
|
+
現在のリリースは **v0.7.8** です。
|
|
35
35
|
|
|
36
36
|
開発環境では次のようにインストールできます。
|
|
37
37
|
|
|
@@ -67,7 +67,7 @@ execweave record --open -- python my_agent.py
|
|
|
67
67
|
|
|
68
68
|
`execweave top -- codex` は Agent を起動 terminal 上でインタラクティブなまま保ち、ホスト環境に応じて detached Top dashboard を開くか既存のものに attach します。
|
|
69
69
|
|
|
70
|
-
**v0.7.
|
|
70
|
+
**v0.7.8 — conversation は agent のものであり、それは人がクリックできるすべての場所で成り立つ。** agent ではない node の選択は、何も選ばれていない状態と同じものに解決されていたため、network endpoint や process がすべての agent の conversation を描いていました。選択の種類は焦点の agent とは別に追跡され、agent でないものはそう述べます。provider がすべての subagent の前に付ける同一の数キロバイトのブロックは各 agent 自身の assignment の位置に記録されており、四つの兄弟が同じプラグイン一覧の四つの複製として描かれていました。二つ以上の agent の下に一字一句同じ形で現れるテキストは、どの agent の assignment でもありません。折りたたまれ、実態どおりに名付けられます。複数の agent が一つの rollout から読まれている場合 — Codex は child の委任と返答を親のファイルに記録します — 生のバイト列を提供するのはそれを所有する agent だけで、他は自分の turn がどの記録から読まれたかを示すため、child のセクション内のリンクが run 全体を開くことはありません。各 agent が保持する provider-neutral かつ agent-local な multi-agent conversation は、実行が終わったあとだけでなく実行中にも投影されます。リリース前の検査は実物のブラウザで両方の viewer を、人が行えるあらゆる選択にわたって駆動するため、agent が自分のものでないものを見る状態は release に届く前にビルドを失敗させます。
|
|
71
71
|
|
|
72
72
|
統合 dashboard では execution graph、logs、conversation records を同じ inspection flow で確認できます。Finalized run は `conversations.md` と `conversations.json` を生成し、検証済み provider transcript は run-local SHA-256 content store にコピーされます。Claude Code、OpenAI Codex、Cursor、OpenCode、Google Antigravity は、それぞれが実際に公開する最も強い multi-agent evidence を利用します。gateway や local runtime が root request/response しか公開しない場合、ExecWeave は root conversation だけを表示し、subagent や hidden routing を捏造しません。
|
|
73
73
|
|
|
@@ -276,7 +276,7 @@ Conversation isolation は attribution/display の規則であり redaction boun
|
|
|
276
276
|
|
|
277
277
|
## 現在の状態
|
|
278
278
|
|
|
279
|
-
v0.7.
|
|
279
|
+
v0.7.8 は cross-platform runtime collection、materialized execution graph、standalone/live dashboard、保守的な provider↔runtime correlation、content-addressed full-fidelity provider evidence、attributable multi-agent execution trace、run-local conversation access、provider-neutral projection 上の agent-local conversation isolation、standalone および live dashboard での per-agent conversation focus を統合します。各 integration は provider が実際に公開した最も強い identity/routing evidence のみを保持し、不足する場合は abstain します。Observed evidence と inference は設計上分離されたままです。
|
|
280
280
|
|
|
281
281
|
## ドキュメント
|
|
282
282
|
|
|
@@ -31,7 +31,7 @@ PyPI에서 최신 wheel/sdist를 설치합니다.
|
|
|
31
31
|
python -m pip install -U execweave
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
-
현재 릴리스는 **v0.7.
|
|
34
|
+
현재 릴리스는 **v0.7.8** 입니다.
|
|
35
35
|
|
|
36
36
|
개발 설치:
|
|
37
37
|
|
|
@@ -67,7 +67,7 @@ execweave record --open -- python my_agent.py
|
|
|
67
67
|
|
|
68
68
|
`execweave top -- codex`는 Agent를 시작 terminal에서 interactive 상태로 유지하면서 host 환경에 따라 detached Top dashboard를 열거나 attach합니다.
|
|
69
69
|
|
|
70
|
-
**v0.7.
|
|
70
|
+
**v0.7.8 — conversation 은 agent 의 것이며, 사람이 클릭할 수 있는 모든 곳에서 그렇다.** agent 가 아닌 node 를 선택하면 아무것도 선택하지 않은 상태와 같은 값으로 해석되어, network endpoint 나 process 가 모든 agent 의 conversation 을 그렸습니다. 이제 선택의 종류를 초점이 맞춰진 agent 와 분리해 추적하며, agent 가 아닌 것은 그렇다고 말합니다. provider 가 모든 subagent 앞에 붙이는 동일한 수 킬로바이트 블록이 각 agent 자신의 assignment 자리에 기록되어, 네 형제가 같은 플러그인 목록의 사본 넷으로 그려졌습니다. 둘 이상의 agent 아래에 한 글자도 다르지 않게 나타나는 텍스트는 어느 agent 의 assignment 도 아니므로, 접히고 실제 그대로 이름 붙습니다. 여러 agent 가 하나의 rollout 에서 읽힌 경우 — Codex 는 child 의 위임과 반환을 부모의 파일에 기록합니다 — 원본 바이트를 제공하는 것은 그것을 소유한 agent 뿐이며, 나머지는 자신의 turn 이 누구의 기록에서 읽혔는지 밝히므로 child 섹션의 링크가 run 전체를 열지 않습니다. 각 agent 가 소유한 provider-neutral, agent-local multi-agent conversation 은 실행이 끝난 뒤가 아니라 실행 중에도 투영됩니다. 릴리스 검사는 실제 브라우저로 두 viewer 를 사람이 할 수 있는 모든 선택에 걸쳐 구동하므로, agent 가 자기 것이 아닌 것을 보는 상태는 release 에 도달하는 대신 빌드를 실패시킵니다.
|
|
71
71
|
|
|
72
72
|
통합 dashboard는 execution graph, logs, conversation records를 하나의 inspection flow에서 제공합니다. Finalized run은 `conversations.md`와 `conversations.json`을 만들며, 검증된 provider transcript는 run-local SHA-256 content store로 복사됩니다. Claude Code, OpenAI Codex, Cursor, OpenCode, Google Antigravity는 각 integration이 실제로 노출하는 가장 강한 multi-agent evidence를 사용합니다. gateway나 local runtime이 root request/response만 노출하면 ExecWeave는 root conversation만 보여 주며 subagent나 hidden routing을 만들어내지 않습니다.
|
|
73
73
|
|
|
@@ -276,7 +276,7 @@ Conversation isolation은 attribution/display 규칙이지 redaction boundary가
|
|
|
276
276
|
|
|
277
277
|
## 현재 상태
|
|
278
278
|
|
|
279
|
-
v0.7.
|
|
279
|
+
v0.7.8는 cross-platform runtime collection, materialized execution graph, standalone/live dashboard, 보수적인 provider↔runtime correlation, content-addressed full-fidelity provider evidence, attributable multi-agent execution trace, run-local conversation access, provider-neutral projection의 agent-local conversation isolation, standalone 및 live dashboard의 per-agent conversation focus를 통합합니다. 각 integration은 provider가 실제로 노출한 가장 강한 identity/routing evidence만 보존하고 충분한 증거가 없으면 abstain합니다. Observed evidence와 inference는 설계상 계속 분리됩니다.
|
|
280
280
|
|
|
281
281
|
## 문서
|
|
282
282
|
|
|
@@ -31,7 +31,7 @@ Install the latest published wheel/sdist from PyPI:
|
|
|
31
31
|
python -m pip install -U execweave
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
-
The current release is **v0.7.
|
|
34
|
+
The current release is **v0.7.8**.
|
|
35
35
|
|
|
36
36
|
For development:
|
|
37
37
|
|
|
@@ -67,7 +67,7 @@ execweave record --open -- python my_agent.py
|
|
|
67
67
|
|
|
68
68
|
`execweave top -- codex` keeps the Agent interactive in the launch terminal while opening/attaching the detached Top dashboard according to the host environment.
|
|
69
69
|
|
|
70
|
-
**v0.7.
|
|
70
|
+
**v0.7.8 — a conversation belongs to an agent, everywhere a person can click.** Selecting a node that is not an agent used to resolve to the same empty selection an unselected graph does, so a network endpoint or a process drew every agent's conversation; the selection kind is now tracked apart from the focused agent, and anything that is not an agent says so instead. A provider that prepends the same multi-kilobyte block to every subagent had it recorded where each agent's own assignment belongs, so four siblings rendered as four copies of one plugin catalogue: a text appearing verbatim under two or more agents is not any one agent's assignment, and is folded and named for what it is. Where several agents were read from one rollout — Codex records a child's delegation and return in the parent's file — only the agent that owns it offers the raw bytes, and the others name whose record their turns came from, so a link inside a child's section no longer opens the whole run. The provider-neutral, agent-local multi-agent conversations each agent owns are also projected during a run now, not only once it ends. A release check drives both shipped viewers in a real browser through every selection a person can make, so an agent seeing what is not its own fails a build instead of reaching a release.
|
|
71
71
|
|
|
72
72
|
The unified dashboard brings the execution graph, logs, and conversation records into the same inspection flow. Finalized runs generate `conversations.md` and `conversations.json`, while validated provider transcripts are copied into the run-local SHA-256 content store. Claude Code, OpenAI Codex, Cursor, OpenCode, and Google Antigravity use the strongest provider-exposed multi-agent evidence available to each integration. For gateways and local runtimes that expose only root request/response traffic, ExecWeave shows only that root conversation and does not invent subagents or hidden routing.
|
|
73
73
|
|
|
@@ -276,7 +276,7 @@ Conversation isolation is an attribution/display rule, not a redaction boundary.
|
|
|
276
276
|
|
|
277
277
|
## Current status
|
|
278
278
|
|
|
279
|
-
v0.7.
|
|
279
|
+
v0.7.8 combines cross-platform runtime collection, materialized execution graphs, standalone/live dashboards, conservative provider↔runtime correlation, full-fidelity content-addressed provider evidence, attributable multi-agent execution traces, direct run-local conversation access, agent-local conversation isolation across provider-neutral projections, and per-agent conversation focus in the standalone and live dashboards. Supported integrations preserve the strongest identity/routing evidence actually exposed by each provider and abstain when that evidence is unavailable. Observed evidence and inference remain separate by design.
|
|
280
280
|
|
|
281
281
|
## Documentation
|
|
282
282
|
|
|
@@ -31,7 +31,7 @@ ExecWeave — source-available, local-first проект наблюдаемос
|
|
|
31
31
|
python -m pip install -U execweave
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
-
Текущая версия — **v0.7.
|
|
34
|
+
Текущая версия — **v0.7.8**.
|
|
35
35
|
|
|
36
36
|
Для разработки:
|
|
37
37
|
|
|
@@ -67,7 +67,7 @@ execweave record --open -- python my_agent.py
|
|
|
67
67
|
|
|
68
68
|
`execweave top -- codex` оставляет Agent интерактивным в стартовом terminal и одновременно открывает либо подключает detached Top dashboard в зависимости от host environment.
|
|
69
69
|
|
|
70
|
-
**v0.7.
|
|
70
|
+
**v0.7.8 — conversation принадлежит agent, в каждом месте, куда человек может кликнуть.** Выбор node, который не является agent, разрешался в ту же пустую выборку, что и невыбранный граф, поэтому сетевая конечная точка или процесс рисовали conversation всех agents; вид выборки теперь отслеживается отдельно от сфокусированного agent, а то, что не является agent, так и говорит. Многокилобайтный блок, который provider добавляет перед каждым subagent, записывался там, где находится собственное задание каждого agent, и четыре брата отображались как четыре копии одного каталога плагинов: текст, появляющийся дословно под двумя и более agents, не является заданием ни одного из них — он сворачивается и называется тем, что он есть. Там, где несколько agents были прочитаны из одного rollout — Codex записывает делегирование ребёнка и его возврат в файл родителя — сырые байты предлагает только тот agent, которому файл принадлежит, а остальные называют, из чьей записи прочитаны их turns, поэтому ссылка внутри секции ребёнка больше не открывает весь прогон. Provider-neutral, agent-local multi-agent conversations, которыми владеет каждый agent, теперь проецируются во время прогона, а не только после его завершения. Релизная проверка ведёт оба поставляемых viewers в настоящем браузере через каждый выбор, который может сделать человек: agent, видящий не своё, роняет сборку вместо того, чтобы попасть в release.
|
|
71
71
|
|
|
72
72
|
Единый dashboard объединяет execution graph, logs и conversation records в одном inspection flow. Finalized runs создают `conversations.md` и `conversations.json`, а проверенные provider transcripts копируются в run-local SHA-256 content store. Claude Code, OpenAI Codex, Cursor, OpenCode и Google Antigravity используют наиболее сильную multi-agent evidence, которую реально раскрывает соответствующая integration. Если gateway или local runtime показывает только root request/response, ExecWeave отображает только root conversation и не выдумывает subagents или hidden routing.
|
|
73
73
|
|
|
@@ -276,7 +276,7 @@ Conversation isolation — это правило attribution/display, а не re
|
|
|
276
276
|
|
|
277
277
|
## Текущий статус
|
|
278
278
|
|
|
279
|
-
v0.7.
|
|
279
|
+
v0.7.8 объединяет cross-platform runtime collection, materialized execution graphs, standalone/live dashboards, conservative provider↔runtime correlation, full-fidelity content-addressed provider evidence, attributable multi-agent execution traces, прямой run-local conversation access agent-local conversation isolation в provider-neutral projections и per-agent conversation focus в standalone и live dashboards. Каждая integration сохраняет только наиболее сильную identity/routing evidence, реально раскрытую provider, и abstain-ит при её отсутствии. Observed evidence и inference по-прежнему разделены архитектурно.
|
|
280
280
|
|
|
281
281
|
## Документация
|
|
282
282
|
|
|
@@ -31,7 +31,7 @@ ExecWeave 是一个 source-available、local-first 的可观测性项目,把 A
|
|
|
31
31
|
python -m pip install -U execweave
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
-
当前正式版本是 **v0.7.
|
|
34
|
+
当前正式版本是 **v0.7.8**。
|
|
35
35
|
|
|
36
36
|
开发安装:
|
|
37
37
|
|
|
@@ -67,7 +67,7 @@ execweave record --open -- python my_agent.py
|
|
|
67
67
|
|
|
68
68
|
`execweave top -- codex` 会让 Agent 保持在启动 terminal 中交互,并根据主机环境打开或附加 detached Top dashboard。
|
|
69
69
|
|
|
70
|
-
**v0.7.
|
|
70
|
+
**v0.7.8 — 对话属于 agent,在每一个点得下去的地方都成立。** 选取非 agent 的 node 以前会落到与「什么都没选」相同的状态,因此一个网络端点或进程就能画出所有 agent 的对话;现在选取种类与聚焦的 agent 分开追踪,不是 agent 就明说。provider 在每个 subagent 前面加上的同一段数 KB 内容,被记在各 agent 自己的交办栏位,于是四个兄弟渲染成四份相同的插件清单:一段文字若逐字出现在两个以上 agent 身上,它就不是任何一个 agent 的交办,因此折叠并如实命名。多个 agent 读自同一份 rollout 时——Codex 把 child 的交办与回复记在父层文件里——只有拥有它的 agent 提供原始字节,其余显示证据来自谁,child 区块里的链接不再打开整个 run。每个 agent 各自拥有的 provider-neutral、agent-local multi-agent conversation 现在也会在运行期间投影,而非只在结束后。发布前的检查会用真实浏览器把两个 viewer 走过每一种可操作的选取,因此 agent 看到不属于自己的内容会让构建失败,而不是流到 release。
|
|
71
71
|
|
|
72
72
|
统一 dashboard 把 execution graph、logs 与 conversation records 放进同一条 inspection flow。Finalized run 会生成 `conversations.md` 与 `conversations.json`,经过验证的 provider transcript 也会复制进 run-local SHA-256 content store。Claude Code、OpenAI Codex、Cursor、OpenCode 与 Google Antigravity 都依据各自实际暴露的 evidence 强度建立 multi-agent trace;如果 gateway 或 local runtime 只提供 root request/response,ExecWeave 就只显示 root conversation,不会虚构 subagent 或 hidden routing。
|
|
73
73
|
|
|
@@ -276,7 +276,7 @@ Conversation isolation 是 attribution/display 规则,而不是 redaction boun
|
|
|
276
276
|
|
|
277
277
|
## 当前状态
|
|
278
278
|
|
|
279
|
-
v0.7.
|
|
279
|
+
v0.7.8 组合 cross-platform runtime collection、materialized execution graph、standalone/live dashboard、保守的 provider↔runtime correlation、content-addressed full-fidelity provider evidence、可归属的 multi-agent execution trace、run-local conversation access,provider-neutral projection 上的 agent-local conversation isolation,以及 standalone 与 live dashboard 上的 per-agent conversation focus。各 integration 只保留 provider 实际暴露的最强 identity/routing evidence,证据不足时选择 abstain。Observed evidence 与 inference 从设计上保持分离。
|
|
280
280
|
|
|
281
281
|
## 文档
|
|
282
282
|
|
|
@@ -31,7 +31,7 @@ ExecWeave 是一個 source-available、local-first 的可觀測性專案,會
|
|
|
31
31
|
python -m pip install -U execweave
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
-
目前正式版本是 **v0.7.
|
|
34
|
+
目前正式版本是 **v0.7.8**。
|
|
35
35
|
|
|
36
36
|
開發安裝:
|
|
37
37
|
|
|
@@ -67,7 +67,7 @@ execweave record --open -- python my_agent.py
|
|
|
67
67
|
|
|
68
68
|
`execweave top -- codex` 會讓 Agent 保持在啟動 terminal 中互動,並依主機環境開啟或附加 detached Top dashboard。
|
|
69
69
|
|
|
70
|
-
**v0.7.
|
|
70
|
+
**v0.7.8 — 對話屬於 agent,在每一個點得下去的地方都成立。** 選取非 agent 的 node 以前會落到與「什麼都沒選」相同的狀態,因此一個網路端點或行程就能畫出所有 agent 的對話;現在選取種類與聚焦的 agent 分開追蹤,不是 agent 就明說。provider 在每個 subagent 前面加上的同一段數 KB 內容,被記在各 agent 自己的交辦欄位,於是四個兄弟渲染成四份相同的外掛清單:一段文字若逐字出現在兩個以上 agent 身上,它就不是任何一個 agent 的交辦,因此折疊並如實命名。多個 agent 讀自同一份 rollout 時——Codex 把 child 的交辦與回覆記在父層檔案裡——只有擁有它的 agent 提供原始位元組,其餘顯示證據來自誰,child 區塊裡的連結不再打開整個 run。每個 agent 各自擁有的 provider-neutral、agent-local multi-agent conversation 現在也會在執行期間投影,而非只在結束後。發布前的檢查會用真實瀏覽器把兩個 viewer 走過每一種可操作的選取,因此 agent 看到不屬於自己的內容會讓建置失敗,而不是流到 release。
|
|
71
71
|
|
|
72
72
|
統一 dashboard 把 execution graph、logs 與 conversation records 放進同一條 inspection flow。Finalized run 會產生 `conversations.md` 與 `conversations.json`,經驗證的 provider transcript 也會複製進 run-local SHA-256 content store。Claude Code、OpenAI Codex、Cursor、OpenCode 與 Google Antigravity 都依各自實際曝露的 evidence 強度建立 multi-agent trace;若 gateway 或 local runtime 只提供 root request/response,ExecWeave 就只顯示 root conversation,不會虛構 subagent 或 hidden routing。
|
|
73
73
|
|
|
@@ -276,7 +276,7 @@ Conversation isolation 是 attribution/display 規則,不是 redaction boundar
|
|
|
276
276
|
|
|
277
277
|
## 目前狀態
|
|
278
278
|
|
|
279
|
-
v0.7.
|
|
279
|
+
v0.7.8 整合 cross-platform runtime collection、materialized execution graph、standalone/live dashboard、保守的 provider↔runtime correlation、content-addressed full-fidelity provider evidence、可歸屬的 multi-agent execution trace、run-local conversation access,provider-neutral projection 上的 agent-local conversation isolation,以及 standalone 與 live dashboard 上的 per-agent conversation focus。各 integration 只保留 provider 實際曝露的最強 identity/routing evidence,證據不足時選擇 abstain。Observed evidence 與 inference 仍從設計上分離。
|
|
280
280
|
|
|
281
281
|
## 文件
|
|
282
282
|
|
|
@@ -4,8 +4,8 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "execweave"
|
|
7
|
-
# ExecWeave v0.7.
|
|
8
|
-
version = "0.7.
|
|
7
|
+
# ExecWeave v0.7.8 release metadata
|
|
8
|
+
version = "0.7.8"
|
|
9
9
|
description = "Turn AI-agent runtime behavior into a local interactive execution graph."
|
|
10
10
|
readme = "README.md"
|
|
11
11
|
requires-python = ">=3.10"
|
|
@@ -697,6 +697,89 @@ def _render_markdown(entries: list[dict[str, Any]]) -> str:
|
|
|
697
697
|
return "\n".join(lines)
|
|
698
698
|
|
|
699
699
|
|
|
700
|
+
# A provider may prepend the same block to every subagent it spawns — Codex sends a
|
|
701
|
+
# plugin catalogue and an environment context, several kilobytes of it, recorded in the
|
|
702
|
+
# rollout exactly where that agent's own assignment belongs. Read literally, every
|
|
703
|
+
# sibling was handed an identical multi-kilobyte task and the panel shows four agents
|
|
704
|
+
# that look the same.
|
|
705
|
+
#
|
|
706
|
+
# Nothing about the provider needs to be recognised to see that this is wrong. A text
|
|
707
|
+
# that appears verbatim under two or more agents is, by that fact alone, not any one
|
|
708
|
+
# agent's own assignment. It is marked here, once, in the index both viewers read, so
|
|
709
|
+
# neither has to detect it and they cannot disagree about it.
|
|
710
|
+
SHARED_INJECTED_CONTEXT = "shared_injected_context"
|
|
711
|
+
_MIN_SHARED_CONTEXT_LENGTH = 400
|
|
712
|
+
|
|
713
|
+
|
|
714
|
+
def _mark_shared_injected_context(entries: list[dict[str, Any]]) -> None:
|
|
715
|
+
agents_by_text: dict[str, set[str]] = {}
|
|
716
|
+
for entry in entries:
|
|
717
|
+
preview = entry.get("conversation_preview")
|
|
718
|
+
if not isinstance(preview, dict):
|
|
719
|
+
continue
|
|
720
|
+
agent_path = preview.get("agent_path")
|
|
721
|
+
if not isinstance(agent_path, str) or not agent_path:
|
|
722
|
+
continue
|
|
723
|
+
for message in preview.get("messages") or []:
|
|
724
|
+
if not isinstance(message, dict):
|
|
725
|
+
continue
|
|
726
|
+
text = message.get("text")
|
|
727
|
+
if not isinstance(text, str) or len(text) < _MIN_SHARED_CONTEXT_LENGTH:
|
|
728
|
+
continue
|
|
729
|
+
agents_by_text.setdefault(text, set()).add(agent_path)
|
|
730
|
+
|
|
731
|
+
shared = {text for text, agents in agents_by_text.items() if len(agents) > 1}
|
|
732
|
+
if not shared:
|
|
733
|
+
return
|
|
734
|
+
for entry in entries:
|
|
735
|
+
preview = entry.get("conversation_preview")
|
|
736
|
+
if not isinstance(preview, dict):
|
|
737
|
+
continue
|
|
738
|
+
for message in preview.get("messages") or []:
|
|
739
|
+
if isinstance(message, dict) and message.get("text") in shared:
|
|
740
|
+
message["content_role"] = SHARED_INJECTED_CONTEXT
|
|
741
|
+
|
|
742
|
+
|
|
743
|
+
# One rollout can be the evidence for several agents: Codex records a delegation and
|
|
744
|
+
# the return it receives in the parent's file, so a child's turns are read from the
|
|
745
|
+
# parent's record rather than from one of its own. Every agent then cited that file as
|
|
746
|
+
# its own raw evidence, and the link inside a child's section opened the whole run.
|
|
747
|
+
#
|
|
748
|
+
# The file is still the evidence and has to stay inspectable, so it is attributed
|
|
749
|
+
# instead of hidden: the agent highest in the path hierarchy among those citing it owns
|
|
750
|
+
# it, and the others say whose record their turns were read from.
|
|
751
|
+
EVIDENCE_SHARED_WITH_OWNER = "evidence_shared_with_owner"
|
|
752
|
+
|
|
753
|
+
|
|
754
|
+
def _mark_shared_evidence(entries: list[dict[str, Any]]) -> None:
|
|
755
|
+
agents_by_path: dict[str, set[str]] = {}
|
|
756
|
+
for entry in entries:
|
|
757
|
+
preview = entry.get("conversation_preview")
|
|
758
|
+
relative = entry.get("path")
|
|
759
|
+
if not isinstance(preview, dict) or not isinstance(relative, str) or not relative:
|
|
760
|
+
continue
|
|
761
|
+
agent_path = preview.get("agent_path")
|
|
762
|
+
if isinstance(agent_path, str) and agent_path:
|
|
763
|
+
agents_by_path.setdefault(relative, set()).add(agent_path)
|
|
764
|
+
|
|
765
|
+
owners = {
|
|
766
|
+
relative: min(agents, key=lambda path: (path.count("/"), len(path), path))
|
|
767
|
+
for relative, agents in agents_by_path.items()
|
|
768
|
+
if len(agents) > 1
|
|
769
|
+
}
|
|
770
|
+
if not owners:
|
|
771
|
+
return
|
|
772
|
+
for entry in entries:
|
|
773
|
+
preview = entry.get("conversation_preview")
|
|
774
|
+
relative = entry.get("path")
|
|
775
|
+
if not isinstance(preview, dict) or not isinstance(relative, str):
|
|
776
|
+
continue
|
|
777
|
+
owner = owners.get(relative)
|
|
778
|
+
if owner is None or preview.get("agent_path") == owner:
|
|
779
|
+
continue
|
|
780
|
+
entry[EVIDENCE_SHARED_WITH_OWNER] = owner
|
|
781
|
+
|
|
782
|
+
|
|
700
783
|
def conversation_index_payload(
|
|
701
784
|
graph: dict[str, Any],
|
|
702
785
|
run_root: str | Path,
|
|
@@ -710,6 +793,8 @@ def conversation_index_payload(
|
|
|
710
793
|
"""
|
|
711
794
|
root = Path(run_root).expanduser().resolve()
|
|
712
795
|
entries = conversation_record_entries(graph, root)
|
|
796
|
+
_mark_shared_injected_context(entries)
|
|
797
|
+
_mark_shared_evidence(entries)
|
|
713
798
|
visible_message_count = sum(
|
|
714
799
|
len(preview.get("messages") or [])
|
|
715
800
|
for entry in entries
|
|
@@ -728,11 +813,19 @@ def conversation_index_payload(
|
|
|
728
813
|
def write_conversation_records(
|
|
729
814
|
graph: dict[str, Any],
|
|
730
815
|
run_root: str | Path,
|
|
816
|
+
*,
|
|
817
|
+
payload: dict[str, Any] | None = None,
|
|
731
818
|
) -> tuple[Path, Path]:
|
|
732
|
-
"""Write deterministic JSON + Markdown indexes beside the viewer artifacts.
|
|
819
|
+
"""Write deterministic JSON + Markdown indexes beside the viewer artifacts.
|
|
820
|
+
|
|
821
|
+
A caller that already built the index passes it in rather than letting a second
|
|
822
|
+
projection run: the standalone viewer embeds these same entries, and a viewer
|
|
823
|
+
built from its own projection is free to disagree with the file beside it.
|
|
824
|
+
"""
|
|
733
825
|
root = Path(run_root).expanduser().resolve()
|
|
734
826
|
root.mkdir(parents=True, exist_ok=True)
|
|
735
|
-
payload
|
|
827
|
+
if payload is None:
|
|
828
|
+
payload = conversation_index_payload(graph, root)
|
|
736
829
|
entries = payload["entries"]
|
|
737
830
|
json_path = root / "conversations.json"
|
|
738
831
|
markdown_path = root / "conversations.md"
|