phase-loop-runtime 0.2.0__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.2.0/MANIFEST.in +5 -0
- phase_loop_runtime-0.2.0/PKG-INFO +106 -0
- phase_loop_runtime-0.2.0/README.md +82 -0
- phase_loop_runtime-0.2.0/protocol/protocol.md +2475 -0
- phase_loop_runtime-0.2.0/pyproject.toml +106 -0
- phase_loop_runtime-0.2.0/setup.cfg +4 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/__init__.py +20 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_contract_docs/phase-loop/extraction-readiness.md +90 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_contract_docs/phase-loop/granular-execution-policy.md +137 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_contract_docs/phase-loop/harness-capability-matrix.md +510 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_contract_docs/phase-loop/harness-skill-matrix.md +125 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_contract_docs/phase-loop/harness-substrate-manifest.md +232 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_contract_docs/phase-loop/pi-loop-control.md +247 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_contract_docs/phase-loop/protocol.md +2759 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_contract_docs/phase-loop/runtime-boundary.md +289 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_contract_docs/phase-loop/spec-discovery-roots.md +47 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_contract_docs/phase-loop/substrate-soak-governed-pipeline.md +42 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_contract_docs/phase-loop/substrate-soak-portal-projection.md +34 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_contract_docs/phase-loop/substrate-soak-regenesis.md +29 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_contract_docs/phase-loop/substrate-soak-report.md +32 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_contract_docs/runtime/verification-evidence-contract.md +52 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-mixed-signals/commands.txt +2 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-mixed-signals/manifest.json +16 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-mixed-signals/mixed.json +5 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-provider-timeout/manifest.json +16 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-provider-timeout/timeout-note.txt +2 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-redacted-summary/manifest.json +16 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-redacted-summary/redacted-summary.json +6 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-small-sample/manifest.json +16 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-small-sample/sample.json +7 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-threshold-edge/edge.txt +2 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-threshold-edge/manifest.json +16 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-duplicate-png/manifest.json +16 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-duplicate-png/shot-a.txt +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-duplicate-png/shot-b.txt +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-duplicate-png/shot-c.txt +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-missing-references/claimed-results.json +5 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-missing-references/manifest.json +16 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-subtle-low-variance/manifest.json +16 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-subtle-low-variance/metrics.json +9 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-templated-prose/findings.md +10 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-templated-prose/manifest.json +16 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-uniform-scores/manifest.json +16 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-uniform-scores/scores.json +4 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-uniform-scores/summary.txt +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-adoption-bundle/bundle-check.json +8 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-adoption-bundle/manifest.json +16 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-adoption-bundle/operator-note.txt +2 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-handoff-ledger/events-sample.jsonl +3 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-handoff-ledger/manifest.json +16 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-handoff-ledger/receipt.txt +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-runner-diff/evidence.json +13 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-runner-diff/manifest.json +16 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-runner-diff/summary.txt +2 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-test-matrix/manifest.json +16 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-test-matrix/matrix.json +9 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-test-matrix/notes.md +4 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-ui-screenshot-standin/console-summary.txt +2 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-ui-screenshot-standin/manifest.json +16 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-ui-screenshot-standin/screenshot-standin.ppm +5 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/adoption_bundle.py +273 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/CONTRACTS.md +257 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/__init__.py +288 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/backing.py +137 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/backing_omnigent.py +498 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/config.py +225 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/events.py +115 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/fixtures/advisor-boards.example.toml +59 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/fixtures.py +91 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/harness_mapping.py +125 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/matrix.py +146 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/observability.py +481 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/presets.py +188 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/registries.py +309 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/resolver.py +253 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/schema.py +269 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/standin.py +166 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/validation.py +159 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/agent_runtime_provider.py +676 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/baml_modular.py +656 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/baml_src/dotfiles_adoption_manifest.baml +37 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/baml_src/dotfiles_c4_document.baml +14 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/baml_src/dotfiles_plan_manifest.baml +50 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/baml_src/dotfiles_runtime_projection.baml +16 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/baml_src/dotfiles_task_catalog.baml +20 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/baml_src/emit_phase_closeout.baml +86 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/baml_src/evaluate_suspected_fake_evidence.baml +36 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/baml_src/verification_evidence.baml +40 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/broker.py +181 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/build_bundle.py +294 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/capability_registry.py +835 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/classifier.py +87 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/claude_agent_view.py +625 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/claude_channel_sidecar.py +1086 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/cli.py +2599 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/closeout.py +865 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/closeout_classifier.py +120 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/closeout_evidence_audit.py +112 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/closeout_validation.py +144 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/closeout_validators.py +203 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/consiliency_gates.py +374 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/consiliency_ingest.py +399 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/consiliency_layout.py +176 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/consiliency_scaffold.py +305 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/cross_repo_channel.py +331 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/discovery.py +2368 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/dispatch_lock.py +167 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/doc_delta_validator.py +98 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/docs_audit.py +285 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/docs_freshness.py +468 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/docs_surfaces.py +150 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/dotfiles_profile_plugin.py +96 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/events.py +154 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/events_migration.py +96 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/evidence_audit.py +1082 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/evidence_audit_config.py +172 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/fleet_map.py +426 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/fleet_metrics.py +298 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/fleet_metrics_export.py +196 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/git_discipline.py +479 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/git_ops.py +122 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/git_topology.py +252 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/governed_bundle.py +137 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/governed_premerge.py +219 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/governed_review.py +264 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/handoff.py +932 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/handoff_path.py +14 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/injection.py +740 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/install_status.py +88 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/lane_scheduler.py +317 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/launcher.py +2760 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/lease_store.py +553 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/maintenance.py +401 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/migrate_handoffs.py +201 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/models.py +2144 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/observability.py +1290 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/panel_invoker.py +1638 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/phase_loop_drift_audit.py +388 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/phase_worktree_executor.py +433 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/pipeline_adapter/__init__.py +12 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/pipeline_adapter/branch_ops.py +274 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/pipeline_adapter/flag.py +55 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/pipeline_adapter/markers.py +13 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/pipeline_adapter/merge_policy.py +72 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/pipeline_adapter/ratification.py +100 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/pipeline_adapter/sibling_matcher.py +123 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/plan_ir.py +523 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/plan_manifest.py +415 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/planner_validation.py +176 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/profiles.py +462 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/prompts.py +365 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/provenance.py +165 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/publishing.py +339 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/py.typed +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/reconcile.py +1550 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/redaction.py +184 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/reflection_sync.py +293 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/release_guard.py +186 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/render.py +432 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/repo_validation.py +427 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/review_summary.py +150 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/roadmap_lint.py +425 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/route_log.py +59 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/route_policy/__init__.py +11 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/route_policy/fixtures/route_selection.golden.json +263 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/runner.py +8400 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/runtime_paths.py +225 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/runtime_projection.py +113 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/runtime_resources.py +36 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/schema_export.py +292 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/schemas/phase_loop_closeout.schema.json +366 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skill_install.py +176 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skill_inventory.py +662 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skill_paths.py +42 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skill_sources_plugin.py +37 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-advisor-board/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-advisor-board/SKILL.md +38 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-advisor-panel/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-advisor-panel/SKILL.md +38 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-execute-detailed/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-execute-detailed/SKILL.md +152 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-execute-phase/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-execute-phase/SKILL.md +745 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/allocate_worktree_name.sh +33 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/audit_lane_file_touches.py +197 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/cleanup_lane_worktrees.sh +103 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/parent_tree_leakage_check.sh +125 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/post_merge_import_smoke.sh +62 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/pre_merge_destructiveness_check.sh +127 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/resolve_branch_from_sha.sh +51 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/state.py +274 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/sweep_stale_worktrees.sh +62 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/team_teardown.sh +32 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/validate_plan_doc.py +642 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/verify_harness.sh +96 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-phase-loop/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-phase-loop/SKILL.md +115 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-phase-roadmap-builder/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-phase-roadmap-builder/SKILL.md +439 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-phase-roadmap-builder/assets/review_prompt.md +19 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-phase-roadmap-builder/references/parallelization-heuristics.md +111 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-phase-roadmap-builder/references/roadmap-template.md +193 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-phase-roadmap-builder/scripts/validate_roadmap.py +32 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-plan-detailed/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-plan-detailed/SKILL.md +334 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-plan-detailed/assets/review_prompt.md +25 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-plan-phase/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-plan-phase/SKILL.md +776 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-plan-phase/assets/review_prompt.md +17 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-plan-phase/scripts/validate_plan_doc.py +1092 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-run-train/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-run-train/SKILL.md +75 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-skill-editor/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-skill-editor/SKILL.md +243 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-skill-editor/assets/editor_prompt.md +72 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-skill-improvement-planner/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-skill-improvement-planner/SKILL.md +249 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-skill-improvement-planner/assets/aggregator_prompt.md +79 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-task-contextualizer/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-task-contextualizer/SKILL.md +74 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-task-contextualizer/references/task-templates.md +103 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-advisor-board/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-advisor-board/SKILL.md +38 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-advisor-panel/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-advisor-panel/SKILL.md +38 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-execute-detailed/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-execute-detailed/SKILL.md +154 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-execute-phase/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-execute-phase/SKILL.md +231 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/allocate_worktree_name.sh +33 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/audit_lane_file_touches.py +197 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/cleanup_lane_worktrees.sh +103 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/parent_tree_leakage_check.sh +125 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/post_merge_import_smoke.sh +62 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/pre_merge_destructiveness_check.sh +127 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/resolve_branch_from_sha.sh +51 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/state.py +274 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/sweep_stale_worktrees.sh +62 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/team_teardown.sh +32 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/validate_plan_doc.py +642 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/verify_harness.sh +96 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-phase-loop/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-phase-loop/SKILL.md +248 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-phase-roadmap-builder/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-phase-roadmap-builder/SKILL.md +150 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-phase-roadmap-builder/assets/review_prompt.md +19 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-phase-roadmap-builder/references/parallelization-heuristics.md +111 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-phase-roadmap-builder/references/roadmap-template.md +193 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-phase-roadmap-builder/scripts/validate_roadmap.py +32 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-plan-detailed/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-plan-detailed/SKILL.md +119 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-plan-detailed/assets/review_prompt.md +25 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-plan-phase/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-plan-phase/SKILL.md +307 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-plan-phase/assets/review_prompt.md +17 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-plan-phase/scripts/validate_plan_doc.py +1092 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-run-train/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-run-train/SKILL.md +75 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-skill-editor/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-skill-editor/SKILL.md +94 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-skill-editor/assets/editor_prompt.md +72 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-skill-improvement-planner/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-skill-improvement-planner/SKILL.md +114 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-skill-improvement-planner/assets/aggregator_prompt.md +79 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-task-contextualizer/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-task-contextualizer/SKILL.md +102 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-task-contextualizer/references/task-templates.md +103 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-advisor-board/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-advisor-board/SKILL.md +38 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-advisor-panel/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-advisor-panel/SKILL.md +38 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-execute-detailed/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-execute-detailed/SKILL.md +144 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/SKILL.md +198 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/allocate_worktree_name.sh +33 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/audit_lane_file_touches.py +197 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/cleanup_lane_worktrees.sh +103 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/parent_tree_leakage_check.sh +125 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/post_merge_import_smoke.sh +62 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/pre_merge_destructiveness_check.sh +127 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/resolve_branch_from_sha.sh +51 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/state.py +274 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/sweep_stale_worktrees.sh +62 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/team_teardown.sh +32 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/validate_plan_doc.py +642 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/verify_harness.sh +96 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-phase-loop/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-phase-loop/SKILL.md +111 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-phase-roadmap-builder/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-phase-roadmap-builder/SKILL.md +147 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-phase-roadmap-builder/assets/review_prompt.md +19 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-phase-roadmap-builder/references/parallelization-heuristics.md +111 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-phase-roadmap-builder/references/roadmap-template.md +193 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-phase-roadmap-builder/scripts/validate_roadmap.py +32 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-plan-detailed/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-plan-detailed/SKILL.md +119 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-plan-detailed/assets/review_prompt.md +25 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-plan-phase/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-plan-phase/SKILL.md +217 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-plan-phase/assets/review_prompt.md +17 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-plan-phase/scripts/validate_plan_doc.py +1092 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-run-train/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-run-train/SKILL.md +75 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-skill-editor/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-skill-editor/SKILL.md +87 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-skill-editor/assets/editor_prompt.md +72 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-skill-improvement-planner/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-skill-improvement-planner/SKILL.md +109 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-skill-improvement-planner/assets/aggregator_prompt.md +79 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-task-contextualizer/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-task-contextualizer/SKILL.md +98 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-task-contextualizer/references/task-templates.md +103 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-advisor-board/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-advisor-board/SKILL.md +38 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-advisor-panel/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-advisor-panel/SKILL.md +38 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-execute-detailed/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-execute-detailed/SKILL.md +144 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/SKILL.md +196 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/allocate_worktree_name.sh +33 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/audit_lane_file_touches.py +197 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/cleanup_lane_worktrees.sh +103 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/parent_tree_leakage_check.sh +125 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/post_merge_import_smoke.sh +62 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/pre_merge_destructiveness_check.sh +127 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/resolve_branch_from_sha.sh +51 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/state.py +274 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/sweep_stale_worktrees.sh +62 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/team_teardown.sh +32 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/validate_plan_doc.py +642 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/verify_harness.sh +96 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-phase-loop/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-phase-loop/SKILL.md +113 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-phase-roadmap-builder/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-phase-roadmap-builder/SKILL.md +147 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-phase-roadmap-builder/assets/review_prompt.md +19 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-phase-roadmap-builder/references/parallelization-heuristics.md +111 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-phase-roadmap-builder/references/roadmap-template.md +193 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-phase-roadmap-builder/scripts/validate_roadmap.py +32 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-plan-detailed/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-plan-detailed/SKILL.md +119 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-plan-detailed/assets/review_prompt.md +25 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-plan-phase/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-plan-phase/SKILL.md +211 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-plan-phase/assets/review_prompt.md +17 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-plan-phase/scripts/validate_plan_doc.py +1092 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-run-train/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-run-train/SKILL.md +75 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-skill-editor/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-skill-editor/SKILL.md +87 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-skill-editor/assets/editor_prompt.md +72 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-skill-improvement-planner/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-skill-improvement-planner/SKILL.md +109 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-skill-improvement-planner/assets/aggregator_prompt.md +79 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-task-contextualizer/README.md +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-task-contextualizer/SKILL.md +98 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-task-contextualizer/references/task-templates.md +103 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/state.py +156 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/state_degradation.py +136 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/state_ops.py +676 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/train_ledger.py +215 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/train_roadmap.py +339 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/train_runner.py +1197 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/verification_evidence.py +650 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/verification_evidence_validator.py +75 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/visual_evidence_validator.py +36 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/worker_pool.py +123 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime/worktree_index.py +270 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime.egg-info/PKG-INFO +106 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime.egg-info/SOURCES.txt +630 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime.egg-info/dependency_links.txt +1 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime.egg-info/entry_points.txt +9 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime.egg-info/requires.txt +8 -0
- phase_loop_runtime-0.2.0/src/phase_loop_runtime.egg-info/top_level.txt +1 -0
- phase_loop_runtime-0.2.0/tests/test_advisor_board_alias_install.py +113 -0
- phase_loop_runtime-0.2.0/tests/test_advisor_board_backcompat.py +138 -0
- phase_loop_runtime-0.2.0/tests/test_advisor_board_backing_homebrew.py +445 -0
- phase_loop_runtime-0.2.0/tests/test_advisor_board_backing_omnigent.py +537 -0
- phase_loop_runtime-0.2.0/tests/test_advisor_board_concurrency.py +78 -0
- phase_loop_runtime-0.2.0/tests/test_advisor_board_config.py +250 -0
- phase_loop_runtime-0.2.0/tests/test_advisor_board_golden.py +378 -0
- phase_loop_runtime-0.2.0/tests/test_advisor_board_integration.py +294 -0
- phase_loop_runtime-0.2.0/tests/test_advisor_board_matrix.py +117 -0
- phase_loop_runtime-0.2.0/tests/test_advisor_board_observability.py +350 -0
- phase_loop_runtime-0.2.0/tests/test_advisor_board_presets.py +143 -0
- phase_loop_runtime-0.2.0/tests/test_advisor_board_registries.py +120 -0
- phase_loop_runtime-0.2.0/tests/test_advisor_board_resolver.py +276 -0
- phase_loop_runtime-0.2.0/tests/test_advisor_board_schema.py +210 -0
- phase_loop_runtime-0.2.0/tests/test_agent_runtime_provider_cs08.py +305 -0
- phase_loop_runtime-0.2.0/tests/test_branchgov_preflight.py +382 -0
- phase_loop_runtime-0.2.0/tests/test_cli_train_status_45.py +87 -0
- phase_loop_runtime-0.2.0/tests/test_closeout_break_glass_cli.py +100 -0
- phase_loop_runtime-0.2.0/tests/test_closeout_classifier.py +86 -0
- phase_loop_runtime-0.2.0/tests/test_closeout_convergence_fixes.py +285 -0
- phase_loop_runtime-0.2.0/tests/test_closeout_exception_vocab.py +85 -0
- phase_loop_runtime-0.2.0/tests/test_closeout_validator_hook.py +158 -0
- phase_loop_runtime-0.2.0/tests/test_closeout_verification_gate.py +167 -0
- phase_loop_runtime-0.2.0/tests/test_codex_effort_max_clamp_49.py +42 -0
- phase_loop_runtime-0.2.0/tests/test_consiliency_dual_layout.py +100 -0
- phase_loop_runtime-0.2.0/tests/test_consiliency_gates.py +177 -0
- phase_loop_runtime-0.2.0/tests/test_consiliency_ingest.py +313 -0
- phase_loop_runtime-0.2.0/tests/test_consiliency_scaffold.py +181 -0
- phase_loop_runtime-0.2.0/tests/test_coordinator_wave_loop.py +143 -0
- phase_loop_runtime-0.2.0/tests/test_dispatch_lock_cross_roadmap.py +26 -0
- phase_loop_runtime-0.2.0/tests/test_dispatch_lock_helper.py +65 -0
- phase_loop_runtime-0.2.0/tests/test_dispatch_lock_same_roadmap.py +54 -0
- phase_loop_runtime-0.2.0/tests/test_doc_delta_validator.py +190 -0
- phase_loop_runtime-0.2.0/tests/test_docs_audit.py +243 -0
- phase_loop_runtime-0.2.0/tests/test_docs_freshness.py +392 -0
- phase_loop_runtime-0.2.0/tests/test_dotfiles_tree.py +94 -0
- phase_loop_runtime-0.2.0/tests/test_execute_phase_handoff_mode.py +68 -0
- phase_loop_runtime-0.2.0/tests/test_execution_policy_tiering.py +64 -0
- phase_loop_runtime-0.2.0/tests/test_export_schema.py +201 -0
- phase_loop_runtime-0.2.0/tests/test_fleet_map.py +152 -0
- phase_loop_runtime-0.2.0/tests/test_fleet_metrics.py +201 -0
- phase_loop_runtime-0.2.0/tests/test_fleet_metrics_export.py +96 -0
- phase_loop_runtime-0.2.0/tests/test_gate_a_wheel_isolation.py +87 -0
- phase_loop_runtime-0.2.0/tests/test_git_discipline.py +335 -0
- phase_loop_runtime-0.2.0/tests/test_governed_disjointness_model_first.py +121 -0
- phase_loop_runtime-0.2.0/tests/test_governed_e2e.py +92 -0
- phase_loop_runtime-0.2.0/tests/test_governed_gate_crfixes.py +129 -0
- phase_loop_runtime-0.2.0/tests/test_governed_planning_gate.py +126 -0
- phase_loop_runtime-0.2.0/tests/test_governed_premerge.py +154 -0
- phase_loop_runtime-0.2.0/tests/test_governed_premerge_live.py +292 -0
- phase_loop_runtime-0.2.0/tests/test_governed_review.py +155 -0
- phase_loop_runtime-0.2.0/tests/test_hotfix_lane.py +124 -0
- phase_loop_runtime-0.2.0/tests/test_injection_skill_failloud.py +146 -0
- phase_loop_runtime-0.2.0/tests/test_lane_ir_override.py +208 -0
- phase_loop_runtime-0.2.0/tests/test_launcher_liveness.py +176 -0
- phase_loop_runtime-0.2.0/tests/test_lease_store.py +281 -0
- phase_loop_runtime-0.2.0/tests/test_lease_store_conformance.py +110 -0
- phase_loop_runtime-0.2.0/tests/test_ledger_serialization.py +246 -0
- phase_loop_runtime-0.2.0/tests/test_model_class_policy.py +139 -0
- phase_loop_runtime-0.2.0/tests/test_observability_alerting.py +219 -0
- phase_loop_runtime-0.2.0/tests/test_panel_advisory_mode_63.py +81 -0
- phase_loop_runtime-0.2.0/tests/test_panel_invoker.py +72 -0
- phase_loop_runtime-0.2.0/tests/test_panel_invoker_spawn.py +397 -0
- phase_loop_runtime-0.2.0/tests/test_panel_invoker_timeout_argv.py +85 -0
- phase_loop_runtime-0.2.0/tests/test_panel_leg_auth_preflight_64.py +118 -0
- phase_loop_runtime-0.2.0/tests/test_panel_per_leg_model_66.py +86 -0
- phase_loop_runtime-0.2.0/tests/test_panel_tui_eof_48.py +74 -0
- phase_loop_runtime-0.2.0/tests/test_panel_verdict_summary.py +50 -0
- phase_loop_runtime-0.2.0/tests/test_parallel_dispatch_backcompat.py +47 -0
- phase_loop_runtime-0.2.0/tests/test_parallel_dispatch_cli.py +39 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_adoption_bundle.py +291 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_adoption_bundle_cli.py +223 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_baml_dependency.py +44 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_baml_end_to_end.py +101 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_baml_injection.py +138 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_baml_modular.py +95 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_baml_prompt_taxonomy.py +75 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_baml_runner_closeout.py +94 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_baml_schema_export.py +96 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_baml_schema_source.py +130 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_branch_divergence_event.py +117 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_build_bundle.py +226 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_classifier.py +98 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_claude_agent_view_adapter.py +114 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_claude_agent_view_lifecycle.py +272 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_claude_channel_hooks.py +83 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_claude_channel_mcp.py +89 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_claude_channel_security.py +212 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_claude_channel_session_launch.py +146 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_claude_channel_sidecar.py +715 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_claude_channel_smoke_suite.py +105 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_claude_route_selection.py +470 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_cli.py +1379 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_cli_plugin_load.py +195 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_closeout_control_only.py +277 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_closeout_event.py +233 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_closeout_evidence_audit.py +243 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_closeout_hardening.py +170 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_closeout_owned_dirty_fallback.py +401 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_closeout_schema.py +56 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_closeout_validation.py +202 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_collaborator_citation.py +78 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_collaborator_docs.py +78 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_collaborator_rollback.py +53 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_def4_writer_namespacing.py +138 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_dirty_path_classify_phase_owned_tests.py +111 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_dirty_path_classify_previous_phase_owned.py +104 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_discovery.py +1079 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_docs.py +714 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_dotfiles_schemas.py +216 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_dotfiles_sources.py +152 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_downstream_governed_pipeline.py +59 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_downstream_instruction_scope_readme.py +56 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_downstream_portal.py +54 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_downstream_regenesis.py +60 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_drift_audit.py +156 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_dry_run_then_run.py +76 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_events_migration.py +157 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_evidence_audit.py +212 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_evidence_audit_runner.py +332 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_evidence_audit_tier2.py +194 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_evidence_audit_tier3.py +215 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_evidence_audit_tuning.py +174 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_execution_policy.py +253 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_executor_degradation.py +126 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_full_phase_mode.py +156 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_handoff.py +913 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_handoff_migration.py +230 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_init.py +108 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_injection.py +298 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_install_status.py +88 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_lane_harnesses.py +220 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_lane_ir.py +142 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_lane_ir_fixtures.py +42 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_lane_scheduler.py +197 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_launcher.py +1709 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_ledger_debug.py +258 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_ledger_dedup.py +425 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_live_adapters.py +538 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_maintenance.py +355 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_metrics.py +224 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_migration_regressions.py +218 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_mixedrun_dispatch.py +328 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_mixedrun_matrix.py +190 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_mixedrun_observability.py +206 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_models.py +922 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_native_flags.py +140 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_parallel_plan_safe.py +165 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_pi_executor.py +113 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_pipeline_boundaries.py +203 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_pipeline_bridge.py +761 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_pipeline_bundle.py +330 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_pipeline_closeout.py +579 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_pipeline_freshness.py +268 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_pipeline_mode.py +104 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_plan_doc_skip.py +174 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_plan_manifest.py +233 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_planner_redispatch_when_plan_current.py +62 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_planner_validation.py +101 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_policy.py +93 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_protocol_contract.py +713 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_provenance.py +52 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_reconcile.py +1785 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_reconcile_blocker_self_clear.py +506 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_reconcile_recovery_mode.py +169 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_reconcile_to_status_planned_recovery.py +203 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_reducers.py +160 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_repair_skipped_when_blocker_cleared.py +101 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_roadmap_amendments.py +41 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_roadmap_validate.py +234 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_rotation.py +197 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_runner.py +3448 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_runner_closeout_validation.py +144 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_runtime_boundary.py +159 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_runtime_decouple.py +98 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_runtime_package_data.py +93 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_runtime_projection.py +129 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_schema_flow.py +77 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_skill_baml_closeout.py +70 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_skill_bridge_contract.py +56 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_skill_contract.py +664 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_skill_execute_contract.py +66 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_skill_install.py +164 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_skill_planner_contract.py +171 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_smoke_blockers.py +244 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_smoke_exhaustion.py +68 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_smoke_reentry.py +270 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_spurious_completion_rejection.py +60 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_start_gate_phase_status.py +136 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_start_gate_refuses_cross_phase_dirty.py +171 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_state.py +1082 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_status_transition_events_emitted.py +75 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_substrate_soak_docs.py +86 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_substrate_soak_governed.py +64 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_substrate_soak_portal.py +58 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_terminal_summary_mirrors_baml_closeout.py +127 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_v22_e2e.py +165 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_v22_principles.py +149 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_v45_found_contracts.py +176 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_v45_reconcile.py +269 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_v45_sched.py +462 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_v45_schedharden.py +316 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_wave_runner.py +326 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_work_unit_observability.py +303 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_work_unit_runner.py +260 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_work_unit_state.py +92 -0
- phase_loop_runtime-0.2.0/tests/test_phase_loop_worktrees.py +68 -0
- phase_loop_runtime-0.2.0/tests/test_phase_owned_dirty_relaxation.py +118 -0
- phase_loop_runtime-0.2.0/tests/test_phase_worktree_executor.py +361 -0
- phase_loop_runtime-0.2.0/tests/test_pipeline_adapter_branch_ops_create.py +102 -0
- phase_loop_runtime-0.2.0/tests/test_pipeline_adapter_branch_ops_rebase_conflict.py +57 -0
- phase_loop_runtime-0.2.0/tests/test_pipeline_adapter_branch_ops_refuse_default.py +63 -0
- phase_loop_runtime-0.2.0/tests/test_pipeline_adapter_flag.py +122 -0
- phase_loop_runtime-0.2.0/tests/test_pipeline_adapter_markers.py +50 -0
- phase_loop_runtime-0.2.0/tests/test_pipeline_adapter_merge_policy_parse.py +41 -0
- phase_loop_runtime-0.2.0/tests/test_pipeline_adapter_ratification_event_payload.py +33 -0
- phase_loop_runtime-0.2.0/tests/test_pipeline_adapter_ratification_runner.py +70 -0
- phase_loop_runtime-0.2.0/tests/test_pipeline_adapter_ratification_skipped_standalone.py +58 -0
- phase_loop_runtime-0.2.0/tests/test_pipeline_adapter_standalone_regression.py +140 -0
- phase_loop_runtime-0.2.0/tests/test_pkg_layout_freeze.py +118 -0
- phase_loop_runtime-0.2.0/tests/test_plan_ir_iter_waves.py +193 -0
- phase_loop_runtime-0.2.0/tests/test_preflight_verification.py +252 -0
- phase_loop_runtime-0.2.0/tests/test_publishing.py +371 -0
- phase_loop_runtime-0.2.0/tests/test_reconcile_manifest_dedup_46.py +75 -0
- phase_loop_runtime-0.2.0/tests/test_reconcile_verification_log.py +144 -0
- phase_loop_runtime-0.2.0/tests/test_reflection_sync.py +155 -0
- phase_loop_runtime-0.2.0/tests/test_repo_validation.py +277 -0
- phase_loop_runtime-0.2.0/tests/test_review_summary.py +164 -0
- phase_loop_runtime-0.2.0/tests/test_route_log.py +70 -0
- phase_loop_runtime-0.2.0/tests/test_route_policy_conformance.py +152 -0
- phase_loop_runtime-0.2.0/tests/test_routing_invariants.py +138 -0
- phase_loop_runtime-0.2.0/tests/test_runtime_state_mirror_agreement.py +46 -0
- phase_loop_runtime-0.2.0/tests/test_sibling_matcher_patterns.py +68 -0
- phase_loop_runtime-0.2.0/tests/test_skill_bundle_pinned.py +113 -0
- phase_loop_runtime-0.2.0/tests/test_skill_install_body_expansion.py +109 -0
- phase_loop_runtime-0.2.0/tests/test_skill_plan_manifest_write.py +291 -0
- phase_loop_runtime-0.2.0/tests/test_skill_sources_seam.py +251 -0
- phase_loop_runtime-0.2.0/tests/test_skills_bundle_drift.py +64 -0
- phase_loop_runtime-0.2.0/tests/test_skills_canon_parity.py +351 -0
- phase_loop_runtime-0.2.0/tests/test_skills_src_claude_literal_lint.py +76 -0
- phase_loop_runtime-0.2.0/tests/test_sync_skills_apply_failloud.py +128 -0
- phase_loop_runtime-0.2.0/tests/test_train_e2e.py +621 -0
- phase_loop_runtime-0.2.0/tests/test_train_invariants.py +1298 -0
- phase_loop_runtime-0.2.0/tests/test_train_merge.py +1505 -0
- phase_loop_runtime-0.2.0/tests/test_train_order_only_deps_47.py +161 -0
- phase_loop_runtime-0.2.0/tests/test_train_roadmap.py +813 -0
- phase_loop_runtime-0.2.0/tests/test_train_runner.py +2601 -0
- phase_loop_runtime-0.2.0/tests/test_v34_parallel_dispatch_soak.py +159 -0
- phase_loop_runtime-0.2.0/tests/test_validate_plan_doc_docs_lane.py +345 -0
- phase_loop_runtime-0.2.0/tests/test_verification_evidence.py +154 -0
- phase_loop_runtime-0.2.0/tests/test_verification_evidence_validator.py +93 -0
- phase_loop_runtime-0.2.0/tests/test_visual_evidence_validator.py +61 -0
- phase_loop_runtime-0.2.0/tests/test_workerpool_failure_isolation.py +86 -0
- phase_loop_runtime-0.2.0/tests/test_workerpool_parallel.py +47 -0
- phase_loop_runtime-0.2.0/tests/test_workerpool_worktree_alloc.py +38 -0
- phase_loop_runtime-0.2.0/tests/test_worktree_index.py +175 -0
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: phase-loop-runtime
|
|
3
|
+
Version: 0.2.0
|
|
4
|
+
Summary: Harness-neutral phase-loop orchestration runtime and CLI
|
|
5
|
+
Author: ViperJuice
|
|
6
|
+
License-Expression: Apache-2.0
|
|
7
|
+
Project-URL: Homepage, https://github.com/ViperJuice/agent-harness
|
|
8
|
+
Project-URL: Repository, https://github.com/ViperJuice/agent-harness
|
|
9
|
+
Project-URL: Issues, https://github.com/ViperJuice/agent-harness/issues
|
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Topic :: Software Development :: Build Tools
|
|
16
|
+
Requires-Python: >=3.10
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
Requires-Dist: baml-py<0.223,>=0.222
|
|
19
|
+
Requires-Dist: pydantic<3,>=2
|
|
20
|
+
Requires-Dist: PyYAML<7,>=6
|
|
21
|
+
Requires-Dist: consiliency-contract<0.5.0,>=0.3.0
|
|
22
|
+
Requires-Dist: jsonschema<5,>=4
|
|
23
|
+
Requires-Dist: tomli<3,>=2; python_version < "3.11"
|
|
24
|
+
|
|
25
|
+
# phase-loop-runtime
|
|
26
|
+
|
|
27
|
+
The harness-neutral **phase-loop** orchestration runtime and CLI. It drives the
|
|
28
|
+
roadmap → plan → execute workflow by dispatching each phase to whatever harness you
|
|
29
|
+
choose (Claude / Codex / Gemini / OpenCode); the runtime itself makes no model calls.
|
|
30
|
+
Part of the public [`agent-harness`](https://github.com/ViperJuice/agent-harness)
|
|
31
|
+
monorepo (Apache-2.0).
|
|
32
|
+
|
|
33
|
+
## Install
|
|
34
|
+
|
|
35
|
+
Most users should use the repo's installer (it also installs the workflow skills):
|
|
36
|
+
|
|
37
|
+
```sh
|
|
38
|
+
git clone https://github.com/ViperJuice/agent-harness
|
|
39
|
+
agent-harness/install-agent-harness.sh --harness claude
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
To install just this runtime package directly (e.g. as a pinned dependency):
|
|
43
|
+
|
|
44
|
+
```sh
|
|
45
|
+
# isolated tool install:
|
|
46
|
+
uv tool install "git+https://github.com/ViperJuice/agent-harness@v0.1.5#subdirectory=phase-loop-runtime"
|
|
47
|
+
# …or into the current environment:
|
|
48
|
+
pip install "git+https://github.com/ViperJuice/agent-harness@v0.1.5#subdirectory=phase-loop-runtime"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
This exposes two console scripts — `phase-loop` and `codex-phase-loop` — both calling
|
|
52
|
+
`phase_loop_runtime.cli:main`. The canonical protocol document ships in the wheel as
|
|
53
|
+
package data and is also installed to `share/phase-loop-runtime/protocol/protocol.md`.
|
|
54
|
+
|
|
55
|
+
## Roadmap validation
|
|
56
|
+
|
|
57
|
+
Lint a phase-plan roadmap spec (required headings, unique aliases, acyclic dependency
|
|
58
|
+
DAG, IF-gate reconciliation, lane-count hints) via the always-installed runtime:
|
|
59
|
+
|
|
60
|
+
```sh
|
|
61
|
+
phase-loop validate-roadmap specs/phase-plans-v1.md
|
|
62
|
+
# module form — only when phase_loop_runtime is on the ACTIVE python's path (a pip
|
|
63
|
+
# install into your env); under `uv tool install` isolation use the console command:
|
|
64
|
+
python3 -m phase_loop_runtime.roadmap_lint specs/phase-plans-v1.md
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Both wrap `phase_loop_runtime.roadmap_lint` (the single source of truth). Exit 0 =
|
|
68
|
+
clean; non-zero prints each issue on stderr.
|
|
69
|
+
|
|
70
|
+
## Workflow skills bundle
|
|
71
|
+
|
|
72
|
+
The runtime also installs the harness-neutral workflow-skills bundle. The skill
|
|
73
|
+
sources live in the sibling [`phase-loop-skills/`](../phase-loop-skills) directory,
|
|
74
|
+
with unprefixed base directories and optional `_overrides/<harness>/` overlays.
|
|
75
|
+
|
|
76
|
+
```sh
|
|
77
|
+
phase-loop install --harness codex --source <path-to>/phase-loop-skills --symlink --dry-run
|
|
78
|
+
phase-loop install --harness codex --source <path-to>/phase-loop-skills --symlink --apply
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Path resolution is provided by `phase_loop_runtime.skill_paths`, which keeps handoffs
|
|
82
|
+
repo-local, preserves harness-specific reflection roots, and documents the default
|
|
83
|
+
install roots for Claude, Codex, Gemini, and OpenCode.
|
|
84
|
+
|
|
85
|
+
## Closeout ownership gate & operator break-glass
|
|
86
|
+
|
|
87
|
+
When a phase verifies green but the executor touched files outside the plan's declared
|
|
88
|
+
owned-files globs, the **graduated closeout gate** classifies the beyond-ownership
|
|
89
|
+
remainder (`closeout_classifier.classify_unowned_path`):
|
|
90
|
+
|
|
91
|
+
- SAFE classes (`docs`, `plans`, `handoffs`, `config_nonsource`) auto-commit as a
|
|
92
|
+
recorded `soft` exception.
|
|
93
|
+
- UNSAFE classes (`source`, `ci`, `secrets`, `lockfile`) block with
|
|
94
|
+
`closeout_scope_violation`.
|
|
95
|
+
|
|
96
|
+
The operator escape is `phase-loop run --phase <P> --closeout-allow-unowned "<reason>"`
|
|
97
|
+
(also valid on `resume`/`dry-run`; reason required and non-empty; `--phase` required,
|
|
98
|
+
bounding the override to a single phase). It folds the `source`/`ci`/`lockfile`
|
|
99
|
+
remainder into the closeout commit as a recorded `break_glass` exception carrying the
|
|
100
|
+
reason. **`secrets` are never break-glassable** — a `.env*`/`*.pem`/`secrets/**` path
|
|
101
|
+
blocks regardless of the reason. See `protocol.md` → "Closeout Exceptions".
|
|
102
|
+
|
|
103
|
+
The closeout verdict is runner-authoritative: when the runner rejects a child's
|
|
104
|
+
closeout, the persisted `terminal-summary.json` reflects the runner's blocking verdict
|
|
105
|
+
(the child's self-reported `complete`/`passed` is not overlaid back), preventing a
|
|
106
|
+
stale "complete" summary from reconcile-skipping the work on the next run.
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# phase-loop-runtime
|
|
2
|
+
|
|
3
|
+
The harness-neutral **phase-loop** orchestration runtime and CLI. It drives the
|
|
4
|
+
roadmap → plan → execute workflow by dispatching each phase to whatever harness you
|
|
5
|
+
choose (Claude / Codex / Gemini / OpenCode); the runtime itself makes no model calls.
|
|
6
|
+
Part of the public [`agent-harness`](https://github.com/ViperJuice/agent-harness)
|
|
7
|
+
monorepo (Apache-2.0).
|
|
8
|
+
|
|
9
|
+
## Install
|
|
10
|
+
|
|
11
|
+
Most users should use the repo's installer (it also installs the workflow skills):
|
|
12
|
+
|
|
13
|
+
```sh
|
|
14
|
+
git clone https://github.com/ViperJuice/agent-harness
|
|
15
|
+
agent-harness/install-agent-harness.sh --harness claude
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
To install just this runtime package directly (e.g. as a pinned dependency):
|
|
19
|
+
|
|
20
|
+
```sh
|
|
21
|
+
# isolated tool install:
|
|
22
|
+
uv tool install "git+https://github.com/ViperJuice/agent-harness@v0.1.5#subdirectory=phase-loop-runtime"
|
|
23
|
+
# …or into the current environment:
|
|
24
|
+
pip install "git+https://github.com/ViperJuice/agent-harness@v0.1.5#subdirectory=phase-loop-runtime"
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
This exposes two console scripts — `phase-loop` and `codex-phase-loop` — both calling
|
|
28
|
+
`phase_loop_runtime.cli:main`. The canonical protocol document ships in the wheel as
|
|
29
|
+
package data and is also installed to `share/phase-loop-runtime/protocol/protocol.md`.
|
|
30
|
+
|
|
31
|
+
## Roadmap validation
|
|
32
|
+
|
|
33
|
+
Lint a phase-plan roadmap spec (required headings, unique aliases, acyclic dependency
|
|
34
|
+
DAG, IF-gate reconciliation, lane-count hints) via the always-installed runtime:
|
|
35
|
+
|
|
36
|
+
```sh
|
|
37
|
+
phase-loop validate-roadmap specs/phase-plans-v1.md
|
|
38
|
+
# module form — only when phase_loop_runtime is on the ACTIVE python's path (a pip
|
|
39
|
+
# install into your env); under `uv tool install` isolation use the console command:
|
|
40
|
+
python3 -m phase_loop_runtime.roadmap_lint specs/phase-plans-v1.md
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Both wrap `phase_loop_runtime.roadmap_lint` (the single source of truth). Exit 0 =
|
|
44
|
+
clean; non-zero prints each issue on stderr.
|
|
45
|
+
|
|
46
|
+
## Workflow skills bundle
|
|
47
|
+
|
|
48
|
+
The runtime also installs the harness-neutral workflow-skills bundle. The skill
|
|
49
|
+
sources live in the sibling [`phase-loop-skills/`](../phase-loop-skills) directory,
|
|
50
|
+
with unprefixed base directories and optional `_overrides/<harness>/` overlays.
|
|
51
|
+
|
|
52
|
+
```sh
|
|
53
|
+
phase-loop install --harness codex --source <path-to>/phase-loop-skills --symlink --dry-run
|
|
54
|
+
phase-loop install --harness codex --source <path-to>/phase-loop-skills --symlink --apply
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Path resolution is provided by `phase_loop_runtime.skill_paths`, which keeps handoffs
|
|
58
|
+
repo-local, preserves harness-specific reflection roots, and documents the default
|
|
59
|
+
install roots for Claude, Codex, Gemini, and OpenCode.
|
|
60
|
+
|
|
61
|
+
## Closeout ownership gate & operator break-glass
|
|
62
|
+
|
|
63
|
+
When a phase verifies green but the executor touched files outside the plan's declared
|
|
64
|
+
owned-files globs, the **graduated closeout gate** classifies the beyond-ownership
|
|
65
|
+
remainder (`closeout_classifier.classify_unowned_path`):
|
|
66
|
+
|
|
67
|
+
- SAFE classes (`docs`, `plans`, `handoffs`, `config_nonsource`) auto-commit as a
|
|
68
|
+
recorded `soft` exception.
|
|
69
|
+
- UNSAFE classes (`source`, `ci`, `secrets`, `lockfile`) block with
|
|
70
|
+
`closeout_scope_violation`.
|
|
71
|
+
|
|
72
|
+
The operator escape is `phase-loop run --phase <P> --closeout-allow-unowned "<reason>"`
|
|
73
|
+
(also valid on `resume`/`dry-run`; reason required and non-empty; `--phase` required,
|
|
74
|
+
bounding the override to a single phase). It folds the `source`/`ci`/`lockfile`
|
|
75
|
+
remainder into the closeout commit as a recorded `break_glass` exception carrying the
|
|
76
|
+
reason. **`secrets` are never break-glassable** — a `.env*`/`*.pem`/`secrets/**` path
|
|
77
|
+
blocks regardless of the reason. See `protocol.md` → "Closeout Exceptions".
|
|
78
|
+
|
|
79
|
+
The closeout verdict is runner-authoritative: when the runner rejects a child's
|
|
80
|
+
closeout, the persisted `terminal-summary.json` reflects the runner's blocking verdict
|
|
81
|
+
(the child's self-reported `complete`/`passed` is not overlaid back), preventing a
|
|
82
|
+
stale "complete" summary from reconcile-skipping the work on the next run.
|