phase-loop-runtime 0.7.26__tar.gz → 0.7.29__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 (1527) hide show
  1. phase_loop_runtime-0.7.29/MANIFEST.in +8 -0
  2. phase_loop_runtime-0.7.29/PKG-INFO +453 -0
  3. phase_loop_runtime-0.7.29/README.md +414 -0
  4. phase_loop_runtime-0.7.29/protocol/protocol.md +2482 -0
  5. phase_loop_runtime-0.7.29/pyproject.toml +199 -0
  6. phase_loop_runtime-0.7.29/src/phase_loop_runtime/__init__.py +21 -0
  7. phase_loop_runtime-0.7.29/src/phase_loop_runtime/_baml_worker.py +211 -0
  8. phase_loop_runtime-0.7.29/src/phase_loop_runtime/_contract_docs/phase-loop/protocol.md +2870 -0
  9. phase_loop_runtime-0.7.29/src/phase_loop_runtime/adoption_bundle.py +279 -0
  10. phase_loop_runtime-0.7.29/src/phase_loop_runtime/advisor_board/CONTRACTS.md +2272 -0
  11. phase_loop_runtime-0.7.29/src/phase_loop_runtime/advisor_board/composition.py +530 -0
  12. phase_loop_runtime-0.7.29/src/phase_loop_runtime/advisor_board/config.py +618 -0
  13. phase_loop_runtime-0.7.29/src/phase_loop_runtime/advisor_board/fixtures/advisor-boards.example.toml +70 -0
  14. phase_loop_runtime-0.7.29/src/phase_loop_runtime/advisor_board/fixtures/placement-driver.defaults.toml +8 -0
  15. phase_loop_runtime-0.7.29/src/phase_loop_runtime/advisor_board/fixtures.py +113 -0
  16. phase_loop_runtime-0.7.29/src/phase_loop_runtime/advisor_board/harness_mapping.py +264 -0
  17. phase_loop_runtime-0.7.29/src/phase_loop_runtime/advisor_board/presets.py +193 -0
  18. phase_loop_runtime-0.7.29/src/phase_loop_runtime/advisor_board/registries.py +333 -0
  19. phase_loop_runtime-0.7.29/src/phase_loop_runtime/advisor_board/resolver.py +251 -0
  20. phase_loop_runtime-0.7.29/src/phase_loop_runtime/agy_canary_evidence.py +8754 -0
  21. phase_loop_runtime-0.7.29/src/phase_loop_runtime/agy_integrity.py +137 -0
  22. phase_loop_runtime-0.7.29/src/phase_loop_runtime/agy_qualification.py +1841 -0
  23. phase_loop_runtime-0.7.29/src/phase_loop_runtime/baml_src/phase_loop_bridge.baml +43 -0
  24. phase_loop_runtime-0.7.29/src/phase_loop_runtime/baml_src/placement_contract.baml +209 -0
  25. phase_loop_runtime-0.7.29/src/phase_loop_runtime/build_bundle.py +361 -0
  26. phase_loop_runtime-0.7.29/src/phase_loop_runtime/capability_registry.py +1033 -0
  27. phase_loop_runtime-0.7.29/src/phase_loop_runtime/claude_bakeoff.py +1673 -0
  28. phase_loop_runtime-0.7.29/src/phase_loop_runtime/claude_bakeoff_recorder.mjs +216 -0
  29. phase_loop_runtime-0.7.29/src/phase_loop_runtime/claude_print_observations.py +386 -0
  30. phase_loop_runtime-0.7.29/src/phase_loop_runtime/claude_seat_print.py +597 -0
  31. phase_loop_runtime-0.7.29/src/phase_loop_runtime/claude_seat_sdk.py +1549 -0
  32. phase_loop_runtime-0.7.29/src/phase_loop_runtime/claude_seat_transport.py +1538 -0
  33. phase_loop_runtime-0.7.29/src/phase_loop_runtime/cli.py +5719 -0
  34. phase_loop_runtime-0.7.29/src/phase_loop_runtime/cli_qualification.py +812 -0
  35. phase_loop_runtime-0.7.29/src/phase_loop_runtime/consiliency_layout.py +659 -0
  36. phase_loop_runtime-0.7.29/src/phase_loop_runtime/contracts/placement/README.md +128 -0
  37. phase_loop_runtime-0.7.29/src/phase_loop_runtime/contracts/placement/coordinator-v1.schema.json +587 -0
  38. phase_loop_runtime-0.7.29/src/phase_loop_runtime/contracts/placement/placement_contract.gen.ts +155 -0
  39. phase_loop_runtime-0.7.29/src/phase_loop_runtime/contracts/placement/vectors/policies.json +121 -0
  40. phase_loop_runtime-0.7.29/src/phase_loop_runtime/contracts/placement/vectors/policy-digests.json +60 -0
  41. phase_loop_runtime-0.7.29/src/phase_loop_runtime/contracts/placement/vectors/wire.json +1501 -0
  42. phase_loop_runtime-0.7.29/src/phase_loop_runtime/convergence/broker/admission.py +608 -0
  43. phase_loop_runtime-0.7.29/src/phase_loop_runtime/convergence/broker/credsep.py +709 -0
  44. phase_loop_runtime-0.7.29/src/phase_loop_runtime/convergence/broker/evidence.py +694 -0
  45. phase_loop_runtime-0.7.29/src/phase_loop_runtime/convergence/broker/exact_pr_reconciliation.py +1457 -0
  46. phase_loop_runtime-0.7.29/src/phase_loop_runtime/convergence/broker/live.py +6474 -0
  47. phase_loop_runtime-0.7.29/src/phase_loop_runtime/convergence/broker/verbs.py +1888 -0
  48. phase_loop_runtime-0.7.29/src/phase_loop_runtime/convergence/contracts.py +359 -0
  49. phase_loop_runtime-0.7.29/src/phase_loop_runtime/convergence/dispatch.py +121 -0
  50. phase_loop_runtime-0.7.29/src/phase_loop_runtime/convergence/provider_contracts.py +163 -0
  51. phase_loop_runtime-0.7.29/src/phase_loop_runtime/credential_redaction.py +488 -0
  52. phase_loop_runtime-0.7.29/src/phase_loop_runtime/data/claude_sdk/closure-linux-x86_64-cp314-v1.json +4490 -0
  53. phase_loop_runtime-0.7.29/src/phase_loop_runtime/data/claude_sdk/launch-v1.json +707 -0
  54. phase_loop_runtime-0.7.29/src/phase_loop_runtime/data/claude_sdk/requirements-v1.txt +395 -0
  55. phase_loop_runtime-0.7.29/src/phase_loop_runtime/data/claude_sdk/worker/claude_sdk_adapter.py +277 -0
  56. phase_loop_runtime-0.7.29/src/phase_loop_runtime/data/claude_sdk/worker/claude_sdk_bootstrap.py +413 -0
  57. phase_loop_runtime-0.7.29/src/phase_loop_runtime/data/claude_sdk/worker/claude_sdk_worker.py +76 -0
  58. phase_loop_runtime-0.7.29/src/phase_loop_runtime/discovery.py +2603 -0
  59. phase_loop_runtime-0.7.29/src/phase_loop_runtime/doctor.py +618 -0
  60. phase_loop_runtime-0.7.29/src/phase_loop_runtime/entry_doc_check.py +1257 -0
  61. phase_loop_runtime-0.7.29/src/phase_loop_runtime/executable_dependency.py +1258 -0
  62. phase_loop_runtime-0.7.29/src/phase_loop_runtime/executable_dependency_startup.py +734 -0
  63. phase_loop_runtime-0.7.29/src/phase_loop_runtime/executor_availability.py +209 -0
  64. phase_loop_runtime-0.7.29/src/phase_loop_runtime/fab_delta.py +1440 -0
  65. phase_loop_runtime-0.7.29/src/phase_loop_runtime/fleet_map.py +438 -0
  66. phase_loop_runtime-0.7.29/src/phase_loop_runtime/fleet_map_artifact.py +405 -0
  67. phase_loop_runtime-0.7.29/src/phase_loop_runtime/gemini_heartbeat.py +429 -0
  68. phase_loop_runtime-0.7.29/src/phase_loop_runtime/governed_premerge.py +536 -0
  69. phase_loop_runtime-0.7.29/src/phase_loop_runtime/governed_review.py +935 -0
  70. phase_loop_runtime-0.7.29/src/phase_loop_runtime/injection.py +865 -0
  71. phase_loop_runtime-0.7.29/src/phase_loop_runtime/launcher.py +4281 -0
  72. phase_loop_runtime-0.7.29/src/phase_loop_runtime/legible_evidence.py +2418 -0
  73. phase_loop_runtime-0.7.29/src/phase_loop_runtime/models.py +3069 -0
  74. phase_loop_runtime-0.7.29/src/phase_loop_runtime/openshell_artifacts.py +593 -0
  75. phase_loop_runtime-0.7.29/src/phase_loop_runtime/openshell_backend.py +454 -0
  76. phase_loop_runtime-0.7.29/src/phase_loop_runtime/openshell_channel.py +177 -0
  77. phase_loop_runtime-0.7.29/src/phase_loop_runtime/openshell_journal.py +336 -0
  78. phase_loop_runtime-0.7.29/src/phase_loop_runtime/openshell_transport.py +585 -0
  79. phase_loop_runtime-0.7.29/src/phase_loop_runtime/openshell_worker.py +687 -0
  80. phase_loop_runtime-0.7.29/src/phase_loop_runtime/output_retention.py +389 -0
  81. phase_loop_runtime-0.7.29/src/phase_loop_runtime/panel_invoker.py +19095 -0
  82. phase_loop_runtime-0.7.29/src/phase_loop_runtime/placement_contract.py +63 -0
  83. phase_loop_runtime-0.7.29/src/phase_loop_runtime/placement_lease.py +739 -0
  84. phase_loop_runtime-0.7.29/src/phase_loop_runtime/president_adapter.py +809 -0
  85. phase_loop_runtime-0.7.29/src/phase_loop_runtime/profiles.py +1035 -0
  86. phase_loop_runtime-0.7.29/src/phase_loop_runtime/prompts.py +450 -0
  87. phase_loop_runtime-0.7.29/src/phase_loop_runtime/publication_mode.py +293 -0
  88. phase_loop_runtime-0.7.29/src/phase_loop_runtime/publish_scope_correction.py +236 -0
  89. phase_loop_runtime-0.7.29/src/phase_loop_runtime/publishing.py +2583 -0
  90. phase_loop_runtime-0.7.29/src/phase_loop_runtime/reflection_corpus.py +698 -0
  91. phase_loop_runtime-0.7.29/src/phase_loop_runtime/review_stage.py +1326 -0
  92. phase_loop_runtime-0.7.29/src/phase_loop_runtime/roadmap_assumptions.py +802 -0
  93. phase_loop_runtime-0.7.29/src/phase_loop_runtime/roadmap_lint.py +1239 -0
  94. phase_loop_runtime-0.7.29/src/phase_loop_runtime/roadmap_ownership.py +1396 -0
  95. phase_loop_runtime-0.7.29/src/phase_loop_runtime/rule_enforcement.json +88 -0
  96. phase_loop_runtime-0.7.29/src/phase_loop_runtime/runner.py +13405 -0
  97. phase_loop_runtime-0.7.29/src/phase_loop_runtime/sandbox_egress.py +756 -0
  98. phase_loop_runtime-0.7.29/src/phase_loop_runtime/sandbox_placement.py +2159 -0
  99. phase_loop_runtime-0.7.29/src/phase_loop_runtime/sandbox_policy.py +1167 -0
  100. phase_loop_runtime-0.7.29/src/phase_loop_runtime/sandbox_retention.py +400 -0
  101. phase_loop_runtime-0.7.29/src/phase_loop_runtime/schemas/__init__.py +1 -0
  102. phase_loop_runtime-0.7.29/src/phase_loop_runtime/schemas/dependency-requirement-v1.schema.json +114 -0
  103. phase_loop_runtime-0.7.29/src/phase_loop_runtime/schemas/executable-dependency-authority-v1.schema.json +346 -0
  104. phase_loop_runtime-0.7.29/src/phase_loop_runtime/schemas/executable-dependency-declaration-v1.schema.json +356 -0
  105. phase_loop_runtime-0.7.29/src/phase_loop_runtime/schemas/fleet_map.v1.schema.json +732 -0
  106. phase_loop_runtime-0.7.29/src/phase_loop_runtime/schemas/phase-loop-doctor.v1.golden.json +117 -0
  107. phase_loop_runtime-0.7.29/src/phase_loop_runtime/schemas/phase-loop-doctor.v1.schema.json +144 -0
  108. phase_loop_runtime-0.7.29/src/phase_loop_runtime/schemas/supervised-worker-v1/admitted-launch-envelope.schema.json +226 -0
  109. phase_loop_runtime-0.7.29/src/phase_loop_runtime/schemas/supervised-worker-v1/conformance/README.md +55 -0
  110. phase_loop_runtime-0.7.29/src/phase_loop_runtime/schemas/supervised-worker-v1/conformance/SHA256SUMS +5 -0
  111. phase_loop_runtime-0.7.29/src/phase_loop_runtime/schemas/supervised-worker-v1/conformance/envelope.vectors.json +557 -0
  112. phase_loop_runtime-0.7.29/src/phase_loop_runtime/schemas/supervised-worker-v1/conformance/run-status.vectors.json +2150 -0
  113. phase_loop_runtime-0.7.29/src/phase_loop_runtime/schemas/supervised-worker-v1/harness-provenance.json +40 -0
  114. phase_loop_runtime-0.7.29/src/phase_loop_runtime/schemas/supervised-worker-v1/run-status.schema.json +768 -0
  115. phase_loop_runtime-0.7.29/src/phase_loop_runtime/seat_admission.py +339 -0
  116. phase_loop_runtime-0.7.29/src/phase_loop_runtime/seat_credentials.py +965 -0
  117. phase_loop_runtime-0.7.29/src/phase_loop_runtime/seat_egress/ca.mjs +9 -0
  118. phase_loop_runtime-0.7.29/src/phase_loop_runtime/seat_egress/gemini-allowlist.json +15 -0
  119. phase_loop_runtime-0.7.29/src/phase_loop_runtime/seat_egress/package-lock.json +66 -0
  120. phase_loop_runtime-0.7.29/src/phase_loop_runtime/seat_egress/package.json +10 -0
  121. phase_loop_runtime-0.7.29/src/phase_loop_runtime/seat_egress/proxy.mjs +347 -0
  122. phase_loop_runtime-0.7.29/src/phase_loop_runtime/seat_egress_proxy.py +801 -0
  123. phase_loop_runtime-0.7.29/src/phase_loop_runtime/seat_host_admin.py +86 -0
  124. phase_loop_runtime-0.7.29/src/phase_loop_runtime/seat_host_namespace.py +306 -0
  125. phase_loop_runtime-0.7.29/src/phase_loop_runtime/seat_jail.py +2240 -0
  126. phase_loop_runtime-0.7.29/src/phase_loop_runtime/seat_jail_autoqualify.py +299 -0
  127. phase_loop_runtime-0.7.29/src/phase_loop_runtime/seat_jail_prerequisites.py +144 -0
  128. phase_loop_runtime-0.7.29/src/phase_loop_runtime/seat_jail_qualification.py +2732 -0
  129. phase_loop_runtime-0.7.29/src/phase_loop_runtime/seat_preflight.py +350 -0
  130. phase_loop_runtime-0.7.29/src/phase_loop_runtime/seat_profiles.py +446 -0
  131. phase_loop_runtime-0.7.29/src/phase_loop_runtime/seat_qualification_key.py +103 -0
  132. phase_loop_runtime-0.7.29/src/phase_loop_runtime/seat_resource_caps.py +677 -0
  133. phase_loop_runtime-0.7.29/src/phase_loop_runtime/seat_resource_caps_enter.py +124 -0
  134. phase_loop_runtime-0.7.29/src/phase_loop_runtime/seat_route.py +580 -0
  135. phase_loop_runtime-0.7.29/src/phase_loop_runtime/seat_route_contract.py +469 -0
  136. phase_loop_runtime-0.7.29/src/phase_loop_runtime/seat_session_label.py +130 -0
  137. phase_loop_runtime-0.7.29/src/phase_loop_runtime/seat_subject.py +526 -0
  138. phase_loop_runtime-0.7.29/src/phase_loop_runtime/seat_tool_evidence.py +38 -0
  139. phase_loop_runtime-0.7.29/src/phase_loop_runtime/seat_uid.py +981 -0
  140. phase_loop_runtime-0.7.29/src/phase_loop_runtime/seat_window.py +816 -0
  141. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skill_eval.py +684 -0
  142. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skill_eval_access.py +99 -0
  143. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skill_eval_runner.py +267 -0
  144. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skill_inventory.py +659 -0
  145. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/claude-advisor-board/SKILL.md +201 -0
  146. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/claude-advisor-panel/SKILL.md +201 -0
  147. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/claude-execute-detailed/SKILL.md +182 -0
  148. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/claude-execute-detailed/references/pr-writing.md +108 -0
  149. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/claude-execute-phase/SKILL.md +251 -0
  150. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/claude-execute-phase/references/closeout-reflection-handoff.md +128 -0
  151. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/claude-execute-phase/references/interactive-path.md +48 -0
  152. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/claude-execute-phase/references/interactive-steps.md +148 -0
  153. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/claude-execute-phase/references/lane-dispatch.md +156 -0
  154. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/claude-execute-phase/references/merge-and-verify.md +217 -0
  155. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/claude-phase-roadmap-builder/SKILL.md +321 -0
  156. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/claude-phase-roadmap-builder/references/handoff-review-closeout.md +186 -0
  157. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/claude-phase-roadmap-builder/references/parallelization-heuristics.md +124 -0
  158. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/claude-phase-roadmap-builder/references/roadmap-template.md +211 -0
  159. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/claude-phase-roadmap-builder/references/validator-format-contract.md +13 -0
  160. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/claude-plan-detailed/SKILL.md +281 -0
  161. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/claude-plan-detailed/references/closeout-reflection-handoff.md +111 -0
  162. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/claude-plan-phase/SKILL.md +391 -0
  163. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/claude-plan-phase/references/closeout-reflection-handoff.md +142 -0
  164. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/claude-plan-phase/references/interactive-workflow.md +147 -0
  165. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/claude-plan-phase/references/lane-templates.md +62 -0
  166. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/claude-plan-phase/references/lane-validation-checklist.md +27 -0
  167. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/claude-plan-phase/references/model-effort-tiering.md +61 -0
  168. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/claude-plan-phase/references/plan-document-template.md +111 -0
  169. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/claude-plan-phase/scripts/validate_plan_doc.py +1811 -0
  170. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/claude-skill-editor/SKILL.md +242 -0
  171. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/claude-skill-editor/assets/editor_prompt.md +74 -0
  172. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/claude-skill-improvement-planner/SKILL.md +274 -0
  173. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/claude-skill-improvement-planner/assets/aggregator_prompt.md +122 -0
  174. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/claude-task-contextualizer/references/task-templates.md +111 -0
  175. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/codex-advisor-board/SKILL.md +193 -0
  176. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/codex-advisor-panel/SKILL.md +193 -0
  177. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/codex-execute-detailed/SKILL.md +184 -0
  178. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/codex-execute-detailed/references/pr-writing.md +108 -0
  179. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/codex-execute-phase/SKILL.md +271 -0
  180. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/codex-execute-phase/references/interactive-path.md +56 -0
  181. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/codex-execute-phase/references/worker-fanout.md +14 -0
  182. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/codex-plan-phase/SKILL.md +319 -0
  183. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/codex-plan-phase/scripts/validate_plan_doc.py +1811 -0
  184. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/codex-skill-editor/SKILL.md +98 -0
  185. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/codex-skill-editor/assets/editor_prompt.md +74 -0
  186. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/codex-skill-improvement-planner/SKILL.md +134 -0
  187. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/codex-skill-improvement-planner/assets/aggregator_prompt.md +122 -0
  188. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/codex-task-contextualizer/references/task-templates.md +111 -0
  189. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/gemini-advisor-board/SKILL.md +185 -0
  190. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/gemini-advisor-panel/SKILL.md +185 -0
  191. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/gemini-execute-detailed/SKILL.md +174 -0
  192. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/gemini-execute-detailed/references/pr-writing.md +108 -0
  193. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/SKILL.md +218 -0
  194. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/references/interactive-path.md +52 -0
  195. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/references/worker-fanout.md +14 -0
  196. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/references/worktree-pruning.md +16 -0
  197. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/gemini-plan-phase/SKILL.md +229 -0
  198. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/gemini-plan-phase/scripts/validate_plan_doc.py +1811 -0
  199. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/gemini-skill-editor/SKILL.md +91 -0
  200. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/gemini-skill-editor/assets/editor_prompt.md +74 -0
  201. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/gemini-skill-improvement-planner/SKILL.md +129 -0
  202. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/gemini-skill-improvement-planner/assets/aggregator_prompt.md +122 -0
  203. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/gemini-task-contextualizer/references/task-templates.md +111 -0
  204. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/opencode-advisor-board/SKILL.md +185 -0
  205. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/opencode-advisor-panel/SKILL.md +185 -0
  206. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/opencode-execute-detailed/SKILL.md +174 -0
  207. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/opencode-execute-detailed/references/pr-writing.md +108 -0
  208. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/SKILL.md +229 -0
  209. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/references/interactive-publication.md +40 -0
  210. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/references/worktree-pruning.md +12 -0
  211. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/opencode-plan-phase/SKILL.md +223 -0
  212. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/opencode-plan-phase/scripts/validate_plan_doc.py +1811 -0
  213. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/opencode-skill-editor/SKILL.md +91 -0
  214. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/opencode-skill-editor/assets/editor_prompt.md +74 -0
  215. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/opencode-skill-improvement-planner/SKILL.md +129 -0
  216. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/opencode-skill-improvement-planner/assets/aggregator_prompt.md +122 -0
  217. phase_loop_runtime-0.7.29/src/phase_loop_runtime/skills_bundle/opencode-task-contextualizer/references/task-templates.md +111 -0
  218. phase_loop_runtime-0.7.29/src/phase_loop_runtime/supervised_contracts.py +304 -0
  219. phase_loop_runtime-0.7.29/src/phase_loop_runtime/supervised_dependency.py +20 -0
  220. phase_loop_runtime-0.7.29/src/phase_loop_runtime/supervised_launch.py +488 -0
  221. phase_loop_runtime-0.7.29/src/phase_loop_runtime/supervised_launch_binding.py +67 -0
  222. phase_loop_runtime-0.7.29/src/phase_loop_runtime/train_runner.py +4248 -0
  223. phase_loop_runtime-0.7.29/src/phase_loop_runtime/worker_pool.py +170 -0
  224. phase_loop_runtime-0.7.29/src/phase_loop_runtime.egg-info/PKG-INFO +453 -0
  225. phase_loop_runtime-0.7.29/src/phase_loop_runtime.egg-info/SOURCES.txt +1279 -0
  226. phase_loop_runtime-0.7.29/src/phase_loop_runtime.egg-info/entry_points.txt +12 -0
  227. phase_loop_runtime-0.7.29/src/phase_loop_runtime.egg-info/requires.txt +23 -0
  228. phase_loop_runtime-0.7.29/tests/test_adapter_skill_references.py +367 -0
  229. phase_loop_runtime-0.7.29/tests/test_advisor_board_advisory_cli_802.py +856 -0
  230. phase_loop_runtime-0.7.29/tests/test_advisor_board_backcompat.py +161 -0
  231. phase_loop_runtime-0.7.29/tests/test_advisor_board_backing_homebrew.py +481 -0
  232. phase_loop_runtime-0.7.29/tests/test_advisor_board_composition.py +1938 -0
  233. phase_loop_runtime-0.7.29/tests/test_advisor_board_config.py +580 -0
  234. phase_loop_runtime-0.7.29/tests/test_advisor_board_golden.py +404 -0
  235. phase_loop_runtime-0.7.29/tests/test_advisor_board_presets.py +152 -0
  236. phase_loop_runtime-0.7.29/tests/test_advisor_board_registries.py +225 -0
  237. phase_loop_runtime-0.7.29/tests/test_advisor_board_static_import_862.py +359 -0
  238. phase_loop_runtime-0.7.29/tests/test_advisory_roadmap_status.py +419 -0
  239. phase_loop_runtime-0.7.29/tests/test_agent_cli_scratch_inventory_1147.py +918 -0
  240. phase_loop_runtime-0.7.29/tests/test_agy_canary_evidence.py +8089 -0
  241. phase_loop_runtime-0.7.29/tests/test_agy_integrity_seat_admission.py +669 -0
  242. phase_loop_runtime-0.7.29/tests/test_agy_self_qualification.py +2800 -0
  243. phase_loop_runtime-0.7.29/tests/test_board_seat_exclusion_1431.py +782 -0
  244. phase_loop_runtime-0.7.29/tests/test_broker_staged_tree_delivery.py +652 -0
  245. phase_loop_runtime-0.7.29/tests/test_ci_chronology_scope.py +585 -0
  246. phase_loop_runtime-0.7.29/tests/test_ci_xdist_adoption.py +416 -0
  247. phase_loop_runtime-0.7.29/tests/test_claude_bundle_reference_reads.py +76 -0
  248. phase_loop_runtime-0.7.29/tests/test_claude_delivery_refusal_1433.py +435 -0
  249. phase_loop_runtime-0.7.29/tests/test_claude_journal_segments_1434.py +361 -0
  250. phase_loop_runtime-0.7.29/tests/test_claude_seat_subscription_proof_1444.py +680 -0
  251. phase_loop_runtime-0.7.29/tests/test_claude_transport_seam.py +167 -0
  252. phase_loop_runtime-0.7.29/tests/test_cli_qualification_contract.py +1253 -0
  253. phase_loop_runtime-0.7.29/tests/test_codex_seat_tool_sandbox_1335.py +640 -0
  254. phase_loop_runtime-0.7.29/tests/test_codex_seat_writable_tree_1470.py +581 -0
  255. phase_loop_runtime-0.7.29/tests/test_conform_tar_metadata.py +62 -0
  256. phase_loop_runtime-0.7.29/tests/test_convergence_broker_evidence.py +75 -0
  257. phase_loop_runtime-0.7.29/tests/test_convergence_runtime_imports.py +521 -0
  258. phase_loop_runtime-0.7.29/tests/test_credential_redaction_shapes.py +512 -0
  259. phase_loop_runtime-0.7.29/tests/test_dependency_task_propagation.py +139 -0
  260. phase_loop_runtime-0.7.29/tests/test_discovery_hygiene_legacy.py +288 -0
  261. phase_loop_runtime-0.7.29/tests/test_doctor_bom.py +257 -0
  262. phase_loop_runtime-0.7.29/tests/test_executable_dependency.py +251 -0
  263. phase_loop_runtime-0.7.29/tests/test_executable_dependency_integration.py +254 -0
  264. phase_loop_runtime-0.7.29/tests/test_executable_dependency_production_lifecycle.py +684 -0
  265. phase_loop_runtime-0.7.29/tests/test_executable_dependency_review_repairs.py +562 -0
  266. phase_loop_runtime-0.7.29/tests/test_executable_dependency_startup.py +432 -0
  267. phase_loop_runtime-0.7.29/tests/test_executor_availability.py +156 -0
  268. phase_loop_runtime-0.7.29/tests/test_executor_exited_without_closeout_785.py +345 -0
  269. phase_loop_runtime-0.7.29/tests/test_fabpub_ambiguous_handoff_1312.py +245 -0
  270. phase_loop_runtime-0.7.29/tests/test_fabpub_exact_pr_reconciliation.py +2068 -0
  271. phase_loop_runtime-0.7.29/tests/test_fabpub_observed_after_ambiguity_1591.py +1140 -0
  272. phase_loop_runtime-0.7.29/tests/test_fabpub_owner_section_1314_1313_1311.py +683 -0
  273. phase_loop_runtime-0.7.29/tests/test_fabpub_partition_rotation_789d.py +5510 -0
  274. phase_loop_runtime-0.7.29/tests/test_fabpub_recovery_chain_1310.py +356 -0
  275. phase_loop_runtime-0.7.29/tests/test_fabpub_recovery_record_compat_1576.py +371 -0
  276. phase_loop_runtime-0.7.29/tests/test_fabpub_sealed_head_recovery_1296.py +569 -0
  277. phase_loop_runtime-0.7.29/tests/test_fabpub_stale_client_1315.py +188 -0
  278. phase_loop_runtime-0.7.29/tests/test_fabpub_typed_handoffs.py +872 -0
  279. phase_loop_runtime-0.7.29/tests/test_fleet_map_artifact.py +427 -0
  280. phase_loop_runtime-0.7.29/tests/test_gate_a_wheel_isolation.py +149 -0
  281. phase_loop_runtime-0.7.29/tests/test_gemini_argon_default.py +122 -0
  282. phase_loop_runtime-0.7.29/tests/test_gemini_argon_planning.py +107 -0
  283. phase_loop_runtime-0.7.29/tests/test_gemini_heartbeat_bootstrap.py +1638 -0
  284. phase_loop_runtime-0.7.29/tests/test_gemini_login_wait_1407.py +815 -0
  285. phase_loop_runtime-0.7.29/tests/test_gemini_model_preference_1604.py +157 -0
  286. phase_loop_runtime-0.7.29/tests/test_gemini_seat_egress_1170.py +759 -0
  287. phase_loop_runtime-0.7.29/tests/test_governed_premerge.py +275 -0
  288. phase_loop_runtime-0.7.29/tests/test_grok_sandbox_seat_approval.py +496 -0
  289. phase_loop_runtime-0.7.29/tests/test_grokexec.py +542 -0
  290. phase_loop_runtime-0.7.29/tests/test_harden_evidence_producer.py +5323 -0
  291. phase_loop_runtime-0.7.29/tests/test_harden_evidence_verifier.py +864 -0
  292. phase_loop_runtime-0.7.29/tests/test_implementer_roster_0727.py +244 -0
  293. phase_loop_runtime-0.7.29/tests/test_launch_audit_inventory.py +121 -0
  294. phase_loop_runtime-0.7.29/tests/test_leg_liveness_monitor.py +410 -0
  295. phase_loop_runtime-0.7.29/tests/test_legible_review_repairs.py +5793 -0
  296. phase_loop_runtime-0.7.29/tests/test_legible_roadmap_contract.py +2668 -0
  297. phase_loop_runtime-0.7.29/tests/test_local_check.py +210 -0
  298. phase_loop_runtime-0.7.29/tests/test_model_class_policy.py +211 -0
  299. phase_loop_runtime-0.7.29/tests/test_model_tier_taxonomy.py +437 -0
  300. phase_loop_runtime-0.7.29/tests/test_openshell_artifacts.py +433 -0
  301. phase_loop_runtime-0.7.29/tests/test_openshell_backend.py +841 -0
  302. phase_loop_runtime-0.7.29/tests/test_openshell_channel.py +196 -0
  303. phase_loop_runtime-0.7.29/tests/test_openshell_journal.py +607 -0
  304. phase_loop_runtime-0.7.29/tests/test_openshell_sdk_qualification.py +77 -0
  305. phase_loop_runtime-0.7.29/tests/test_openshell_transport.py +409 -0
  306. phase_loop_runtime-0.7.29/tests/test_openshell_transport_grpc.py +170 -0
  307. phase_loop_runtime-0.7.29/tests/test_openshell_worker.py +684 -0
  308. phase_loop_runtime-0.7.29/tests/test_output_retention.py +489 -0
  309. phase_loop_runtime-0.7.29/tests/test_outside_agent_conform_evidence.py +7100 -0
  310. phase_loop_runtime-0.7.29/tests/test_panel_claude_print_route.py +664 -0
  311. phase_loop_runtime-0.7.29/tests/test_panel_claude_review_output.py +1273 -0
  312. phase_loop_runtime-0.7.29/tests/test_panel_codex_auth_signature_body_252.py +149 -0
  313. phase_loop_runtime-0.7.29/tests/test_panel_context_refs_114.py +393 -0
  314. phase_loop_runtime-0.7.29/tests/test_panel_gemini_no_command_preamble.py +74 -0
  315. phase_loop_runtime-0.7.29/tests/test_panel_invoker.py +1548 -0
  316. phase_loop_runtime-0.7.29/tests/test_panel_invoker_spawn.py +662 -0
  317. phase_loop_runtime-0.7.29/tests/test_panel_invoker_timeout_argv.py +2469 -0
  318. phase_loop_runtime-0.7.29/tests/test_panel_leg_auth_preflight_64.py +263 -0
  319. phase_loop_runtime-0.7.29/tests/test_panel_leg_status_detail_1096.py +1338 -0
  320. phase_loop_runtime-0.7.29/tests/test_panel_native_fill_183.py +464 -0
  321. phase_loop_runtime-0.7.29/tests/test_panel_per_leg_model_66.py +86 -0
  322. phase_loop_runtime-0.7.29/tests/test_panel_tui_eof_48.py +75 -0
  323. phase_loop_runtime-0.7.29/tests/test_panel_tui_liveness_188.py +673 -0
  324. phase_loop_runtime-0.7.29/tests/test_panel_tui_workspace_trust_223.py +533 -0
  325. phase_loop_runtime-0.7.29/tests/test_phase_loop_baml_dependency.py +70 -0
  326. phase_loop_runtime-0.7.29/tests/test_phase_loop_baml_v1_runtime.py +5364 -0
  327. phase_loop_runtime-0.7.29/tests/test_phase_loop_execution_policy.py +527 -0
  328. phase_loop_runtime-0.7.29/tests/test_phase_loop_injection.py +299 -0
  329. phase_loop_runtime-0.7.29/tests/test_phase_loop_launcher.py +1988 -0
  330. phase_loop_runtime-0.7.29/tests/test_phase_loop_runner.py +3781 -0
  331. phase_loop_runtime-0.7.29/tests/test_phase_loop_v22_principles.py +153 -0
  332. phase_loop_runtime-0.7.29/tests/test_placement_contract.py +266 -0
  333. phase_loop_runtime-0.7.29/tests/test_placement_driver.py +1542 -0
  334. phase_loop_runtime-0.7.29/tests/test_placement_ladder_model.py +1221 -0
  335. phase_loop_runtime-0.7.29/tests/test_placement_lease.py +977 -0
  336. phase_loop_runtime-0.7.29/tests/test_president_heartbeat_1001.py +810 -0
  337. phase_loop_runtime-0.7.29/tests/test_president_ladder_config.py +604 -0
  338. phase_loop_runtime-0.7.29/tests/test_president_wiring.py +1254 -0
  339. phase_loop_runtime-0.7.29/tests/test_publication_mode_1392.py +769 -0
  340. phase_loop_runtime-0.7.29/tests/test_publish_scope_correction.py +389 -0
  341. phase_loop_runtime-0.7.29/tests/test_publishing.py +1995 -0
  342. phase_loop_runtime-0.7.29/tests/test_python_floor_1546.py +154 -0
  343. phase_loop_runtime-0.7.29/tests/test_qualified_agy_image_set.py +157 -0
  344. phase_loop_runtime-0.7.29/tests/test_reflection_corpus.py +935 -0
  345. phase_loop_runtime-0.7.29/tests/test_review_leg_sandbox.py +517 -0
  346. phase_loop_runtime-0.7.29/tests/test_review_monitor_policy.py +1394 -0
  347. phase_loop_runtime-0.7.29/tests/test_review_policy_govlean_repairs.py +173 -0
  348. phase_loop_runtime-0.7.29/tests/test_review_seat_stall_1176.py +1508 -0
  349. phase_loop_runtime-0.7.29/tests/test_review_stage_binding.py +2003 -0
  350. phase_loop_runtime-0.7.29/tests/test_roadmap_ownership.py +2652 -0
  351. phase_loop_runtime-0.7.29/tests/test_routing_invariants.py +141 -0
  352. phase_loop_runtime-0.7.29/tests/test_rule_enforcement_controls.py +117 -0
  353. phase_loop_runtime-0.7.29/tests/test_rule_enforcement_demotion_text.py +96 -0
  354. phase_loop_runtime-0.7.29/tests/test_rule_enforcement_registry.py +415 -0
  355. phase_loop_runtime-0.7.29/tests/test_sandbox_egress.py +886 -0
  356. phase_loop_runtime-0.7.29/tests/test_sandbox_placement.py +2155 -0
  357. phase_loop_runtime-0.7.29/tests/test_sandbox_policy.py +448 -0
  358. phase_loop_runtime-0.7.29/tests/test_sandbox_staging_1147.py +1426 -0
  359. phase_loop_runtime-0.7.29/tests/test_scratch_runtime_audit_1147.py +391 -0
  360. phase_loop_runtime-0.7.29/tests/test_sealed_seat_never_counts.py +444 -0
  361. phase_loop_runtime-0.7.29/tests/test_seat_argv_bound_paths_1441.py +244 -0
  362. phase_loop_runtime-0.7.29/tests/test_seat_caller_ancestry.py +158 -0
  363. phase_loop_runtime-0.7.29/tests/test_seat_caller_owner.py +159 -0
  364. phase_loop_runtime-0.7.29/tests/test_seat_codex_vocabulary.py +276 -0
  365. phase_loop_runtime-0.7.29/tests/test_seat_credential_refresh.py +257 -0
  366. phase_loop_runtime-0.7.29/tests/test_seat_egress_allowlists_jailcore.py +326 -0
  367. phase_loop_runtime-0.7.29/tests/test_seat_egress_rules.py +140 -0
  368. phase_loop_runtime-0.7.29/tests/test_seat_frontdoor_1798.py +239 -0
  369. phase_loop_runtime-0.7.29/tests/test_seat_host_git.py +324 -0
  370. phase_loop_runtime-0.7.29/tests/test_seat_host_path_links.py +166 -0
  371. phase_loop_runtime-0.7.29/tests/test_seat_host_uid_1098.py +524 -0
  372. phase_loop_runtime-0.7.29/tests/test_seat_ipc.py +98 -0
  373. phase_loop_runtime-0.7.29/tests/test_seat_jail.py +1587 -0
  374. phase_loop_runtime-0.7.29/tests/test_seat_jail_live_d8.py +474 -0
  375. phase_loop_runtime-0.7.29/tests/test_seat_jail_prerequisites_1357.py +477 -0
  376. phase_loop_runtime-0.7.29/tests/test_seat_jail_qualification_bracket_steps.py +234 -0
  377. phase_loop_runtime-0.7.29/tests/test_seat_jail_qualification_entry.py +872 -0
  378. phase_loop_runtime-0.7.29/tests/test_seat_journal_collection.py +233 -0
  379. phase_loop_runtime-0.7.29/tests/test_seat_launch_helpers_trusted.py +280 -0
  380. phase_loop_runtime-0.7.29/tests/test_seat_login_wait_a3_1166.py +430 -0
  381. phase_loop_runtime-0.7.29/tests/test_seat_login_wait_board_context_r12.py +174 -0
  382. phase_loop_runtime-0.7.29/tests/test_seat_notices.py +1478 -0
  383. phase_loop_runtime-0.7.29/tests/test_seat_output_atomic_write_1433.py +1094 -0
  384. phase_loop_runtime-0.7.29/tests/test_seat_owner_notices.py +50 -0
  385. phase_loop_runtime-0.7.29/tests/test_seat_owner_round1_1282.py +150 -0
  386. phase_loop_runtime-0.7.29/tests/test_seat_owner_setup_clock_1282.py +88 -0
  387. phase_loop_runtime-0.7.29/tests/test_seat_owner_view.py +317 -0
  388. phase_loop_runtime-0.7.29/tests/test_seat_preflight_1204.py +580 -0
  389. phase_loop_runtime-0.7.29/tests/test_seat_prereq_gates.py +312 -0
  390. phase_loop_runtime-0.7.29/tests/test_seat_profiles.py +444 -0
  391. phase_loop_runtime-0.7.29/tests/test_seat_qualification_host_context.py +717 -0
  392. phase_loop_runtime-0.7.29/tests/test_seat_qualification_key.py +240 -0
  393. phase_loop_runtime-0.7.29/tests/test_seat_resource_caps.py +1491 -0
  394. phase_loop_runtime-0.7.29/tests/test_seat_review_refusals.py +40 -0
  395. phase_loop_runtime-0.7.29/tests/test_seat_route.py +1154 -0
  396. phase_loop_runtime-0.7.29/tests/test_seat_route_contract.py +149 -0
  397. phase_loop_runtime-0.7.29/tests/test_seat_sandbox_permissions.py +1120 -0
  398. phase_loop_runtime-0.7.29/tests/test_seat_session_label.py +466 -0
  399. phase_loop_runtime-0.7.29/tests/test_seat_transcript_io.py +228 -0
  400. phase_loop_runtime-0.7.29/tests/test_seat_tui_owner_refusal.py +34 -0
  401. phase_loop_runtime-0.7.29/tests/test_seat_wrapper_cli_1318.py +195 -0
  402. phase_loop_runtime-0.7.29/tests/test_seats_claude_bakeoff.py +1366 -0
  403. phase_loop_runtime-0.7.29/tests/test_seats_claude_login_proof.py +366 -0
  404. phase_loop_runtime-0.7.29/tests/test_seats_claude_order.py +1041 -0
  405. phase_loop_runtime-0.7.29/tests/test_seats_claude_print.py +611 -0
  406. phase_loop_runtime-0.7.29/tests/test_seats_claude_print_observations.py +126 -0
  407. phase_loop_runtime-0.7.29/tests/test_seats_claude_sdk.py +1823 -0
  408. phase_loop_runtime-0.7.29/tests/test_seats_claude_sdk_adapter.py +366 -0
  409. phase_loop_runtime-0.7.29/tests/test_seats_claude_transport.py +1773 -0
  410. phase_loop_runtime-0.7.29/tests/test_seats_teamhost_accounts.py +403 -0
  411. phase_loop_runtime-0.7.29/tests/test_seats_teamhost_doctor.py +719 -0
  412. phase_loop_runtime-0.7.29/tests/test_seats_teamhost_gemini.py +681 -0
  413. phase_loop_runtime-0.7.29/tests/test_seats_teamhost_integration.py +421 -0
  414. phase_loop_runtime-0.7.29/tests/test_seats_teamhost_overlay.py +182 -0
  415. phase_loop_runtime-0.7.29/tests/test_seats_teamhost_subject.py +464 -0
  416. phase_loop_runtime-0.7.29/tests/test_seats_teamhost_switchon.py +397 -0
  417. phase_loop_runtime-0.7.29/tests/test_skill_eval.py +618 -0
  418. phase_loop_runtime-0.7.29/tests/test_skill_eval_runner.py +498 -0
  419. phase_loop_runtime-0.7.29/tests/test_skill_size_gate.py +213 -0
  420. phase_loop_runtime-0.7.29/tests/test_skills_canon_parity.py +547 -0
  421. phase_loop_runtime-0.7.29/tests/test_supervised_contracts.py +453 -0
  422. phase_loop_runtime-0.7.29/tests/test_supervised_contracts_mutations.py +207 -0
  423. phase_loop_runtime-0.7.29/tests/test_supervised_contracts_receipt.py +368 -0
  424. phase_loop_runtime-0.7.29/tests/test_supervised_contracts_vectors.py +334 -0
  425. phase_loop_runtime-0.7.29/tests/test_supervised_launch.py +693 -0
  426. phase_loop_runtime-0.7.29/tests/test_supervised_launch_binding.py +183 -0
  427. phase_loop_runtime-0.7.29/tests/test_supervised_launch_mutations.py +177 -0
  428. phase_loop_runtime-0.7.29/tests/test_supervised_launch_receipt.py +137 -0
  429. phase_loop_runtime-0.7.29/tests/test_supervised_launch_route.py +114 -0
  430. phase_loop_runtime-0.7.29/tests/test_the_real_launch_carries_the_prefix.py +414 -0
  431. phase_loop_runtime-0.7.29/tests/test_train_review_packet.py +2599 -0
  432. phase_loop_runtime-0.7.29/tests/test_unadmitted_prebuilt_recovery.py +750 -0
  433. phase_loop_runtime-0.7.29/tests/test_validate_plan_doc_owned_companions.py +307 -0
  434. phase_loop_runtime-0.7.29/tests/test_validate_plan_doc_word_budget.py +430 -0
  435. phase_loop_runtime-0.7.26/MANIFEST.in +0 -7
  436. phase_loop_runtime-0.7.26/PKG-INFO +0 -347
  437. phase_loop_runtime-0.7.26/README.md +0 -313
  438. phase_loop_runtime-0.7.26/protocol/protocol.md +0 -2478
  439. phase_loop_runtime-0.7.26/pyproject.toml +0 -180
  440. phase_loop_runtime-0.7.26/src/phase_loop_runtime/__init__.py +0 -21
  441. phase_loop_runtime-0.7.26/src/phase_loop_runtime/_baml_worker.py +0 -202
  442. phase_loop_runtime-0.7.26/src/phase_loop_runtime/_contract_docs/phase-loop/protocol.md +0 -2866
  443. phase_loop_runtime-0.7.26/src/phase_loop_runtime/adoption_bundle.py +0 -275
  444. phase_loop_runtime-0.7.26/src/phase_loop_runtime/advisor_board/CONTRACTS.md +0 -1429
  445. phase_loop_runtime-0.7.26/src/phase_loop_runtime/advisor_board/composition.py +0 -311
  446. phase_loop_runtime-0.7.26/src/phase_loop_runtime/advisor_board/config.py +0 -490
  447. phase_loop_runtime-0.7.26/src/phase_loop_runtime/advisor_board/fixtures/advisor-boards.example.toml +0 -65
  448. phase_loop_runtime-0.7.26/src/phase_loop_runtime/advisor_board/fixtures.py +0 -112
  449. phase_loop_runtime-0.7.26/src/phase_loop_runtime/advisor_board/harness_mapping.py +0 -232
  450. phase_loop_runtime-0.7.26/src/phase_loop_runtime/advisor_board/presets.py +0 -192
  451. phase_loop_runtime-0.7.26/src/phase_loop_runtime/advisor_board/registries.py +0 -331
  452. phase_loop_runtime-0.7.26/src/phase_loop_runtime/advisor_board/resolver.py +0 -250
  453. phase_loop_runtime-0.7.26/src/phase_loop_runtime/agy_canary_evidence.py +0 -8750
  454. phase_loop_runtime-0.7.26/src/phase_loop_runtime/agy_integrity.py +0 -129
  455. phase_loop_runtime-0.7.26/src/phase_loop_runtime/agy_qualification.py +0 -1565
  456. phase_loop_runtime-0.7.26/src/phase_loop_runtime/baml_src/phase_loop_bridge.baml +0 -43
  457. phase_loop_runtime-0.7.26/src/phase_loop_runtime/build_bundle.py +0 -315
  458. phase_loop_runtime-0.7.26/src/phase_loop_runtime/capability_registry.py +0 -1031
  459. phase_loop_runtime-0.7.26/src/phase_loop_runtime/cli.py +0 -5447
  460. phase_loop_runtime-0.7.26/src/phase_loop_runtime/consiliency_layout.py +0 -662
  461. phase_loop_runtime-0.7.26/src/phase_loop_runtime/convergence/broker/admission.py +0 -607
  462. phase_loop_runtime-0.7.26/src/phase_loop_runtime/convergence/broker/credsep.py +0 -560
  463. phase_loop_runtime-0.7.26/src/phase_loop_runtime/convergence/broker/evidence.py +0 -450
  464. phase_loop_runtime-0.7.26/src/phase_loop_runtime/convergence/broker/live.py +0 -5917
  465. phase_loop_runtime-0.7.26/src/phase_loop_runtime/convergence/broker/verbs.py +0 -844
  466. phase_loop_runtime-0.7.26/src/phase_loop_runtime/convergence/contracts.py +0 -355
  467. phase_loop_runtime-0.7.26/src/phase_loop_runtime/convergence/dispatch.py +0 -100
  468. phase_loop_runtime-0.7.26/src/phase_loop_runtime/convergence/provider_contracts.py +0 -153
  469. phase_loop_runtime-0.7.26/src/phase_loop_runtime/credential_redaction.py +0 -488
  470. phase_loop_runtime-0.7.26/src/phase_loop_runtime/discovery.py +0 -2583
  471. phase_loop_runtime-0.7.26/src/phase_loop_runtime/doctor.py +0 -596
  472. phase_loop_runtime-0.7.26/src/phase_loop_runtime/entry_doc_check.py +0 -1279
  473. phase_loop_runtime-0.7.26/src/phase_loop_runtime/executor_availability.py +0 -139
  474. phase_loop_runtime-0.7.26/src/phase_loop_runtime/fab_delta.py +0 -1443
  475. phase_loop_runtime-0.7.26/src/phase_loop_runtime/fleet_map.py +0 -426
  476. phase_loop_runtime-0.7.26/src/phase_loop_runtime/gemini_heartbeat.py +0 -445
  477. phase_loop_runtime-0.7.26/src/phase_loop_runtime/governed_premerge.py +0 -528
  478. phase_loop_runtime-0.7.26/src/phase_loop_runtime/governed_review.py +0 -902
  479. phase_loop_runtime-0.7.26/src/phase_loop_runtime/injection.py +0 -771
  480. phase_loop_runtime-0.7.26/src/phase_loop_runtime/launcher.py +0 -4178
  481. phase_loop_runtime-0.7.26/src/phase_loop_runtime/legible_evidence.py +0 -2415
  482. phase_loop_runtime-0.7.26/src/phase_loop_runtime/models.py +0 -3067
  483. phase_loop_runtime-0.7.26/src/phase_loop_runtime/panel_invoker.py +0 -13984
  484. phase_loop_runtime-0.7.26/src/phase_loop_runtime/president_adapter.py +0 -586
  485. phase_loop_runtime-0.7.26/src/phase_loop_runtime/profiles.py +0 -1011
  486. phase_loop_runtime-0.7.26/src/phase_loop_runtime/prompts.py +0 -449
  487. phase_loop_runtime-0.7.26/src/phase_loop_runtime/publishing.py +0 -1747
  488. phase_loop_runtime-0.7.26/src/phase_loop_runtime/reflection_corpus.py +0 -636
  489. phase_loop_runtime-0.7.26/src/phase_loop_runtime/review_stage.py +0 -1313
  490. phase_loop_runtime-0.7.26/src/phase_loop_runtime/roadmap_assumptions.py +0 -802
  491. phase_loop_runtime-0.7.26/src/phase_loop_runtime/roadmap_lint.py +0 -1186
  492. phase_loop_runtime-0.7.26/src/phase_loop_runtime/roadmap_ownership.py +0 -1395
  493. phase_loop_runtime-0.7.26/src/phase_loop_runtime/rule_enforcement.json +0 -88
  494. phase_loop_runtime-0.7.26/src/phase_loop_runtime/runner.py +0 -13382
  495. phase_loop_runtime-0.7.26/src/phase_loop_runtime/sandbox_egress.py +0 -583
  496. phase_loop_runtime-0.7.26/src/phase_loop_runtime/sandbox_placement.py +0 -529
  497. phase_loop_runtime-0.7.26/src/phase_loop_runtime/sandbox_policy.py +0 -1037
  498. phase_loop_runtime-0.7.26/src/phase_loop_runtime/sandbox_retention.py +0 -384
  499. phase_loop_runtime-0.7.26/src/phase_loop_runtime/schemas/phase-loop-doctor.v1.golden.json +0 -103
  500. phase_loop_runtime-0.7.26/src/phase_loop_runtime/schemas/phase-loop-doctor.v1.schema.json +0 -126
  501. phase_loop_runtime-0.7.26/src/phase_loop_runtime/seat_credentials.py +0 -771
  502. phase_loop_runtime-0.7.26/src/phase_loop_runtime/seat_jail.py +0 -1609
  503. phase_loop_runtime-0.7.26/src/phase_loop_runtime/seat_jail_autoqualify.py +0 -293
  504. phase_loop_runtime-0.7.26/src/phase_loop_runtime/seat_jail_prerequisites.py +0 -54
  505. phase_loop_runtime-0.7.26/src/phase_loop_runtime/seat_jail_qualification.py +0 -474
  506. phase_loop_runtime-0.7.26/src/phase_loop_runtime/seat_preflight.py +0 -237
  507. phase_loop_runtime-0.7.26/src/phase_loop_runtime/seat_uid.py +0 -570
  508. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skill_inventory.py +0 -662
  509. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/claude-advisor-board/SKILL.md +0 -193
  510. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/claude-advisor-panel/SKILL.md +0 -193
  511. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/claude-execute-detailed/SKILL.md +0 -170
  512. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/claude-execute-phase/SKILL.md +0 -809
  513. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/claude-phase-roadmap-builder/SKILL.md +0 -481
  514. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/claude-phase-roadmap-builder/references/parallelization-heuristics.md +0 -111
  515. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/claude-phase-roadmap-builder/references/roadmap-template.md +0 -193
  516. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/claude-plan-detailed/SKILL.md +0 -373
  517. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/claude-plan-phase/SKILL.md +0 -809
  518. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/claude-plan-phase/scripts/validate_plan_doc.py +0 -1750
  519. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/claude-skill-editor/SKILL.md +0 -240
  520. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/claude-skill-editor/assets/editor_prompt.md +0 -73
  521. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/claude-skill-improvement-planner/SKILL.md +0 -266
  522. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/claude-skill-improvement-planner/assets/aggregator_prompt.md +0 -97
  523. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/claude-task-contextualizer/references/task-templates.md +0 -103
  524. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/codex-advisor-board/SKILL.md +0 -191
  525. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/codex-advisor-panel/SKILL.md +0 -191
  526. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/codex-execute-detailed/SKILL.md +0 -172
  527. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/codex-execute-phase/SKILL.md +0 -266
  528. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/codex-phase-roadmap-builder/references/parallelization-heuristics.md +0 -111
  529. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/codex-phase-roadmap-builder/references/roadmap-template.md +0 -193
  530. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/codex-plan-phase/SKILL.md +0 -316
  531. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/codex-plan-phase/scripts/validate_plan_doc.py +0 -1750
  532. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/codex-skill-editor/SKILL.md +0 -96
  533. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/codex-skill-editor/assets/editor_prompt.md +0 -73
  534. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/codex-skill-improvement-planner/SKILL.md +0 -126
  535. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/codex-skill-improvement-planner/assets/aggregator_prompt.md +0 -97
  536. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/codex-task-contextualizer/references/task-templates.md +0 -103
  537. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/gemini-advisor-board/SKILL.md +0 -183
  538. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/gemini-advisor-panel/SKILL.md +0 -183
  539. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/gemini-execute-detailed/SKILL.md +0 -162
  540. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/SKILL.md +0 -233
  541. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/gemini-phase-roadmap-builder/references/parallelization-heuristics.md +0 -111
  542. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/gemini-phase-roadmap-builder/references/roadmap-template.md +0 -193
  543. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/gemini-plan-phase/SKILL.md +0 -226
  544. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/gemini-plan-phase/scripts/validate_plan_doc.py +0 -1750
  545. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/gemini-skill-editor/SKILL.md +0 -89
  546. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/gemini-skill-editor/assets/editor_prompt.md +0 -73
  547. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/gemini-skill-improvement-planner/SKILL.md +0 -121
  548. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/gemini-skill-improvement-planner/assets/aggregator_prompt.md +0 -97
  549. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/gemini-task-contextualizer/references/task-templates.md +0 -103
  550. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/opencode-advisor-board/SKILL.md +0 -183
  551. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/opencode-advisor-panel/SKILL.md +0 -183
  552. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/opencode-execute-detailed/SKILL.md +0 -162
  553. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/SKILL.md +0 -217
  554. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/opencode-phase-roadmap-builder/references/parallelization-heuristics.md +0 -111
  555. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/opencode-phase-roadmap-builder/references/roadmap-template.md +0 -193
  556. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/opencode-plan-phase/SKILL.md +0 -220
  557. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/opencode-plan-phase/scripts/validate_plan_doc.py +0 -1750
  558. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/opencode-skill-editor/SKILL.md +0 -89
  559. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/opencode-skill-editor/assets/editor_prompt.md +0 -73
  560. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/opencode-skill-improvement-planner/SKILL.md +0 -121
  561. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/opencode-skill-improvement-planner/assets/aggregator_prompt.md +0 -97
  562. phase_loop_runtime-0.7.26/src/phase_loop_runtime/skills_bundle/opencode-task-contextualizer/references/task-templates.md +0 -103
  563. phase_loop_runtime-0.7.26/src/phase_loop_runtime/train_runner.py +0 -4241
  564. phase_loop_runtime-0.7.26/src/phase_loop_runtime/worker_pool.py +0 -160
  565. phase_loop_runtime-0.7.26/src/phase_loop_runtime.egg-info/PKG-INFO +0 -347
  566. phase_loop_runtime-0.7.26/src/phase_loop_runtime.egg-info/SOURCES.txt +0 -1091
  567. phase_loop_runtime-0.7.26/src/phase_loop_runtime.egg-info/entry_points.txt +0 -11
  568. phase_loop_runtime-0.7.26/src/phase_loop_runtime.egg-info/requires.txt +0 -17
  569. phase_loop_runtime-0.7.26/tests/test_advisor_board_advisory_cli_802.py +0 -854
  570. phase_loop_runtime-0.7.26/tests/test_advisor_board_backcompat.py +0 -161
  571. phase_loop_runtime-0.7.26/tests/test_advisor_board_backing_homebrew.py +0 -473
  572. phase_loop_runtime-0.7.26/tests/test_advisor_board_composition.py +0 -1913
  573. phase_loop_runtime-0.7.26/tests/test_advisor_board_config.py +0 -412
  574. phase_loop_runtime-0.7.26/tests/test_advisor_board_golden.py +0 -404
  575. phase_loop_runtime-0.7.26/tests/test_advisor_board_presets.py +0 -152
  576. phase_loop_runtime-0.7.26/tests/test_advisor_board_registries.py +0 -226
  577. phase_loop_runtime-0.7.26/tests/test_advisor_board_static_import_862.py +0 -211
  578. phase_loop_runtime-0.7.26/tests/test_agent_cli_scratch_inventory_1147.py +0 -867
  579. phase_loop_runtime-0.7.26/tests/test_agy_canary_evidence.py +0 -8058
  580. phase_loop_runtime-0.7.26/tests/test_agy_integrity_seat_admission.py +0 -571
  581. phase_loop_runtime-0.7.26/tests/test_agy_self_qualification.py +0 -2741
  582. phase_loop_runtime-0.7.26/tests/test_broker_staged_tree_delivery.py +0 -650
  583. phase_loop_runtime-0.7.26/tests/test_ci_chronology_scope.py +0 -589
  584. phase_loop_runtime-0.7.26/tests/test_ci_xdist_adoption.py +0 -416
  585. phase_loop_runtime-0.7.26/tests/test_convergence_broker_evidence.py +0 -35
  586. phase_loop_runtime-0.7.26/tests/test_convergence_runtime_imports.py +0 -504
  587. phase_loop_runtime-0.7.26/tests/test_credential_redaction_shapes.py +0 -502
  588. phase_loop_runtime-0.7.26/tests/test_discovery_hygiene_legacy.py +0 -240
  589. phase_loop_runtime-0.7.26/tests/test_doctor_bom.py +0 -229
  590. phase_loop_runtime-0.7.26/tests/test_executor_availability.py +0 -151
  591. phase_loop_runtime-0.7.26/tests/test_executor_exited_without_closeout_785.py +0 -304
  592. phase_loop_runtime-0.7.26/tests/test_fabpub_partition_rotation_789d.py +0 -5496
  593. phase_loop_runtime-0.7.26/tests/test_fabpub_sealed_head_recovery_1296.py +0 -591
  594. phase_loop_runtime-0.7.26/tests/test_gate_a_wheel_isolation.py +0 -147
  595. phase_loop_runtime-0.7.26/tests/test_gemini_heartbeat_bootstrap.py +0 -1578
  596. phase_loop_runtime-0.7.26/tests/test_governed_premerge.py +0 -275
  597. phase_loop_runtime-0.7.26/tests/test_grokexec.py +0 -511
  598. phase_loop_runtime-0.7.26/tests/test_harden_evidence_producer.py +0 -5214
  599. phase_loop_runtime-0.7.26/tests/test_harden_evidence_verifier.py +0 -712
  600. phase_loop_runtime-0.7.26/tests/test_launch_audit_inventory.py +0 -121
  601. phase_loop_runtime-0.7.26/tests/test_leg_liveness_monitor.py +0 -395
  602. phase_loop_runtime-0.7.26/tests/test_legible_review_repairs.py +0 -5731
  603. phase_loop_runtime-0.7.26/tests/test_legible_roadmap_contract.py +0 -2664
  604. phase_loop_runtime-0.7.26/tests/test_local_check.py +0 -210
  605. phase_loop_runtime-0.7.26/tests/test_model_class_policy.py +0 -210
  606. phase_loop_runtime-0.7.26/tests/test_model_tier_taxonomy.py +0 -435
  607. phase_loop_runtime-0.7.26/tests/test_outside_agent_conform_evidence.py +0 -7097
  608. phase_loop_runtime-0.7.26/tests/test_panel_claude_review_output.py +0 -1271
  609. phase_loop_runtime-0.7.26/tests/test_panel_codex_auth_signature_body_252.py +0 -150
  610. phase_loop_runtime-0.7.26/tests/test_panel_context_refs_114.py +0 -380
  611. phase_loop_runtime-0.7.26/tests/test_panel_gemini_no_command_preamble.py +0 -73
  612. phase_loop_runtime-0.7.26/tests/test_panel_invoker.py +0 -181
  613. phase_loop_runtime-0.7.26/tests/test_panel_invoker_spawn.py +0 -654
  614. phase_loop_runtime-0.7.26/tests/test_panel_invoker_timeout_argv.py +0 -2458
  615. phase_loop_runtime-0.7.26/tests/test_panel_leg_auth_preflight_64.py +0 -208
  616. phase_loop_runtime-0.7.26/tests/test_panel_leg_status_detail_1096.py +0 -1327
  617. phase_loop_runtime-0.7.26/tests/test_panel_native_fill_183.py +0 -423
  618. phase_loop_runtime-0.7.26/tests/test_panel_per_leg_model_66.py +0 -86
  619. phase_loop_runtime-0.7.26/tests/test_panel_tui_eof_48.py +0 -75
  620. phase_loop_runtime-0.7.26/tests/test_panel_tui_liveness_188.py +0 -667
  621. phase_loop_runtime-0.7.26/tests/test_panel_tui_workspace_trust_223.py +0 -527
  622. phase_loop_runtime-0.7.26/tests/test_phase_loop_baml_dependency.py +0 -70
  623. phase_loop_runtime-0.7.26/tests/test_phase_loop_baml_v1_runtime.py +0 -5321
  624. phase_loop_runtime-0.7.26/tests/test_phase_loop_execution_policy.py +0 -527
  625. phase_loop_runtime-0.7.26/tests/test_phase_loop_injection.py +0 -298
  626. phase_loop_runtime-0.7.26/tests/test_phase_loop_launcher.py +0 -1987
  627. phase_loop_runtime-0.7.26/tests/test_phase_loop_runner.py +0 -3781
  628. phase_loop_runtime-0.7.26/tests/test_phase_loop_v22_principles.py +0 -149
  629. phase_loop_runtime-0.7.26/tests/test_president_heartbeat_1001.py +0 -576
  630. phase_loop_runtime-0.7.26/tests/test_president_ladder_config.py +0 -595
  631. phase_loop_runtime-0.7.26/tests/test_president_wiring.py +0 -1247
  632. phase_loop_runtime-0.7.26/tests/test_publishing.py +0 -1216
  633. phase_loop_runtime-0.7.26/tests/test_qualified_agy_image_set.py +0 -159
  634. phase_loop_runtime-0.7.26/tests/test_reflection_corpus.py +0 -652
  635. phase_loop_runtime-0.7.26/tests/test_review_leg_sandbox.py +0 -511
  636. phase_loop_runtime-0.7.26/tests/test_review_monitor_policy.py +0 -1348
  637. phase_loop_runtime-0.7.26/tests/test_review_policy_govlean_repairs.py +0 -172
  638. phase_loop_runtime-0.7.26/tests/test_review_seat_stall_1176.py +0 -1500
  639. phase_loop_runtime-0.7.26/tests/test_review_stage_binding.py +0 -1914
  640. phase_loop_runtime-0.7.26/tests/test_roadmap_ownership.py +0 -2652
  641. phase_loop_runtime-0.7.26/tests/test_routing_invariants.py +0 -140
  642. phase_loop_runtime-0.7.26/tests/test_rule_enforcement_registry.py +0 -180
  643. phase_loop_runtime-0.7.26/tests/test_sandbox_egress.py +0 -796
  644. phase_loop_runtime-0.7.26/tests/test_sandbox_placement.py +0 -1412
  645. phase_loop_runtime-0.7.26/tests/test_sandbox_policy.py +0 -392
  646. phase_loop_runtime-0.7.26/tests/test_sandbox_staging_1147.py +0 -1396
  647. phase_loop_runtime-0.7.26/tests/test_scratch_runtime_audit_1147.py +0 -381
  648. phase_loop_runtime-0.7.26/tests/test_seat_caller_ancestry.py +0 -156
  649. phase_loop_runtime-0.7.26/tests/test_seat_caller_owner.py +0 -156
  650. phase_loop_runtime-0.7.26/tests/test_seat_credential_refresh.py +0 -189
  651. phase_loop_runtime-0.7.26/tests/test_seat_egress_rules.py +0 -138
  652. phase_loop_runtime-0.7.26/tests/test_seat_host_git.py +0 -313
  653. phase_loop_runtime-0.7.26/tests/test_seat_host_path_links.py +0 -127
  654. phase_loop_runtime-0.7.26/tests/test_seat_host_uid_1098.py +0 -510
  655. phase_loop_runtime-0.7.26/tests/test_seat_ipc.py +0 -95
  656. phase_loop_runtime-0.7.26/tests/test_seat_jail.py +0 -750
  657. phase_loop_runtime-0.7.26/tests/test_seat_jail_live_d8.py +0 -454
  658. phase_loop_runtime-0.7.26/tests/test_seat_jail_prerequisites_1357.py +0 -437
  659. phase_loop_runtime-0.7.26/tests/test_seat_journal_collection.py +0 -233
  660. phase_loop_runtime-0.7.26/tests/test_seat_launch_helpers_trusted.py +0 -276
  661. phase_loop_runtime-0.7.26/tests/test_seat_login_wait_a3_1166.py +0 -346
  662. phase_loop_runtime-0.7.26/tests/test_seat_login_wait_board_context_r12.py +0 -172
  663. phase_loop_runtime-0.7.26/tests/test_seat_notices.py +0 -1147
  664. phase_loop_runtime-0.7.26/tests/test_seat_owner_notices.py +0 -50
  665. phase_loop_runtime-0.7.26/tests/test_seat_owner_round1_1282.py +0 -149
  666. phase_loop_runtime-0.7.26/tests/test_seat_owner_setup_clock_1282.py +0 -86
  667. phase_loop_runtime-0.7.26/tests/test_seat_owner_view.py +0 -314
  668. phase_loop_runtime-0.7.26/tests/test_seat_preflight_1204.py +0 -579
  669. phase_loop_runtime-0.7.26/tests/test_seat_profiles.py +0 -266
  670. phase_loop_runtime-0.7.26/tests/test_seat_qualification_host_context.py +0 -68
  671. phase_loop_runtime-0.7.26/tests/test_seat_review_refusals.py +0 -40
  672. phase_loop_runtime-0.7.26/tests/test_seat_sandbox_permissions.py +0 -1090
  673. phase_loop_runtime-0.7.26/tests/test_seat_transcript_io.py +0 -226
  674. phase_loop_runtime-0.7.26/tests/test_seat_tui_owner_refusal.py +0 -34
  675. phase_loop_runtime-0.7.26/tests/test_seat_wrapper_cli_1318.py +0 -122
  676. phase_loop_runtime-0.7.26/tests/test_skills_canon_parity.py +0 -425
  677. phase_loop_runtime-0.7.26/tests/test_the_real_launch_carries_the_prefix.py +0 -362
  678. phase_loop_runtime-0.7.26/tests/test_train_review_packet.py +0 -2597
  679. phase_loop_runtime-0.7.26/tests/test_validate_plan_doc_owned_companions.py +0 -257
  680. phase_loop_runtime-0.7.26/tests/test_validate_plan_doc_word_budget.py +0 -288
  681. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/setup.cfg +0 -0
  682. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_contract_docs/phase-loop/extraction-readiness.md +0 -0
  683. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_contract_docs/phase-loop/granular-execution-policy.md +0 -0
  684. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_contract_docs/phase-loop/harness-capability-matrix.md +0 -0
  685. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_contract_docs/phase-loop/harness-skill-matrix.md +0 -0
  686. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_contract_docs/phase-loop/harness-substrate-manifest.md +0 -0
  687. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_contract_docs/phase-loop/pi-loop-control.md +0 -0
  688. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_contract_docs/phase-loop/runtime-boundary.md +0 -0
  689. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_contract_docs/phase-loop/spec-discovery-roots.md +0 -0
  690. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_contract_docs/phase-loop/substrate-soak-governed-pipeline.md +0 -0
  691. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_contract_docs/phase-loop/substrate-soak-portal-projection.md +0 -0
  692. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_contract_docs/phase-loop/substrate-soak-regenesis.md +0 -0
  693. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_contract_docs/phase-loop/substrate-soak-report.md +0 -0
  694. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_contract_docs/runtime/verification-evidence-contract.md +0 -0
  695. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_proc_cpu.py +0 -0
  696. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-mixed-signals/commands.txt +0 -0
  697. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-mixed-signals/manifest.json +0 -0
  698. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-mixed-signals/mixed.json +0 -0
  699. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-provider-timeout/manifest.json +0 -0
  700. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-provider-timeout/timeout-note.txt +0 -0
  701. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-redacted-summary/manifest.json +0 -0
  702. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-redacted-summary/redacted-summary.json +0 -0
  703. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-small-sample/manifest.json +0 -0
  704. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-small-sample/sample.json +0 -0
  705. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-threshold-edge/edge.txt +0 -0
  706. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/borderline/borderline-threshold-edge/manifest.json +0 -0
  707. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-duplicate-png/manifest.json +0 -0
  708. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-duplicate-png/shot-a.txt +0 -0
  709. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-duplicate-png/shot-b.txt +0 -0
  710. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-duplicate-png/shot-c.txt +0 -0
  711. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-missing-references/claimed-results.json +0 -0
  712. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-missing-references/manifest.json +0 -0
  713. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-subtle-low-variance/manifest.json +0 -0
  714. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-subtle-low-variance/metrics.json +0 -0
  715. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-templated-prose/findings.md +0 -0
  716. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-templated-prose/manifest.json +0 -0
  717. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-uniform-scores/manifest.json +0 -0
  718. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-uniform-scores/scores.json +0 -0
  719. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-fake/fake-uniform-scores/summary.txt +0 -0
  720. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-adoption-bundle/bundle-check.json +0 -0
  721. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-adoption-bundle/manifest.json +0 -0
  722. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-adoption-bundle/operator-note.txt +0 -0
  723. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-handoff-ledger/events-sample.jsonl +0 -0
  724. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-handoff-ledger/manifest.json +0 -0
  725. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-handoff-ledger/receipt.txt +0 -0
  726. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-runner-diff/evidence.json +0 -0
  727. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-runner-diff/manifest.json +0 -0
  728. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-runner-diff/summary.txt +0 -0
  729. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-test-matrix/manifest.json +0 -0
  730. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-test-matrix/matrix.json +0 -0
  731. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-test-matrix/notes.md +0 -0
  732. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-ui-screenshot-standin/console-summary.txt +0 -0
  733. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-ui-screenshot-standin/manifest.json +0 -0
  734. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/_test_fixtures/evidence-audit-calibration/known-real/real-ui-screenshot-standin/screenshot-standin.ppm +0 -0
  735. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/advisor_board/__init__.py +0 -0
  736. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/advisor_board/advisory_contract.py +0 -0
  737. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/advisor_board/backing.py +0 -0
  738. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/advisor_board/backing_omnigent.py +0 -0
  739. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/advisor_board/events.py +0 -0
  740. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/advisor_board/matrix.py +0 -0
  741. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/advisor_board/observability.py +0 -0
  742. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/advisor_board/research.py +0 -0
  743. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/advisor_board/schema.py +0 -0
  744. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/advisor_board/standin.py +0 -0
  745. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/advisor_board/validation.py +0 -0
  746. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/agent_runtime_provider.py +0 -0
  747. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/agent_view_cleanup.py +0 -0
  748. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/agy_provenance.py +0 -0
  749. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/agy_watch.py +0 -0
  750. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/baml_modular.py +0 -0
  751. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/baml_src/dotfiles_adoption_manifest.baml +0 -0
  752. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/baml_src/dotfiles_c4_document.baml +0 -0
  753. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/baml_src/dotfiles_plan_manifest.baml +0 -0
  754. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/baml_src/dotfiles_runtime_projection.baml +0 -0
  755. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/baml_src/dotfiles_task_catalog.baml +0 -0
  756. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/baml_src/emit_phase_closeout.baml +0 -0
  757. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/baml_src/evaluate_suspected_fake_evidence.baml +0 -0
  758. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/baml_src/verification_evidence.baml +0 -0
  759. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/broker.py +0 -0
  760. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/classifier.py +0 -0
  761. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/claude_agent_view.py +0 -0
  762. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/claude_channel_sidecar.py +0 -0
  763. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/closeout.py +0 -0
  764. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/closeout_classifier.py +0 -0
  765. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/closeout_evidence_audit.py +0 -0
  766. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/closeout_validation.py +0 -0
  767. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/closeout_validators.py +0 -0
  768. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/conformance/__init__.py +0 -0
  769. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/conformance/_contract/VENDOR.json +0 -0
  770. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/conformance/_contract/consiliency_spec/outside_agent_router.py +0 -0
  771. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/conformance/_contract/schemas/outside-agent-route-verdict.schema.json +0 -0
  772. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/conformance/_contract/schemas/outside-agent-submission.schema.json +0 -0
  773. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/conformance/_contract/test-vectors/outside-agent/invalid-empty-evidence-refs.json +0 -0
  774. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/conformance/_contract/test-vectors/outside-agent/invalid-git-object-id-length.json +0 -0
  775. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/conformance/_contract/test-vectors/outside-agent/invalid-missing-digest.json +0 -0
  776. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/conformance/_contract/test-vectors/outside-agent/invalid-path-traversal.json +0 -0
  777. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/conformance/_contract/test-vectors/outside-agent/invalid-raw-payload.json +0 -0
  778. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/conformance/_contract/test-vectors/outside-agent/invalid-source-bundle-mismatch.json +0 -0
  779. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/conformance/_contract/test-vectors/outside-agent/invalid-unknown-producer-identity-posture.json +0 -0
  780. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/conformance/_contract/test-vectors/outside-agent/invalid-unsupported-verdict.json +0 -0
  781. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/conformance/_contract/test-vectors/outside-agent/manifest.json +0 -0
  782. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/conformance/_contract/test-vectors/outside-agent/valid-ambiguity-report.json +0 -0
  783. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/conformance/_contract/test-vectors/outside-agent/valid-implementation-submission.json +0 -0
  784. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/conformance/_contract/test-vectors/outside-agent/valid-work-request.json +0 -0
  785. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/conformance/certificate_tier.py +0 -0
  786. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/conformance/git_grounded_projection.py +0 -0
  787. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/conformance/outside_agent_advisory.py +0 -0
  788. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/conformance/outside_agent_conform_evidence.py +0 -0
  789. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/conformance/outside_agent_core.py +0 -0
  790. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/conformance/outside_agent_imports.py +0 -0
  791. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/conformance/outside_agent_pin.py +0 -0
  792. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/conformance/outside_agent_provenance.py +0 -0
  793. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/conformance/outside_agent_real.py +0 -0
  794. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/conformance/outside_agent_real_output.py +0 -0
  795. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/conformance/outside_agent_redaction.py +0 -0
  796. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/conformance/outside_agent_schema.py +0 -0
  797. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/conformance/outside_agent_vectors.py +0 -0
  798. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/consiliency_gates.py +0 -0
  799. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/consiliency_ingest.py +0 -0
  800. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/consiliency_scaffold.py +0 -0
  801. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/convergence/__init__.py +0 -0
  802. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/convergence/adapters/__init__.py +0 -0
  803. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/convergence/adapters/base.py +0 -0
  804. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/convergence/adapters/claude.py +0 -0
  805. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/convergence/adapters/codex.py +0 -0
  806. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/convergence/adapters/outside_agent.py +0 -0
  807. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/convergence/broker/__init__.py +0 -0
  808. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/convergence/event_log.py +0 -0
  809. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/convergence/fencing.py +0 -0
  810. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/convergence/reconcile.py +0 -0
  811. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/convergence/refresh.py +0 -0
  812. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/convergence/status.py +0 -0
  813. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/cross_repo_channel.py +0 -0
  814. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/declared_identity.py +0 -0
  815. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/default_executor_resolver.py +0 -0
  816. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/deploy/phase-loop-task-message-broker.service +0 -0
  817. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/dispatch_lock.py +0 -0
  818. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/doc_delta_validator.py +0 -0
  819. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/docs_audit.py +0 -0
  820. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/docs_freshness.py +0 -0
  821. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/docs_surfaces.py +0 -0
  822. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/dotfiles_profile_plugin.py +0 -0
  823. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/events.py +0 -0
  824. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/events_migration.py +0 -0
  825. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/evidence_audit.py +0 -0
  826. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/evidence_audit_config.py +0 -0
  827. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/fab_canonical.py +0 -0
  828. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/fab_gate.py +0 -0
  829. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/fab_producer.py +0 -0
  830. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/fab_provenance.py +0 -0
  831. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/fabpub_capability.py +0 -0
  832. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/fabpub_tdd_chronology.py +0 -0
  833. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/fabreadmit_capability.py +0 -0
  834. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/falsifier.py +0 -0
  835. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/fleet_metrics.py +0 -0
  836. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/fleet_metrics_export.py +0 -0
  837. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/gate_posture.py +0 -0
  838. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/generated_outputs.py +0 -0
  839. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/git_discipline.py +0 -0
  840. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/git_ops.py +0 -0
  841. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/git_topology.py +0 -0
  842. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/goal_coverage.py +0 -0
  843. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/governed_bundle.py +0 -0
  844. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/handoff.py +0 -0
  845. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/handoff_path.py +0 -0
  846. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/harness_env_signatures.py +0 -0
  847. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/install_status.py +0 -0
  848. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/lane_scheduler.py +0 -0
  849. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/lease_store.py +0 -0
  850. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/lease_supervisor.py +0 -0
  851. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/maintenance.py +0 -0
  852. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/migrate_handoffs.py +0 -0
  853. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/observability.py +0 -0
  854. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/panel_reply.py +0 -0
  855. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/phase_loop_drift_audit.py +0 -0
  856. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/phase_worktree_executor.py +0 -0
  857. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/pipeline_adapter/__init__.py +0 -0
  858. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/pipeline_adapter/branch_ops.py +0 -0
  859. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/pipeline_adapter/flag.py +0 -0
  860. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/pipeline_adapter/markers.py +0 -0
  861. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/pipeline_adapter/merge_policy.py +0 -0
  862. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/pipeline_adapter/ratification.py +0 -0
  863. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/pipeline_adapter/sibling_matcher.py +0 -0
  864. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/plan_ir.py +0 -0
  865. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/plan_manifest.py +0 -0
  866. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/plan_pin_lint.py +0 -0
  867. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/planner_validation.py +0 -0
  868. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/president_operation.py +0 -0
  869. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/producer_manifest.py +0 -0
  870. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/proof_stages.py +0 -0
  871. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/provenance.py +0 -0
  872. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/py.typed +0 -0
  873. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/ratification_policy.py +0 -0
  874. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/reconcile.py +0 -0
  875. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/redaction.py +0 -0
  876. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/reflection_sync.py +0 -0
  877. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/release_guard.py +0 -0
  878. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/render.py +0 -0
  879. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/repo_validation.py +0 -0
  880. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/review_summary.py +0 -0
  881. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/reviewtruth_native_fill_capability.py +0 -0
  882. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/roadmap_authority.py +0 -0
  883. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/roadmap_representation_check.py +0 -0
  884. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/roadmap_reseal.py +0 -0
  885. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/route_log.py +0 -0
  886. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/route_policy/__init__.py +0 -0
  887. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/route_policy/fixtures/route_selection.golden.json +0 -0
  888. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/rule_enforcement.py +0 -0
  889. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/runtime_paths.py +0 -0
  890. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/runtime_projection.py +0 -0
  891. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/runtime_resources.py +0 -0
  892. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/schema_export.py +0 -0
  893. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/schemas/phase_loop_closeout.schema.json +0 -0
  894. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/seat_jail_apparmor.py +0 -0
  895. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/seat_keyring_exec.py +0 -0
  896. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/seat_seccomp.py +0 -0
  897. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skill_install.py +0 -0
  898. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skill_paths.py +0 -0
  899. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skill_sources_plugin.py +0 -0
  900. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/claude-advisor-board/README.md +0 -0
  901. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/claude-advisor-panel/README.md +0 -0
  902. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/claude-execute-detailed/README.md +0 -0
  903. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/claude-execute-phase/README.md +0 -0
  904. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/allocate_worktree_name.sh +0 -0
  905. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/audit_lane_file_touches.py +0 -0
  906. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/cleanup_lane_worktrees.sh +0 -0
  907. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/parent_tree_leakage_check.sh +0 -0
  908. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/post_merge_import_smoke.sh +0 -0
  909. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/pre_merge_destructiveness_check.sh +0 -0
  910. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/prune_merged_worktrees.sh +0 -0
  911. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/resolve_branch_from_sha.sh +0 -0
  912. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/state.py +0 -0
  913. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/sweep_stale_worktrees.sh +0 -0
  914. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/team_teardown.sh +0 -0
  915. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/validate_plan_doc.py +0 -0
  916. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/claude-execute-phase/scripts/verify_harness.sh +0 -0
  917. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/claude-phase-loop/README.md +0 -0
  918. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/claude-phase-loop/SKILL.md +0 -0
  919. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/claude-phase-roadmap-builder/README.md +0 -0
  920. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/claude-phase-roadmap-builder/assets/review_prompt.md +0 -0
  921. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/claude-phase-roadmap-builder/scripts/validate_roadmap.py +0 -0
  922. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/claude-plan-detailed/README.md +0 -0
  923. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/claude-plan-detailed/assets/review_prompt.md +0 -0
  924. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/claude-plan-phase/README.md +0 -0
  925. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/claude-plan-phase/assets/review_prompt.md +0 -0
  926. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/claude-run-train/README.md +0 -0
  927. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/claude-run-train/SKILL.md +0 -0
  928. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/claude-skill-editor/README.md +0 -0
  929. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/claude-skill-improvement-planner/README.md +0 -0
  930. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/claude-task-contextualizer/README.md +0 -0
  931. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/claude-task-contextualizer/SKILL.md +0 -0
  932. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-advisor-board/README.md +0 -0
  933. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-advisor-panel/README.md +0 -0
  934. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-execute-detailed/README.md +0 -0
  935. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-execute-phase/README.md +0 -0
  936. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/allocate_worktree_name.sh +0 -0
  937. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/audit_lane_file_touches.py +0 -0
  938. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/cleanup_lane_worktrees.sh +0 -0
  939. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/parent_tree_leakage_check.sh +0 -0
  940. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/post_merge_import_smoke.sh +0 -0
  941. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/pre_merge_destructiveness_check.sh +0 -0
  942. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/prune_merged_worktrees.sh +0 -0
  943. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/resolve_branch_from_sha.sh +0 -0
  944. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/state.py +0 -0
  945. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/sweep_stale_worktrees.sh +0 -0
  946. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/team_teardown.sh +0 -0
  947. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/validate_plan_doc.py +0 -0
  948. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-execute-phase/scripts/verify_harness.sh +0 -0
  949. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-phase-loop/README.md +0 -0
  950. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-phase-loop/SKILL.md +0 -0
  951. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-phase-roadmap-builder/README.md +0 -0
  952. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-phase-roadmap-builder/SKILL.md +0 -0
  953. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-phase-roadmap-builder/assets/review_prompt.md +0 -0
  954. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-phase-roadmap-builder/scripts/validate_roadmap.py +0 -0
  955. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-plan-detailed/README.md +0 -0
  956. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-plan-detailed/SKILL.md +0 -0
  957. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-plan-detailed/assets/review_prompt.md +0 -0
  958. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-plan-phase/README.md +0 -0
  959. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-plan-phase/assets/review_prompt.md +0 -0
  960. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-run-train/README.md +0 -0
  961. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-run-train/SKILL.md +0 -0
  962. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-skill-editor/README.md +0 -0
  963. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-skill-improvement-planner/README.md +0 -0
  964. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-task-contextualizer/README.md +0 -0
  965. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/codex-task-contextualizer/SKILL.md +0 -0
  966. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-advisor-board/README.md +0 -0
  967. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-advisor-panel/README.md +0 -0
  968. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-execute-detailed/README.md +0 -0
  969. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/README.md +0 -0
  970. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/allocate_worktree_name.sh +0 -0
  971. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/audit_lane_file_touches.py +0 -0
  972. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/cleanup_lane_worktrees.sh +0 -0
  973. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/parent_tree_leakage_check.sh +0 -0
  974. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/post_merge_import_smoke.sh +0 -0
  975. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/pre_merge_destructiveness_check.sh +0 -0
  976. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/prune_merged_worktrees.sh +0 -0
  977. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/resolve_branch_from_sha.sh +0 -0
  978. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/state.py +0 -0
  979. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/sweep_stale_worktrees.sh +0 -0
  980. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/team_teardown.sh +0 -0
  981. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/validate_plan_doc.py +0 -0
  982. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-execute-phase/scripts/verify_harness.sh +0 -0
  983. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-phase-loop/README.md +0 -0
  984. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-phase-loop/SKILL.md +0 -0
  985. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-phase-roadmap-builder/README.md +0 -0
  986. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-phase-roadmap-builder/SKILL.md +0 -0
  987. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-phase-roadmap-builder/assets/review_prompt.md +0 -0
  988. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-phase-roadmap-builder/scripts/validate_roadmap.py +0 -0
  989. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-plan-detailed/README.md +0 -0
  990. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-plan-detailed/SKILL.md +0 -0
  991. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-plan-detailed/assets/review_prompt.md +0 -0
  992. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-plan-phase/README.md +0 -0
  993. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-plan-phase/assets/review_prompt.md +0 -0
  994. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-run-train/README.md +0 -0
  995. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-run-train/SKILL.md +0 -0
  996. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-skill-editor/README.md +0 -0
  997. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-skill-improvement-planner/README.md +0 -0
  998. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-task-contextualizer/README.md +0 -0
  999. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/gemini-task-contextualizer/SKILL.md +0 -0
  1000. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-advisor-board/README.md +0 -0
  1001. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-advisor-panel/README.md +0 -0
  1002. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-execute-detailed/README.md +0 -0
  1003. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/README.md +0 -0
  1004. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/allocate_worktree_name.sh +0 -0
  1005. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/audit_lane_file_touches.py +0 -0
  1006. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/cleanup_lane_worktrees.sh +0 -0
  1007. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/parent_tree_leakage_check.sh +0 -0
  1008. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/post_merge_import_smoke.sh +0 -0
  1009. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/pre_merge_destructiveness_check.sh +0 -0
  1010. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/prune_merged_worktrees.sh +0 -0
  1011. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/resolve_branch_from_sha.sh +0 -0
  1012. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/state.py +0 -0
  1013. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/sweep_stale_worktrees.sh +0 -0
  1014. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/team_teardown.sh +0 -0
  1015. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/validate_plan_doc.py +0 -0
  1016. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-execute-phase/scripts/verify_harness.sh +0 -0
  1017. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-phase-loop/README.md +0 -0
  1018. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-phase-loop/SKILL.md +0 -0
  1019. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-phase-roadmap-builder/README.md +0 -0
  1020. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-phase-roadmap-builder/SKILL.md +0 -0
  1021. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-phase-roadmap-builder/assets/review_prompt.md +0 -0
  1022. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-phase-roadmap-builder/scripts/validate_roadmap.py +0 -0
  1023. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-plan-detailed/README.md +0 -0
  1024. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-plan-detailed/SKILL.md +0 -0
  1025. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-plan-detailed/assets/review_prompt.md +0 -0
  1026. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-plan-phase/README.md +0 -0
  1027. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-plan-phase/assets/review_prompt.md +0 -0
  1028. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-run-train/README.md +0 -0
  1029. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-run-train/SKILL.md +0 -0
  1030. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-skill-editor/README.md +0 -0
  1031. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-skill-improvement-planner/README.md +0 -0
  1032. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-task-contextualizer/README.md +0 -0
  1033. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/skills_bundle/opencode-task-contextualizer/SKILL.md +0 -0
  1034. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/state.py +0 -0
  1035. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/state_degradation.py +0 -0
  1036. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/state_ops.py +0 -0
  1037. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/task_message_broker.py +0 -0
  1038. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/task_message_broker_client.py +0 -0
  1039. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/task_message_resolver.py +0 -0
  1040. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/tdd_receipts.py +0 -0
  1041. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/train_ledger.py +0 -0
  1042. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/train_review_packet.py +0 -0
  1043. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/train_roadmap.py +0 -0
  1044. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/verification_evidence.py +0 -0
  1045. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/verification_evidence_validator.py +0 -0
  1046. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/visual_avatar_evidence_validator.py +0 -0
  1047. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/visual_evidence_validator.py +0 -0
  1048. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime/worktree_index.py +0 -0
  1049. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime.egg-info/dependency_links.txt +0 -0
  1050. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/src/phase_loop_runtime.egg-info/top_level.txt +0 -0
  1051. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_acceptance_falsifier_contract.py +0 -0
  1052. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_advisor_board_advisory_mode.py +0 -0
  1053. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_advisor_board_alias_install.py +0 -0
  1054. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_advisor_board_backing_omnigent.py +0 -0
  1055. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_advisor_board_cli_legacy.py +0 -0
  1056. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_advisor_board_concurrency.py +0 -0
  1057. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_advisor_board_ingestion.py +0 -0
  1058. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_advisor_board_integration.py +0 -0
  1059. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_advisor_board_live_research.py +0 -0
  1060. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_advisor_board_matrix.py +0 -0
  1061. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_advisor_board_observability.py +0 -0
  1062. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_advisor_board_research.py +0 -0
  1063. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_advisor_board_resolver.py +0 -0
  1064. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_advisor_board_schema.py +0 -0
  1065. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_advisor_twin_alias_legacy.py +0 -0
  1066. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_agent_runtime_provider_cs08.py +0 -0
  1067. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_agent_view_cleanup.py +0 -0
  1068. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_agy_single_event_transport_1175.py +0 -0
  1069. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_agy_static_integrity.py +0 -0
  1070. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_agy_upstream_advisory.py +0 -0
  1071. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_autosel.py +0 -0
  1072. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_branchgov_preflight.py +0 -0
  1073. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_broker_command_builders.py +0 -0
  1074. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_broker_evidence_schema_drift_789.py +0 -0
  1075. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_certificate_tier.py +0 -0
  1076. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_ci_gate_metrics.py +0 -0
  1077. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_ci_main_red.py +0 -0
  1078. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_ci_offload_lock.py +0 -0
  1079. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_ci_quarantine.py +0 -0
  1080. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_ci_workflow_concurrency.py +0 -0
  1081. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_ci_xdist_witness.py +0 -0
  1082. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_claude_json_schema_metaschema_291.py +0 -0
  1083. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_cli_train_status_45.py +0 -0
  1084. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_closeout_break_glass_cli.py +0 -0
  1085. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_closeout_classifier.py +0 -0
  1086. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_closeout_convergence_fixes.py +0 -0
  1087. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_closeout_exception_vocab.py +0 -0
  1088. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_closeout_generated_outputs.py +0 -0
  1089. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_closeout_gitignored_disposable_186b.py +0 -0
  1090. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_closeout_import_cycle_819.py +0 -0
  1091. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_closeout_new_owned_directory_closes_clean.py +0 -0
  1092. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_closeout_validator_hook.py +0 -0
  1093. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_closeout_verification_gate.py +0 -0
  1094. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_codex_effort_max_clamp_49.py +0 -0
  1095. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_committed_range_diff.py +0 -0
  1096. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_common_directory_leases_807.py +0 -0
  1097. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_conform_timing_instrumentation.py +0 -0
  1098. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_conformance_golden.py +0 -0
  1099. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_conftest_isolation.py +0 -0
  1100. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_consiliency_dual_layout.py +0 -0
  1101. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_consiliency_gates.py +0 -0
  1102. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_consiliency_ingest.py +0 -0
  1103. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_consiliency_scaffold.py +0 -0
  1104. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_console_scripts_are_declared.py +0 -0
  1105. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_contract_floor_guard_378.py +0 -0
  1106. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_convergence_adapters.py +0 -0
  1107. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_convergence_broker_admission.py +0 -0
  1108. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_convergence_broker_api.py +0 -0
  1109. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_convergence_broker_credsep.py +0 -0
  1110. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_convergence_broker_revocation_race.py +0 -0
  1111. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_convergence_broker_verbs.py +0 -0
  1112. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_convergence_cli_integration.py +0 -0
  1113. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_convergence_coordination_contracts.py +0 -0
  1114. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_convergence_dispatch.py +0 -0
  1115. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_convergence_event_contracts.py +0 -0
  1116. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_convergence_event_log.py +0 -0
  1117. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_convergence_fencing.py +0 -0
  1118. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_convergence_fixture_contracts.py +0 -0
  1119. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_convergence_invalidation.py +0 -0
  1120. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_convergence_live_enable.py +0 -0
  1121. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_convergence_provider_contracts.py +0 -0
  1122. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_convergence_reconcile.py +0 -0
  1123. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_convergence_refresh.py +0 -0
  1124. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_convergence_seat_lifecycle.py +0 -0
  1125. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_convergence_status.py +0 -0
  1126. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_convergence_train_integration.py +0 -0
  1127. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_coordinator_wave_loop.py +0 -0
  1128. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_cr_fixes_pr220.py +0 -0
  1129. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_delegated_visual_evidence_91.py +0 -0
  1130. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_dispatch_hold_guard.py +0 -0
  1131. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_dispatch_lock_cross_roadmap.py +0 -0
  1132. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_dispatch_lock_helper.py +0 -0
  1133. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_dispatch_lock_reentrancy.py +0 -0
  1134. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_dispatch_lock_same_roadmap.py +0 -0
  1135. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_doc_delta_validator.py +0 -0
  1136. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_docs_audit.py +0 -0
  1137. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_docs_freshness.py +0 -0
  1138. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_dotfiles_tree.py +0 -0
  1139. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_egress_prefix_crosses_the_broker_thread.py +0 -0
  1140. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_entry_doc_check.py +0 -0
  1141. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_execfind_falsifier.py +0 -0
  1142. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_execfind_governed_promotion.py +0 -0
  1143. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_execgov.py +0 -0
  1144. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_execreg_launch_registry.py +0 -0
  1145. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_execute_phase_handoff_mode.py +0 -0
  1146. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_execution_policy_tiering.py +0 -0
  1147. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_export_schema.py +0 -0
  1148. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_fab_activation_promotion.py +0 -0
  1149. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_fab_canonical_b.py +0 -0
  1150. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_fab_closeout_crash_safety.py +0 -0
  1151. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_fab_closeout_wiring.py +0 -0
  1152. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_fab_delta_c.py +0 -0
  1153. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_fab_delta_consumer.py +0 -0
  1154. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_fab_flag_off_recovery_leak_299.py +0 -0
  1155. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_fab_gate_d.py +0 -0
  1156. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_fab_producer.py +0 -0
  1157. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_fab_provenance_a.py +0 -0
  1158. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_fabpub_admission_compat_789.py +0 -0
  1159. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_fabpub_bootstrap_writer_lock_1115.py +0 -0
  1160. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_fabpub_inventory_worktree_lifecycle_789.py +0 -0
  1161. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_fabpub_recovery_controls_789.py +0 -0
  1162. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_fabpub_rotate_partition_cli_789d.py +0 -0
  1163. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_fabpub_shared_epoch.py +0 -0
  1164. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_fabpub_zero_history_bootstrap.py +0 -0
  1165. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_fabreadmit_authority_digest_v2.py +0 -0
  1166. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_fabreadmit_broker.py +0 -0
  1167. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_finding_F001.py +0 -0
  1168. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_finding_F002.py +0 -0
  1169. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_finding_F004.py +0 -0
  1170. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_finding_F005.py +0 -0
  1171. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_fleet_map.py +0 -0
  1172. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_fleet_metrics.py +0 -0
  1173. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_fleet_metrics_export.py +0 -0
  1174. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_frozen_blob_batch_parse.py +0 -0
  1175. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_gate_fail_open_visibility.py +0 -0
  1176. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_gate_parity_244_245.py +0 -0
  1177. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_gate_posture.py +0 -0
  1178. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_gemini_credential_expiry_parse.py +0 -0
  1179. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_gemini_heartbeat_filesystem_view.py +0 -0
  1180. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_git_discipline.py +0 -0
  1181. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_git_grounded_projection.py +0 -0
  1182. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_goal_coverage.py +0 -0
  1183. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_governed_cross_vendor_floor_358.py +0 -0
  1184. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_governed_disjointness_model_first.py +0 -0
  1185. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_governed_e2e.py +0 -0
  1186. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_governed_gate_crfixes.py +0 -0
  1187. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_governed_planning_gate.py +0 -0
  1188. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_governed_premerge_live.py +0 -0
  1189. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_governed_review.py +0 -0
  1190. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_govlean_declared_identity.py +0 -0
  1191. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_govlean_panel_policy.py +0 -0
  1192. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_govlean_plan_manifest_issue_dispositions.py +0 -0
  1193. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_govlean_plan_pin_lint.py +0 -0
  1194. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_govlean_producer_manifest.py +0 -0
  1195. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_govlean_proof_stages.py +0 -0
  1196. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_govlean_roadmap_reseal.py +0 -0
  1197. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_govlean_skill_policy_parity.py +0 -0
  1198. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_govlean_tdd_receipts.py +0 -0
  1199. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_grok_narrow_reject_231.py +0 -0
  1200. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_harden_json_depth_825.py +0 -0
  1201. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_hotfix_lane.py +0 -0
  1202. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_injection_skill_failloud.py +0 -0
  1203. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_lane_ir_override.py +0 -0
  1204. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_launch_audit_exemption_scope_1282.py +0 -0
  1205. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_launch_audit_live_marker_1282.py +0 -0
  1206. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_launcher_exec_supervisor.py +0 -0
  1207. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_launcher_liveness.py +0 -0
  1208. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_launchspec_golden.py +0 -0
  1209. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_lease_store.py +0 -0
  1210. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_lease_store_conformance.py +0 -0
  1211. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_ledger_serialization.py +0 -0
  1212. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_legible_evidence.py +0 -0
  1213. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_live_smoke_gate_executes.py +0 -0
  1214. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_manifest_per_entry_164.py +0 -0
  1215. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_model_id_source_guard.py +0 -0
  1216. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_native_claude_seat_fill.py +0 -0
  1217. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_native_claude_seat_fill_green.py +0 -0
  1218. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_native_fill_refusal_cause.py +0 -0
  1219. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_nonzero_suite_command_fails_closed.py +0 -0
  1220. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_observability_alerting.py +0 -0
  1221. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_outside_agent_advisory.py +0 -0
  1222. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_outside_agent_advisory_cli.py +0 -0
  1223. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_outside_agent_advisory_fixtures.py +0 -0
  1224. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_outside_agent_authority_boundary.py +0 -0
  1225. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_outside_agent_canonical_corpus.py +0 -0
  1226. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_outside_agent_contract_drift.py +0 -0
  1227. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_outside_agent_contract_imports.py +0 -0
  1228. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_outside_agent_contract_pin.py +0 -0
  1229. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_outside_agent_core_api.py +0 -0
  1230. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_outside_agent_provenance.py +0 -0
  1231. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_outside_agent_real_ci.py +0 -0
  1232. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_outside_agent_real_cli.py +0 -0
  1233. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_outside_agent_real_output.py +0 -0
  1234. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_outside_agent_real_runtime.py +0 -0
  1235. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_outside_agent_redaction.py +0 -0
  1236. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_outside_agent_redaction_separation.py +0 -0
  1237. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_outside_agent_release_surface.py +0 -0
  1238. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_outside_agent_schema_validation.py +0 -0
  1239. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_outside_agent_vectors.py +0 -0
  1240. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_owned_command_procfs_1003.py +0 -0
  1241. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_packaged_vector_manifest_pin.py +0 -0
  1242. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_panel_advisory_mode_63.py +0 -0
  1243. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_panel_doc_contract.py +0 -0
  1244. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_panel_invoker_windows_import.py +0 -0
  1245. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_panel_lanes.py +0 -0
  1246. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_panel_leg_failure_diagnostic.py +0 -0
  1247. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_panel_lens_delivery.py +0 -0
  1248. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_panel_reply.py +0 -0
  1249. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_panel_streaming_verdicts.py +0 -0
  1250. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_panel_verdict_summary.py +0 -0
  1251. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_parallel_dispatch_backcompat.py +0 -0
  1252. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_parallel_dispatch_cli.py +0 -0
  1253. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_adoption_bundle.py +0 -0
  1254. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_adoption_bundle_cli.py +0 -0
  1255. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_baml_end_to_end.py +0 -0
  1256. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_baml_injection.py +0 -0
  1257. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_baml_modular.py +0 -0
  1258. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_baml_prompt_taxonomy.py +0 -0
  1259. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_baml_runner_closeout.py +0 -0
  1260. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_baml_schema_export.py +0 -0
  1261. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_baml_schema_source.py +0 -0
  1262. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_baml_v1_callers.py +0 -0
  1263. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_baml_v1_supervisor_slot.py +0 -0
  1264. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_branch_divergence_event.py +0 -0
  1265. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_break_glass_rerun.py +0 -0
  1266. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_build_bundle.py +0 -0
  1267. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_classifier.py +0 -0
  1268. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_claude_agent_view_adapter.py +0 -0
  1269. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_claude_agent_view_dispatch_409.py +0 -0
  1270. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_claude_agent_view_lifecycle.py +0 -0
  1271. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_claude_channel_hooks.py +0 -0
  1272. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_claude_channel_mcp.py +0 -0
  1273. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_claude_channel_security.py +0 -0
  1274. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_claude_channel_session_launch.py +0 -0
  1275. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_claude_channel_sidecar.py +0 -0
  1276. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_claude_channel_smoke_suite.py +0 -0
  1277. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_claude_route_selection.py +0 -0
  1278. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_cli.py +0 -0
  1279. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_cli_plugin_load.py +0 -0
  1280. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_closeout_control_only.py +0 -0
  1281. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_closeout_event.py +0 -0
  1282. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_closeout_evidence_audit.py +0 -0
  1283. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_closeout_hardening.py +0 -0
  1284. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_closeout_owned_dirty_fallback.py +0 -0
  1285. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_closeout_schema.py +0 -0
  1286. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_closeout_validation.py +0 -0
  1287. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_collaborator_citation.py +0 -0
  1288. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_collaborator_docs.py +0 -0
  1289. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_collaborator_rollback.py +0 -0
  1290. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_concurrent_phase_dispatch.py +0 -0
  1291. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_def4_writer_namespacing.py +0 -0
  1292. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_dirty_path_classify_phase_owned_tests.py +0 -0
  1293. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_dirty_path_classify_previous_phase_owned.py +0 -0
  1294. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_discovery.py +0 -0
  1295. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_docs.py +0 -0
  1296. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_dotfiles_schemas.py +0 -0
  1297. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_dotfiles_sources.py +0 -0
  1298. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_downstream_governed_pipeline.py +0 -0
  1299. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_downstream_instruction_scope_readme.py +0 -0
  1300. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_downstream_portal.py +0 -0
  1301. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_downstream_regenesis.py +0 -0
  1302. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_drift_audit.py +0 -0
  1303. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_dry_run_closeout_guard.py +0 -0
  1304. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_dry_run_then_run.py +0 -0
  1305. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_events_migration.py +0 -0
  1306. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_evidence_audit.py +0 -0
  1307. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_evidence_audit_runner.py +0 -0
  1308. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_evidence_audit_tier2.py +0 -0
  1309. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_evidence_audit_tier3.py +0 -0
  1310. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_evidence_audit_tuning.py +0 -0
  1311. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_executor_degradation.py +0 -0
  1312. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_full_phase_mode.py +0 -0
  1313. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_handoff.py +0 -0
  1314. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_handoff_migration.py +0 -0
  1315. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_init.py +0 -0
  1316. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_install_status.py +0 -0
  1317. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_issue_84_explicit_phase.py +0 -0
  1318. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_lane_harnesses.py +0 -0
  1319. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_lane_ir.py +0 -0
  1320. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_lane_ir_fixtures.py +0 -0
  1321. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_lane_scheduler.py +0 -0
  1322. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_ledger_debug.py +0 -0
  1323. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_ledger_dedup.py +0 -0
  1324. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_live_adapters.py +0 -0
  1325. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_maintenance.py +0 -0
  1326. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_metrics.py +0 -0
  1327. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_migration_regressions.py +0 -0
  1328. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_mixedrun_dispatch.py +0 -0
  1329. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_mixedrun_matrix.py +0 -0
  1330. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_mixedrun_observability.py +0 -0
  1331. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_models.py +0 -0
  1332. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_native_flags.py +0 -0
  1333. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_parallel_plan_safe.py +0 -0
  1334. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_pi_executor.py +0 -0
  1335. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_pipeline_boundaries.py +0 -0
  1336. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_pipeline_bridge.py +0 -0
  1337. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_pipeline_bundle.py +0 -0
  1338. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_pipeline_closeout.py +0 -0
  1339. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_pipeline_freshness.py +0 -0
  1340. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_pipeline_mode.py +0 -0
  1341. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_plan_doc_skip.py +0 -0
  1342. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_plan_manifest.py +0 -0
  1343. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_planner_redispatch_when_plan_current.py +0 -0
  1344. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_planner_validation.py +0 -0
  1345. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_policy.py +0 -0
  1346. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_protocol_contract.py +0 -0
  1347. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_provenance.py +0 -0
  1348. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_reconcile.py +0 -0
  1349. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_reconcile_blocker_self_clear.py +0 -0
  1350. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_reconcile_recovery_mode.py +0 -0
  1351. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_reconcile_to_status_planned_recovery.py +0 -0
  1352. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_reducers.py +0 -0
  1353. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_repair_precondition_planned_closeout.py +0 -0
  1354. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_repair_skipped_when_blocker_cleared.py +0 -0
  1355. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_roadmap_amendments.py +0 -0
  1356. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_roadmap_validate.py +0 -0
  1357. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_rotation.py +0 -0
  1358. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_runner_closeout_validation.py +0 -0
  1359. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_runtime_boundary.py +0 -0
  1360. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_runtime_decouple.py +0 -0
  1361. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_runtime_package_data.py +0 -0
  1362. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_runtime_projection.py +0 -0
  1363. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_schema_flow.py +0 -0
  1364. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_skill_baml_closeout.py +0 -0
  1365. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_skill_bridge_contract.py +0 -0
  1366. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_skill_contract.py +0 -0
  1367. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_skill_execute_contract.py +0 -0
  1368. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_skill_install.py +0 -0
  1369. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_skill_planner_contract.py +0 -0
  1370. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_smoke_blockers.py +0 -0
  1371. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_smoke_exhaustion.py +0 -0
  1372. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_smoke_reentry.py +0 -0
  1373. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_spurious_completion_rejection.py +0 -0
  1374. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_start_gate_phase_status.py +0 -0
  1375. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_start_gate_refuses_cross_phase_dirty.py +0 -0
  1376. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_state.py +0 -0
  1377. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_status_transition_events_emitted.py +0 -0
  1378. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_substrate_soak_docs.py +0 -0
  1379. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_substrate_soak_governed.py +0 -0
  1380. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_substrate_soak_portal.py +0 -0
  1381. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_terminal_summary_mirrors_baml_closeout.py +0 -0
  1382. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_v22_e2e.py +0 -0
  1383. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_v45_found_contracts.py +0 -0
  1384. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_v45_reconcile.py +0 -0
  1385. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_v45_sched.py +0 -0
  1386. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_v45_schedharden.py +0 -0
  1387. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_wave_runner.py +0 -0
  1388. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_work_unit_observability.py +0 -0
  1389. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_work_unit_runner.py +0 -0
  1390. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_work_unit_state.py +0 -0
  1391. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_loop_worktrees.py +0 -0
  1392. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_owned_dirty_relaxation.py +0 -0
  1393. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_state_disagreement_312.py +0 -0
  1394. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_phase_worktree_executor.py +0 -0
  1395. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_pipeline_adapter_branch_ops_create.py +0 -0
  1396. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_pipeline_adapter_branch_ops_rebase_conflict.py +0 -0
  1397. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_pipeline_adapter_branch_ops_refuse_default.py +0 -0
  1398. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_pipeline_adapter_flag.py +0 -0
  1399. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_pipeline_adapter_markers.py +0 -0
  1400. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_pipeline_adapter_merge_policy_parse.py +0 -0
  1401. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_pipeline_adapter_ratification_event_payload.py +0 -0
  1402. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_pipeline_adapter_ratification_runner.py +0 -0
  1403. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_pipeline_adapter_ratification_skipped_standalone.py +0 -0
  1404. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_pipeline_adapter_standalone_regression.py +0 -0
  1405. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_pkg_layout_freeze.py +0 -0
  1406. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_plan_ir_iter_waves.py +0 -0
  1407. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_plan_manifest_append_order_1174.py +0 -0
  1408. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_pr1161_r2_F001.py +0 -0
  1409. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_pr1161_r2_F002.py +0 -0
  1410. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_pr1161_r2_F003.py +0 -0
  1411. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_pr1161_r2_F004.py +0 -0
  1412. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_pr1161_r4_F001.py +0 -0
  1413. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_pr1161_r4_F002.py +0 -0
  1414. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_pr1161_r4_F003.py +0 -0
  1415. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_pr1161_r5_F001.py +0 -0
  1416. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_pr1161_r6_F001.py +0 -0
  1417. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_pr1161_r7_F001.py +0 -0
  1418. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_pr1161_r9_F002.py +0 -0
  1419. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_pr_readback_789.py +0 -0
  1420. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_preflight_verification.py +0 -0
  1421. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_presroute_cli.py +0 -0
  1422. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_presroute_hardening.py +0 -0
  1423. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_presroute_landed.py +0 -0
  1424. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_proc_cpu.py +0 -0
  1425. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_proofgate_attestation_workflow.py +0 -0
  1426. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_proofgate_cleanup.py +0 -0
  1427. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_proofgate_isolation.py +0 -0
  1428. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_proofgate_mutation_worktree_parent.py +0 -0
  1429. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_proofgate_receipts.py +0 -0
  1430. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_prune_merged_worktrees_script.py +0 -0
  1431. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_public_installer.py +0 -0
  1432. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_pushflow.py +0 -0
  1433. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_qualify_network_owner.py +0 -0
  1434. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_ratification_policy.py +0 -0
  1435. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_reconcile_manifest_dedup_46.py +0 -0
  1436. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_reconcile_portability_85c.py +0 -0
  1437. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_reconcile_tracked_closeout_recovery_90.py +0 -0
  1438. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_reconcile_verification_log.py +0 -0
  1439. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_reconcile_visual_avatar_evidence_91.py +0 -0
  1440. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_redaction_channel_control_isolation.py +0 -0
  1441. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_redaction_main_coverage_cases.py +0 -0
  1442. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_reflection_sync.py +0 -0
  1443. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_release_dispatch_operator_approval_145.py +0 -0
  1444. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_release_pin_autotrack.py +0 -0
  1445. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_repo_validation.py +0 -0
  1446. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_review_stage_board_findings.py +0 -0
  1447. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_review_staged_tree_authorization.py +0 -0
  1448. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_review_summary.py +0 -0
  1449. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_roadmap_authority.py +0 -0
  1450. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_roadmap_representation_consistency.py +0 -0
  1451. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_route_log.py +0 -0
  1452. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_route_policy_conformance.py +0 -0
  1453. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_runner_visual_evidence_authoritative_91.py +0 -0
  1454. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_runtime_adapter_output_720.py +0 -0
  1455. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_runtime_event_log_hardening_720.py +0 -0
  1456. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_runtime_procfs_identity_870.py +0 -0
  1457. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_runtime_state_mirror_agreement.py +0 -0
  1458. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_sandbox_clone.py +0 -0
  1459. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_sandbox_preamble.py +0 -0
  1460. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_sandbox_retention.py +0 -0
  1461. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_seat_admin_cleanup.py +0 -0
  1462. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_seat_credentials.py +0 -0
  1463. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_seat_executor_review.py +0 -0
  1464. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_seat_io.py +0 -0
  1465. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_seat_jail_apparmor.py +0 -0
  1466. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_seat_jail_autoqualify.py +0 -0
  1467. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_seat_keyring.py +0 -0
  1468. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_seat_keyring_order_control.py +0 -0
  1469. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_seat_launch_guard.py +0 -0
  1470. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_seat_output_rewrite_1282.py +0 -0
  1471. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_seat_owner_composition.py +0 -0
  1472. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_seat_reference_inventory.py +0 -0
  1473. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_seat_review_base_unavailable.py +0 -0
  1474. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_seat_review_output_redaction.py +0 -0
  1475. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_seat_tool_approvals.py +0 -0
  1476. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_self_asserted_passed_without_evidence_is_gated.py +0 -0
  1477. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_sibling_matcher_patterns.py +0 -0
  1478. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_skill_bundle_pinned.py +0 -0
  1479. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_skill_install_body_expansion.py +0 -0
  1480. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_skill_liveness_contract.py +0 -0
  1481. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_skill_plan_manifest_write.py +0 -0
  1482. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_skill_sources_seam.py +0 -0
  1483. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_skills_bundle_drift.py +0 -0
  1484. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_skills_src_claude_literal_lint.py +0 -0
  1485. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_spec_conformance_gate.py +0 -0
  1486. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_specpkgmin_wheel.py +0 -0
  1487. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_stale_roadmap_dispatch_guard.py +0 -0
  1488. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_status_read_only_62.py +0 -0
  1489. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_subscription_scrub_xai_864.py +0 -0
  1490. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_suite_interpreter_satisfies_requires_python.py +0 -0
  1491. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_sweep_fleet_worktrees_script.py +0 -0
  1492. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_sync_skills_apply_failloud.py +0 -0
  1493. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_task_message_broker.py +0 -0
  1494. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_task_message_broker_cli.py +0 -0
  1495. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_task_message_resolver.py +0 -0
  1496. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_tdd_chronology.py +0 -0
  1497. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_train_authority_import_811.py +0 -0
  1498. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_train_e2e.py +0 -0
  1499. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_train_invariants.py +0 -0
  1500. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_train_merge.py +0 -0
  1501. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_train_order_only_deps_47.py +0 -0
  1502. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_train_prebuilt.py +0 -0
  1503. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_train_review_authorization.py +0 -0
  1504. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_train_review_monitoring_policy.py +0 -0
  1505. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_train_roadmap.py +0 -0
  1506. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_train_runner.py +0 -0
  1507. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_unattended_release.py +0 -0
  1508. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_v34_parallel_dispatch_soak.py +0 -0
  1509. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_validate_plan_doc_docs_lane.py +0 -0
  1510. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_validate_plan_doc_fail_closed.py +0 -0
  1511. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_validate_plan_doc_goal_coverage.py +0 -0
  1512. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_validate_plan_doc_producer_dependency.py +0 -0
  1513. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_validate_plan_doc_proofgate.py +0 -0
  1514. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_validate_plan_doc_spec_closeout.py +0 -0
  1515. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_verification_dotdot_execution_428.py +0 -0
  1516. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_verification_evidence.py +0 -0
  1517. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_verification_evidence_validator.py +0 -0
  1518. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_verification_interpreter_guard_221.py +0 -0
  1519. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_verification_venv_identity_428.py +0 -0
  1520. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_verify_qualified_agy_route_core.py +0 -0
  1521. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_visual_avatar_evidence_validator.py +0 -0
  1522. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_visual_evidence_validator.py +0 -0
  1523. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_workerpool_failure_isolation.py +0 -0
  1524. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_workerpool_parallel.py +0 -0
  1525. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_workerpool_worktree_alloc.py +0 -0
  1526. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_worktree_cleanup_dirty_gate.py +0 -0
  1527. {phase_loop_runtime-0.7.26 → phase_loop_runtime-0.7.29}/tests/test_worktree_index.py +0 -0
@@ -0,0 +1,8 @@
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/schemas *.json
5
+ recursive-include src/phase_loop_runtime/baml_src *.baml
6
+ recursive-include src/phase_loop_runtime/advisor_board *.toml *.md
7
+ recursive-include src/phase_loop_runtime/deploy *.service
8
+ recursive-include src/phase_loop_runtime/conformance/_contract *
@@ -0,0 +1,453 @@
1
+ Metadata-Version: 2.4
2
+ Name: phase-loop-runtime
3
+ Version: 0.7.29
4
+ Summary: Harness-neutral phase-loop orchestration runtime and CLI
5
+ Author-email: ViperJuice <viperjuice@users.noreply.github.com>
6
+ License-Expression: Apache-2.0
7
+ Project-URL: Homepage, https://github.com/Consiliency/agent-harness
8
+ Project-URL: Repository, https://github.com/Consiliency/agent-harness
9
+ Project-URL: Issues, https://github.com/Consiliency/agent-harness/issues
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.12
12
+ Classifier: Programming Language :: Python :: 3.13
13
+ Classifier: Programming Language :: Python :: 3.14
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: Topic :: Software Development :: Build Tools
16
+ Requires-Python: >=3.12
17
+ Description-Content-Type: text/markdown
18
+ Requires-Dist: detect-secrets==1.5.0
19
+ Requires-Dist: tree-sitter==0.25.2
20
+ Requires-Dist: tree-sitter-typescript==0.23.2
21
+ Requires-Dist: baml-bridge==0.23.0
22
+ Requires-Dist: protobuf<8,>=6.31.1
23
+ Requires-Dist: pydantic<3,>=2
24
+ Requires-Dist: PyYAML<7,>=6
25
+ Requires-Dist: consiliency-contract<0.7,>=0.6.5
26
+ Requires-Dist: jsonschema<5,>=4
27
+ Requires-Dist: pytest<9,>=8
28
+ Requires-Dist: exceptiongroup>=1
29
+ Requires-Dist: typing-extensions>=4.6
30
+ Requires-Dist: packaging>=21
31
+ Requires-Dist: websockets<16,>=12
32
+ Requires-Dist: rfc8785<0.2,>=0.1.4
33
+ Requires-Dist: tomli<3,>=2
34
+ Provides-Extra: visual
35
+ Requires-Dist: Pillow<13,>=10; extra == "visual"
36
+ Provides-Extra: claude-sdk
37
+ Requires-Dist: claude-agent-sdk==0.2.167; extra == "claude-sdk"
38
+ Requires-Dist: markdown-it-py==4.2.0; extra == "claude-sdk"
39
+
40
+ # phase-loop-runtime
41
+
42
+ The harness-neutral **phase-loop** orchestration runtime and CLI. It drives the
43
+ roadmap → plan → execute workflow by dispatching each phase to whatever harness you
44
+ choose (Claude / Codex / Gemini / Grok / OpenCode / Pi); the runtime itself makes no model calls.
45
+ Part of the public [`agent-harness`](https://github.com/Consiliency/agent-harness)
46
+ monorepo (Apache-2.0).
47
+
48
+ ## Install
49
+
50
+ Version 0.7.29 requires Python 3.12+ (agent-harness#1549). The host-side jail helpers
51
+ remain 3.10-compatible, but a governed-review falsifier node importing the runtime
52
+ under an older host interpreter ends in `error` and remains a blocking receipt.
53
+ The agy live qualification is renewed on the exact 0.7.29 release-cut commit.
54
+ Exact-candidate package and compatibility checks remain release-cut gates;
55
+ qualification evidence and historical runtime smoke limitations are recorded in the
56
+ [release handoff](https://github.com/Consiliency/agent-harness/blob/main/docs/releases/outside-agent-release-handoff.md).
57
+
58
+ Most users should use the repo's installer (it also installs the workflow skills):
59
+
60
+ ```sh
61
+ git clone https://github.com/Consiliency/agent-harness
62
+ agent-harness/install-agent-harness.sh --harness claude
63
+ ```
64
+
65
+ To install just this runtime package directly (0.7.29 is an unpublished candidate;
66
+ the exact pin below becomes available only after publication):
67
+
68
+ ```sh
69
+ pip install phase-loop-runtime # latest compatible release
70
+ pip install phase-loop-runtime==0.7.29 # candidate pin; unavailable before publication
71
+ ```
72
+
73
+ To pin a specific tag from source instead, substitute a tag from
74
+ [Releases](https://github.com/Consiliency/agent-harness/releases):
75
+
76
+ ```sh
77
+ uv tool install "git+https://github.com/Consiliency/agent-harness@<TAG>#subdirectory=phase-loop-runtime"
78
+ ```
79
+
80
+ This exposes five console scripts: `phase-loop` and `codex-phase-loop` (both calling
81
+ `phase_loop_runtime.cli:main`), `phase-loop-closeout-audit` (the closeout
82
+ ignored-output audit), `phase-loop-skill-eval` (the opt-in diagnostic planning
83
+ evaluator; see [the guide](https://github.com/Consiliency/agent-harness/blob/main/docs/phase-loop/skill-eval.md)) and
84
+ `roadmap-ownership` (the roadmap-ownership preflight). The
85
+ canonical protocol document ships in the wheel as package data
86
+ (from `src/phase_loop_runtime/_contract_docs/phase-loop/protocol.md`); an older copy is also
87
+ installed to `share/phase-loop-runtime/protocol/protocol.md`.
88
+
89
+ ## Offline repository-map artifacts
90
+
91
+ Legacy `phase-loop fleet-map --repo <path> --json` output remains unchanged.
92
+ Artifact mode accepts a closed `fleet_scan_input.v1` manifest and explicit
93
+ provenance:
94
+
95
+ ```sh
96
+ phase-loop fleet-map --manifest scan-input.json \
97
+ --producer-commit <producer-source-sha> --generated-at <UTC-timestamp> \
98
+ --output fleet-map.json
99
+ ```
100
+
101
+ The packaged [artifact schema](https://github.com/Consiliency/agent-harness/blob/main/phase-loop-runtime/src/phase_loop_runtime/schemas/fleet_map.v1.schema.json) defines the output and the input
102
+ and source-pin `$defs`. Input repository entries use qualified identities such
103
+ as Example/source, numeric provider IDs, captured default-branch SHAs,
104
+ collection states and paths relative to an absolute clone root. Account counts
105
+ must describe the complete declared enumeration. Failed collection or file
106
+ inspection stays explicit and never becomes covered zero relationships.
107
+
108
+ The extractor runs offline, reads regular files through a no-follow boundary,
109
+ and executes no repository code. It emits pin presence, undirected paired-file
110
+ drift and host-path observations. Supplied pin observations must bind the exact
111
+ declaration and captured target SHA; unequal SHAs alone never prove ancestry.
112
+ Versions are as of the supplied scan timestamp. Missing/ambiguous targets and
113
+ unresolved comparisons remain explicit. Local paths and source lines are not
114
+ output. The caller owns collection, dependency installation, credential handling,
115
+ freshness policy and reviewed artifact adoption; this command performs none of
116
+ those operations. Artifact mode requires descriptor-based no-follow file access.
117
+ The identity adapter is intended for this strict artifact path. Scanning omits
118
+ VCS, dependency and build directories named `.git`, `node_modules`, `__pycache__`,
119
+ `.venv`, `venv`, `.mypy_cache`, `.pytest_cache`, `dist` and `build`; coverage applies
120
+ to the supported file kinds outside those directories. Unsupported host-path
121
+ identities fail that repository's scan. Branch names and pin refs must satisfy
122
+ the bounded Git-ref rules in the packaged schema.
123
+
124
+ ## Contributor test environment
125
+
126
+ From the repository root, install the declared test tools and visual extra, then
127
+ run the packaging and visual-evidence tests with the project environment:
128
+
129
+ ```sh
130
+ uv sync --project phase-loop-runtime --group test --extra visual --python 3.14 --locked
131
+ PYTHONPATH=phase-loop-runtime/src:phase-loop-runtime/tests phase-loop-runtime/.venv/bin/python -m pytest -q phase-loop-runtime/tests/test_outside_agent_contract_drift.py phase-loop-runtime/tests/test_visual_avatar_evidence_validator.py
132
+ ```
133
+
134
+ The test group supplies pytest and package build/install tools, including pip;
135
+ the visual extra supplies Pillow for image decoding. Both are opt-in. The native
136
+ repository-wide interpreter guard includes the dagger subproject's Python 3.14
137
+ floor, which is separate from this runtime package's Python 3.12 minimum and CI's
138
+ interpreter matrix. These commands verify the two selected files; they do not
139
+ establish complete CI equivalence, behavior without Pillow, full-suite acceptance
140
+ or production readiness.
141
+
142
+ ## Python verification environments
143
+
144
+ An explicit `automation.python` pin to a virtual environment preserves that
145
+ environment for bare `python`/`python3` commands and Python pip refresh. The
146
+ interpreter still must satisfy the repository's `requires-python` constraints.
147
+ The verification shim uses an exec launcher so interpreter symlinks retain their
148
+ venv identity and installed packages.
149
+
150
+ During guarded discovery, version probes and verification, relative or empty PATH
151
+ entries anchor to the invoking process's working directory. This deliberately
152
+ changes empty-PATH discovery to search that directory. Missing PATH retains the
153
+ C-library discovery default (with Python's default fallback); guarded execution
154
+ uses that same default instead of its previous trailing-empty cwd search. Entry
155
+ order and duplicates remain intact. Leading `PATH=` overrides
156
+ consumed by the verification command parser anchor to the target repository,
157
+ including overrides equal to the inherited value. Shell payloads and external
158
+ `env` arguments are not parsed. Execution without a constraint or pin is unchanged.
159
+
160
+ Discovery and log metadata preserve the lexical interpreter selection. For
161
+ execution, traversable directory components containing `..` are resolved before
162
+ version probes, launchers, pip refresh and guarded child PATH lookup. The final
163
+ Python executable symlink is retained. This preserves the physical virtual
164
+ environment reached through a symlink/`..` path, even when direct Python startup
165
+ would normalize that spelling to another environment. Recorded pip argv uses
166
+ the execution spelling while the log retains the declared selection. Missing,
167
+ looping, non-directory or inaccessible entries retain their original spelling;
168
+ they cannot become new search directories through normalization. Absolute PATH
169
+ entries without `..` keep their exact strings, including repeated separators.
170
+
171
+ Post-aggregate commands reuse the absolute pinned launcher, while inherited PATH
172
+ anchors to the later invoking process's directory and consumed overrides to the
173
+ repository. They do not reconstruct historical PATH or revalidate every name in
174
+ a reused shim. Without an explicit pin, distinct satisfying `python` and `python3`
175
+ aliases keep their environments; metadata and pip prefer `python3`, then `python`.
176
+ Login profiles and explicit overrides can select another environment. Known
177
+ nested-discovery and diagnostic-redaction test failures remain separate work under
178
+ agent-harness#428; this repair does not establish full-suite success or completion
179
+ of agent-harness#841's dependency repair.
180
+
181
+ ## Publication source audit
182
+
183
+ Normal FABPUB publication can distinguish an existing Python implementation such
184
+ as `credentials.py` from a credential artifact (Consiliency/agent-harness#893).
185
+ The path must be owned, regular Python source in both the frozen parent and staged
186
+ tree, parse and compile without warnings, and contain a top-level function or class.
187
+ New Python files still do not receive this exception.
188
+
189
+ Regular `.ts` files whose first path component is `src`, `test` or `tests` may
190
+ qualify through a separate frozen source check. Both revisions of an existing
191
+ file must be strict UTF-8 without NUL and parse without warnings, error or missing
192
+ nodes (`has_error` must be false). A new file requires proven parent absence and
193
+ membership in the frozen changed-path set. Each present revision must contain a named
194
+ function, generator-function or class declaration with a body, optionally wrapped
195
+ in one top-level export; imports, interfaces and type aliases may coexist.
196
+ Other forms alone do not qualify. Declaration files (`.d.ts`), other roots,
197
+ TSX/JavaScript and other languages, data-only files, nonregular entries, deletions,
198
+ and `.env*`, `.key`, `.pem`, `.p12` and `.pfx` path components stay refused.
199
+
200
+ The complete staged blob is scanned with pinned `detect-secrets` 1.5.0 built-in
201
+ detectors. Repository configuration, inline suppressions, filter exemptions and
202
+ online verification are not consulted. Findings and scanner failures block the
203
+ exception without printing matched data. Parsing/compilation warnings reject the
204
+ candidate rather than rendering source lines. No candidate code is executed.
205
+ This heuristic scan is not proof that secrets are absent; source review remains
206
+ required. For example, the quote-required TypeScript keyword rules can miss typed
207
+ assignments or a keyword split from its literal across lines unless another
208
+ detector fires. Encoded, obfuscated or separator-split values can also evade
209
+ detection. New heuristic-named TypeScript files expose those detector limitations
210
+ on the same basis as the existing Python exception; ordinary filenames already
211
+ publish without this scan.
212
+
213
+ Metadata-only evidence (parent/tree and blob identifiers, content hash and policy
214
+ version) is retained in the local publication checkpoint and checked again on
215
+ recovery against the frozen Git objects. The existing FABPUB tree binding and
216
+ transaction identity are unchanged. Legacy and prebuilt publication do not gain
217
+ the source exception; there is no caller-controlled path allowlist.
218
+
219
+ The TypeScript parser pins are `tree-sitter==0.25.2` and
220
+ `tree-sitter-typescript==0.23.2`. Its flat JSON evidence records both versions and
221
+ a null parent blob only for a proven addition. Python evidence is unchanged.
222
+
223
+ Fresh FABPUB publication refuses unstaged or untracked workspace changes with
224
+ `publication_workspace_invalid` before creating a transaction or advancing the
225
+ branch. Private plan, verification and handoff files under the .dev-skills
226
+ directory must be Git-ignored: `phase-loop init` adds the /.dev-skills/ rule to
227
+ `.gitignore`, or a local Git info/exclude rule can keep this setup out of
228
+ committed source. The publisher
229
+ does not add ignore rules or suppress workspace changes itself.
230
+
231
+ If a previous attempt already committed and then refused, repair the workspace
232
+ and retry the same normal publication with its original plan and verification
233
+ artifact. The exact committed transaction resumes without another commit.
234
+ Conflicted transactions refuse before staging; switching to prebuilt mode does
235
+ not repair a normal transaction. Authority and recovery checks still apply.
236
+
237
+ ## Roadmap validation
238
+
239
+ Lint a phase-plan roadmap spec (required headings, unique aliases, acyclic dependency
240
+ DAG, IF-gate reconciliation, lane-count hints) via the always-installed runtime:
241
+
242
+ ```sh
243
+ phase-loop validate-roadmap specs/phase-plans-v1.md
244
+ # module form — only when phase_loop_runtime is on the ACTIVE python's path (a pip
245
+ # install into your env); under `uv tool install` isolation use the console command:
246
+ python3 -m phase_loop_runtime.roadmap_lint specs/phase-plans-v1.md
247
+ ```
248
+
249
+ Both wrap `phase_loop_runtime.roadmap_lint` (the single source of truth). Exit 0 =
250
+ clean; non-zero prints each issue on stderr.
251
+
252
+ ## Local Gemini model preference
253
+
254
+ The shipped Gemini planning and review defaults use Gemini 4 Argon. To use that
255
+ family for all local Gemini role defaults, add this to the environment that runs
256
+ `phase-loop`:
257
+
258
+ ```sh
259
+ export PHASE_LOOP_GEMINI_MODEL=gemini-4-argon
260
+ ```
261
+
262
+ Use a registered canonical base model without an effort suffix. The runtime
263
+ preserves action and seat effort: executor policy normalizes unsupported max
264
+ requests to high, and the default review board keeps medium. Explicit task models,
265
+ plan/roadmap model pins and configured board seats take precedence. Other providers,
266
+ subscription authentication and sandbox admission retain their existing behavior.
267
+ Invalid preferences fail without model fallback. Unsetting the variable restores
268
+ the shipped role defaults, including regular/lite Flash routing. This setting
269
+ does not change the standalone `agy` CLI's own local configuration.
270
+
271
+ ## Attended agy canary evidence
272
+
273
+ The six `phase-loop agy-canary-*` commands are an opt-in, attended evidence
274
+ pipeline for the Gemini/`agy` review seat. They never add an Antigravity allow
275
+ rule or use a permission-bypass flag. `agy-canary-clean-settings` is the sole
276
+ writer for removing the historical `command(pwd)` rule; it requires a direct,
277
+ mode-0700 child of `/tmp`, a quiescent settings tree, and an exclusive maintenance
278
+ lock. The later probe, prepare, verify, and finalize steps fail closed until an
279
+ attended agy 1.1.13 `stream-json` schema probe has selected a complete authority.
280
+ That probe and every capture-enabled Gemini launch use `/usr/bin/bwrap`, a fresh
281
+ `/tmp`, `/run`, and `/proc`, the fixed `/run/phase-loop-review` stage mapping,
282
+ and a reducer-generated minimal HOME. A missing effective namespace, active
283
+ customization source, unsupported stream schema, or absent direct bootstrap
284
+ attestation blocks the canary rather than falling back to the operator HOME.
285
+
286
+ When `PHASE_LOOP_AGY_CANARY_EVIDENCE_DIR` is set, `advisor-board --json` consumes
287
+ that variable before spawning any seat. The complete board JSON must be written
288
+ through `--agy-canary-private-board-name <basename>` into that private directory;
289
+ stdout contains only the redacted ledger binding. Capture requires exactly one
290
+ resolved Gemini seat and retains the two staged review inputs using descriptor
291
+ relative, no-follow writes. A normal board has no new output field or capture work.
292
+
293
+ ## Workflow skills bundle
294
+
295
+ The runtime also installs the harness-neutral workflow-skills bundle. The skill
296
+ sources live in the [`phase-loop-skills/`](https://github.com/Consiliency/agent-harness/tree/main/phase-loop-skills)
297
+ directory of the monorepo,
298
+ with unprefixed base directories and optional `_overrides/<harness>/` overlays.
299
+
300
+ ```sh
301
+ phase-loop install --harness codex --source <path-to>/phase-loop-skills --copy --dry-run
302
+ phase-loop install --harness codex --source <path-to>/phase-loop-skills --copy --apply
303
+ ```
304
+
305
+ These commands install copies and replace existing managed skill directories.
306
+ Back up customizations before applying. See [Team onboarding](https://github.com/Consiliency/agent-harness/blob/main/docs/TEAM-ONBOARDING.md)
307
+ for provider prerequisites, governance choices and the first-run check.
308
+
309
+ Path resolution is provided by `phase_loop_runtime.skill_paths`, which keeps handoffs
310
+ repo-local, preserves harness-specific reflection roots, and documents the default
311
+ install roots for Claude, Codex, Gemini, and OpenCode.
312
+
313
+ ## Zero-history FABPUB bootstrap
314
+
315
+ When FABPUB is active on a host that has no compatible legacy run-train broker
316
+ ledger, create its persistent authority with a read-only probe followed by an
317
+ explicit apply:
318
+
319
+ ```sh
320
+ phase-loop fabpub-bootstrap --probe \
321
+ --inventory /secure/operator/fabpub-probe.json \
322
+ --worktree /path/to/repo \
323
+ --legacy-root /path/to/declared/ledger/broker \
324
+ --search-root /path/to/workspaces \
325
+ --historical-evidence-root /path/to/standalone/receipt
326
+
327
+ phase-loop fabpub-bootstrap --apply \
328
+ --inventory /secure/operator/fabpub-probe.json \
329
+ --confirm-zero-history
330
+ ```
331
+
332
+ The default authority is
333
+ `$XDG_STATE_HOME/phase-loop/fabpub/authority-v1`, falling back to
334
+ `~/.local/state/phase-loop/fabpub/authority-v1`. Override it with
335
+ `PHASE_LOOP_FABPUB_AUTHORITY_ROOT` or `--authority-root` during the probe.
336
+ Receipts created by apply retain that custom authority location for later
337
+ fresh-process validation; keep the environment override configured when
338
+ onboarding repositories that were not named by the original probe.
339
+ Apply is irreversible and refuses changed bytes, symlinks, live allocator
340
+ state, held generation leases, or an authority owned by another bootstrap.
341
+
342
+ A failed `run-train` on a repository with no partition receipt leaves an empty
343
+ `<git-common-dir>/phase-loop-fabpub-broker-v1/run-train-writer.lock` behind.
344
+ The probe treats that file as runtime lock residue, not inventory state, only
345
+ when it is a regular, 0-byte, singly linked file owned by the operator; the
346
+ sealed inventory is identical with or without it. Anything else under that name
347
+ (content, a directory, a socket or FIFO, a symlink, a hardlink, a foreign owner)
348
+ is refused, as is a namespace root that is a symlink (dangling or not) or not a
349
+ directory. The refusal names the entry and what it is. It is not runtime residue:
350
+ inspect it, and remove it yourself only after confirming it is not yours, then
351
+ re-run the probe. The runtime never deletes it. The probe classifies the
352
+ namespace through one descriptor opened without following symlinks and refuses
353
+ if the root is replaced while it is inspected. These checks keep an honest
354
+ operator from mis-sealing; they are not a boundary against the operator's own
355
+ account, since a same-uid actor who can rewrite the namespace can already forge
356
+ broker state directly. Apply always holds every repository's writer lock, creating it if
357
+ absent, from before its re-probe until it returns, and refuses while a
358
+ `run-train` or another apply holds it. Never delete broker files to clear a
359
+ refusal.
360
+
361
+ Before apply, stop every `run-train` on the host, not only those for the named
362
+ repositories: the drain counts live `run-train` processes host-wide. A train that
363
+ starts during apply waits behind the writer lock, is counted as live, and makes
364
+ apply fail after DRAINING with `WriterGenerationBlocked`. To recover, stop the
365
+ trains and re-run the same `--apply --inventory <same file>`; that resumes the
366
+ sealed bootstrap and must not be preceded by a new probe. Until the resume
367
+ completes, trains in those repositories obtain generation leases but no
368
+ admission or provider effects.
369
+
370
+ Inventory completeness is bounded to the named worktrees, explicit and
371
+ environment-declared legacy roots, historical-evidence roots, and hashed broker
372
+ directories directly beneath `.train-ledger` directories under each
373
+ `--search-root`. The confirmation attests that no compatible allocator exists
374
+ outside that inspected universe.
375
+ Standalone historical receipts are hashed and left in place; they are not
376
+ silently adopted as current allocator authority.
377
+
378
+ ## Closeout ownership gate & operator break-glass
379
+
380
+ When a phase verifies green but the executor touched files outside the plan's declared
381
+ owned-files globs, the **graduated closeout gate** classifies the beyond-ownership
382
+ remainder (`closeout_classifier.classify_unowned_path`):
383
+
384
+ - SAFE classes (`docs`, `plans`, `handoffs`, `config_nonsource`) auto-commit as a
385
+ recorded `soft` exception.
386
+ - UNSAFE classes (`source`, `ci`, `secrets`, `lockfile`) block with
387
+ `closeout_scope_violation`.
388
+
389
+ The operator escape is `phase-loop run --phase <P> --closeout-allow-unowned "<reason>"`
390
+ (also valid on `resume`/`dry-run`; reason required and non-empty; `--phase` required,
391
+ bounding the override to a single phase). It folds the `source`/`ci`/`lockfile`
392
+ remainder into the closeout commit as a recorded `break_glass` exception carrying the
393
+ reason. **`secrets` are never break-glassable** — a `.env*`/`*.pem`/`secrets/**` path
394
+ blocks regardless of the reason. See `protocol.md` → "Closeout Exceptions".
395
+
396
+ The closeout verdict is runner-authoritative: when the runner rejects a child's
397
+ closeout, the persisted `terminal-summary.json` reflects the runner's blocking verdict
398
+ (the child's self-reported `complete`/`passed` is not overlaid back), preventing a
399
+ stale "complete" summary from reconcile-skipping the work on the next run.
400
+
401
+ The `phase-loop-closeout-audit --repo .` command grades **ignored** paths by producer. It
402
+ accepts harness handoffs that carry the handoff contract, and a project's declared build
403
+ outputs backed by a recorded producer run. Declare those outputs in a committed
404
+ `.phase-loop-generated-outputs.json`; anything else still blocks. See
405
+ `docs/phase-loop/closeout-generated-outputs.md` (agent-harness#1139).
406
+
407
+ ## Conformance library (one library, two roles)
408
+
409
+ `phase_loop_runtime.conformance` is the named, stable, importable surface for the
410
+ deterministic `.consiliency/` conformance evaluator. It is a re-export (not a
411
+ re-implementation) of the same function the actor already runs, so an **external
412
+ CR-fence** — in gp CI, a git-host pre-merge check, anywhere — can import and run
413
+ the identical check:
414
+
415
+ ```python
416
+ from phase_loop_runtime.conformance import scan_consiliency_gates
417
+
418
+ verdict = scan_consiliency_gates("/path/to/repo") # {"status": "passed" | "warn" | "blocked" | "skipped", "gates": {...}, ...}
419
+ ```
420
+
421
+ The surface also exposes the pure cores (`evaluate_git_discipline`,
422
+ `self_heal_partition`, `evaluate_governance_scope`) for consumers that already
423
+ hold the injected facts.
424
+
425
+ **Two roles, one library.** This is meant to be mounted BOTH as the actor-side
426
+ self-check (a pre-PR sanity pass the author runs locally) AND as the
427
+ authoritative CR-fence (the real validator). The actor-side result is **never
428
+ authoritative** — the fence always re-runs the check itself. Because it is the
429
+ same function versioned with the same `consiliency_contract` dependency, the honest
430
+ actor sees exactly the verdict the fence will; a stale or dishonest actor result
431
+ simply does not matter.
432
+
433
+ **Scope.** The surface spans the shape + governance tier and the certificate /
434
+ projection / outside-agent tiers it re-exports (see the module docstring for the
435
+ authoritative tier list). Authority and provenance *verification* remain out of
436
+ scope, delegated downstream.
437
+
438
+ ### `consiliency-ingest --check-only`
439
+
440
+ `--check-only` decouples "run the check" from "is this repo adopted". It is
441
+ strictly read-only (never shapes; ignores `--adopt`). It makes the exit code
442
+ verdict-significant so a pre-PR actor is never misled into reading a no-op — or a
443
+ failing verify — as a pass:
444
+
445
+ | Repo state | mode | exit |
446
+ |---|---|---|
447
+ | adopted, verify clean (or `warn`) | `verify` | `0` |
448
+ | adopted, gate scan `blocked` | `verify` | `1` |
449
+ | un-adopted (no `.consiliency/manifest`) | `not-adopted` | `3` |
450
+ | usage error | — | `2` |
451
+
452
+ The plain (non-`--check-only`) path is unchanged — it keeps the silent green
453
+ `skipped` no-op on an un-adopted repo and its existing exit `0`.