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