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.
Files changed (632) hide show
  1. phase_loop_runtime-0.2.0/MANIFEST.in +5 -0
  2. phase_loop_runtime-0.2.0/PKG-INFO +106 -0
  3. phase_loop_runtime-0.2.0/README.md +82 -0
  4. phase_loop_runtime-0.2.0/protocol/protocol.md +2475 -0
  5. phase_loop_runtime-0.2.0/pyproject.toml +106 -0
  6. phase_loop_runtime-0.2.0/setup.cfg +4 -0
  7. phase_loop_runtime-0.2.0/src/phase_loop_runtime/__init__.py +20 -0
  8. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_contract_docs/phase-loop/extraction-readiness.md +90 -0
  9. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_contract_docs/phase-loop/granular-execution-policy.md +137 -0
  10. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_contract_docs/phase-loop/harness-capability-matrix.md +510 -0
  11. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_contract_docs/phase-loop/harness-skill-matrix.md +125 -0
  12. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_contract_docs/phase-loop/harness-substrate-manifest.md +232 -0
  13. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_contract_docs/phase-loop/pi-loop-control.md +247 -0
  14. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_contract_docs/phase-loop/protocol.md +2759 -0
  15. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_contract_docs/phase-loop/runtime-boundary.md +289 -0
  16. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_contract_docs/phase-loop/spec-discovery-roots.md +47 -0
  17. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_contract_docs/phase-loop/substrate-soak-governed-pipeline.md +42 -0
  18. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_contract_docs/phase-loop/substrate-soak-portal-projection.md +34 -0
  19. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_contract_docs/phase-loop/substrate-soak-regenesis.md +29 -0
  20. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_contract_docs/phase-loop/substrate-soak-report.md +32 -0
  21. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_contract_docs/runtime/verification-evidence-contract.md +52 -0
  22. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-mixed-signals/commands.txt +2 -0
  23. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-mixed-signals/manifest.json +16 -0
  24. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-mixed-signals/mixed.json +5 -0
  25. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-provider-timeout/manifest.json +16 -0
  26. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-provider-timeout/timeout-note.txt +2 -0
  27. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-redacted-summary/manifest.json +16 -0
  28. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-redacted-summary/redacted-summary.json +6 -0
  29. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-small-sample/manifest.json +16 -0
  30. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-small-sample/sample.json +7 -0
  31. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-threshold-edge/edge.txt +2 -0
  32. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-threshold-edge/manifest.json +16 -0
  33. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-duplicate-png/manifest.json +16 -0
  34. 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
  35. 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
  36. 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
  37. 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
  38. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-missing-references/manifest.json +16 -0
  39. 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
  40. 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
  41. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-templated-prose/findings.md +10 -0
  42. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-templated-prose/manifest.json +16 -0
  43. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-uniform-scores/manifest.json +16 -0
  44. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-uniform-scores/scores.json +4 -0
  45. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-uniform-scores/summary.txt +1 -0
  46. 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
  47. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-adoption-bundle/manifest.json +16 -0
  48. 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
  49. 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
  50. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-handoff-ledger/manifest.json +16 -0
  51. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-handoff-ledger/receipt.txt +1 -0
  52. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-runner-diff/evidence.json +13 -0
  53. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-runner-diff/manifest.json +16 -0
  54. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-runner-diff/summary.txt +2 -0
  55. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-test-matrix/manifest.json +16 -0
  56. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-test-matrix/matrix.json +9 -0
  57. phase_loop_runtime-0.2.0/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-test-matrix/notes.md +4 -0
  58. 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
  59. 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
  60. 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
  61. phase_loop_runtime-0.2.0/src/phase_loop_runtime/adoption_bundle.py +273 -0
  62. phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/CONTRACTS.md +257 -0
  63. phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/__init__.py +288 -0
  64. phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/backing.py +137 -0
  65. phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/backing_omnigent.py +498 -0
  66. phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/config.py +225 -0
  67. phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/events.py +115 -0
  68. phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/fixtures/advisor-boards.example.toml +59 -0
  69. phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/fixtures.py +91 -0
  70. phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/harness_mapping.py +125 -0
  71. phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/matrix.py +146 -0
  72. phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/observability.py +481 -0
  73. phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/presets.py +188 -0
  74. phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/registries.py +309 -0
  75. phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/resolver.py +253 -0
  76. phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/schema.py +269 -0
  77. phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/standin.py +166 -0
  78. phase_loop_runtime-0.2.0/src/phase_loop_runtime/advisor_board/validation.py +159 -0
  79. phase_loop_runtime-0.2.0/src/phase_loop_runtime/agent_runtime_provider.py +676 -0
  80. phase_loop_runtime-0.2.0/src/phase_loop_runtime/baml_modular.py +656 -0
  81. phase_loop_runtime-0.2.0/src/phase_loop_runtime/baml_src/dotfiles_adoption_manifest.baml +37 -0
  82. phase_loop_runtime-0.2.0/src/phase_loop_runtime/baml_src/dotfiles_c4_document.baml +14 -0
  83. phase_loop_runtime-0.2.0/src/phase_loop_runtime/baml_src/dotfiles_plan_manifest.baml +50 -0
  84. phase_loop_runtime-0.2.0/src/phase_loop_runtime/baml_src/dotfiles_runtime_projection.baml +16 -0
  85. phase_loop_runtime-0.2.0/src/phase_loop_runtime/baml_src/dotfiles_task_catalog.baml +20 -0
  86. phase_loop_runtime-0.2.0/src/phase_loop_runtime/baml_src/emit_phase_closeout.baml +86 -0
  87. phase_loop_runtime-0.2.0/src/phase_loop_runtime/baml_src/evaluate_suspected_fake_evidence.baml +36 -0
  88. phase_loop_runtime-0.2.0/src/phase_loop_runtime/baml_src/verification_evidence.baml +40 -0
  89. phase_loop_runtime-0.2.0/src/phase_loop_runtime/broker.py +181 -0
  90. phase_loop_runtime-0.2.0/src/phase_loop_runtime/build_bundle.py +294 -0
  91. phase_loop_runtime-0.2.0/src/phase_loop_runtime/capability_registry.py +835 -0
  92. phase_loop_runtime-0.2.0/src/phase_loop_runtime/classifier.py +87 -0
  93. phase_loop_runtime-0.2.0/src/phase_loop_runtime/claude_agent_view.py +625 -0
  94. phase_loop_runtime-0.2.0/src/phase_loop_runtime/claude_channel_sidecar.py +1086 -0
  95. phase_loop_runtime-0.2.0/src/phase_loop_runtime/cli.py +2599 -0
  96. phase_loop_runtime-0.2.0/src/phase_loop_runtime/closeout.py +865 -0
  97. phase_loop_runtime-0.2.0/src/phase_loop_runtime/closeout_classifier.py +120 -0
  98. phase_loop_runtime-0.2.0/src/phase_loop_runtime/closeout_evidence_audit.py +112 -0
  99. phase_loop_runtime-0.2.0/src/phase_loop_runtime/closeout_validation.py +144 -0
  100. phase_loop_runtime-0.2.0/src/phase_loop_runtime/closeout_validators.py +203 -0
  101. phase_loop_runtime-0.2.0/src/phase_loop_runtime/consiliency_gates.py +374 -0
  102. phase_loop_runtime-0.2.0/src/phase_loop_runtime/consiliency_ingest.py +399 -0
  103. phase_loop_runtime-0.2.0/src/phase_loop_runtime/consiliency_layout.py +176 -0
  104. phase_loop_runtime-0.2.0/src/phase_loop_runtime/consiliency_scaffold.py +305 -0
  105. phase_loop_runtime-0.2.0/src/phase_loop_runtime/cross_repo_channel.py +331 -0
  106. phase_loop_runtime-0.2.0/src/phase_loop_runtime/discovery.py +2368 -0
  107. phase_loop_runtime-0.2.0/src/phase_loop_runtime/dispatch_lock.py +167 -0
  108. phase_loop_runtime-0.2.0/src/phase_loop_runtime/doc_delta_validator.py +98 -0
  109. phase_loop_runtime-0.2.0/src/phase_loop_runtime/docs_audit.py +285 -0
  110. phase_loop_runtime-0.2.0/src/phase_loop_runtime/docs_freshness.py +468 -0
  111. phase_loop_runtime-0.2.0/src/phase_loop_runtime/docs_surfaces.py +150 -0
  112. phase_loop_runtime-0.2.0/src/phase_loop_runtime/dotfiles_profile_plugin.py +96 -0
  113. phase_loop_runtime-0.2.0/src/phase_loop_runtime/events.py +154 -0
  114. phase_loop_runtime-0.2.0/src/phase_loop_runtime/events_migration.py +96 -0
  115. phase_loop_runtime-0.2.0/src/phase_loop_runtime/evidence_audit.py +1082 -0
  116. phase_loop_runtime-0.2.0/src/phase_loop_runtime/evidence_audit_config.py +172 -0
  117. phase_loop_runtime-0.2.0/src/phase_loop_runtime/fleet_map.py +426 -0
  118. phase_loop_runtime-0.2.0/src/phase_loop_runtime/fleet_metrics.py +298 -0
  119. phase_loop_runtime-0.2.0/src/phase_loop_runtime/fleet_metrics_export.py +196 -0
  120. phase_loop_runtime-0.2.0/src/phase_loop_runtime/git_discipline.py +479 -0
  121. phase_loop_runtime-0.2.0/src/phase_loop_runtime/git_ops.py +122 -0
  122. phase_loop_runtime-0.2.0/src/phase_loop_runtime/git_topology.py +252 -0
  123. phase_loop_runtime-0.2.0/src/phase_loop_runtime/governed_bundle.py +137 -0
  124. phase_loop_runtime-0.2.0/src/phase_loop_runtime/governed_premerge.py +219 -0
  125. phase_loop_runtime-0.2.0/src/phase_loop_runtime/governed_review.py +264 -0
  126. phase_loop_runtime-0.2.0/src/phase_loop_runtime/handoff.py +932 -0
  127. phase_loop_runtime-0.2.0/src/phase_loop_runtime/handoff_path.py +14 -0
  128. phase_loop_runtime-0.2.0/src/phase_loop_runtime/injection.py +740 -0
  129. phase_loop_runtime-0.2.0/src/phase_loop_runtime/install_status.py +88 -0
  130. phase_loop_runtime-0.2.0/src/phase_loop_runtime/lane_scheduler.py +317 -0
  131. phase_loop_runtime-0.2.0/src/phase_loop_runtime/launcher.py +2760 -0
  132. phase_loop_runtime-0.2.0/src/phase_loop_runtime/lease_store.py +553 -0
  133. phase_loop_runtime-0.2.0/src/phase_loop_runtime/maintenance.py +401 -0
  134. phase_loop_runtime-0.2.0/src/phase_loop_runtime/migrate_handoffs.py +201 -0
  135. phase_loop_runtime-0.2.0/src/phase_loop_runtime/models.py +2144 -0
  136. phase_loop_runtime-0.2.0/src/phase_loop_runtime/observability.py +1290 -0
  137. phase_loop_runtime-0.2.0/src/phase_loop_runtime/panel_invoker.py +1638 -0
  138. phase_loop_runtime-0.2.0/src/phase_loop_runtime/phase_loop_drift_audit.py +388 -0
  139. phase_loop_runtime-0.2.0/src/phase_loop_runtime/phase_worktree_executor.py +433 -0
  140. phase_loop_runtime-0.2.0/src/phase_loop_runtime/pipeline_adapter/__init__.py +12 -0
  141. phase_loop_runtime-0.2.0/src/phase_loop_runtime/pipeline_adapter/branch_ops.py +274 -0
  142. phase_loop_runtime-0.2.0/src/phase_loop_runtime/pipeline_adapter/flag.py +55 -0
  143. phase_loop_runtime-0.2.0/src/phase_loop_runtime/pipeline_adapter/markers.py +13 -0
  144. phase_loop_runtime-0.2.0/src/phase_loop_runtime/pipeline_adapter/merge_policy.py +72 -0
  145. phase_loop_runtime-0.2.0/src/phase_loop_runtime/pipeline_adapter/ratification.py +100 -0
  146. phase_loop_runtime-0.2.0/src/phase_loop_runtime/pipeline_adapter/sibling_matcher.py +123 -0
  147. phase_loop_runtime-0.2.0/src/phase_loop_runtime/plan_ir.py +523 -0
  148. phase_loop_runtime-0.2.0/src/phase_loop_runtime/plan_manifest.py +415 -0
  149. phase_loop_runtime-0.2.0/src/phase_loop_runtime/planner_validation.py +176 -0
  150. phase_loop_runtime-0.2.0/src/phase_loop_runtime/profiles.py +462 -0
  151. phase_loop_runtime-0.2.0/src/phase_loop_runtime/prompts.py +365 -0
  152. phase_loop_runtime-0.2.0/src/phase_loop_runtime/provenance.py +165 -0
  153. phase_loop_runtime-0.2.0/src/phase_loop_runtime/publishing.py +339 -0
  154. phase_loop_runtime-0.2.0/src/phase_loop_runtime/py.typed +1 -0
  155. phase_loop_runtime-0.2.0/src/phase_loop_runtime/reconcile.py +1550 -0
  156. phase_loop_runtime-0.2.0/src/phase_loop_runtime/redaction.py +184 -0
  157. phase_loop_runtime-0.2.0/src/phase_loop_runtime/reflection_sync.py +293 -0
  158. phase_loop_runtime-0.2.0/src/phase_loop_runtime/release_guard.py +186 -0
  159. phase_loop_runtime-0.2.0/src/phase_loop_runtime/render.py +432 -0
  160. phase_loop_runtime-0.2.0/src/phase_loop_runtime/repo_validation.py +427 -0
  161. phase_loop_runtime-0.2.0/src/phase_loop_runtime/review_summary.py +150 -0
  162. phase_loop_runtime-0.2.0/src/phase_loop_runtime/roadmap_lint.py +425 -0
  163. phase_loop_runtime-0.2.0/src/phase_loop_runtime/route_log.py +59 -0
  164. phase_loop_runtime-0.2.0/src/phase_loop_runtime/route_policy/__init__.py +11 -0
  165. phase_loop_runtime-0.2.0/src/phase_loop_runtime/route_policy/fixtures/route_selection.golden.json +263 -0
  166. phase_loop_runtime-0.2.0/src/phase_loop_runtime/runner.py +8400 -0
  167. phase_loop_runtime-0.2.0/src/phase_loop_runtime/runtime_paths.py +225 -0
  168. phase_loop_runtime-0.2.0/src/phase_loop_runtime/runtime_projection.py +113 -0
  169. phase_loop_runtime-0.2.0/src/phase_loop_runtime/runtime_resources.py +36 -0
  170. phase_loop_runtime-0.2.0/src/phase_loop_runtime/schema_export.py +292 -0
  171. phase_loop_runtime-0.2.0/src/phase_loop_runtime/schemas/phase_loop_closeout.schema.json +366 -0
  172. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skill_install.py +176 -0
  173. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skill_inventory.py +662 -0
  174. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skill_paths.py +42 -0
  175. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skill_sources_plugin.py +37 -0
  176. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-advisor-board/README.md +1 -0
  177. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-advisor-board/SKILL.md +38 -0
  178. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-advisor-panel/README.md +1 -0
  179. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-advisor-panel/SKILL.md +38 -0
  180. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-execute-detailed/README.md +1 -0
  181. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-execute-detailed/SKILL.md +152 -0
  182. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-execute-phase/README.md +1 -0
  183. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-execute-phase/SKILL.md +745 -0
  184. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/allocate_worktree_name.sh +33 -0
  185. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/audit_lane_file_touches.py +197 -0
  186. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/cleanup_lane_worktrees.sh +103 -0
  187. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/parent_tree_leakage_check.sh +125 -0
  188. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/post_merge_import_smoke.sh +62 -0
  189. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/pre_merge_destructiveness_check.sh +127 -0
  190. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/resolve_branch_from_sha.sh +51 -0
  191. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/state.py +274 -0
  192. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/sweep_stale_worktrees.sh +62 -0
  193. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/team_teardown.sh +32 -0
  194. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/validate_plan_doc.py +642 -0
  195. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/verify_harness.sh +96 -0
  196. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-phase-loop/README.md +1 -0
  197. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-phase-loop/SKILL.md +115 -0
  198. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-phase-roadmap-builder/README.md +1 -0
  199. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-phase-roadmap-builder/SKILL.md +439 -0
  200. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-phase-roadmap-builder/assets/review_prompt.md +19 -0
  201. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-phase-roadmap-builder/references/parallelization-heuristics.md +111 -0
  202. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-phase-roadmap-builder/references/roadmap-template.md +193 -0
  203. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-phase-roadmap-builder/scripts/validate_roadmap.py +32 -0
  204. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-plan-detailed/README.md +1 -0
  205. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-plan-detailed/SKILL.md +334 -0
  206. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-plan-detailed/assets/review_prompt.md +25 -0
  207. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-plan-phase/README.md +1 -0
  208. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-plan-phase/SKILL.md +776 -0
  209. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-plan-phase/assets/review_prompt.md +17 -0
  210. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-plan-phase/scripts/validate_plan_doc.py +1092 -0
  211. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-run-train/README.md +1 -0
  212. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-run-train/SKILL.md +75 -0
  213. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-skill-editor/README.md +1 -0
  214. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-skill-editor/SKILL.md +243 -0
  215. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-skill-editor/assets/editor_prompt.md +72 -0
  216. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-skill-improvement-planner/README.md +1 -0
  217. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-skill-improvement-planner/SKILL.md +249 -0
  218. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-skill-improvement-planner/assets/aggregator_prompt.md +79 -0
  219. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-task-contextualizer/README.md +1 -0
  220. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-task-contextualizer/SKILL.md +74 -0
  221. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/claude-task-contextualizer/references/task-templates.md +103 -0
  222. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-advisor-board/README.md +1 -0
  223. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-advisor-board/SKILL.md +38 -0
  224. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-advisor-panel/README.md +1 -0
  225. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-advisor-panel/SKILL.md +38 -0
  226. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-execute-detailed/README.md +1 -0
  227. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-execute-detailed/SKILL.md +154 -0
  228. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-execute-phase/README.md +1 -0
  229. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-execute-phase/SKILL.md +231 -0
  230. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/allocate_worktree_name.sh +33 -0
  231. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/audit_lane_file_touches.py +197 -0
  232. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/cleanup_lane_worktrees.sh +103 -0
  233. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/parent_tree_leakage_check.sh +125 -0
  234. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/post_merge_import_smoke.sh +62 -0
  235. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/pre_merge_destructiveness_check.sh +127 -0
  236. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/resolve_branch_from_sha.sh +51 -0
  237. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/state.py +274 -0
  238. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/sweep_stale_worktrees.sh +62 -0
  239. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/team_teardown.sh +32 -0
  240. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/validate_plan_doc.py +642 -0
  241. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/verify_harness.sh +96 -0
  242. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-phase-loop/README.md +1 -0
  243. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-phase-loop/SKILL.md +248 -0
  244. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-phase-roadmap-builder/README.md +1 -0
  245. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-phase-roadmap-builder/SKILL.md +150 -0
  246. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-phase-roadmap-builder/assets/review_prompt.md +19 -0
  247. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-phase-roadmap-builder/references/parallelization-heuristics.md +111 -0
  248. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-phase-roadmap-builder/references/roadmap-template.md +193 -0
  249. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-phase-roadmap-builder/scripts/validate_roadmap.py +32 -0
  250. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-plan-detailed/README.md +1 -0
  251. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-plan-detailed/SKILL.md +119 -0
  252. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-plan-detailed/assets/review_prompt.md +25 -0
  253. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-plan-phase/README.md +1 -0
  254. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-plan-phase/SKILL.md +307 -0
  255. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-plan-phase/assets/review_prompt.md +17 -0
  256. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-plan-phase/scripts/validate_plan_doc.py +1092 -0
  257. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-run-train/README.md +1 -0
  258. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-run-train/SKILL.md +75 -0
  259. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-skill-editor/README.md +1 -0
  260. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-skill-editor/SKILL.md +94 -0
  261. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-skill-editor/assets/editor_prompt.md +72 -0
  262. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-skill-improvement-planner/README.md +1 -0
  263. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-skill-improvement-planner/SKILL.md +114 -0
  264. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-skill-improvement-planner/assets/aggregator_prompt.md +79 -0
  265. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-task-contextualizer/README.md +1 -0
  266. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-task-contextualizer/SKILL.md +102 -0
  267. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/codex-task-contextualizer/references/task-templates.md +103 -0
  268. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-advisor-board/README.md +1 -0
  269. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-advisor-board/SKILL.md +38 -0
  270. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-advisor-panel/README.md +1 -0
  271. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-advisor-panel/SKILL.md +38 -0
  272. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-execute-detailed/README.md +1 -0
  273. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-execute-detailed/SKILL.md +144 -0
  274. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/README.md +1 -0
  275. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/SKILL.md +198 -0
  276. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/allocate_worktree_name.sh +33 -0
  277. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/audit_lane_file_touches.py +197 -0
  278. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/cleanup_lane_worktrees.sh +103 -0
  279. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/parent_tree_leakage_check.sh +125 -0
  280. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/post_merge_import_smoke.sh +62 -0
  281. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/pre_merge_destructiveness_check.sh +127 -0
  282. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/resolve_branch_from_sha.sh +51 -0
  283. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/state.py +274 -0
  284. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/sweep_stale_worktrees.sh +62 -0
  285. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/team_teardown.sh +32 -0
  286. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/validate_plan_doc.py +642 -0
  287. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/verify_harness.sh +96 -0
  288. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-phase-loop/README.md +1 -0
  289. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-phase-loop/SKILL.md +111 -0
  290. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-phase-roadmap-builder/README.md +1 -0
  291. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-phase-roadmap-builder/SKILL.md +147 -0
  292. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-phase-roadmap-builder/assets/review_prompt.md +19 -0
  293. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-phase-roadmap-builder/references/parallelization-heuristics.md +111 -0
  294. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-phase-roadmap-builder/references/roadmap-template.md +193 -0
  295. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-phase-roadmap-builder/scripts/validate_roadmap.py +32 -0
  296. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-plan-detailed/README.md +1 -0
  297. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-plan-detailed/SKILL.md +119 -0
  298. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-plan-detailed/assets/review_prompt.md +25 -0
  299. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-plan-phase/README.md +1 -0
  300. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-plan-phase/SKILL.md +217 -0
  301. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-plan-phase/assets/review_prompt.md +17 -0
  302. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-plan-phase/scripts/validate_plan_doc.py +1092 -0
  303. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-run-train/README.md +1 -0
  304. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-run-train/SKILL.md +75 -0
  305. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-skill-editor/README.md +1 -0
  306. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-skill-editor/SKILL.md +87 -0
  307. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-skill-editor/assets/editor_prompt.md +72 -0
  308. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-skill-improvement-planner/README.md +1 -0
  309. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-skill-improvement-planner/SKILL.md +109 -0
  310. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-skill-improvement-planner/assets/aggregator_prompt.md +79 -0
  311. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-task-contextualizer/README.md +1 -0
  312. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-task-contextualizer/SKILL.md +98 -0
  313. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/gemini-task-contextualizer/references/task-templates.md +103 -0
  314. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-advisor-board/README.md +1 -0
  315. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-advisor-board/SKILL.md +38 -0
  316. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-advisor-panel/README.md +1 -0
  317. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-advisor-panel/SKILL.md +38 -0
  318. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-execute-detailed/README.md +1 -0
  319. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-execute-detailed/SKILL.md +144 -0
  320. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/README.md +1 -0
  321. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/SKILL.md +196 -0
  322. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/allocate_worktree_name.sh +33 -0
  323. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/audit_lane_file_touches.py +197 -0
  324. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/cleanup_lane_worktrees.sh +103 -0
  325. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/parent_tree_leakage_check.sh +125 -0
  326. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/post_merge_import_smoke.sh +62 -0
  327. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/pre_merge_destructiveness_check.sh +127 -0
  328. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/resolve_branch_from_sha.sh +51 -0
  329. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/state.py +274 -0
  330. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/sweep_stale_worktrees.sh +62 -0
  331. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/team_teardown.sh +32 -0
  332. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/validate_plan_doc.py +642 -0
  333. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/verify_harness.sh +96 -0
  334. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-phase-loop/README.md +1 -0
  335. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-phase-loop/SKILL.md +113 -0
  336. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-phase-roadmap-builder/README.md +1 -0
  337. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-phase-roadmap-builder/SKILL.md +147 -0
  338. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-phase-roadmap-builder/assets/review_prompt.md +19 -0
  339. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-phase-roadmap-builder/references/parallelization-heuristics.md +111 -0
  340. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-phase-roadmap-builder/references/roadmap-template.md +193 -0
  341. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-phase-roadmap-builder/scripts/validate_roadmap.py +32 -0
  342. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-plan-detailed/README.md +1 -0
  343. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-plan-detailed/SKILL.md +119 -0
  344. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-plan-detailed/assets/review_prompt.md +25 -0
  345. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-plan-phase/README.md +1 -0
  346. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-plan-phase/SKILL.md +211 -0
  347. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-plan-phase/assets/review_prompt.md +17 -0
  348. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-plan-phase/scripts/validate_plan_doc.py +1092 -0
  349. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-run-train/README.md +1 -0
  350. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-run-train/SKILL.md +75 -0
  351. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-skill-editor/README.md +1 -0
  352. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-skill-editor/SKILL.md +87 -0
  353. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-skill-editor/assets/editor_prompt.md +72 -0
  354. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-skill-improvement-planner/README.md +1 -0
  355. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-skill-improvement-planner/SKILL.md +109 -0
  356. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-skill-improvement-planner/assets/aggregator_prompt.md +79 -0
  357. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-task-contextualizer/README.md +1 -0
  358. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-task-contextualizer/SKILL.md +98 -0
  359. phase_loop_runtime-0.2.0/src/phase_loop_runtime/skills_bundle/opencode-task-contextualizer/references/task-templates.md +103 -0
  360. phase_loop_runtime-0.2.0/src/phase_loop_runtime/state.py +156 -0
  361. phase_loop_runtime-0.2.0/src/phase_loop_runtime/state_degradation.py +136 -0
  362. phase_loop_runtime-0.2.0/src/phase_loop_runtime/state_ops.py +676 -0
  363. phase_loop_runtime-0.2.0/src/phase_loop_runtime/train_ledger.py +215 -0
  364. phase_loop_runtime-0.2.0/src/phase_loop_runtime/train_roadmap.py +339 -0
  365. phase_loop_runtime-0.2.0/src/phase_loop_runtime/train_runner.py +1197 -0
  366. phase_loop_runtime-0.2.0/src/phase_loop_runtime/verification_evidence.py +650 -0
  367. phase_loop_runtime-0.2.0/src/phase_loop_runtime/verification_evidence_validator.py +75 -0
  368. phase_loop_runtime-0.2.0/src/phase_loop_runtime/visual_evidence_validator.py +36 -0
  369. phase_loop_runtime-0.2.0/src/phase_loop_runtime/worker_pool.py +123 -0
  370. phase_loop_runtime-0.2.0/src/phase_loop_runtime/worktree_index.py +270 -0
  371. phase_loop_runtime-0.2.0/src/phase_loop_runtime.egg-info/PKG-INFO +106 -0
  372. phase_loop_runtime-0.2.0/src/phase_loop_runtime.egg-info/SOURCES.txt +630 -0
  373. phase_loop_runtime-0.2.0/src/phase_loop_runtime.egg-info/dependency_links.txt +1 -0
  374. phase_loop_runtime-0.2.0/src/phase_loop_runtime.egg-info/entry_points.txt +9 -0
  375. phase_loop_runtime-0.2.0/src/phase_loop_runtime.egg-info/requires.txt +8 -0
  376. phase_loop_runtime-0.2.0/src/phase_loop_runtime.egg-info/top_level.txt +1 -0
  377. phase_loop_runtime-0.2.0/tests/test_advisor_board_alias_install.py +113 -0
  378. phase_loop_runtime-0.2.0/tests/test_advisor_board_backcompat.py +138 -0
  379. phase_loop_runtime-0.2.0/tests/test_advisor_board_backing_homebrew.py +445 -0
  380. phase_loop_runtime-0.2.0/tests/test_advisor_board_backing_omnigent.py +537 -0
  381. phase_loop_runtime-0.2.0/tests/test_advisor_board_concurrency.py +78 -0
  382. phase_loop_runtime-0.2.0/tests/test_advisor_board_config.py +250 -0
  383. phase_loop_runtime-0.2.0/tests/test_advisor_board_golden.py +378 -0
  384. phase_loop_runtime-0.2.0/tests/test_advisor_board_integration.py +294 -0
  385. phase_loop_runtime-0.2.0/tests/test_advisor_board_matrix.py +117 -0
  386. phase_loop_runtime-0.2.0/tests/test_advisor_board_observability.py +350 -0
  387. phase_loop_runtime-0.2.0/tests/test_advisor_board_presets.py +143 -0
  388. phase_loop_runtime-0.2.0/tests/test_advisor_board_registries.py +120 -0
  389. phase_loop_runtime-0.2.0/tests/test_advisor_board_resolver.py +276 -0
  390. phase_loop_runtime-0.2.0/tests/test_advisor_board_schema.py +210 -0
  391. phase_loop_runtime-0.2.0/tests/test_agent_runtime_provider_cs08.py +305 -0
  392. phase_loop_runtime-0.2.0/tests/test_branchgov_preflight.py +382 -0
  393. phase_loop_runtime-0.2.0/tests/test_cli_train_status_45.py +87 -0
  394. phase_loop_runtime-0.2.0/tests/test_closeout_break_glass_cli.py +100 -0
  395. phase_loop_runtime-0.2.0/tests/test_closeout_classifier.py +86 -0
  396. phase_loop_runtime-0.2.0/tests/test_closeout_convergence_fixes.py +285 -0
  397. phase_loop_runtime-0.2.0/tests/test_closeout_exception_vocab.py +85 -0
  398. phase_loop_runtime-0.2.0/tests/test_closeout_validator_hook.py +158 -0
  399. phase_loop_runtime-0.2.0/tests/test_closeout_verification_gate.py +167 -0
  400. phase_loop_runtime-0.2.0/tests/test_codex_effort_max_clamp_49.py +42 -0
  401. phase_loop_runtime-0.2.0/tests/test_consiliency_dual_layout.py +100 -0
  402. phase_loop_runtime-0.2.0/tests/test_consiliency_gates.py +177 -0
  403. phase_loop_runtime-0.2.0/tests/test_consiliency_ingest.py +313 -0
  404. phase_loop_runtime-0.2.0/tests/test_consiliency_scaffold.py +181 -0
  405. phase_loop_runtime-0.2.0/tests/test_coordinator_wave_loop.py +143 -0
  406. phase_loop_runtime-0.2.0/tests/test_dispatch_lock_cross_roadmap.py +26 -0
  407. phase_loop_runtime-0.2.0/tests/test_dispatch_lock_helper.py +65 -0
  408. phase_loop_runtime-0.2.0/tests/test_dispatch_lock_same_roadmap.py +54 -0
  409. phase_loop_runtime-0.2.0/tests/test_doc_delta_validator.py +190 -0
  410. phase_loop_runtime-0.2.0/tests/test_docs_audit.py +243 -0
  411. phase_loop_runtime-0.2.0/tests/test_docs_freshness.py +392 -0
  412. phase_loop_runtime-0.2.0/tests/test_dotfiles_tree.py +94 -0
  413. phase_loop_runtime-0.2.0/tests/test_execute_phase_handoff_mode.py +68 -0
  414. phase_loop_runtime-0.2.0/tests/test_execution_policy_tiering.py +64 -0
  415. phase_loop_runtime-0.2.0/tests/test_export_schema.py +201 -0
  416. phase_loop_runtime-0.2.0/tests/test_fleet_map.py +152 -0
  417. phase_loop_runtime-0.2.0/tests/test_fleet_metrics.py +201 -0
  418. phase_loop_runtime-0.2.0/tests/test_fleet_metrics_export.py +96 -0
  419. phase_loop_runtime-0.2.0/tests/test_gate_a_wheel_isolation.py +87 -0
  420. phase_loop_runtime-0.2.0/tests/test_git_discipline.py +335 -0
  421. phase_loop_runtime-0.2.0/tests/test_governed_disjointness_model_first.py +121 -0
  422. phase_loop_runtime-0.2.0/tests/test_governed_e2e.py +92 -0
  423. phase_loop_runtime-0.2.0/tests/test_governed_gate_crfixes.py +129 -0
  424. phase_loop_runtime-0.2.0/tests/test_governed_planning_gate.py +126 -0
  425. phase_loop_runtime-0.2.0/tests/test_governed_premerge.py +154 -0
  426. phase_loop_runtime-0.2.0/tests/test_governed_premerge_live.py +292 -0
  427. phase_loop_runtime-0.2.0/tests/test_governed_review.py +155 -0
  428. phase_loop_runtime-0.2.0/tests/test_hotfix_lane.py +124 -0
  429. phase_loop_runtime-0.2.0/tests/test_injection_skill_failloud.py +146 -0
  430. phase_loop_runtime-0.2.0/tests/test_lane_ir_override.py +208 -0
  431. phase_loop_runtime-0.2.0/tests/test_launcher_liveness.py +176 -0
  432. phase_loop_runtime-0.2.0/tests/test_lease_store.py +281 -0
  433. phase_loop_runtime-0.2.0/tests/test_lease_store_conformance.py +110 -0
  434. phase_loop_runtime-0.2.0/tests/test_ledger_serialization.py +246 -0
  435. phase_loop_runtime-0.2.0/tests/test_model_class_policy.py +139 -0
  436. phase_loop_runtime-0.2.0/tests/test_observability_alerting.py +219 -0
  437. phase_loop_runtime-0.2.0/tests/test_panel_advisory_mode_63.py +81 -0
  438. phase_loop_runtime-0.2.0/tests/test_panel_invoker.py +72 -0
  439. phase_loop_runtime-0.2.0/tests/test_panel_invoker_spawn.py +397 -0
  440. phase_loop_runtime-0.2.0/tests/test_panel_invoker_timeout_argv.py +85 -0
  441. phase_loop_runtime-0.2.0/tests/test_panel_leg_auth_preflight_64.py +118 -0
  442. phase_loop_runtime-0.2.0/tests/test_panel_per_leg_model_66.py +86 -0
  443. phase_loop_runtime-0.2.0/tests/test_panel_tui_eof_48.py +74 -0
  444. phase_loop_runtime-0.2.0/tests/test_panel_verdict_summary.py +50 -0
  445. phase_loop_runtime-0.2.0/tests/test_parallel_dispatch_backcompat.py +47 -0
  446. phase_loop_runtime-0.2.0/tests/test_parallel_dispatch_cli.py +39 -0
  447. phase_loop_runtime-0.2.0/tests/test_phase_loop_adoption_bundle.py +291 -0
  448. phase_loop_runtime-0.2.0/tests/test_phase_loop_adoption_bundle_cli.py +223 -0
  449. phase_loop_runtime-0.2.0/tests/test_phase_loop_baml_dependency.py +44 -0
  450. phase_loop_runtime-0.2.0/tests/test_phase_loop_baml_end_to_end.py +101 -0
  451. phase_loop_runtime-0.2.0/tests/test_phase_loop_baml_injection.py +138 -0
  452. phase_loop_runtime-0.2.0/tests/test_phase_loop_baml_modular.py +95 -0
  453. phase_loop_runtime-0.2.0/tests/test_phase_loop_baml_prompt_taxonomy.py +75 -0
  454. phase_loop_runtime-0.2.0/tests/test_phase_loop_baml_runner_closeout.py +94 -0
  455. phase_loop_runtime-0.2.0/tests/test_phase_loop_baml_schema_export.py +96 -0
  456. phase_loop_runtime-0.2.0/tests/test_phase_loop_baml_schema_source.py +130 -0
  457. phase_loop_runtime-0.2.0/tests/test_phase_loop_branch_divergence_event.py +117 -0
  458. phase_loop_runtime-0.2.0/tests/test_phase_loop_build_bundle.py +226 -0
  459. phase_loop_runtime-0.2.0/tests/test_phase_loop_classifier.py +98 -0
  460. phase_loop_runtime-0.2.0/tests/test_phase_loop_claude_agent_view_adapter.py +114 -0
  461. phase_loop_runtime-0.2.0/tests/test_phase_loop_claude_agent_view_lifecycle.py +272 -0
  462. phase_loop_runtime-0.2.0/tests/test_phase_loop_claude_channel_hooks.py +83 -0
  463. phase_loop_runtime-0.2.0/tests/test_phase_loop_claude_channel_mcp.py +89 -0
  464. phase_loop_runtime-0.2.0/tests/test_phase_loop_claude_channel_security.py +212 -0
  465. phase_loop_runtime-0.2.0/tests/test_phase_loop_claude_channel_session_launch.py +146 -0
  466. phase_loop_runtime-0.2.0/tests/test_phase_loop_claude_channel_sidecar.py +715 -0
  467. phase_loop_runtime-0.2.0/tests/test_phase_loop_claude_channel_smoke_suite.py +105 -0
  468. phase_loop_runtime-0.2.0/tests/test_phase_loop_claude_route_selection.py +470 -0
  469. phase_loop_runtime-0.2.0/tests/test_phase_loop_cli.py +1379 -0
  470. phase_loop_runtime-0.2.0/tests/test_phase_loop_cli_plugin_load.py +195 -0
  471. phase_loop_runtime-0.2.0/tests/test_phase_loop_closeout_control_only.py +277 -0
  472. phase_loop_runtime-0.2.0/tests/test_phase_loop_closeout_event.py +233 -0
  473. phase_loop_runtime-0.2.0/tests/test_phase_loop_closeout_evidence_audit.py +243 -0
  474. phase_loop_runtime-0.2.0/tests/test_phase_loop_closeout_hardening.py +170 -0
  475. phase_loop_runtime-0.2.0/tests/test_phase_loop_closeout_owned_dirty_fallback.py +401 -0
  476. phase_loop_runtime-0.2.0/tests/test_phase_loop_closeout_schema.py +56 -0
  477. phase_loop_runtime-0.2.0/tests/test_phase_loop_closeout_validation.py +202 -0
  478. phase_loop_runtime-0.2.0/tests/test_phase_loop_collaborator_citation.py +78 -0
  479. phase_loop_runtime-0.2.0/tests/test_phase_loop_collaborator_docs.py +78 -0
  480. phase_loop_runtime-0.2.0/tests/test_phase_loop_collaborator_rollback.py +53 -0
  481. phase_loop_runtime-0.2.0/tests/test_phase_loop_def4_writer_namespacing.py +138 -0
  482. phase_loop_runtime-0.2.0/tests/test_phase_loop_dirty_path_classify_phase_owned_tests.py +111 -0
  483. phase_loop_runtime-0.2.0/tests/test_phase_loop_dirty_path_classify_previous_phase_owned.py +104 -0
  484. phase_loop_runtime-0.2.0/tests/test_phase_loop_discovery.py +1079 -0
  485. phase_loop_runtime-0.2.0/tests/test_phase_loop_docs.py +714 -0
  486. phase_loop_runtime-0.2.0/tests/test_phase_loop_dotfiles_schemas.py +216 -0
  487. phase_loop_runtime-0.2.0/tests/test_phase_loop_dotfiles_sources.py +152 -0
  488. phase_loop_runtime-0.2.0/tests/test_phase_loop_downstream_governed_pipeline.py +59 -0
  489. phase_loop_runtime-0.2.0/tests/test_phase_loop_downstream_instruction_scope_readme.py +56 -0
  490. phase_loop_runtime-0.2.0/tests/test_phase_loop_downstream_portal.py +54 -0
  491. phase_loop_runtime-0.2.0/tests/test_phase_loop_downstream_regenesis.py +60 -0
  492. phase_loop_runtime-0.2.0/tests/test_phase_loop_drift_audit.py +156 -0
  493. phase_loop_runtime-0.2.0/tests/test_phase_loop_dry_run_then_run.py +76 -0
  494. phase_loop_runtime-0.2.0/tests/test_phase_loop_events_migration.py +157 -0
  495. phase_loop_runtime-0.2.0/tests/test_phase_loop_evidence_audit.py +212 -0
  496. phase_loop_runtime-0.2.0/tests/test_phase_loop_evidence_audit_runner.py +332 -0
  497. phase_loop_runtime-0.2.0/tests/test_phase_loop_evidence_audit_tier2.py +194 -0
  498. phase_loop_runtime-0.2.0/tests/test_phase_loop_evidence_audit_tier3.py +215 -0
  499. phase_loop_runtime-0.2.0/tests/test_phase_loop_evidence_audit_tuning.py +174 -0
  500. phase_loop_runtime-0.2.0/tests/test_phase_loop_execution_policy.py +253 -0
  501. phase_loop_runtime-0.2.0/tests/test_phase_loop_executor_degradation.py +126 -0
  502. phase_loop_runtime-0.2.0/tests/test_phase_loop_full_phase_mode.py +156 -0
  503. phase_loop_runtime-0.2.0/tests/test_phase_loop_handoff.py +913 -0
  504. phase_loop_runtime-0.2.0/tests/test_phase_loop_handoff_migration.py +230 -0
  505. phase_loop_runtime-0.2.0/tests/test_phase_loop_init.py +108 -0
  506. phase_loop_runtime-0.2.0/tests/test_phase_loop_injection.py +298 -0
  507. phase_loop_runtime-0.2.0/tests/test_phase_loop_install_status.py +88 -0
  508. phase_loop_runtime-0.2.0/tests/test_phase_loop_lane_harnesses.py +220 -0
  509. phase_loop_runtime-0.2.0/tests/test_phase_loop_lane_ir.py +142 -0
  510. phase_loop_runtime-0.2.0/tests/test_phase_loop_lane_ir_fixtures.py +42 -0
  511. phase_loop_runtime-0.2.0/tests/test_phase_loop_lane_scheduler.py +197 -0
  512. phase_loop_runtime-0.2.0/tests/test_phase_loop_launcher.py +1709 -0
  513. phase_loop_runtime-0.2.0/tests/test_phase_loop_ledger_debug.py +258 -0
  514. phase_loop_runtime-0.2.0/tests/test_phase_loop_ledger_dedup.py +425 -0
  515. phase_loop_runtime-0.2.0/tests/test_phase_loop_live_adapters.py +538 -0
  516. phase_loop_runtime-0.2.0/tests/test_phase_loop_maintenance.py +355 -0
  517. phase_loop_runtime-0.2.0/tests/test_phase_loop_metrics.py +224 -0
  518. phase_loop_runtime-0.2.0/tests/test_phase_loop_migration_regressions.py +218 -0
  519. phase_loop_runtime-0.2.0/tests/test_phase_loop_mixedrun_dispatch.py +328 -0
  520. phase_loop_runtime-0.2.0/tests/test_phase_loop_mixedrun_matrix.py +190 -0
  521. phase_loop_runtime-0.2.0/tests/test_phase_loop_mixedrun_observability.py +206 -0
  522. phase_loop_runtime-0.2.0/tests/test_phase_loop_models.py +922 -0
  523. phase_loop_runtime-0.2.0/tests/test_phase_loop_native_flags.py +140 -0
  524. phase_loop_runtime-0.2.0/tests/test_phase_loop_parallel_plan_safe.py +165 -0
  525. phase_loop_runtime-0.2.0/tests/test_phase_loop_pi_executor.py +113 -0
  526. phase_loop_runtime-0.2.0/tests/test_phase_loop_pipeline_boundaries.py +203 -0
  527. phase_loop_runtime-0.2.0/tests/test_phase_loop_pipeline_bridge.py +761 -0
  528. phase_loop_runtime-0.2.0/tests/test_phase_loop_pipeline_bundle.py +330 -0
  529. phase_loop_runtime-0.2.0/tests/test_phase_loop_pipeline_closeout.py +579 -0
  530. phase_loop_runtime-0.2.0/tests/test_phase_loop_pipeline_freshness.py +268 -0
  531. phase_loop_runtime-0.2.0/tests/test_phase_loop_pipeline_mode.py +104 -0
  532. phase_loop_runtime-0.2.0/tests/test_phase_loop_plan_doc_skip.py +174 -0
  533. phase_loop_runtime-0.2.0/tests/test_phase_loop_plan_manifest.py +233 -0
  534. phase_loop_runtime-0.2.0/tests/test_phase_loop_planner_redispatch_when_plan_current.py +62 -0
  535. phase_loop_runtime-0.2.0/tests/test_phase_loop_planner_validation.py +101 -0
  536. phase_loop_runtime-0.2.0/tests/test_phase_loop_policy.py +93 -0
  537. phase_loop_runtime-0.2.0/tests/test_phase_loop_protocol_contract.py +713 -0
  538. phase_loop_runtime-0.2.0/tests/test_phase_loop_provenance.py +52 -0
  539. phase_loop_runtime-0.2.0/tests/test_phase_loop_reconcile.py +1785 -0
  540. phase_loop_runtime-0.2.0/tests/test_phase_loop_reconcile_blocker_self_clear.py +506 -0
  541. phase_loop_runtime-0.2.0/tests/test_phase_loop_reconcile_recovery_mode.py +169 -0
  542. phase_loop_runtime-0.2.0/tests/test_phase_loop_reconcile_to_status_planned_recovery.py +203 -0
  543. phase_loop_runtime-0.2.0/tests/test_phase_loop_reducers.py +160 -0
  544. phase_loop_runtime-0.2.0/tests/test_phase_loop_repair_skipped_when_blocker_cleared.py +101 -0
  545. phase_loop_runtime-0.2.0/tests/test_phase_loop_roadmap_amendments.py +41 -0
  546. phase_loop_runtime-0.2.0/tests/test_phase_loop_roadmap_validate.py +234 -0
  547. phase_loop_runtime-0.2.0/tests/test_phase_loop_rotation.py +197 -0
  548. phase_loop_runtime-0.2.0/tests/test_phase_loop_runner.py +3448 -0
  549. phase_loop_runtime-0.2.0/tests/test_phase_loop_runner_closeout_validation.py +144 -0
  550. phase_loop_runtime-0.2.0/tests/test_phase_loop_runtime_boundary.py +159 -0
  551. phase_loop_runtime-0.2.0/tests/test_phase_loop_runtime_decouple.py +98 -0
  552. phase_loop_runtime-0.2.0/tests/test_phase_loop_runtime_package_data.py +93 -0
  553. phase_loop_runtime-0.2.0/tests/test_phase_loop_runtime_projection.py +129 -0
  554. phase_loop_runtime-0.2.0/tests/test_phase_loop_schema_flow.py +77 -0
  555. phase_loop_runtime-0.2.0/tests/test_phase_loop_skill_baml_closeout.py +70 -0
  556. phase_loop_runtime-0.2.0/tests/test_phase_loop_skill_bridge_contract.py +56 -0
  557. phase_loop_runtime-0.2.0/tests/test_phase_loop_skill_contract.py +664 -0
  558. phase_loop_runtime-0.2.0/tests/test_phase_loop_skill_execute_contract.py +66 -0
  559. phase_loop_runtime-0.2.0/tests/test_phase_loop_skill_install.py +164 -0
  560. phase_loop_runtime-0.2.0/tests/test_phase_loop_skill_planner_contract.py +171 -0
  561. phase_loop_runtime-0.2.0/tests/test_phase_loop_smoke_blockers.py +244 -0
  562. phase_loop_runtime-0.2.0/tests/test_phase_loop_smoke_exhaustion.py +68 -0
  563. phase_loop_runtime-0.2.0/tests/test_phase_loop_smoke_reentry.py +270 -0
  564. phase_loop_runtime-0.2.0/tests/test_phase_loop_spurious_completion_rejection.py +60 -0
  565. phase_loop_runtime-0.2.0/tests/test_phase_loop_start_gate_phase_status.py +136 -0
  566. phase_loop_runtime-0.2.0/tests/test_phase_loop_start_gate_refuses_cross_phase_dirty.py +171 -0
  567. phase_loop_runtime-0.2.0/tests/test_phase_loop_state.py +1082 -0
  568. phase_loop_runtime-0.2.0/tests/test_phase_loop_status_transition_events_emitted.py +75 -0
  569. phase_loop_runtime-0.2.0/tests/test_phase_loop_substrate_soak_docs.py +86 -0
  570. phase_loop_runtime-0.2.0/tests/test_phase_loop_substrate_soak_governed.py +64 -0
  571. phase_loop_runtime-0.2.0/tests/test_phase_loop_substrate_soak_portal.py +58 -0
  572. phase_loop_runtime-0.2.0/tests/test_phase_loop_terminal_summary_mirrors_baml_closeout.py +127 -0
  573. phase_loop_runtime-0.2.0/tests/test_phase_loop_v22_e2e.py +165 -0
  574. phase_loop_runtime-0.2.0/tests/test_phase_loop_v22_principles.py +149 -0
  575. phase_loop_runtime-0.2.0/tests/test_phase_loop_v45_found_contracts.py +176 -0
  576. phase_loop_runtime-0.2.0/tests/test_phase_loop_v45_reconcile.py +269 -0
  577. phase_loop_runtime-0.2.0/tests/test_phase_loop_v45_sched.py +462 -0
  578. phase_loop_runtime-0.2.0/tests/test_phase_loop_v45_schedharden.py +316 -0
  579. phase_loop_runtime-0.2.0/tests/test_phase_loop_wave_runner.py +326 -0
  580. phase_loop_runtime-0.2.0/tests/test_phase_loop_work_unit_observability.py +303 -0
  581. phase_loop_runtime-0.2.0/tests/test_phase_loop_work_unit_runner.py +260 -0
  582. phase_loop_runtime-0.2.0/tests/test_phase_loop_work_unit_state.py +92 -0
  583. phase_loop_runtime-0.2.0/tests/test_phase_loop_worktrees.py +68 -0
  584. phase_loop_runtime-0.2.0/tests/test_phase_owned_dirty_relaxation.py +118 -0
  585. phase_loop_runtime-0.2.0/tests/test_phase_worktree_executor.py +361 -0
  586. phase_loop_runtime-0.2.0/tests/test_pipeline_adapter_branch_ops_create.py +102 -0
  587. phase_loop_runtime-0.2.0/tests/test_pipeline_adapter_branch_ops_rebase_conflict.py +57 -0
  588. phase_loop_runtime-0.2.0/tests/test_pipeline_adapter_branch_ops_refuse_default.py +63 -0
  589. phase_loop_runtime-0.2.0/tests/test_pipeline_adapter_flag.py +122 -0
  590. phase_loop_runtime-0.2.0/tests/test_pipeline_adapter_markers.py +50 -0
  591. phase_loop_runtime-0.2.0/tests/test_pipeline_adapter_merge_policy_parse.py +41 -0
  592. phase_loop_runtime-0.2.0/tests/test_pipeline_adapter_ratification_event_payload.py +33 -0
  593. phase_loop_runtime-0.2.0/tests/test_pipeline_adapter_ratification_runner.py +70 -0
  594. phase_loop_runtime-0.2.0/tests/test_pipeline_adapter_ratification_skipped_standalone.py +58 -0
  595. phase_loop_runtime-0.2.0/tests/test_pipeline_adapter_standalone_regression.py +140 -0
  596. phase_loop_runtime-0.2.0/tests/test_pkg_layout_freeze.py +118 -0
  597. phase_loop_runtime-0.2.0/tests/test_plan_ir_iter_waves.py +193 -0
  598. phase_loop_runtime-0.2.0/tests/test_preflight_verification.py +252 -0
  599. phase_loop_runtime-0.2.0/tests/test_publishing.py +371 -0
  600. phase_loop_runtime-0.2.0/tests/test_reconcile_manifest_dedup_46.py +75 -0
  601. phase_loop_runtime-0.2.0/tests/test_reconcile_verification_log.py +144 -0
  602. phase_loop_runtime-0.2.0/tests/test_reflection_sync.py +155 -0
  603. phase_loop_runtime-0.2.0/tests/test_repo_validation.py +277 -0
  604. phase_loop_runtime-0.2.0/tests/test_review_summary.py +164 -0
  605. phase_loop_runtime-0.2.0/tests/test_route_log.py +70 -0
  606. phase_loop_runtime-0.2.0/tests/test_route_policy_conformance.py +152 -0
  607. phase_loop_runtime-0.2.0/tests/test_routing_invariants.py +138 -0
  608. phase_loop_runtime-0.2.0/tests/test_runtime_state_mirror_agreement.py +46 -0
  609. phase_loop_runtime-0.2.0/tests/test_sibling_matcher_patterns.py +68 -0
  610. phase_loop_runtime-0.2.0/tests/test_skill_bundle_pinned.py +113 -0
  611. phase_loop_runtime-0.2.0/tests/test_skill_install_body_expansion.py +109 -0
  612. phase_loop_runtime-0.2.0/tests/test_skill_plan_manifest_write.py +291 -0
  613. phase_loop_runtime-0.2.0/tests/test_skill_sources_seam.py +251 -0
  614. phase_loop_runtime-0.2.0/tests/test_skills_bundle_drift.py +64 -0
  615. phase_loop_runtime-0.2.0/tests/test_skills_canon_parity.py +351 -0
  616. phase_loop_runtime-0.2.0/tests/test_skills_src_claude_literal_lint.py +76 -0
  617. phase_loop_runtime-0.2.0/tests/test_sync_skills_apply_failloud.py +128 -0
  618. phase_loop_runtime-0.2.0/tests/test_train_e2e.py +621 -0
  619. phase_loop_runtime-0.2.0/tests/test_train_invariants.py +1298 -0
  620. phase_loop_runtime-0.2.0/tests/test_train_merge.py +1505 -0
  621. phase_loop_runtime-0.2.0/tests/test_train_order_only_deps_47.py +161 -0
  622. phase_loop_runtime-0.2.0/tests/test_train_roadmap.py +813 -0
  623. phase_loop_runtime-0.2.0/tests/test_train_runner.py +2601 -0
  624. phase_loop_runtime-0.2.0/tests/test_v34_parallel_dispatch_soak.py +159 -0
  625. phase_loop_runtime-0.2.0/tests/test_validate_plan_doc_docs_lane.py +345 -0
  626. phase_loop_runtime-0.2.0/tests/test_verification_evidence.py +154 -0
  627. phase_loop_runtime-0.2.0/tests/test_verification_evidence_validator.py +93 -0
  628. phase_loop_runtime-0.2.0/tests/test_visual_evidence_validator.py +61 -0
  629. phase_loop_runtime-0.2.0/tests/test_workerpool_failure_isolation.py +86 -0
  630. phase_loop_runtime-0.2.0/tests/test_workerpool_parallel.py +47 -0
  631. phase_loop_runtime-0.2.0/tests/test_workerpool_worktree_alloc.py +38 -0
  632. phase_loop_runtime-0.2.0/tests/test_worktree_index.py +175 -0
@@ -0,0 +1,5 @@
1
+ include README.md
2
+ include protocol/protocol.md
3
+ recursive-include src/phase_loop_runtime *.py py.typed
4
+ recursive-include src/phase_loop_runtime/baml_src *.baml
5
+ recursive-include src/phase_loop_runtime/advisor_board *.toml *.md
@@ -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.