phase-loop-runtime 0.7.9__tar.gz → 0.7.10__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.
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/PKG-INFO +2 -2
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/pyproject.toml +2 -2
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/__init__.py +1 -1
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_contract_docs/phase-loop/protocol.md +28 -9
- phase_loop_runtime-0.7.10/src/phase_loop_runtime/_contract_docs/runtime/verification-evidence-contract.md +60 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/advisor_board/harness_mapping.py +7 -5
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/capability_registry.py +8 -2
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/classifier.py +2 -1
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/cli.py +318 -42
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/closeout.py +50 -1
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/convergence/broker/credsep.py +85 -1
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/convergence/contracts.py +4 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/discovery.py +27 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/git_ops.py +66 -1
- phase_loop_runtime-0.7.10/src/phase_loop_runtime/goal_coverage.py +216 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/launcher.py +170 -63
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/panel_invoker.py +297 -38
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/publishing.py +2 -1
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/reconcile.py +42 -8
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/render.py +5 -1
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/roadmap_lint.py +73 -6
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/runner.py +488 -21
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/runtime_paths.py +52 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-phase-roadmap-builder/SKILL.md +10 -1
- {phase_loop_runtime-0.7.9/src/phase_loop_runtime/skills_bundle/opencode-phase-roadmap-builder → phase_loop_runtime-0.7.10/src/phase_loop_runtime/skills_bundle/claude-phase-roadmap-builder}/references/roadmap-template.md +3 -3
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-plan-detailed/SKILL.md +1 -1
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-plan-phase/SKILL.md +3 -2
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-plan-phase/scripts/validate_plan_doc.py +99 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-phase-roadmap-builder/SKILL.md +2 -1
- {phase_loop_runtime-0.7.9/src/phase_loop_runtime/skills_bundle/gemini-phase-roadmap-builder → phase_loop_runtime-0.7.10/src/phase_loop_runtime/skills_bundle/codex-phase-roadmap-builder}/references/roadmap-template.md +3 -3
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-plan-detailed/SKILL.md +1 -1
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-plan-phase/SKILL.md +2 -2
- {phase_loop_runtime-0.7.9/src/phase_loop_runtime/skills_bundle/gemini-plan-phase → phase_loop_runtime-0.7.10/src/phase_loop_runtime/skills_bundle/codex-plan-phase}/scripts/validate_plan_doc.py +99 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-phase-roadmap-builder/SKILL.md +2 -1
- {phase_loop_runtime-0.7.9/src/phase_loop_runtime/skills_bundle/claude-phase-roadmap-builder → phase_loop_runtime-0.7.10/src/phase_loop_runtime/skills_bundle/gemini-phase-roadmap-builder}/references/roadmap-template.md +3 -3
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-plan-detailed/SKILL.md +1 -1
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-plan-phase/SKILL.md +2 -2
- {phase_loop_runtime-0.7.9/src/phase_loop_runtime/skills_bundle/opencode-plan-phase → phase_loop_runtime-0.7.10/src/phase_loop_runtime/skills_bundle/gemini-plan-phase}/scripts/validate_plan_doc.py +99 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-phase-roadmap-builder/SKILL.md +2 -1
- {phase_loop_runtime-0.7.9/src/phase_loop_runtime/skills_bundle/codex-phase-roadmap-builder → phase_loop_runtime-0.7.10/src/phase_loop_runtime/skills_bundle/opencode-phase-roadmap-builder}/references/roadmap-template.md +3 -3
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-plan-detailed/SKILL.md +1 -1
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-plan-phase/SKILL.md +2 -2
- {phase_loop_runtime-0.7.9/src/phase_loop_runtime/skills_bundle/codex-plan-phase → phase_loop_runtime-0.7.10/src/phase_loop_runtime/skills_bundle/opencode-plan-phase}/scripts/validate_plan_doc.py +99 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/train_runner.py +16 -1
- phase_loop_runtime-0.7.10/src/phase_loop_runtime/verification_evidence.py +1479 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime.egg-info/PKG-INFO +2 -2
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime.egg-info/SOURCES.txt +14 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_advisor_board_backing_homebrew.py +2 -2
- phase_loop_runtime-0.7.10/tests/test_closeout_gitignored_disposable_186b.py +247 -0
- phase_loop_runtime-0.7.10/tests/test_closeout_new_owned_directory_closes_clean.py +97 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_convergence_broker_credsep.py +144 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_convergence_live_enable.py +6 -0
- phase_loop_runtime-0.7.10/tests/test_cr_fixes_pr220.py +491 -0
- phase_loop_runtime-0.7.10/tests/test_goal_coverage.py +442 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_grokexec.py +35 -4
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_leg_liveness_monitor.py +1 -1
- phase_loop_runtime-0.7.10/tests/test_nonzero_suite_command_fails_closed.py +106 -0
- phase_loop_runtime-0.7.10/tests/test_panel_codex_auth_signature_body_252.py +150 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_panel_invoker.py +15 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_panel_invoker_spawn.py +4 -4
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_panel_invoker_timeout_argv.py +8 -2
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_panel_native_fill_183.py +1 -1
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_panel_tui_eof_48.py +2 -2
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_panel_tui_liveness_188.py +3 -3
- phase_loop_runtime-0.7.10/tests/test_panel_tui_workspace_trust_223.py +344 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_launcher.py +1 -1
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_pushflow.py +77 -0
- phase_loop_runtime-0.7.10/tests/test_reconcile_portability_85c.py +251 -0
- phase_loop_runtime-0.7.10/tests/test_reconcile_tracked_closeout_recovery_90.py +356 -0
- phase_loop_runtime-0.7.10/tests/test_review_leg_sandbox.py +407 -0
- phase_loop_runtime-0.7.10/tests/test_self_asserted_passed_without_evidence_is_gated.py +83 -0
- phase_loop_runtime-0.7.10/tests/test_suite_interpreter_satisfies_requires_python.py +209 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_train_invariants.py +95 -0
- phase_loop_runtime-0.7.10/tests/test_validate_plan_doc_goal_coverage.py +188 -0
- phase_loop_runtime-0.7.10/tests/test_verification_evidence.py +618 -0
- phase_loop_runtime-0.7.10/tests/test_verification_interpreter_guard_221.py +362 -0
- phase_loop_runtime-0.7.9/src/phase_loop_runtime/_contract_docs/runtime/verification-evidence-contract.md +0 -52
- phase_loop_runtime-0.7.9/src/phase_loop_runtime/verification_evidence.py +0 -650
- phase_loop_runtime-0.7.9/tests/test_review_leg_sandbox.py +0 -195
- phase_loop_runtime-0.7.9/tests/test_verification_evidence.py +0 -154
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/MANIFEST.in +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/protocol/protocol.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/setup.cfg +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_contract_docs/phase-loop/extraction-readiness.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_contract_docs/phase-loop/granular-execution-policy.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_contract_docs/phase-loop/harness-capability-matrix.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_contract_docs/phase-loop/harness-skill-matrix.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_contract_docs/phase-loop/harness-substrate-manifest.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_contract_docs/phase-loop/pi-loop-control.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_contract_docs/phase-loop/runtime-boundary.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_contract_docs/phase-loop/spec-discovery-roots.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_contract_docs/phase-loop/substrate-soak-governed-pipeline.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_contract_docs/phase-loop/substrate-soak-portal-projection.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_contract_docs/phase-loop/substrate-soak-regenesis.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_contract_docs/phase-loop/substrate-soak-report.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_proc_cpu.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-mixed-signals/commands.txt +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-mixed-signals/manifest.json +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-mixed-signals/mixed.json +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-provider-timeout/manifest.json +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-provider-timeout/timeout-note.txt +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-redacted-summary/manifest.json +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-redacted-summary/redacted-summary.json +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-small-sample/manifest.json +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-small-sample/sample.json +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-threshold-edge/edge.txt +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-threshold-edge/manifest.json +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-duplicate-png/manifest.json +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-duplicate-png/shot-a.txt +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-duplicate-png/shot-b.txt +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-duplicate-png/shot-c.txt +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-missing-references/claimed-results.json +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-missing-references/manifest.json +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-subtle-low-variance/manifest.json +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-subtle-low-variance/metrics.json +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-templated-prose/findings.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-templated-prose/manifest.json +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-uniform-scores/manifest.json +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-uniform-scores/scores.json +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-uniform-scores/summary.txt +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-adoption-bundle/bundle-check.json +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-adoption-bundle/manifest.json +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-adoption-bundle/operator-note.txt +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-handoff-ledger/events-sample.jsonl +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-handoff-ledger/manifest.json +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-handoff-ledger/receipt.txt +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-runner-diff/evidence.json +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-runner-diff/manifest.json +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-runner-diff/summary.txt +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-test-matrix/manifest.json +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-test-matrix/matrix.json +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-test-matrix/notes.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-ui-screenshot-standin/console-summary.txt +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-ui-screenshot-standin/manifest.json +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-ui-screenshot-standin/screenshot-standin.ppm +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/adoption_bundle.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/advisor_board/CONTRACTS.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/advisor_board/__init__.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/advisor_board/backing.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/advisor_board/backing_omnigent.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/advisor_board/composition.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/advisor_board/config.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/advisor_board/events.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/advisor_board/fixtures/advisor-boards.example.toml +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/advisor_board/fixtures.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/advisor_board/matrix.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/advisor_board/observability.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/advisor_board/presets.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/advisor_board/registries.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/advisor_board/resolver.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/advisor_board/schema.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/advisor_board/standin.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/advisor_board/validation.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/agent_runtime_provider.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/baml_modular.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/baml_src/dotfiles_adoption_manifest.baml +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/baml_src/dotfiles_c4_document.baml +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/baml_src/dotfiles_plan_manifest.baml +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/baml_src/dotfiles_runtime_projection.baml +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/baml_src/dotfiles_task_catalog.baml +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/baml_src/emit_phase_closeout.baml +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/baml_src/evaluate_suspected_fake_evidence.baml +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/baml_src/verification_evidence.baml +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/broker.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/build_bundle.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/claude_agent_view.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/claude_channel_sidecar.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/closeout_classifier.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/closeout_evidence_audit.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/closeout_validation.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/closeout_validators.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/conformance/__init__.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/conformance/certificate_tier.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/conformance/git_grounded_projection.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/conformance/outside_agent_advisory.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/conformance/outside_agent_core.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/conformance/outside_agent_imports.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/conformance/outside_agent_pin.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/conformance/outside_agent_provenance.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/conformance/outside_agent_real.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/conformance/outside_agent_real_output.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/conformance/outside_agent_redaction.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/conformance/outside_agent_schema.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/conformance/outside_agent_vectors.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/consiliency_gates.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/consiliency_ingest.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/consiliency_layout.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/consiliency_scaffold.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/convergence/__init__.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/convergence/adapters/__init__.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/convergence/adapters/base.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/convergence/adapters/claude.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/convergence/adapters/codex.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/convergence/adapters/outside_agent.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/convergence/broker/__init__.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/convergence/broker/admission.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/convergence/broker/evidence.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/convergence/broker/live.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/convergence/broker/verbs.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/convergence/dispatch.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/convergence/event_log.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/convergence/fencing.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/convergence/provider_contracts.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/convergence/reconcile.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/convergence/refresh.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/convergence/status.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/cross_repo_channel.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/default_executor_resolver.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/deploy/phase-loop-task-message-broker.service +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/dispatch_lock.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/doc_delta_validator.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/docs_audit.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/docs_freshness.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/docs_surfaces.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/doctor.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/dotfiles_profile_plugin.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/events.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/events_migration.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/evidence_audit.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/evidence_audit_config.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/executor_availability.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/fleet_map.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/fleet_metrics.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/fleet_metrics_export.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/gate_posture.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/git_discipline.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/git_topology.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/governed_bundle.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/governed_premerge.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/governed_review.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/handoff.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/handoff_path.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/harness_env_signatures.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/injection.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/install_status.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/lane_scheduler.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/lease_store.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/maintenance.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/migrate_handoffs.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/models.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/observability.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/phase_loop_drift_audit.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/phase_worktree_executor.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/pipeline_adapter/__init__.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/pipeline_adapter/branch_ops.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/pipeline_adapter/flag.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/pipeline_adapter/markers.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/pipeline_adapter/merge_policy.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/pipeline_adapter/ratification.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/pipeline_adapter/sibling_matcher.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/plan_ir.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/plan_manifest.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/planner_validation.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/profiles.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/prompts.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/provenance.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/py.typed +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/ratification_policy.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/redaction.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/reflection_sync.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/release_guard.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/repo_validation.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/review_summary.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/roadmap_authority.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/route_log.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/route_policy/__init__.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/route_policy/fixtures/route_selection.golden.json +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/runtime_projection.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/runtime_resources.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/schema_export.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/schemas/phase-loop-doctor.v1.golden.json +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/schemas/phase-loop-doctor.v1.schema.json +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/schemas/phase_loop_closeout.schema.json +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skill_install.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skill_inventory.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skill_paths.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skill_sources_plugin.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-advisor-board/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-advisor-board/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-advisor-panel/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-advisor-panel/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-execute-detailed/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-execute-detailed/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-execute-phase/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-execute-phase/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/allocate_worktree_name.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/audit_lane_file_touches.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/cleanup_lane_worktrees.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/parent_tree_leakage_check.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/post_merge_import_smoke.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/pre_merge_destructiveness_check.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/prune_merged_worktrees.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/resolve_branch_from_sha.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/state.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/sweep_stale_worktrees.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/team_teardown.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/validate_plan_doc.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/verify_harness.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-phase-loop/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-phase-loop/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-phase-roadmap-builder/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-phase-roadmap-builder/assets/review_prompt.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-phase-roadmap-builder/references/parallelization-heuristics.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-phase-roadmap-builder/scripts/validate_roadmap.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-plan-detailed/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-plan-detailed/assets/review_prompt.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-plan-phase/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-plan-phase/assets/review_prompt.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-run-train/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-run-train/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-skill-editor/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-skill-editor/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-skill-editor/assets/editor_prompt.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-skill-improvement-planner/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-skill-improvement-planner/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-skill-improvement-planner/assets/aggregator_prompt.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-task-contextualizer/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-task-contextualizer/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/claude-task-contextualizer/references/task-templates.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-advisor-board/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-advisor-board/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-advisor-panel/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-advisor-panel/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-execute-detailed/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-execute-detailed/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-execute-phase/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-execute-phase/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/allocate_worktree_name.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/audit_lane_file_touches.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/cleanup_lane_worktrees.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/parent_tree_leakage_check.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/post_merge_import_smoke.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/pre_merge_destructiveness_check.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/prune_merged_worktrees.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/resolve_branch_from_sha.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/state.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/sweep_stale_worktrees.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/team_teardown.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/validate_plan_doc.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/verify_harness.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-phase-loop/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-phase-loop/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-phase-roadmap-builder/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-phase-roadmap-builder/assets/review_prompt.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-phase-roadmap-builder/references/parallelization-heuristics.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-phase-roadmap-builder/scripts/validate_roadmap.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-plan-detailed/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-plan-detailed/assets/review_prompt.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-plan-phase/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-plan-phase/assets/review_prompt.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-run-train/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-run-train/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-skill-editor/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-skill-editor/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-skill-editor/assets/editor_prompt.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-skill-improvement-planner/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-skill-improvement-planner/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-skill-improvement-planner/assets/aggregator_prompt.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-task-contextualizer/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-task-contextualizer/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/codex-task-contextualizer/references/task-templates.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-advisor-board/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-advisor-board/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-advisor-panel/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-advisor-panel/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-execute-detailed/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-execute-detailed/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/allocate_worktree_name.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/audit_lane_file_touches.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/cleanup_lane_worktrees.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/parent_tree_leakage_check.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/post_merge_import_smoke.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/pre_merge_destructiveness_check.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/prune_merged_worktrees.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/resolve_branch_from_sha.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/state.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/sweep_stale_worktrees.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/team_teardown.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/validate_plan_doc.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/verify_harness.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-phase-loop/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-phase-loop/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-phase-roadmap-builder/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-phase-roadmap-builder/assets/review_prompt.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-phase-roadmap-builder/references/parallelization-heuristics.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-phase-roadmap-builder/scripts/validate_roadmap.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-plan-detailed/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-plan-detailed/assets/review_prompt.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-plan-phase/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-plan-phase/assets/review_prompt.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-run-train/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-run-train/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-skill-editor/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-skill-editor/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-skill-editor/assets/editor_prompt.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-skill-improvement-planner/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-skill-improvement-planner/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-skill-improvement-planner/assets/aggregator_prompt.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-task-contextualizer/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-task-contextualizer/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/gemini-task-contextualizer/references/task-templates.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-advisor-board/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-advisor-board/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-advisor-panel/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-advisor-panel/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-execute-detailed/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-execute-detailed/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/allocate_worktree_name.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/audit_lane_file_touches.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/cleanup_lane_worktrees.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/parent_tree_leakage_check.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/post_merge_import_smoke.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/pre_merge_destructiveness_check.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/prune_merged_worktrees.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/resolve_branch_from_sha.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/state.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/sweep_stale_worktrees.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/team_teardown.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/validate_plan_doc.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/verify_harness.sh +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-phase-loop/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-phase-loop/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-phase-roadmap-builder/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-phase-roadmap-builder/assets/review_prompt.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-phase-roadmap-builder/references/parallelization-heuristics.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-phase-roadmap-builder/scripts/validate_roadmap.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-plan-detailed/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-plan-detailed/assets/review_prompt.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-plan-phase/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-plan-phase/assets/review_prompt.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-run-train/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-run-train/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-skill-editor/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-skill-editor/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-skill-editor/assets/editor_prompt.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-skill-improvement-planner/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-skill-improvement-planner/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-skill-improvement-planner/assets/aggregator_prompt.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-task-contextualizer/README.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-task-contextualizer/SKILL.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/skills_bundle/opencode-task-contextualizer/references/task-templates.md +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/state.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/state_degradation.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/state_ops.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/task_message_broker.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/task_message_broker_client.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/task_message_resolver.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/train_ledger.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/train_roadmap.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/verification_evidence_validator.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/visual_evidence_validator.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/worker_pool.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/worktree_index.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime.egg-info/dependency_links.txt +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime.egg-info/entry_points.txt +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime.egg-info/requires.txt +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime.egg-info/top_level.txt +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_advisor_board_advisory_mode.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_advisor_board_alias_install.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_advisor_board_backcompat.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_advisor_board_backing_omnigent.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_advisor_board_cli_legacy.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_advisor_board_composition.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_advisor_board_concurrency.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_advisor_board_config.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_advisor_board_golden.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_advisor_board_ingestion.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_advisor_board_integration.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_advisor_board_matrix.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_advisor_board_observability.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_advisor_board_presets.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_advisor_board_registries.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_advisor_board_resolver.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_advisor_board_schema.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_advisor_twin_alias_legacy.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_agent_runtime_provider_cs08.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_autosel.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_branchgov_preflight.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_certificate_tier.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_cli_train_status_45.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_closeout_break_glass_cli.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_closeout_classifier.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_closeout_convergence_fixes.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_closeout_exception_vocab.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_closeout_validator_hook.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_closeout_verification_gate.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_codex_effort_max_clamp_49.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_conformance_golden.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_consiliency_dual_layout.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_consiliency_gates.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_consiliency_ingest.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_consiliency_scaffold.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_convergence_adapters.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_convergence_broker_admission.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_convergence_broker_api.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_convergence_broker_evidence.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_convergence_broker_verbs.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_convergence_cli_integration.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_convergence_coordination_contracts.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_convergence_dispatch.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_convergence_event_contracts.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_convergence_event_log.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_convergence_fencing.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_convergence_fixture_contracts.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_convergence_invalidation.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_convergence_provider_contracts.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_convergence_reconcile.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_convergence_refresh.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_convergence_runtime_imports.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_convergence_seat_lifecycle.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_convergence_status.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_convergence_train_integration.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_coordinator_wave_loop.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_discovery_hygiene_legacy.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_dispatch_lock_cross_roadmap.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_dispatch_lock_helper.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_dispatch_lock_reentrancy.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_dispatch_lock_same_roadmap.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_doc_delta_validator.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_docs_audit.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_docs_freshness.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_doctor_bom.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_dotfiles_tree.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_execgov.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_execreg_launch_registry.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_execute_phase_handoff_mode.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_execution_policy_tiering.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_executor_availability.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_export_schema.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_fleet_map.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_fleet_metrics.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_fleet_metrics_export.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_gate_a_wheel_isolation.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_gate_posture.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_git_discipline.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_git_grounded_projection.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_governed_disjointness_model_first.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_governed_e2e.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_governed_gate_crfixes.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_governed_planning_gate.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_governed_premerge.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_governed_premerge_live.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_governed_review.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_hotfix_lane.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_injection_skill_failloud.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_lane_ir_override.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_launcher_liveness.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_launchspec_golden.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_lease_store.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_lease_store_conformance.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_ledger_serialization.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_manifest_per_entry_164.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_model_class_policy.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_model_id_source_guard.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_observability_alerting.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_outside_agent_advisory.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_outside_agent_advisory_cli.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_outside_agent_advisory_fixtures.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_outside_agent_authority_boundary.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_outside_agent_contract_drift.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_outside_agent_contract_imports.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_outside_agent_contract_pin.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_outside_agent_core_api.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_outside_agent_provenance.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_outside_agent_real_ci.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_outside_agent_real_cli.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_outside_agent_real_output.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_outside_agent_real_runtime.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_outside_agent_redaction.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_outside_agent_release_surface.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_outside_agent_schema_validation.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_outside_agent_vectors.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_panel_advisory_mode_63.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_panel_context_refs_114.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_panel_leg_auth_preflight_64.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_panel_per_leg_model_66.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_panel_streaming_verdicts.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_panel_verdict_summary.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_parallel_dispatch_backcompat.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_parallel_dispatch_cli.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_adoption_bundle.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_adoption_bundle_cli.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_baml_dependency.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_baml_end_to_end.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_baml_injection.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_baml_modular.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_baml_prompt_taxonomy.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_baml_runner_closeout.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_baml_schema_export.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_baml_schema_source.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_branch_divergence_event.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_break_glass_rerun.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_build_bundle.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_classifier.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_claude_agent_view_adapter.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_claude_agent_view_lifecycle.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_claude_channel_hooks.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_claude_channel_mcp.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_claude_channel_security.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_claude_channel_session_launch.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_claude_channel_sidecar.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_claude_channel_smoke_suite.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_claude_route_selection.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_cli.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_cli_plugin_load.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_closeout_control_only.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_closeout_event.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_closeout_evidence_audit.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_closeout_hardening.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_closeout_owned_dirty_fallback.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_closeout_schema.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_closeout_validation.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_collaborator_citation.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_collaborator_docs.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_collaborator_rollback.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_concurrent_phase_dispatch.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_def4_writer_namespacing.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_dirty_path_classify_phase_owned_tests.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_dirty_path_classify_previous_phase_owned.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_discovery.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_docs.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_dotfiles_schemas.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_dotfiles_sources.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_downstream_governed_pipeline.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_downstream_instruction_scope_readme.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_downstream_portal.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_downstream_regenesis.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_drift_audit.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_dry_run_closeout_guard.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_dry_run_then_run.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_events_migration.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_evidence_audit.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_evidence_audit_runner.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_evidence_audit_tier2.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_evidence_audit_tier3.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_evidence_audit_tuning.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_execution_policy.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_executor_degradation.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_full_phase_mode.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_handoff.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_handoff_migration.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_init.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_injection.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_install_status.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_issue_84_explicit_phase.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_lane_harnesses.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_lane_ir.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_lane_ir_fixtures.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_lane_scheduler.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_ledger_debug.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_ledger_dedup.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_live_adapters.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_maintenance.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_metrics.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_migration_regressions.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_mixedrun_dispatch.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_mixedrun_matrix.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_mixedrun_observability.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_models.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_native_flags.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_parallel_plan_safe.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_pi_executor.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_pipeline_boundaries.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_pipeline_bridge.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_pipeline_bundle.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_pipeline_closeout.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_pipeline_freshness.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_pipeline_mode.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_plan_doc_skip.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_plan_manifest.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_planner_redispatch_when_plan_current.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_planner_validation.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_policy.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_protocol_contract.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_provenance.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_reconcile.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_reconcile_blocker_self_clear.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_reconcile_recovery_mode.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_reconcile_to_status_planned_recovery.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_reducers.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_repair_precondition_planned_closeout.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_repair_skipped_when_blocker_cleared.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_roadmap_amendments.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_roadmap_validate.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_rotation.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_runner.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_runner_closeout_validation.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_runtime_boundary.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_runtime_decouple.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_runtime_package_data.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_runtime_projection.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_schema_flow.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_skill_baml_closeout.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_skill_bridge_contract.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_skill_contract.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_skill_execute_contract.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_skill_install.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_skill_planner_contract.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_smoke_blockers.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_smoke_exhaustion.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_smoke_reentry.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_spurious_completion_rejection.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_start_gate_phase_status.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_start_gate_refuses_cross_phase_dirty.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_state.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_status_transition_events_emitted.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_substrate_soak_docs.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_substrate_soak_governed.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_substrate_soak_portal.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_terminal_summary_mirrors_baml_closeout.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_v22_e2e.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_v22_principles.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_v45_found_contracts.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_v45_reconcile.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_v45_sched.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_v45_schedharden.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_wave_runner.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_work_unit_observability.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_work_unit_runner.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_work_unit_state.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_loop_worktrees.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_owned_dirty_relaxation.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_phase_worktree_executor.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_pipeline_adapter_branch_ops_create.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_pipeline_adapter_branch_ops_rebase_conflict.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_pipeline_adapter_branch_ops_refuse_default.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_pipeline_adapter_flag.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_pipeline_adapter_markers.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_pipeline_adapter_merge_policy_parse.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_pipeline_adapter_ratification_event_payload.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_pipeline_adapter_ratification_runner.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_pipeline_adapter_ratification_skipped_standalone.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_pipeline_adapter_standalone_regression.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_pkg_layout_freeze.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_plan_ir_iter_waves.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_preflight_verification.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_proc_cpu.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_prune_merged_worktrees_script.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_publishing.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_ratification_policy.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_reconcile_manifest_dedup_46.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_reconcile_verification_log.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_reflection_sync.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_release_dispatch_operator_approval_145.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_release_pin_autotrack.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_repo_validation.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_review_summary.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_roadmap_authority.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_route_log.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_route_policy_conformance.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_routing_invariants.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_runtime_state_mirror_agreement.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_sibling_matcher_patterns.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_skill_bundle_pinned.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_skill_install_body_expansion.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_skill_plan_manifest_write.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_skill_sources_seam.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_skills_bundle_drift.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_skills_canon_parity.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_skills_src_claude_literal_lint.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_spec_conformance_gate.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_specpkgmin_wheel.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_status_read_only_62.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_sweep_fleet_worktrees_script.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_sync_skills_apply_failloud.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_task_message_broker.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_task_message_broker_cli.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_task_message_resolver.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_train_e2e.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_train_merge.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_train_order_only_deps_47.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_train_prebuilt.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_train_roadmap.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_train_runner.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_unattended_release.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_v34_parallel_dispatch_soak.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_validate_plan_doc_docs_lane.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_validate_plan_doc_producer_dependency.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_verification_evidence_validator.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_visual_evidence_validator.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_workerpool_failure_isolation.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_workerpool_parallel.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_workerpool_worktree_alloc.py +0 -0
- {phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/tests/test_worktree_index.py +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: phase-loop-runtime
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.10
|
|
4
4
|
Summary: Harness-neutral phase-loop orchestration runtime and CLI
|
|
5
|
-
Author: ViperJuice
|
|
5
|
+
Author-email: ViperJuice <viperjuice@users.noreply.github.com>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
7
7
|
Project-URL: Homepage, https://github.com/ViperJuice/agent-harness
|
|
8
8
|
Project-URL: Repository, https://github.com/ViperJuice/agent-harness
|
|
@@ -4,12 +4,12 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "phase-loop-runtime" # PyPI dist name; NOT "agent-harness" (an unrelated third-party PyPI project)
|
|
7
|
-
version = "0.7.
|
|
7
|
+
version = "0.7.10"
|
|
8
8
|
description = "Harness-neutral phase-loop orchestration runtime and CLI"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
11
11
|
license = "Apache-2.0"
|
|
12
|
-
authors = [{ name = "ViperJuice" }]
|
|
12
|
+
authors = [{ name = "ViperJuice", email = "viperjuice@users.noreply.github.com" }]
|
|
13
13
|
classifiers = [
|
|
14
14
|
"Programming Language :: Python :: 3",
|
|
15
15
|
"Programming Language :: Python :: 3.10",
|
|
@@ -728,7 +728,7 @@ Completion reconcile:
|
|
|
728
728
|
|
|
729
729
|
`phase-loop reconcile --phase <ALIAS> [--closeout-commit <SHA>]
|
|
730
730
|
[--repair-summary <text>] [--verification-status passed]
|
|
731
|
-
[--verification-log <path>] [--recovery-mode]`
|
|
731
|
+
[--verification-log <path> | --closeout-artifact <path>] [--recovery-mode]`
|
|
732
732
|
|
|
733
733
|
This synthesizes a v28-shape `manual_repair` event for the named phase,
|
|
734
734
|
recording the current `HEAD` (or the supplied SHA) as the closeout commit and
|
|
@@ -743,14 +743,33 @@ to one CLI call. Use only as a recovery tool when the executor's work is
|
|
|
743
743
|
correct but ownership classification or lane-evidence gaps left the runner
|
|
744
744
|
blocked; do not use to bypass legitimate verification failures.
|
|
745
745
|
|
|
746
|
-
When completion reconcile uses `--verification-status passed`, it must
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
746
|
+
When completion reconcile uses `--verification-status passed`, it must provide
|
|
747
|
+
runner evidence via **either** `--verification-log <path>` **or**
|
|
748
|
+
`--closeout-artifact <path>` (mutually exclusive). `--verification-log` points at
|
|
749
|
+
the runner-owned `verification.json` artifact for the run; the runner validates
|
|
750
|
+
the artifact schema, the sibling `verification.log` SHA-256 against `log_sha256`,
|
|
751
|
+
and every command, env-refresh, and suite exit code before appending a completion
|
|
752
|
+
repair event. Remediation output and event metadata include only the artifact
|
|
753
|
+
path, validation code, and exit summary; raw verification log output is never
|
|
754
|
+
copied into reconcile metadata.
|
|
755
|
+
|
|
756
|
+
`--closeout-artifact <path>` (ah#90) is an artifact-backed **recovery** path for
|
|
757
|
+
rehydrating a phase whose committed closeout evidence survives but whose ephemeral
|
|
758
|
+
`.phase-loop/runs/verification.json` does not (e.g. after an interrupted session).
|
|
759
|
+
It adopts a **git-tracked, committed** closeout markdown as recovery evidence
|
|
760
|
+
labeled `provenance=tracked_closeout_artifact`, and requires `--closeout-commit`
|
|
761
|
+
and `--repair-summary`. The artifact is bound before acceptance: the resolved
|
|
762
|
+
`--closeout-commit` must name a real commit reachable from `HEAD` (the index `:0`,
|
|
763
|
+
tree-ish, and orphan commits are rejected), the path must be a non-empty regular
|
|
764
|
+
**blob** at that commit (a directory, symlink, or gitlink is rejected), and its
|
|
765
|
+
basename or content must reference the phase. This is an **audit anchor +
|
|
766
|
+
provenance label** for an explicit, operator-reasoned manual recovery — NOT a
|
|
767
|
+
runner verification pass and NOT an authorization gate; it never satisfies a phase
|
|
768
|
+
that hard-requires runner verification (RG / `IF-0-RG-1`). The recorded
|
|
769
|
+
`manual_repair` carries `evidence_provenance=tracked_closeout_artifact`, and
|
|
770
|
+
`phase-loop status` surfaces it (`Closeout verification: passed (recovery
|
|
771
|
+
evidence: tracked_closeout_artifact)`) so consumers can distinguish a recovery
|
|
772
|
+
from a runner pass.
|
|
754
773
|
|
|
755
774
|
Blocked-state recovery:
|
|
756
775
|
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Verification Evidence Contract
|
|
2
|
+
|
|
3
|
+
VC freezes the additive verification evidence artifact for future runner wiring. Until a later phase consumes it, the only producer is `phase_loop_runtime.verification_evidence.run_verification`.
|
|
4
|
+
|
|
5
|
+
`run_verification(repo, run_dir, commands, suite_command, env_refresh, timeout_s, operational_exemptions=None, python_pin=None, phase_alias=None) -> VerificationResult` writes two sibling files under the supplied run directory. The optional `phase_alias` is the LIVE run alias (ah#85). `verification.json`'s `phase_alias` resolves in strict precedence order: the operator env override (`PHASE_LOOP_PHASE_ALIAS` / `PHASE_ALIAS`) wins if set, else the supplied `phase_alias` (the live run alias) if provided, else `.phase-loop/state.json:current_phase`, else `"unknown"`. Threading the live alias on the execute path keeps the artifact from mis-attributing the phase after a mid-run roadmap amendment changes `current_phase`; the env override remains the highest-priority operator escape-hatch.
|
|
6
|
+
|
|
7
|
+
- `verification.json`
|
|
8
|
+
- `verification.log`
|
|
9
|
+
|
|
10
|
+
`verification.json` uses schema version 2 and contains exactly these top-level fields:
|
|
11
|
+
|
|
12
|
+
- `schema_version`
|
|
13
|
+
- `run_id`
|
|
14
|
+
- `phase_alias`
|
|
15
|
+
- `commands`
|
|
16
|
+
- `env_refresh`
|
|
17
|
+
- `suite`
|
|
18
|
+
- `started_at`
|
|
19
|
+
- `finished_at`
|
|
20
|
+
- `log_sha256`
|
|
21
|
+
|
|
22
|
+
Each `commands[]` item contains `argv`, `cwd`, `exit_code`, `duration_s`, and `log_offset`. `env_refresh`, when present, contains `triggered`, `manifests`, `install_argv`, and `exit_code`. `suite`, when present, contains `argv`, `exit_code`, and `duration_s`.
|
|
23
|
+
|
|
24
|
+
**Schema v2 (agent-harness#209), additive.** Every stage (`commands[]`, `env_refresh`, `suite`) may additionally carry `log_end_offset` (the exclusive byte end of that stage's output in `verification.log`) and `failure_kind` (the runner-OBSERVED failure origin, one of `timeout` / `error` / `nonzero_exit`), and `env_refresh`/`suite` additionally carry their own `log_offset` (start). These fields are captured at execution time and omitted when null; `failure_kind` is never re-derived from `exit_code` downstream (a child that itself returns 124/127 stays `nonzero_exit`, not `timeout`/`error`). **v1 back-compat:** a v1 artifact (without these fields) still loads — the missing fields default to `None`. `load_verification_artifact` accepts `schema_version` in `{1, 2}`.
|
|
25
|
+
|
|
26
|
+
`verification.log` stores raw combined stdout and stderr from the recorded subprocesses. `log_offset` is the start byte offset for each stage's output and `log_end_offset` (v2) is its exclusive end. `log_sha256` is the SHA-256 digest of the final log bytes.
|
|
27
|
+
|
|
28
|
+
**Failure diagnostics (verdict layer, non-frozen).** `validate_verification_artifact` returns `VerificationArtifactValidation`; its `to_json()` includes a `diagnostics` list. On the `nonzero_exit` verdict (where the log is already sha-authenticated), it carries one entry per failing stage — in declared order `commands` → `env_refresh` → `suite` — each `{role, index, argv, exit_code, failure_kind, raw_tail, truncated, diagnostic_status}`. `raw_tail` is a bounded (`DIAGNOSTIC_TAIL_BYTES`) tail sliced from the stage's exact `[log_offset, log_end_offset)` region; `diagnostic_status` is `missing_output` when a failing stage produced no captured bytes (still emitted, with typed context — a failed verdict is never diagnostic-empty). Diagnostics are NOT built on the `log_sha256_mismatch` / `missing_log` integrity branches (an unauthenticated log's tail could be forged); those block on the integrity failure, which is the more severe reason.
|
|
29
|
+
|
|
30
|
+
**Diagnostic offset-integrity (threat model).** Each failing stage's `raw_tail` is sliced from its recorded `[log_offset, log_end_offset)` region, validated fail-closed against its execution-order neighbours' recorded offsets (`prev.log_end_offset <= log_offset <= log_end_offset <= next.log_offset`, bounded by `[0, len(log)]`); any violation yields an empty tail, never a slice into an adjacent stage. This makes a **single-field** offset tamper (which produces an inconsistent chain) fail closed. The stage-offset table itself is not covered by `log_sha256` (only the log bytes are), so a **multi-field** tamper that keeps the chain internally consistent could reshuffle *which* authenticated log bytes appear in *which* diagnostic. That is deliberately out of scope: every byte involved is already in the SHA-authenticated `verification.log` at the same trust level (an editor of `verification.json` can already read it), and the reshuffle never changes the pass/fail verdict — the authoritative gate is the per-stage `exit_code`, which is checked independently. Signing the offset table would be a separate hardening.
|
|
31
|
+
|
|
32
|
+
**Redaction posture.** `raw_tail` is a bounded excerpt of bytes ALREADY persisted in full in `verification.log` at the same trust level (a red test suite already writes its output there). Surfacing the tail into the closeout record (which downstream prompts may read) is a real but modest egress widening, not a new capture path. The `DIAGNOSTIC_TAIL_BYTES` cap bounds record size, not disclosure (a secret is tiny) — closeout-diagnostic redaction is a separate, out-of-scope follow-up.
|
|
33
|
+
|
|
34
|
+
The JSON artifact is written atomically by creating a same-directory temporary file and replacing `verification.json`. Re-running identical command inputs rewrites the same artifact shape and log content, except for timestamps and durations.
|
|
35
|
+
|
|
36
|
+
Command failures, missing executables, and timeouts are evidence data. They are represented by nonzero `exit_code` values and do not make `run_verification` raise. Programmer errors, such as a missing repo or a run directory outside the repo, raise before evidence is written.
|
|
37
|
+
|
|
38
|
+
The plan-time validator API is `validate_verification_commands(repo, commands) -> list[ValidationFinding]`. It is read-only and returns structured findings for empty argv, unresolved `argv[0]`, explicit repo-relative path references that do not exist, and cwd/path references that resolve outside the repo.
|
|
39
|
+
|
|
40
|
+
`load_verification_artifact(path)` validates the persisted artifact and returns `VerificationResult`.
|
|
41
|
+
|
|
42
|
+
Evidence marked `evidence: operational` can be recorded for operator inspection, but it cannot mark runner-executed verification as passed. A later runner phase must still reduce actual command exit data before claiming verification success.
|
|
43
|
+
|
|
44
|
+
## Hotfix Consumers
|
|
45
|
+
|
|
46
|
+
`phase-loop hotfix --init-stub <path>` writes a minimal stub with `objective`
|
|
47
|
+
and `verification_command` fields without creating a run directory.
|
|
48
|
+
|
|
49
|
+
`phase-loop hotfix --reason <text> --plan <stub-path>` is an emergency
|
|
50
|
+
consumer of the same IF-0-VC-1 evidence path. It creates
|
|
51
|
+
`.phase-loop/runs/<ts>-hotfix-<slug>/`, runs dependency-manifest env refresh,
|
|
52
|
+
the stub verification command, and the effective suite command through
|
|
53
|
+
`run_verification`, then validates the resulting artifact before ledger
|
|
54
|
+
closeout. A passed hotfix event must include `work_unit: hotfix`, the redacted
|
|
55
|
+
reason, plan stub, `verification_artifact_path`, `verification_log_path`, and
|
|
56
|
+
the artifact validation summary. A missing, malformed, tampered, or nonzero
|
|
57
|
+
artifact blocks the hotfix closeout instead of reporting `passed`.
|
|
58
|
+
|
|
59
|
+
Use hotfix for a single bounded change with no interface freeze. Anything that
|
|
60
|
+
changes interfaces, roadmap scope, or downstream work uses a roadmap phase.
|
|
@@ -64,15 +64,17 @@ _CODEX_EFFORT: dict[str, str] = {
|
|
|
64
64
|
"max": "xhigh",
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
# canonical effort -> grok ``--reasoning-effort`` token. The grok CLI accepts
|
|
68
|
-
# ``
|
|
69
|
-
#
|
|
70
|
-
# ceiling — the panel's grok seat runs at grok-4.5's maximum
|
|
67
|
+
# canonical effort -> grok ``--reasoning-effort`` token. The grok CLI accepts ONLY
|
|
68
|
+
# ``high | medium | low`` (verified via an out-of-range probe: ``--reasoning-effort max``
|
|
69
|
+
# -> ``unknown effort level 'max'; use one of: high, medium, low``). So canonical ``max``
|
|
70
|
+
# CLAMPS to grok's own ``high`` ceiling — the panel's grok seat runs at grok-4.5's maximum
|
|
71
|
+
# reasoning. (ah#222: a prior literal ``max`` made the grok leg ERROR on every default panel
|
|
72
|
+
# run.) The grokexec/launcher grok effort path is separate (capability_registry) — not fixed here.
|
|
71
73
|
_GROK_EFFORT: dict[str, str] = {
|
|
72
74
|
"low": "low",
|
|
73
75
|
"medium": "medium",
|
|
74
76
|
"high": "high",
|
|
75
|
-
"max": "
|
|
77
|
+
"max": "high", # grok has no 'max'/'xhigh'; its ceiling is 'high'
|
|
76
78
|
}
|
|
77
79
|
|
|
78
80
|
# canonical effort -> the ``(Word)`` token agy/gemini bakes into the model name
|
{phase_loop_runtime-0.7.9 → phase_loop_runtime-0.7.10}/src/phase_loop_runtime/capability_registry.py
RENAMED
|
@@ -494,9 +494,15 @@ DEFAULT_PROVIDER_POLICY_CAPABILITIES = {
|
|
|
494
494
|
supported_efforts=_ALL_EFFORTS,
|
|
495
495
|
unsupported_policy_behavior=_FAIL_CLOSED,
|
|
496
496
|
default_effort="medium",
|
|
497
|
-
|
|
497
|
+
# ah#224: grok's `--reasoning-effort` accepts ONLY high/medium/low (a SUBSET of
|
|
498
|
+
# NORMALIZED_EFFORT_LEVELS). The live clamp is at the CLI boundary
|
|
499
|
+
# (`launcher._grok_cli_effort`, mirroring codex's `max->xhigh`), which keeps grok
|
|
500
|
+
# effort-eligible in this layer (all normalized levels remain valid REQUESTS,
|
|
501
|
+
# translated at emit time). This map is defense-in-depth for the policy-layer
|
|
502
|
+
# fallback path; it is kept accurate (not identity) rather than lying.
|
|
503
|
+
effort_map={"minimal": "low", "xhigh": "high", "max": "high"},
|
|
498
504
|
notes=(
|
|
499
|
-
"grok's `--reasoning-effort` CLI flag accepts a
|
|
505
|
+
"grok's `--reasoning-effort` CLI flag accepts ONLY high/medium/low (a subset of NORMALIZED_EFFORT_LEVELS); minimal/xhigh/max are clamped to a valid token at the CLI boundary by launcher._grok_cli_effort (like codex's max->xhigh).",
|
|
500
506
|
),
|
|
501
507
|
),
|
|
502
508
|
"gemini-api": ProviderPolicyCapability(
|
|
@@ -16,6 +16,7 @@ from .discovery import (
|
|
|
16
16
|
)
|
|
17
17
|
from .models import PHASE_STATUSES
|
|
18
18
|
from .provenance import phase_provenance_map, roadmap_sha256, status_provenance_matches
|
|
19
|
+
from .runtime_paths import roadmap_paths_match
|
|
19
20
|
from .state import load_state
|
|
20
21
|
|
|
21
22
|
|
|
@@ -29,7 +30,7 @@ def classify_phase(repo: Path, roadmap: Path, phase: str) -> str:
|
|
|
29
30
|
return "unknown"
|
|
30
31
|
|
|
31
32
|
state = load_state(repo)
|
|
32
|
-
if state and
|
|
33
|
+
if state and roadmap_paths_match(state.repo, state.roadmap, repo, roadmap)[0] and state.phases.get(phase) in PHASE_STATUSES:
|
|
33
34
|
status = state.phases[phase]
|
|
34
35
|
current_phase_sha = phase_provenance_map(roadmap).get(phase)
|
|
35
36
|
entry_phase_sha = state.phase_sha256.get(phase)
|