code-mower 1.5.1__tar.gz → 1.5.2__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 (720) hide show
  1. {code_mower-1.5.1 → code_mower-1.5.2}/MANIFEST.in +1 -2
  2. {code_mower-1.5.1 → code_mower-1.5.2}/PKG-INFO +48 -134
  3. {code_mower-1.5.1 → code_mower-1.5.2}/README.md +47 -133
  4. code_mower-1.5.2/docs/README.md +45 -0
  5. {code_mower-1.5.1 → code_mower-1.5.2}/docs/architecture.md +1 -1
  6. {code_mower-1.5.1 → code_mower-1.5.2}/docs/board-service-lifecycle.md +19 -0
  7. {code_mower-1.5.1 → code_mower-1.5.2}/docs/build-loop-in-30-minutes.md +4 -58
  8. {code_mower-1.5.1 → code_mower-1.5.2}/docs/builders-grok-cursor.md +5 -4
  9. {code_mower-1.5.1 → code_mower-1.5.2}/docs/cloud-benchmarking.md +1 -1
  10. {code_mower-1.5.1 → code_mower-1.5.2}/docs/current-state-and-roadmap.md +53 -18
  11. code_mower-1.5.2/docs/documentation-lifecycle.md +48 -0
  12. {code_mower-1.5.1 → code_mower-1.5.2}/docs/early-adopter-invite-runbook.md +6 -13
  13. {code_mower-1.5.1 → code_mower-1.5.2}/docs/first-user-install-rehearsal.md +13 -12
  14. {code_mower-1.5.1 → code_mower-1.5.2}/docs/friendly-user-rollout-v05.md +7 -20
  15. {code_mower-1.5.1 → code_mower-1.5.2}/docs/graphify-setup.md +3 -2
  16. {code_mower-1.5.1 → code_mower-1.5.2}/docs/install.md +24 -26
  17. {code_mower-1.5.1 → code_mower-1.5.2}/docs/jira-cloud-setup.md +1 -1
  18. {code_mower-1.5.1 → code_mower-1.5.2}/docs/launch-command-surface.md +1 -1
  19. {code_mower-1.5.1 → code_mower-1.5.2}/docs/mirror-removal-runbook.md +2 -1
  20. {code_mower-1.5.1 → code_mower-1.5.2}/docs/orchestrator-prompt-pack.md +18 -2
  21. {code_mower-1.5.1 → code_mower-1.5.2}/docs/package-customization.md +15 -1
  22. {code_mower-1.5.1 → code_mower-1.5.2}/docs/provider-matrix.md +1 -1
  23. {code_mower-1.5.1 → code_mower-1.5.2}/docs/public-release-checklist.md +16 -7
  24. {code_mower-1.5.1 → code_mower-1.5.2}/docs/pypi-release.md +27 -26
  25. {code_mower-1.5.1 → code_mower-1.5.2}/docs/quickstart.md +13 -9
  26. {code_mower-1.5.1 → code_mower-1.5.2}/docs/release-history.md +3 -0
  27. {code_mower-1.5.1 → code_mower-1.5.2}/docs/sample-doctor-output.md +17 -0
  28. {code_mower-1.5.1 → code_mower-1.5.2}/docs/sessions.md +1 -1
  29. {code_mower-1.5.1 → code_mower-1.5.2}/docs/slack-ingress.md +3 -3
  30. {code_mower-1.5.1 → code_mower-1.5.2}/docs/slack-setup.md +12 -10
  31. {code_mower-1.5.1 → code_mower-1.5.2}/docs/troubleshooting.md +19 -6
  32. code_mower-1.5.2/docs/try-in-10-minutes.md +38 -0
  33. {code_mower-1.5.1 → code_mower-1.5.2}/docs/upgrade-existing-repo.md +30 -30
  34. code_mower-1.5.2/docs/v152-qualification.md +43 -0
  35. code_mower-1.5.2/docs/v152-release-notes.md +60 -0
  36. code_mower-1.5.2/docs/v152-release-runbook.md +130 -0
  37. {code_mower-1.5.1 → code_mower-1.5.2}/pyproject.toml +4 -1
  38. code_mower-1.5.2/release.yml +35 -0
  39. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/__init__.py +1 -1
  40. code_mower-1.5.2/src/code_mower/docs_lifecycle.py +301 -0
  41. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/runner.py +3 -2
  42. code_mower-1.5.2/src/code_mower/package_content.py +178 -0
  43. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/package_manifest.py +104 -98
  44. code_mower-1.5.2/src/code_mower/release_metadata.py +159 -0
  45. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/release_readiness.py +88 -13
  46. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower.egg-info/PKG-INFO +48 -134
  47. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower.egg-info/SOURCES.txt +12 -56
  48. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_audit_labeler_identity.py +0 -1
  49. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_audit_publication.py +1 -11
  50. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_branch_policy.py +0 -2
  51. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_devin_capabilities.py +4 -4
  52. code_mower-1.5.2/tests/test_docs_lifecycle.py +139 -0
  53. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_doctor_registry.py +5 -2
  54. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_fork_pr_guard.py +14 -21
  55. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_gate_automerge.py +7 -9
  56. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_hosted_dispatch_profile.py +0 -4
  57. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_lane_delivery_contract.py +6 -14
  58. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_lane_handoff.py +1 -1
  59. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_lane_writer_identity.py +8 -4
  60. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_lineage_consumer_projection.py +2 -2
  61. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_lineage_producer_artifacts.py +11 -8
  62. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_next_steps.py +1 -1
  63. code_mower-1.5.1/tests/test_release_v151.py → code_mower-1.5.2/tests/test_release_contract.py +127 -41
  64. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_release_hygiene.py +142 -145
  65. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_release_v141.py +1 -1
  66. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_release_v142.py +18 -23
  67. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_role_eligibility.py +1 -1
  68. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_slack_ingress.py +1 -3
  69. code_mower-1.5.1/docs/try-in-10-minutes.md +0 -290
  70. code_mower-1.5.1/src/code_mower/package_content.py +0 -490
  71. code_mower-1.5.1/templates/builder-experiment.example.json +0 -55
  72. code_mower-1.5.1/templates/calibration-corpus.example.json +0 -129
  73. code_mower-1.5.1/templates/calibration-corpus.json +0 -129
  74. code_mower-1.5.1/templates/code-mower.yml.j2 +0 -16
  75. code_mower-1.5.1/templates/context-packs.example.json +0 -150
  76. code_mower-1.5.1/templates/lanes/README.md +0 -40
  77. code_mower-1.5.1/templates/lanes/claude.md +0 -22
  78. code_mower-1.5.1/templates/lanes/codex.md +0 -22
  79. code_mower-1.5.1/templates/lanes/cursor.md +0 -22
  80. code_mower-1.5.1/templates/lanes/devin.md +0 -41
  81. code_mower-1.5.1/templates/lanes/generic.md +0 -20
  82. code_mower-1.5.1/templates/lanes/lineage-producer.sh +0 -15
  83. code_mower-1.5.1/templates/lanes/run_mac_lane.sh +0 -1922
  84. code_mower-1.5.1/templates/providers/acp_bridge.yml +0 -22
  85. code_mower-1.5.1/templates/providers/aider.yml +0 -23
  86. code_mower-1.5.1/templates/providers/antigravity_cli.yml +0 -28
  87. code_mower-1.5.1/templates/providers/claude_audit.yml +0 -20
  88. code_mower-1.5.1/templates/providers/claude_review.yml +0 -17
  89. code_mower-1.5.1/templates/providers/coderabbit_cli.yml +0 -21
  90. code_mower-1.5.1/templates/providers/codex.yml +0 -20
  91. code_mower-1.5.1/templates/providers/cursor_bugbot.yml +0 -30
  92. code_mower-1.5.1/templates/providers/cursor_cloud_agent.yml +0 -29
  93. code_mower-1.5.1/templates/providers/devin.yml +0 -37
  94. code_mower-1.5.1/templates/providers/devin_cli.yml +0 -80
  95. code_mower-1.5.1/templates/providers/gemini_cli.yml +0 -24
  96. code_mower-1.5.1/templates/providers/gitar.yml +0 -23
  97. code_mower-1.5.1/templates/providers/greptile.yml +0 -26
  98. code_mower-1.5.1/templates/providers/hermes_cli.yml +0 -29
  99. code_mower-1.5.1/templates/providers/local_llm.yml +0 -36
  100. code_mower-1.5.1/templates/providers/muse_cli.yml +0 -35
  101. code_mower-1.5.1/templates/providers/qodo.yml +0 -23
  102. code_mower-1.5.1/templates/providers.yml +0 -697
  103. code_mower-1.5.1/templates/reviewer-spend.example.json +0 -30
  104. code_mower-1.5.1/templates/reviewer-value-report.example.md +0 -20
  105. code_mower-1.5.1/templates/slack/app-manifest.json +0 -36
  106. code_mower-1.5.1/templates/workflows/audit-label-cleanup.yml.j2 +0 -42
  107. code_mower-1.5.1/templates/workflows/builder-lineage-producer.yml.j2 +0 -49
  108. code_mower-1.5.1/templates/workflows/builder-provenance.yml.j2 +0 -39
  109. code_mower-1.5.1/templates/workflows/code-mower-agent-pr-labeler.yml.j2 +0 -192
  110. code_mower-1.5.1/templates/workflows/code-mower-fix-round-dispatch.yml.j2 +0 -157
  111. code_mower-1.5.1/templates/workflows/code-mower-gate-health.yml.j2 +0 -68
  112. code_mower-1.5.1/templates/workflows/code-mower-gate.yml.j2 +0 -714
  113. code_mower-1.5.1/templates/workflows/dispatch-lanes.yml.j2 +0 -553
  114. code_mower-1.5.1/templates/workflows/hosted-bridge.yml.j2 +0 -47
  115. code_mower-1.5.1/templates/workflows/lane-mac-runner.yml.j2 +0 -125
  116. code_mower-1.5.1/templates/workflows/local-audit-publication.yml.j2 +0 -67
  117. code_mower-1.5.1/templates/workflows/local-audit-request.yml.j2 +0 -27
  118. code_mower-1.5.1/templates/workflows/local-cli-audit.yml.j2 +0 -38
  119. code_mower-1.5.1/templates/workflows/private-standalone-shadow.yml.j2 +0 -106
  120. code_mower-1.5.1/templates/workflows/review-clear-stale.yml.j2 +0 -83
  121. code_mower-1.5.1/templates/workflows/saas-reviewer-labeler.yml.j2 +0 -53
  122. code_mower-1.5.1/templates/workflows/self-hosted-local-audit.yml.j2 +0 -292
  123. code_mower-1.5.1/templates/workflows/trailer-comment-labeler.yml.j2 +0 -96
  124. {code_mower-1.5.1 → code_mower-1.5.2}/CODE_OF_CONDUCT.md +0 -0
  125. {code_mower-1.5.1 → code_mower-1.5.2}/LICENSE +0 -0
  126. {code_mower-1.5.1 → code_mower-1.5.2}/NOTICE +0 -0
  127. {code_mower-1.5.1 → code_mower-1.5.2}/SUPPORT.md +0 -0
  128. {code_mower-1.5.1 → code_mower-1.5.2}/docs/acp-bridge-spike.md +0 -0
  129. {code_mower-1.5.1 → code_mower-1.5.2}/docs/archive/README.md +0 -0
  130. {code_mower-1.5.1 → code_mower-1.5.2}/docs/archive/first-user-install-rehearsal-alpha4.md +0 -0
  131. {code_mower-1.5.1 → code_mower-1.5.2}/docs/archive/first-user-install-rehearsal-alpha5.md +0 -0
  132. {code_mower-1.5.1 → code_mower-1.5.2}/docs/archive/first-user-install-rehearsal-alpha6.md +0 -0
  133. {code_mower-1.5.1 → code_mower-1.5.2}/docs/archive/first-user-install-rehearsal-alpha8.md +0 -0
  134. {code_mower-1.5.1 → code_mower-1.5.2}/docs/archive/first-user-install-rehearsal-alpha9.md +0 -0
  135. {code_mower-1.5.1 → code_mower-1.5.2}/docs/authoring-intelligence.md +0 -0
  136. {code_mower-1.5.1 → code_mower-1.5.2}/docs/board-data-contract.md +0 -0
  137. {code_mower-1.5.1 → code_mower-1.5.2}/docs/board-qualification.md +0 -0
  138. {code_mower-1.5.1 → code_mower-1.5.2}/docs/build-loop.md +0 -0
  139. {code_mower-1.5.1 → code_mower-1.5.2}/docs/builder-experiments.md +0 -0
  140. {code_mower-1.5.1 → code_mower-1.5.2}/docs/calibration-notes.md +0 -0
  141. {code_mower-1.5.1 → code_mower-1.5.2}/docs/calibration-pilot.md +0 -0
  142. {code_mower-1.5.1 → code_mower-1.5.2}/docs/cloud-contributor-runbook.md +0 -0
  143. {code_mower-1.5.1 → code_mower-1.5.2}/docs/cloud-data-contract.md +0 -0
  144. {code_mower-1.5.1 → code_mower-1.5.2}/docs/cloud-sharing.md +0 -0
  145. {code_mower-1.5.1 → code_mower-1.5.2}/docs/code-structure-roadmap.md +0 -0
  146. {code_mower-1.5.1 → code_mower-1.5.2}/docs/commercial-boundary.md +0 -0
  147. {code_mower-1.5.1 → code_mower-1.5.2}/docs/context-connections.md +0 -0
  148. {code_mower-1.5.1 → code_mower-1.5.2}/docs/context-delivery.md +0 -0
  149. {code_mower-1.5.1 → code_mower-1.5.2}/docs/context-graph-lifecycle.md +0 -0
  150. {code_mower-1.5.1 → code_mower-1.5.2}/docs/context-graph-queries.md +0 -0
  151. {code_mower-1.5.1 → code_mower-1.5.2}/docs/context-packet-schema.md +0 -0
  152. {code_mower-1.5.1 → code_mower-1.5.2}/docs/context-provider-contract.md +0 -0
  153. {code_mower-1.5.1 → code_mower-1.5.2}/docs/context-setup.md +0 -0
  154. {code_mower-1.5.1 → code_mower-1.5.2}/docs/devin-peer-support-qualification.md +0 -0
  155. {code_mower-1.5.1 → code_mower-1.5.2}/docs/devin-review-parity.md +0 -0
  156. {code_mower-1.5.1 → code_mower-1.5.2}/docs/devin-setup-prompt.md +0 -0
  157. {code_mower-1.5.1 → code_mower-1.5.2}/docs/devin-work-orders.md +0 -0
  158. {code_mower-1.5.1 → code_mower-1.5.2}/docs/doctrine-lens-proof-v2.md +0 -0
  159. {code_mower-1.5.1 → code_mower-1.5.2}/docs/early-adopter-v05.md +0 -0
  160. {code_mower-1.5.1 → code_mower-1.5.2}/docs/first-run-transcript.md +0 -0
  161. {code_mower-1.5.1 → code_mower-1.5.2}/docs/first-user-demo-transcript.md +0 -0
  162. {code_mower-1.5.1 → code_mower-1.5.2}/docs/github-setup.md +0 -0
  163. {code_mower-1.5.1 → code_mower-1.5.2}/docs/graphify-evaluation.md +0 -0
  164. {code_mower-1.5.1 → code_mower-1.5.2}/docs/jira-adoption-rehearsal.md +0 -0
  165. {code_mower-1.5.1 → code_mower-1.5.2}/docs/lane-promotion-policy.md +0 -0
  166. {code_mower-1.5.1 → code_mower-1.5.2}/docs/lanes/README.md +0 -0
  167. {code_mower-1.5.1 → code_mower-1.5.2}/docs/lanes/claude.md +0 -0
  168. {code_mower-1.5.1 → code_mower-1.5.2}/docs/lanes/codex.md +0 -0
  169. {code_mower-1.5.1 → code_mower-1.5.2}/docs/lanes/cursor.md +0 -0
  170. {code_mower-1.5.1 → code_mower-1.5.2}/docs/lanes/devin.md +0 -0
  171. {code_mower-1.5.1 → code_mower-1.5.2}/docs/lens-calibration-report.md +0 -0
  172. {code_mower-1.5.1 → code_mower-1.5.2}/docs/local-audit-runner.md +0 -0
  173. {code_mower-1.5.1 → code_mower-1.5.2}/docs/operational-evidence.md +0 -0
  174. {code_mower-1.5.1 → code_mower-1.5.2}/docs/oss-v1-checklist.md +0 -0
  175. {code_mower-1.5.1 → code_mower-1.5.2}/docs/participant-qualification.md +0 -0
  176. {code_mower-1.5.1 → code_mower-1.5.2}/docs/planning-work-orders.md +0 -0
  177. {code_mower-1.5.1 → code_mower-1.5.2}/docs/post-v08-effectiveness-assessment.md +0 -0
  178. {code_mower-1.5.1 → code_mower-1.5.2}/docs/prd-addendum-v05-beta.md +0 -0
  179. {code_mower-1.5.1 → code_mower-1.5.2}/docs/privacy-threat-model.md +0 -0
  180. {code_mower-1.5.1 → code_mower-1.5.2}/docs/provider-calibration-scorecard.md +0 -0
  181. {code_mower-1.5.1 → code_mower-1.5.2}/docs/provider-diversity-provenance.md +0 -0
  182. {code_mower-1.5.1 → code_mower-1.5.2}/docs/release-qualification.md +0 -0
  183. {code_mower-1.5.1 → code_mower-1.5.2}/docs/repo-strategy.md +0 -0
  184. {code_mower-1.5.1 → code_mower-1.5.2}/docs/reviewer-value-report.md +0 -0
  185. {code_mower-1.5.1 → code_mower-1.5.2}/docs/self-hosted-mac-runner.md +0 -0
  186. {code_mower-1.5.1 → code_mower-1.5.2}/docs/slack-contract.md +0 -0
  187. {code_mower-1.5.1 → code_mower-1.5.2}/docs/supervised-pilot-contract.md +0 -0
  188. {code_mower-1.5.1 → code_mower-1.5.2}/docs/supervisor-contract.md +0 -0
  189. {code_mower-1.5.1 → code_mower-1.5.2}/docs/tracker-data-contract.md +0 -0
  190. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v06-release-notes.md +0 -0
  191. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v06-truth-baseline.md +0 -0
  192. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v08-release-notes.md +0 -0
  193. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v09-release-notes.md +0 -0
  194. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v10-release-notes.md +0 -0
  195. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v101-effectiveness-assessment.md +0 -0
  196. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v101-release-notes.md +0 -0
  197. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v1010-release-notes.md +0 -0
  198. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v1011-release-notes.md +0 -0
  199. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v1012-release-notes.md +0 -0
  200. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v1013-release-notes.md +0 -0
  201. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v1014-release-notes.md +0 -0
  202. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v1015-release-notes.md +0 -0
  203. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v102-release-notes.md +0 -0
  204. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v103-installation-documentation-audit.md +0 -0
  205. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v103-release-notes.md +0 -0
  206. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v104-installation-documentation-audit.md +0 -0
  207. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v104-release-notes.md +0 -0
  208. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v105-release-notes.md +0 -0
  209. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v106-release-notes.md +0 -0
  210. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v107-release-notes.md +0 -0
  211. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v108-release-notes.md +0 -0
  212. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v109-release-notes.md +0 -0
  213. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v11-release-notes.md +0 -0
  214. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v111-release-notes.md +0 -0
  215. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v112-release-notes.md +0 -0
  216. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v12-release-notes.md +0 -0
  217. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v121-release-notes.md +0 -0
  218. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v122-release-notes.md +0 -0
  219. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v130-context-qualification.md +0 -0
  220. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v130-release-notes.md +0 -0
  221. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v131-guided-context-qualification.md +0 -0
  222. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v131-release-notes.md +0 -0
  223. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v140-release-notes.md +0 -0
  224. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v140-release-runbook.md +0 -0
  225. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v141-qualification.md +0 -0
  226. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v141-release-notes.md +0 -0
  227. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v142-qualification.md +0 -0
  228. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v142-release-notes.md +0 -0
  229. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v150-qualification.md +0 -0
  230. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v150-release-notes.md +0 -0
  231. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v150-release-runbook.md +0 -0
  232. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v151-qualification.md +0 -0
  233. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v151-release-notes.md +0 -0
  234. {code_mower-1.5.1 → code_mower-1.5.2}/docs/v151-release-runbook.md +0 -0
  235. {code_mower-1.5.1 → code_mower-1.5.2}/requirements/requirements.txt +0 -0
  236. {code_mower-1.5.1 → code_mower-1.5.2}/setup.cfg +0 -0
  237. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/adapters/__init__.py +0 -0
  238. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/adapters/_base.py +0 -0
  239. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/adapters/cursor_bugbot.py +0 -0
  240. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/adapters/gitar.py +0 -0
  241. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/adapters/greptile.py +0 -0
  242. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/adapters/qodo.py +0 -0
  243. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/antigravity_cli_audit_pr.py +0 -0
  244. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/antigravity_sdk_probe.py +0 -0
  245. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/audit_handoff_log.py +0 -0
  246. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/audit_labeler_lib.py +0 -0
  247. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/audit_limits.py +0 -0
  248. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/audit_progress.py +0 -0
  249. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/audit_publication.py +0 -0
  250. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/blind_review_artifacts.py +0 -0
  251. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/blind_review_coordinator.py +0 -0
  252. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/board.py +0 -0
  253. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/board_local_observation.py +0 -0
  254. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/board_observation.py +0 -0
  255. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/board_observation.schema.json +0 -0
  256. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/board_remote_observation.py +0 -0
  257. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/board_service.py +0 -0
  258. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/board_store.py +0 -0
  259. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/bootstrap.py +0 -0
  260. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/branch_policy.py +0 -0
  261. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/builder_experiment.py +0 -0
  262. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/builder_lineage.py +0 -0
  263. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/builder_lineage_producer.py +0 -0
  264. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/builder_runs.py +0 -0
  265. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/calibration/__init__.py +0 -0
  266. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/calibration/arms.py +0 -0
  267. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/calibration/auto_discovery.py +0 -0
  268. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/calibration/commands.py +0 -0
  269. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/calibration/context_inputs.py +0 -0
  270. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/calibration/corpus.py +0 -0
  271. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/calibration/effect_report.py +0 -0
  272. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/calibration/evidence.py +0 -0
  273. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/calibration/evidence_report.py +0 -0
  274. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/calibration/identity.py +0 -0
  275. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/calibration/metrics.py +0 -0
  276. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/calibration/overlap.py +0 -0
  277. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/calibration/planning.py +0 -0
  278. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/calibration/policy.py +0 -0
  279. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/calibration/results.py +0 -0
  280. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/calibration/run_results.py +0 -0
  281. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/calibration/run_status.py +0 -0
  282. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/calibration/runner.py +0 -0
  283. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/calibration/truth.py +0 -0
  284. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/calibration/value_report.py +0 -0
  285. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/campaign_adapters.py +0 -0
  286. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/campaign_discovery.py +0 -0
  287. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/checks.py +0 -0
  288. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/claude_audit_pr.py +0 -0
  289. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/claude_cli_bounce.py +0 -0
  290. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/claude_cli_environment.py +0 -0
  291. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/clear_stale.py +0 -0
  292. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/cli.py +0 -0
  293. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/cloud.py +0 -0
  294. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/cloud_client/__init__.py +0 -0
  295. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/cloud_client/adoption_runs.py +0 -0
  296. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/cloud_client/bundle.py +0 -0
  297. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/cloud_client/doctor.py +0 -0
  298. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/cloud_client/dogfood.py +0 -0
  299. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/cloud_client/endpoints.py +0 -0
  300. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/cloud_client/errors.py +0 -0
  301. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/cloud_client/events.py +0 -0
  302. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/cloud_client/export.py +0 -0
  303. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/cloud_client/finding_outcomes.py +0 -0
  304. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/cloud_client/git_metadata.py +0 -0
  305. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/cloud_client/manifest.py +0 -0
  306. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/cloud_client/operations.py +0 -0
  307. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/cloud_client/pr_outcomes.py +0 -0
  308. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/cloud_client/productivity.py +0 -0
  309. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/cloud_client/productivity_windows.py +0 -0
  310. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/cloud_client/reports.py +0 -0
  311. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/cloud_client/setup.py +0 -0
  312. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/cloud_client/tokens.py +0 -0
  313. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/cloud_client/upload.py +0 -0
  314. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/cloud_client/work_types.py +0 -0
  315. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/code_mower_calibration.py +0 -0
  316. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/code_mower_context_packs.py +0 -0
  317. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/code_mower_merge.py +0 -0
  318. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/code_mower_telemetry.py +0 -0
  319. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/coderabbit_cli_audit_pr.py +0 -0
  320. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/codex_audit_env_preflight.py +0 -0
  321. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/codex_audit_pr.py +0 -0
  322. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/codex_audit_schema_smoke.py +0 -0
  323. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/codex_audit_verdict.schema.json +0 -0
  324. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/config.py +0 -0
  325. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/context_audit.py +0 -0
  326. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/context_command.py +0 -0
  327. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/context_connections.py +0 -0
  328. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/context_contract.py +0 -0
  329. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/context_delivery.py +0 -0
  330. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/context_graph.py +0 -0
  331. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/context_graph_command.py +0 -0
  332. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/context_graph_connection.py +0 -0
  333. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/context_graph_lifecycle.py +0 -0
  334. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/context_graph_query.py +0 -0
  335. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/context_guided.py +0 -0
  336. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/context_packets.py +0 -0
  337. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/context_prepare.py +0 -0
  338. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/context_readiness.py +0 -0
  339. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/context_review.py +0 -0
  340. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/context_session.py +0 -0
  341. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/context_store.py +0 -0
  342. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/controller.py +0 -0
  343. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/coworker_mcp.py +0 -0
  344. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/coworker_retrieval.py +0 -0
  345. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/decisions.py +0 -0
  346. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/devin_api.py +0 -0
  347. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/devin_cli_audit_pr.py +0 -0
  348. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/devin_readiness.py +0 -0
  349. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/devin_review.py +0 -0
  350. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/devin_sessions.py +0 -0
  351. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/devin_work_orders.py +0 -0
  352. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor.py +0 -0
  353. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/__init__.py +0 -0
  354. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/adoption.py +0 -0
  355. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/audit_limits.py +0 -0
  356. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/campaign_auth.py +0 -0
  357. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/cloud.py +0 -0
  358. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/common.py +0 -0
  359. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/devin.py +0 -0
  360. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/github.py +0 -0
  361. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/github_actions.py +0 -0
  362. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/github_actions_cost.py +0 -0
  363. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/github_actions_cost_summary.py +0 -0
  364. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/github_actions_failure_annotations.py +0 -0
  365. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/github_actions_failure_models.py +0 -0
  366. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/github_actions_failure_scan.py +0 -0
  367. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/github_actions_failure_selection.py +0 -0
  368. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/github_actions_failures.py +0 -0
  369. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/github_actions_permissions.py +0 -0
  370. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/github_api.py +0 -0
  371. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/github_branch.py +0 -0
  372. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/github_config.py +0 -0
  373. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/github_human_token.py +0 -0
  374. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/github_provider.py +0 -0
  375. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/github_repo.py +0 -0
  376. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/github_trusted_authors.py +0 -0
  377. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/groups.py +0 -0
  378. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/jira.py +0 -0
  379. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/models.py +0 -0
  380. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/output.py +0 -0
  381. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/presets.py +0 -0
  382. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/privacy.py +0 -0
  383. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/provider_api_model.py +0 -0
  384. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/provider_api_model_openai.py +0 -0
  385. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/provider_api_model_profiles.py +0 -0
  386. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/provider_env.py +0 -0
  387. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/provider_env_required.py +0 -0
  388. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/provider_env_tokens.py +0 -0
  389. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/provider_local_audit_setup.py +0 -0
  390. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/provider_local_cli.py +0 -0
  391. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/provider_local_cli_commands.py +0 -0
  392. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/provider_local_cli_probe_config.py +0 -0
  393. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/provider_probe.py +0 -0
  394. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/provider_probe_auth.py +0 -0
  395. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/provider_probe_evaluation.py +0 -0
  396. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/provider_probe_json.py +0 -0
  397. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/provider_probe_remediation.py +0 -0
  398. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/provider_review_hygiene.py +0 -0
  399. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/providers.py +0 -0
  400. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/registry.py +0 -0
  401. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/runtime.py +0 -0
  402. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/runtime_github_auth.py +0 -0
  403. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/self_hosted_runner.py +0 -0
  404. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/doctor_checks/supervised_pilot.py +0 -0
  405. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/file_locks.py +0 -0
  406. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/gate_health.py +0 -0
  407. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/gemini_cli_audit_pr.py +0 -0
  408. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/git_identity.py +0 -0
  409. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/github_builder_evidence.py +0 -0
  410. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/grok_build_audit_pr.py +0 -0
  411. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/hermes_cli_audit_pr.py +0 -0
  412. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/init.py +0 -0
  413. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/jira_cloud.py +0 -0
  414. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/jira_mutations.py +0 -0
  415. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/jira_pr_sync.py +0 -0
  416. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/lane_configs/__init__.py +0 -0
  417. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/lane_configs/aider.py +0 -0
  418. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/lane_configs/antigravity_cli.py +0 -0
  419. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/lane_configs/claude.py +0 -0
  420. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/lane_configs/codex.py +0 -0
  421. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/lane_configs/devin.py +0 -0
  422. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/lane_configs/devin_cli.py +0 -0
  423. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/lane_configs/gemini_cli.py +0 -0
  424. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/lane_configs/grok_build.py +0 -0
  425. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/lane_configs/hermes_cli.py +0 -0
  426. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/lane_configs/local_llm.py +0 -0
  427. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/lane_configs/muse_cli.py +0 -0
  428. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/lane_delivery.py +0 -0
  429. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/lane_handoff.py +0 -0
  430. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/lane_runtime.py +0 -0
  431. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/lane_status.py +0 -0
  432. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/local_cli_commands.py +0 -0
  433. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/local_llm_audit_pr.py +0 -0
  434. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/local_llm_bakeoff.py +0 -0
  435. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/local_llm_calibration.py +0 -0
  436. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/local_llm_profiles.py +0 -0
  437. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/migration.py +0 -0
  438. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/migration_install.py +0 -0
  439. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/migration_mirror.py +0 -0
  440. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/migration_readiness.py +0 -0
  441. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/migration_rehearsal.py +0 -0
  442. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/muse_cli_audit_pr.py +0 -0
  443. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/next_steps.py +0 -0
  444. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/operational_evidence.py +0 -0
  445. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/package.py +0 -0
  446. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/package_paths.py +0 -0
  447. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/package_rendering.py +0 -0
  448. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/package_static.py +0 -0
  449. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/participants.py +0 -0
  450. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/plan_context.py +0 -0
  451. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/productivity_report.py +0 -0
  452. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/prompts.py +0 -0
  453. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/provider_capabilities.py +0 -0
  454. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/provider_capabilities.schema.json +0 -0
  455. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/provider_credentials.py +0 -0
  456. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/provider_registry.py +0 -0
  457. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/provider_runners/__init__.py +0 -0
  458. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/provider_runners/comments.py +0 -0
  459. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/provider_runners/exit_codes.py +0 -0
  460. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/provider_runners/git.py +0 -0
  461. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/provider_runners/github_auth.py +0 -0
  462. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/provider_runners/github_pr.py +0 -0
  463. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/provider_runners/lineage.py +0 -0
  464. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/provider_runners/pr_worktree.py +0 -0
  465. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/provider_runners/process.py +0 -0
  466. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/provider_runners/repo_paths.py +0 -0
  467. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/provider_runners/text_schema.py +0 -0
  468. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/provider_runners/verdict_artifacts.py +0 -0
  469. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/provider_runners/workspace.py +0 -0
  470. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/providers/__init__.py +0 -0
  471. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/providers/local_cli.py +0 -0
  472. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/providers/provenance.py +0 -0
  473. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/release_campaigns.py +0 -0
  474. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/release_identity.py +0 -0
  475. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/release_qualify.py +0 -0
  476. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/remote_session.py +0 -0
  477. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/remote_session.schema.json +0 -0
  478. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/remote_session_cli.py +0 -0
  479. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/review_authority.py +0 -0
  480. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/reviewer_metrics.py +0 -0
  481. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/reviewer_spend.py +0 -0
  482. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/role_eligibility.py +0 -0
  483. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/role_eligibility.schema.json +0 -0
  484. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/saas_reviewer_labeler.py +0 -0
  485. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/secrets.py +0 -0
  486. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/session.py +0 -0
  487. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/session_current.py +0 -0
  488. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/session_lease.py +0 -0
  489. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/slack_contract.py +0 -0
  490. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/slack_contract.schema.json +0 -0
  491. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/slack_ingress.py +0 -0
  492. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/slack_readiness.py +0 -0
  493. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/slack_setup.py +0 -0
  494. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/supervisor.py +0 -0
  495. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/supervisor_checkpoint.py +0 -0
  496. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/supervisor_codex.py +0 -0
  497. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/supervisor_contract.fixtures.json +0 -0
  498. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/supervisor_contract.py +0 -0
  499. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/supervisor_contract.schema.json +0 -0
  500. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/supervisor_contract_v2.fixtures.json +0 -0
  501. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/supervisor_contract_v2.py +0 -0
  502. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/supervisor_contract_v2.schema.json +0 -0
  503. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/builder-experiment.example.json +0 -0
  504. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/calibration-corpus.example.json +0 -0
  505. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/calibration-corpus.json +0 -0
  506. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/code-mower.example.yml +0 -0
  507. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/context-packs.example.json +0 -0
  508. {code_mower-1.5.1 → code_mower-1.5.2/src/code_mower}/templates/cursor/BUGBOT.md +0 -0
  509. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/lane_prompts/base-audit.md +0 -0
  510. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/lane_prompts/calibration-policy.md +0 -0
  511. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/lane_prompts/context-driven-quality.md +0 -0
  512. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/lane_prompts/docs-design.md +0 -0
  513. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/lane_prompts/generic-programming.md +0 -0
  514. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/lane_prompts/operability.md +0 -0
  515. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/lane_prompts/package-runtime.md +0 -0
  516. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/lane_prompts/plan-conformance.md +0 -0
  517. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/lane_prompts/security-threat-model.md +0 -0
  518. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/lanes/README.md +0 -0
  519. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/lanes/claude.md +0 -0
  520. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/lanes/codex.md +0 -0
  521. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/lanes/cursor.md +0 -0
  522. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/lanes/devin.md +0 -0
  523. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/lanes/generic.md +0 -0
  524. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/lanes/lineage-producer.sh +0 -0
  525. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/lanes/run_mac_lane.sh +0 -0
  526. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/product-support/code_mower +0 -0
  527. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/product-support/code_mower_standalone_pin.env +0 -0
  528. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/product-support/code_mower_standalone_shadow.sh +0 -0
  529. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/product-support/run_claude_audit_pr.sh +0 -0
  530. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/product-support/run_codex_audit_pr.sh +0 -0
  531. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/product-support/run_devin_cli_audit_pr.sh +0 -0
  532. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/product-support/safe_gh_comment.py +0 -0
  533. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/product-support/status_report.py +0 -0
  534. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/providers.yml +0 -0
  535. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/reviewer-spend.example.json +0 -0
  536. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/reviewer-value-report.example.md +0 -0
  537. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/slack/app-manifest.json +0 -0
  538. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/slack/hosted-app-manifest.json +0 -0
  539. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/workflows/audit-label-cleanup.yml.j2 +0 -0
  540. {code_mower-1.5.1 → code_mower-1.5.2/src/code_mower}/templates/workflows/blind-review-artifacts-dry-run.yml.j2 +0 -0
  541. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/workflows/builder-lineage-producer.yml.j2 +0 -0
  542. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/workflows/builder-provenance.yml.j2 +0 -0
  543. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/workflows/code-mower-agent-pr-labeler.yml.j2 +0 -0
  544. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/workflows/code-mower-fix-round-dispatch.yml.j2 +0 -0
  545. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/workflows/code-mower-gate-health.yml.j2 +0 -0
  546. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/workflows/code-mower-gate.yml.j2 +0 -0
  547. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/workflows/dispatch-lanes.yml.j2 +0 -0
  548. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/workflows/hosted-bridge.yml.j2 +0 -0
  549. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/workflows/lane-mac-runner.yml.j2 +0 -0
  550. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/workflows/local-audit-publication.yml.j2 +0 -0
  551. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/workflows/local-audit-request.yml.j2 +0 -0
  552. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/workflows/local-cli-audit.yml.j2 +0 -0
  553. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/workflows/needs-owner-notify.yml.j2 +0 -0
  554. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/workflows/private-standalone-shadow.yml.j2 +0 -0
  555. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/workflows/review-clear-stale.yml.j2 +0 -0
  556. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/workflows/saas-reviewer-labeler.yml.j2 +0 -0
  557. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/workflows/self-hosted-local-audit.yml.j2 +0 -0
  558. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/workflows/trailer-comment-labeler.yml.j2 +0 -0
  559. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/templates/workflows/weekly-status.yml.j2 +0 -0
  560. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/tracker_contract.py +0 -0
  561. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/tracker_queue.py +0 -0
  562. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/trailer_comment_labeler.py +0 -0
  563. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/versioning.py +0 -0
  564. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/work_orders.py +0 -0
  565. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/workflow_actionlint.py +0 -0
  566. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower/yaml_subset.py +0 -0
  567. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower.egg-info/dependency_links.txt +0 -0
  568. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower.egg-info/entry_points.txt +0 -0
  569. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower.egg-info/requires.txt +0 -0
  570. {code_mower-1.5.1 → code_mower-1.5.2}/src/code_mower.egg-info/top_level.txt +0 -0
  571. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_adoption_diagnostics.py +0 -0
  572. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_adoption_polish_1015.py +0 -0
  573. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_adoption_polish_955.py +0 -0
  574. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_adoption_result_semantics.py +0 -0
  575. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_adoption_run_contract.py +0 -0
  576. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_antigravity_cli_audit_pr.py +0 -0
  577. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_antigravity_sdk_probe.py +0 -0
  578. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_audit_comment_posture.py +0 -0
  579. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_audit_limits.py +0 -0
  580. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_board.py +0 -0
  581. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_board_lease.py +0 -0
  582. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_board_local_observation.py +0 -0
  583. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_board_observation.py +0 -0
  584. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_board_qualification.py +0 -0
  585. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_board_remote_observation.py +0 -0
  586. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_board_service.py +0 -0
  587. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_builder_experiment.py +0 -0
  588. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_builder_identity.py +0 -0
  589. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_builder_runs.py +0 -0
  590. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_calibration_effect_report.py +0 -0
  591. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_calibration_truth.py +0 -0
  592. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_campaign_adapters.py +0 -0
  593. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_campaign_discovery.py +0 -0
  594. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_campaign_gh_auth_and_issue_binding_817.py +0 -0
  595. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_campaign_retry_evidence_711.py +0 -0
  596. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_checks.py +0 -0
  597. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_claude_audit_pr.py +0 -0
  598. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_claude_cli_bounce.py +0 -0
  599. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_clear_stale.py +0 -0
  600. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_cloud_client.py +0 -0
  601. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_cloud_git_metadata.py +0 -0
  602. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_cloud_manifest.py +0 -0
  603. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_cloud_reports.py +0 -0
  604. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_coderabbit_cli_audit_pr.py +0 -0
  605. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_codex_audit_env_preflight.py +0 -0
  606. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_codex_audit_pr.py +0 -0
  607. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_codex_campaign_auth_modes.py +0 -0
  608. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_context_audit.py +0 -0
  609. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_context_command.py +0 -0
  610. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_context_connections.py +0 -0
  611. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_context_contract.py +0 -0
  612. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_context_delivery.py +0 -0
  613. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_context_graph.py +0 -0
  614. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_context_graph_connection.py +0 -0
  615. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_context_graph_lifecycle.py +0 -0
  616. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_context_graph_query.py +0 -0
  617. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_context_guided.py +0 -0
  618. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_context_packets.py +0 -0
  619. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_context_prepare.py +0 -0
  620. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_context_readiness.py +0 -0
  621. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_context_review.py +0 -0
  622. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_context_session.py +0 -0
  623. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_controller.py +0 -0
  624. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_coworker_mcp.py +0 -0
  625. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_coworker_retrieval.py +0 -0
  626. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_decision_audit_integration.py +0 -0
  627. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_decisions.py +0 -0
  628. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_devin_api.py +0 -0
  629. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_devin_builder_lane.py +0 -0
  630. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_devin_cli_audit_pr.py +0 -0
  631. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_devin_provider_contract.py +0 -0
  632. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_devin_review.py +0 -0
  633. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_devin_sessions.py +0 -0
  634. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_devin_setup_readiness.py +0 -0
  635. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_devin_work_orders.py +0 -0
  636. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_doctor_actions_cost_summary.py +0 -0
  637. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_doctor_actions_failure_selection.py +0 -0
  638. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_doctor_boundaries.py +0 -0
  639. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_doctor_campaign_auth.py +0 -0
  640. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_doctor_campaign_readiness.py +0 -0
  641. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_doctor_github_checks.py +0 -0
  642. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_doctor_output.py +0 -0
  643. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_doctor_privacy.py +0 -0
  644. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_doctor_provider_env_required.py +0 -0
  645. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_doctor_provider_env_tokens.py +0 -0
  646. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_doctor_provider_local_audit_setup.py +0 -0
  647. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_doctor_provider_probe.py +0 -0
  648. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_doctor_provider_review_hygiene.py +0 -0
  649. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_doctor_runtime.py +0 -0
  650. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_doctor_self_hosted_runner.py +0 -0
  651. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_doctor_supervised_pilot.py +0 -0
  652. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_documentation.py +0 -0
  653. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_documented_commands.py +0 -0
  654. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_file_locks.py +0 -0
  655. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_gate_health.py +0 -0
  656. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_github_builder_evidence.py +0 -0
  657. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_init_actionlint.py +0 -0
  658. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_init_build_loop.py +0 -0
  659. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_init_builders_cold_start.py +0 -0
  660. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_jira_adoption.py +0 -0
  661. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_jira_cloud.py +0 -0
  662. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_jira_mutations.py +0 -0
  663. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_jira_pr_sync.py +0 -0
  664. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_lane_status.py +0 -0
  665. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_lineage_consumer_activation.py +0 -0
  666. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_lineage_consumer_admission.py +0 -0
  667. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_lineage_consumer_labels.py +0 -0
  668. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_lineage_creation.py +0 -0
  669. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_lineage_producer_publication.py +0 -0
  670. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_lineage_producer_state.py +0 -0
  671. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_local_llm_github_helpers.py +0 -0
  672. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_migration_rehearsal.py +0 -0
  673. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_migration_setup_drift.py +0 -0
  674. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_minimal_lineage_contract.py +0 -0
  675. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_minimal_lineage_packaging.py +0 -0
  676. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_minimal_lineage_transport.py +0 -0
  677. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_operational_evidence.py +0 -0
  678. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_package_install_failure_taxonomy.py +0 -0
  679. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_participant_sessions.py +0 -0
  680. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_plan_context.py +0 -0
  681. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_pr_outcome_contract.py +0 -0
  682. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_pr_outcome_coverage.py +0 -0
  683. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_productivity_metrics_contract.py +0 -0
  684. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_productivity_report.py +0 -0
  685. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_productivity_windows.py +0 -0
  686. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_prompts.py +0 -0
  687. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_provider_credentials.py +0 -0
  688. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_provider_fixture_contracts.py +0 -0
  689. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_provider_local_cli.py +0 -0
  690. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_provider_runners_comments.py +0 -0
  691. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_provider_runners_git.py +0 -0
  692. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_provider_runners_github_pr.py +0 -0
  693. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_provider_runners_pr_worktree.py +0 -0
  694. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_provider_runners_process.py +0 -0
  695. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_provider_runners_repo_paths.py +0 -0
  696. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_provider_runners_text_schema.py +0 -0
  697. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_provider_runners_workspace.py +0 -0
  698. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_release_campaigns.py +0 -0
  699. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_release_identity.py +0 -0
  700. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_release_qualify.py +0 -0
  701. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_remote_observer_doctor_1053.py +0 -0
  702. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_remote_qualification_failure_reason_819.py +0 -0
  703. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_remote_session.py +0 -0
  704. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_reviewer_finding_outcome_contract.py +0 -0
  705. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_reviewer_metrics_core.py +0 -0
  706. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_reviewer_spend.py +0 -0
  707. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_safe_init_1054.py +0 -0
  708. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_session_current.py +0 -0
  709. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_session_lease.py +0 -0
  710. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_slack_contract.py +0 -0
  711. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_slack_setup.py +0 -0
  712. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_supervised_pilot_contract.py +0 -0
  713. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_supervisor.py +0 -0
  714. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_supervisor_v2.py +0 -0
  715. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_tracker_config.py +0 -0
  716. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_tracker_contract.py +0 -0
  717. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_tracker_queue.py +0 -0
  718. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_trailer_comment_labeler.py +0 -0
  719. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_work_orders.py +0 -0
  720. {code_mower-1.5.1 → code_mower-1.5.2}/tests/test_work_type_contract.py +0 -0
@@ -4,8 +4,7 @@ recursive-include src/code_mower/templates *.j2
4
4
  recursive-include src/code_mower/templates/lanes *
5
5
  recursive-include src/code_mower/templates/product-support *
6
6
  include src/code_mower/*.json
7
- recursive-include templates *.j2 *.json *.md *.yml *.yaml
8
- recursive-include templates/lanes *
7
+ include release.yml
9
8
  recursive-include docs *.md
10
9
  include requirements/*.txt
11
10
  include LICENSE
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: code-mower
3
- Version: 1.5.1
3
+ Version: 1.5.2
4
4
  Summary: Multi-reviewer AI code audit orchestration
5
5
  License-Expression: Apache-2.0
6
6
  Project-URL: Homepage, https://github.com/codemower-ai/code-mower
@@ -45,15 +45,15 @@ Code Mower is supervised-pilot, bring-your-own-agent-loop software.
45
45
  It is not a drop-in unattended merge gate. Humans still own credentials,
46
46
  repository policy, reviewer promotion, and exceptional decisions.
47
47
 
48
- This source defines Code Mower `v1.5.1`, with package spec
49
- `code-mower==1.5.1`. Confirm the release tag on GitHub Releases and the package
50
- version on the selected index before using an index install command; source
51
- version and publication state are separate facts. See the
52
- [v1.5.1 release notes](https://github.com/codemower-ai/code-mower/blob/main/docs/v151-release-notes.md)
53
- and [qualification contract](https://github.com/codemower-ai/code-mower/blob/main/docs/v151-qualification.md).
54
- After publication, the GitHub Release and linked release issue carry the
55
- observed source SHA, artifact digests, canary outcomes, publication run and
56
- reinstall evidence.
48
+ <!-- code-mower:release-facts:start -->
49
+ This source defines Code Mower `v1.5.2`, with package spec
50
+ `code-mower==1.5.2`. Confirm the release tag on GitHub Releases and the package
51
+ version on the selected index before using an index install command; source version
52
+ and publication state are separate facts.
53
+ Python 3.12 or newer is required.
54
+ See the [release notes](https://github.com/codemower-ai/code-mower/blob/main/docs/v152-release-notes.md)
55
+ and [qualification contract](https://github.com/codemower-ai/code-mower/blob/main/docs/v152-qualification.md).
56
+ <!-- code-mower:release-facts:end -->
57
57
  Historical v1.4.x artifacts and qualification records remain unchanged.
58
58
  The v1.4.2 release did not claim the bounded hosted Devin canary tracked by
59
59
  [#951](https://github.com/codemower-ai/code-mower/issues/951); that result is
@@ -61,7 +61,7 @@ not claimed by its immutable qualification record.
61
61
 
62
62
  Documentation on `main` follows the source on `main`. For an installed release,
63
63
  read its immutable versioned guide, such as the
64
- [`v1.5.1` guide](https://github.com/codemower-ai/code-mower/blob/v1.5.1/docs/try-in-10-minutes.md),
64
+ [`v1.5.2` guide](https://github.com/codemower-ai/code-mower/blob/v1.5.2/docs/try-in-10-minutes.md),
65
65
  and confirm the tag and package exist before using pinned install commands.
66
66
 
67
67
  ## What Code Mower Adds
@@ -84,55 +84,27 @@ promotion requirements.
84
84
 
85
85
  ## Start Here
86
86
 
87
- Code Mower requires Python 3.12 or newer. A laptop or workstation should use
88
- one stable `pipx` installation:
87
+ Use the maintained journey for the task you are doing:
89
88
 
90
- ```bash
91
- python3.12 --version
92
- export CODE_MOWER_PYTHON="$(command -v python3.12)"
93
- pipx install --python "$CODE_MOWER_PYTHON" code-mower==1.5.1
94
- command -v code-mower
95
- code-mower --version
96
- ```
97
-
98
- `command -v code-mower` should print the path you expect and `code-mower
99
- --version` should print `code-mower 1.5.1` before you point Code Mower at a
100
- repository. If you do not have pipx, install it from the
101
- [official pipx installation guide](https://pipx.pypa.io/stable/installation/).
89
+ 1. [Install And Bootstrap](https://github.com/codemower-ai/code-mower/blob/main/docs/install.md) with the supported pipx, uv, or
90
+ contributor path.
91
+ 2. [Run the first repository setup](https://github.com/codemower-ai/code-mower/blob/main/docs/quickstart.md) and keep the initial
92
+ Claude + Codex reviewer gate manual.
93
+ 3. For an existing integration, follow the
94
+ [upgrade guide](https://github.com/codemower-ai/code-mower/blob/main/docs/upgrade-existing-repo.md) before copying generated files.
95
+ 4. Operate the local Board through the
96
+ [service lifecycle guide](https://github.com/codemower-ai/code-mower/blob/main/docs/board-service-lifecycle.md).
97
+ 5. Use [troubleshooting](https://github.com/codemower-ai/code-mower/blob/main/docs/troubleshooting.md) when a check or provider is
98
+ not ready.
102
99
 
103
- Hosted agents and CI machines can use `uv tool install` after installing uv
104
- from the [official uv installation guide](https://docs.astral.sh/uv/getting-started/installation/);
105
- contributors should use `scripts/dev-python` and an editable virtual
106
- environment. The [Install And Bootstrap](https://github.com/codemower-ai/code-mower/blob/main/docs/install.md) guide gives the exact
107
- cold-install, upgrade, optional Coworker, and contributor commands.
100
+ The install guide owns exact package commands. The quickstart owns the first
101
+ repository workflow. Supporting runbooks link to those contracts instead of
102
+ copying version-sensitive setup blocks.
108
103
 
109
- From the repository you want to pilot:
110
-
111
- ```bash
112
- code-mower init --easy
113
- code-mower init --easy --apply --output-dir .code-mower.generated
114
- code-mower doctor --adoption --repo OWNER/REPO
115
- code-mower lanes status --repo OWNER/REPO
116
- ```
117
-
118
- `init --easy` previews the Claude + Codex setup and changes nothing. `--apply`
119
- writes a reviewable generated tree; it does not copy those files into your
120
- repository, start a provider, enable auto-merge, or upload data. Review and
121
- edit the generated configuration before opening the setup PR.
122
-
123
- To inspect representative output first, use the
104
+ To inspect representative output before installing, use the
124
105
  [synthetic calibration example](https://github.com/codemower-ai/code-mower/blob/main/examples/demo-calibration/README.md) and
125
106
  [Board demo](https://github.com/codemower-ai/code-mower/blob/main/examples/board-demo/README.md).
126
107
 
127
- Follow [Try Code Mower In 10 Minutes](https://github.com/codemower-ai/code-mower/blob/main/docs/try-in-10-minutes.md) to run Codex
128
- and Claude manually against that first PR. Automation tokens, recurring
129
- dispatch, branch-protection changes, and auto-merge are not prerequisites for
130
- the manual reviewer-gate pilot.
131
-
132
- After the first peer-review loop works, follow
133
- [Build Loop In 30 Minutes](https://github.com/codemower-ai/code-mower/blob/main/docs/build-loop-in-30-minutes.md) to add automated
134
- builder dispatch and the stricter promoted-pilot repository settings.
135
-
136
108
  ## Participants And Sessions
137
109
 
138
110
  Choose participants interactively or explicitly:
@@ -166,7 +138,8 @@ ID with `session lease renew --session-id SESSION_ID` or `session lease release
166
138
  --dry-run` or `--no-lease` for read-only work.
167
139
 
168
140
  Codex, Claude Code, and Cursor are qualified for the shared session, telemetry,
169
- lease, and Jira-authority contract in v1.5.0. Devin, Grok Bot, Antigravity,
141
+ lease, and Jira-authority contract in the current v1.5.2 release. Devin, Grok
142
+ Bot, Antigravity,
170
143
  Muse, and custom hosts are recognized for briefs and provenance, while their
171
144
  execution remains an explicit handoff or provider-specific transport. See
172
145
  [Participants And Sessions](https://github.com/codemower-ai/code-mower/blob/main/docs/sessions.md) and the
@@ -293,8 +266,9 @@ and the [Cloud Data Contract](https://github.com/codemower-ai/code-mower/blob/ma
293
266
 
294
267
  ## Optional Hosted Slack
295
268
 
296
- v1.5.0 adds a basic Slack control surface for one private workspace and one
297
- authorized private, unshared channel. A Code Mower team administrator opens
269
+ v1.5.2 retains the basic Slack control surface introduced in v1.5.0 for one
270
+ private workspace and one authorized private, unshared channel. A Code Mower
271
+ team administrator opens
298
272
  **Setup → Manage Slack integration** in the hosted dashboard and completes OAuth
299
273
  as a Slack workspace administrator. Ordinary hosted setup does not require a
300
274
  local manifest, Slack app creation, or Slack credentials on the user's machine.
@@ -321,7 +295,7 @@ for both workflows, supported behavior, and the trust boundary.
321
295
 
322
296
  ## Current Capabilities And Limits
323
297
 
324
- | Area | v1.5.1 posture |
298
+ | Area | v1.5.2 posture |
325
299
  | --- | --- |
326
300
  | Default builders and reviewers | Claude Code + Codex |
327
301
  | Session hosts | Codex, Claude Code, and Cursor qualified; other identities recognized but require explicit handoff/provider transport |
@@ -335,7 +309,7 @@ for both workflows, supported behavior, and the trust boundary.
335
309
 
336
310
  GitLab, Bitbucket, broad unattended rollout, uncalibrated merge gates, Devin
337
311
  peer-orchestrator/reviewer parity, a hosted work-order CLI, a required Graphify
338
- dependency, Slack telemetry/Board links, and rich Slack UX are outside v1.5.1. The current priorities
312
+ dependency, Slack telemetry/Board links, and rich Slack UX are outside v1.5.2. The current priorities
339
313
  and boundaries are recorded in
340
314
  [Current State And Roadmap](https://github.com/codemower-ai/code-mower/blob/main/docs/current-state-and-roadmap.md).
341
315
 
@@ -343,7 +317,7 @@ and boundaries are recorded in
343
317
 
344
318
  Graphify's optional bounded provider foundation landed in v1.4.0; its complete
345
319
  qualified integration, scorecard and query behavior shipped in v1.4.1 and
346
- remain available in v1.5.0. It is separately installed into an operator-owned
320
+ remain available in v1.5.2. It is separately installed into an operator-owned
347
321
  environment, explicitly activated, and outside the base dependency set: a
348
322
  default Claude + Codex install adds no Graphify dependency, no indexer, no
349
323
  background service, and no watcher.
@@ -362,9 +336,9 @@ for what a build is allowed to see and where its state lives, and
362
336
  [Bounded Queries And Context Packets](https://github.com/codemower-ai/code-mower/blob/main/docs/context-graph-queries.md) for the
363
337
  four questions and the packet contract.
364
338
 
365
- v1.5.0 includes #1007's bounded 16 MiB provider-manifest reader, `doc_ref`
366
- non-code exclusions, JavaScript/TypeScript related-test conventions and import
367
- relationships, plus parser/runtime/single-worker guidance. #1031 makes search
339
+ The v1.5.x line includes #1007's bounded 16 MiB provider-manifest reader,
340
+ `doc_ref` non-code exclusions, JavaScript/TypeScript related-test conventions
341
+ and import relationships, plus parser/runtime/single-worker guidance. #1031 makes search
368
342
  readiness agree with the installed query reader and preserves usable bounded
369
343
  partial answers. The accepted `graphifyy==0.9.58` pin is unchanged. Upgrade does
370
344
  not repair existing graphs: explicitly refresh affected/partial generations,
@@ -375,77 +349,17 @@ does not need rebuilding. See
375
349
 
376
350
  ## Documentation
377
351
 
378
- ### Install And First Use
379
-
380
- - [Install And Bootstrap](https://github.com/codemower-ai/code-mower/blob/main/docs/install.md)
381
- - [Try Code Mower In 10 Minutes](https://github.com/codemower-ai/code-mower/blob/main/docs/try-in-10-minutes.md)
382
- - [Upgrade An Existing Repository](https://github.com/codemower-ai/code-mower/blob/main/docs/upgrade-existing-repo.md)
383
- - [Quickstart Reference](https://github.com/codemower-ai/code-mower/blob/main/docs/quickstart.md)
384
- - [Troubleshooting](https://github.com/codemower-ai/code-mower/blob/main/docs/troubleshooting.md)
385
- - [First Run Transcript](https://github.com/codemower-ai/code-mower/blob/main/docs/first-run-transcript.md) (v1.4.0 illustrative shape, not the v1.5.0 source pin)
386
-
387
- ### Local Board And Repository Context
388
-
389
- - [Board Data Contract](https://github.com/codemower-ai/code-mower/blob/main/docs/board-data-contract.md)
390
- - [Board Service Lifecycle](https://github.com/codemower-ai/code-mower/blob/main/docs/board-service-lifecycle.md)
391
- - [Board Demo Rehearsal](https://github.com/codemower-ai/code-mower/blob/main/examples/board-demo/README.md)
392
- - [Optional Graphify Setup](https://github.com/codemower-ai/code-mower/blob/main/docs/graphify-setup.md)
393
- - [Local Repository Graph Lifecycle](https://github.com/codemower-ai/code-mower/blob/main/docs/context-graph-lifecycle.md)
394
- - [Bounded Queries And Context Packets](https://github.com/codemower-ai/code-mower/blob/main/docs/context-graph-queries.md)
395
- - [Graphify Evaluation Record](https://github.com/codemower-ai/code-mower/blob/main/docs/graphify-evaluation.md) (historical decision, 2026-09-12)
396
-
397
- ### Sessions, Builders, And Reviewers
398
-
399
- - [Participants And Sessions](https://github.com/codemower-ai/code-mower/blob/main/docs/sessions.md)
400
- - [Build Loop In 30 Minutes](https://github.com/codemower-ai/code-mower/blob/main/docs/build-loop-in-30-minutes.md)
401
- - [Build Loop Operations](https://github.com/codemower-ai/code-mower/blob/main/docs/build-loop.md)
402
- - [Planning And Work Orders](https://github.com/codemower-ai/code-mower/blob/main/docs/planning-work-orders.md)
403
- - [Builder Experiments](https://github.com/codemower-ai/code-mower/blob/main/docs/builder-experiments.md)
404
- - [Orchestrator Prompt Pack](https://github.com/codemower-ai/code-mower/blob/main/docs/orchestrator-prompt-pack.md)
405
- - [Optional Devin Setup Prompt](https://github.com/codemower-ai/code-mower/blob/main/docs/devin-setup-prompt.md)
406
- - [Optional Slack Setup](https://github.com/codemower-ai/code-mower/blob/main/docs/slack-setup.md) (hosted dashboard OAuth for workspace administrators; separate manifest/readiness path for operators)
407
- - [Slack Authenticated Ingress Contract](https://github.com/codemower-ai/code-mower/blob/main/docs/slack-ingress.md) (standalone OSS adapter seam)
408
- - [Provider Matrix](https://github.com/codemower-ai/code-mower/blob/main/docs/provider-matrix.md)
409
- - [Provider Calibration Scorecard](https://github.com/codemower-ai/code-mower/blob/main/docs/provider-calibration-scorecard.md)
410
- - [Devin Peer-Support Qualification](https://github.com/codemower-ai/code-mower/blob/main/docs/devin-peer-support-qualification.md)
411
- - [Lane Standing Instructions](https://github.com/codemower-ai/code-mower/blob/main/docs/lanes/README.md)
412
- - [Codex Lane](https://github.com/codemower-ai/code-mower/blob/main/docs/lanes/codex.md)
413
- - [Claude Lane](https://github.com/codemower-ai/code-mower/blob/main/docs/lanes/claude.md)
414
- - [Cursor Lane](https://github.com/codemower-ai/code-mower/blob/main/docs/lanes/cursor.md)
415
- - [Devin Lane](https://github.com/codemower-ai/code-mower/blob/main/docs/lanes/devin.md)
416
- - [Self-Hosted Mac Runner](https://github.com/codemower-ai/code-mower/blob/main/docs/self-hosted-mac-runner.md)
417
- - [Local Audit Runner](https://github.com/codemower-ai/code-mower/blob/main/docs/local-audit-runner.md)
418
-
419
- ### Context And Trackers
420
-
421
- - [Optional Organizational Context Setup](https://github.com/codemower-ai/code-mower/blob/main/docs/context-setup.md)
422
- - [Coworker Connections](https://github.com/codemower-ai/code-mower/blob/main/docs/context-connections.md)
423
- - [Context Delivery And Private Review](https://github.com/codemower-ai/code-mower/blob/main/docs/context-delivery.md)
424
- - [Context Provider Contract](https://github.com/codemower-ai/code-mower/blob/main/docs/context-provider-contract.md)
425
- - [Context Packet Schema](https://github.com/codemower-ai/code-mower/blob/main/docs/context-packet-schema.md)
426
- - [Jira Cloud Setup](https://github.com/codemower-ai/code-mower/blob/main/docs/jira-cloud-setup.md)
427
- - [Jira Adoption Rehearsal](https://github.com/codemower-ai/code-mower/blob/main/docs/jira-adoption-rehearsal.md)
428
- - [Work Tracker Data Contract](https://github.com/codemower-ai/code-mower/blob/main/docs/tracker-data-contract.md)
429
-
430
- ### Trust, Operations, And Project Records
431
-
432
- - [Architecture](https://github.com/codemower-ai/code-mower/blob/main/docs/architecture.md)
433
- - [Current State And Roadmap](https://github.com/codemower-ai/code-mower/blob/main/docs/current-state-and-roadmap.md)
434
- - [Lane Promotion Policy](https://github.com/codemower-ai/code-mower/blob/main/docs/lane-promotion-policy.md)
435
- - [Privacy And Threat Model](https://github.com/codemower-ai/code-mower/blob/main/docs/privacy-threat-model.md)
436
- - [Cloud Data Contract](https://github.com/codemower-ai/code-mower/blob/main/docs/cloud-data-contract.md)
437
- - [Release Qualification](https://github.com/codemower-ai/code-mower/blob/main/docs/release-qualification.md)
438
- - [Public Release Checklist](https://github.com/codemower-ai/code-mower/blob/main/docs/public-release-checklist.md)
439
- - [v1.5.1 Release Notes](https://github.com/codemower-ai/code-mower/blob/main/docs/v151-release-notes.md)
440
- - [v1.4.2 Release Notes](https://github.com/codemower-ai/code-mower/blob/main/docs/v142-release-notes.md)
441
- - [v1.5.1 Qualification Contract](https://github.com/codemower-ai/code-mower/blob/main/docs/v151-qualification.md)
442
- - [v1.4.2 Qualification Record](https://github.com/codemower-ai/code-mower/blob/main/docs/v142-qualification.md)
443
- - [Release History And Archived Plans](https://github.com/codemower-ai/code-mower/blob/main/docs/release-history.md)
444
- - [Changelog](https://github.com/codemower-ai/code-mower/blob/main/CHANGELOG.md)
445
- - [Contributing](https://github.com/codemower-ai/code-mower/blob/main/CONTRIBUTING.md)
446
- - [Support](https://github.com/codemower-ai/code-mower/blob/main/SUPPORT.md)
447
- - [Security Policy](https://github.com/codemower-ai/code-mower/blob/main/SECURITY.md)
448
- - [Code of Conduct](https://github.com/codemower-ai/code-mower/blob/main/CODE_OF_CONDUCT.md)
352
+ The generated [documentation index](https://github.com/codemower-ai/code-mower/blob/main/docs/README.md) lists every canonical guide
353
+ and identifies supporting and historical material. The maintained user journey
354
+ is [install](https://github.com/codemower-ai/code-mower/blob/main/docs/install.md), [first repository setup](https://github.com/codemower-ai/code-mower/blob/main/docs/quickstart.md),
355
+ [upgrade](https://github.com/codemower-ai/code-mower/blob/main/docs/upgrade-existing-repo.md), [Board operation](https://github.com/codemower-ai/code-mower/blob/main/docs/board-service-lifecycle.md),
356
+ and [troubleshooting](https://github.com/codemower-ai/code-mower/blob/main/docs/troubleshooting.md).
357
+
358
+ For architecture, sessions, Graphify, Slack, Jira, provider selection, release
359
+ operations, and the roadmap, use that index rather than a second hand-maintained
360
+ link catalog here. See [Contributing](https://github.com/codemower-ai/code-mower/blob/main/CONTRIBUTING.md), [Support](https://github.com/codemower-ai/code-mower/blob/main/SUPPORT.md),
361
+ [Security Policy](https://github.com/codemower-ai/code-mower/blob/main/SECURITY.md), and the [Code of Conduct](https://github.com/codemower-ai/code-mower/blob/main/CODE_OF_CONDUCT.md)
362
+ for repository participation and support boundaries.
449
363
 
450
364
  ## License
451
365
 
@@ -9,15 +9,15 @@ Code Mower is supervised-pilot, bring-your-own-agent-loop software.
9
9
  It is not a drop-in unattended merge gate. Humans still own credentials,
10
10
  repository policy, reviewer promotion, and exceptional decisions.
11
11
 
12
- This source defines Code Mower `v1.5.1`, with package spec
13
- `code-mower==1.5.1`. Confirm the release tag on GitHub Releases and the package
14
- version on the selected index before using an index install command; source
15
- version and publication state are separate facts. See the
16
- [v1.5.1 release notes](https://github.com/codemower-ai/code-mower/blob/main/docs/v151-release-notes.md)
17
- and [qualification contract](https://github.com/codemower-ai/code-mower/blob/main/docs/v151-qualification.md).
18
- After publication, the GitHub Release and linked release issue carry the
19
- observed source SHA, artifact digests, canary outcomes, publication run and
20
- reinstall evidence.
12
+ <!-- code-mower:release-facts:start -->
13
+ This source defines Code Mower `v1.5.2`, with package spec
14
+ `code-mower==1.5.2`. Confirm the release tag on GitHub Releases and the package
15
+ version on the selected index before using an index install command; source version
16
+ and publication state are separate facts.
17
+ Python 3.12 or newer is required.
18
+ See the [release notes](https://github.com/codemower-ai/code-mower/blob/main/docs/v152-release-notes.md)
19
+ and [qualification contract](https://github.com/codemower-ai/code-mower/blob/main/docs/v152-qualification.md).
20
+ <!-- code-mower:release-facts:end -->
21
21
  Historical v1.4.x artifacts and qualification records remain unchanged.
22
22
  The v1.4.2 release did not claim the bounded hosted Devin canary tracked by
23
23
  [#951](https://github.com/codemower-ai/code-mower/issues/951); that result is
@@ -25,7 +25,7 @@ not claimed by its immutable qualification record.
25
25
 
26
26
  Documentation on `main` follows the source on `main`. For an installed release,
27
27
  read its immutable versioned guide, such as the
28
- [`v1.5.1` guide](https://github.com/codemower-ai/code-mower/blob/v1.5.1/docs/try-in-10-minutes.md),
28
+ [`v1.5.2` guide](https://github.com/codemower-ai/code-mower/blob/v1.5.2/docs/try-in-10-minutes.md),
29
29
  and confirm the tag and package exist before using pinned install commands.
30
30
 
31
31
  ## What Code Mower Adds
@@ -48,55 +48,27 @@ promotion requirements.
48
48
 
49
49
  ## Start Here
50
50
 
51
- Code Mower requires Python 3.12 or newer. A laptop or workstation should use
52
- one stable `pipx` installation:
51
+ Use the maintained journey for the task you are doing:
53
52
 
54
- ```bash
55
- python3.12 --version
56
- export CODE_MOWER_PYTHON="$(command -v python3.12)"
57
- pipx install --python "$CODE_MOWER_PYTHON" code-mower==1.5.1
58
- command -v code-mower
59
- code-mower --version
60
- ```
61
-
62
- `command -v code-mower` should print the path you expect and `code-mower
63
- --version` should print `code-mower 1.5.1` before you point Code Mower at a
64
- repository. If you do not have pipx, install it from the
65
- [official pipx installation guide](https://pipx.pypa.io/stable/installation/).
53
+ 1. [Install And Bootstrap](https://github.com/codemower-ai/code-mower/blob/main/docs/install.md) with the supported pipx, uv, or
54
+ contributor path.
55
+ 2. [Run the first repository setup](https://github.com/codemower-ai/code-mower/blob/main/docs/quickstart.md) and keep the initial
56
+ Claude + Codex reviewer gate manual.
57
+ 3. For an existing integration, follow the
58
+ [upgrade guide](https://github.com/codemower-ai/code-mower/blob/main/docs/upgrade-existing-repo.md) before copying generated files.
59
+ 4. Operate the local Board through the
60
+ [service lifecycle guide](https://github.com/codemower-ai/code-mower/blob/main/docs/board-service-lifecycle.md).
61
+ 5. Use [troubleshooting](https://github.com/codemower-ai/code-mower/blob/main/docs/troubleshooting.md) when a check or provider is
62
+ not ready.
66
63
 
67
- Hosted agents and CI machines can use `uv tool install` after installing uv
68
- from the [official uv installation guide](https://docs.astral.sh/uv/getting-started/installation/);
69
- contributors should use `scripts/dev-python` and an editable virtual
70
- environment. The [Install And Bootstrap](https://github.com/codemower-ai/code-mower/blob/main/docs/install.md) guide gives the exact
71
- cold-install, upgrade, optional Coworker, and contributor commands.
64
+ The install guide owns exact package commands. The quickstart owns the first
65
+ repository workflow. Supporting runbooks link to those contracts instead of
66
+ copying version-sensitive setup blocks.
72
67
 
73
- From the repository you want to pilot:
74
-
75
- ```bash
76
- code-mower init --easy
77
- code-mower init --easy --apply --output-dir .code-mower.generated
78
- code-mower doctor --adoption --repo OWNER/REPO
79
- code-mower lanes status --repo OWNER/REPO
80
- ```
81
-
82
- `init --easy` previews the Claude + Codex setup and changes nothing. `--apply`
83
- writes a reviewable generated tree; it does not copy those files into your
84
- repository, start a provider, enable auto-merge, or upload data. Review and
85
- edit the generated configuration before opening the setup PR.
86
-
87
- To inspect representative output first, use the
68
+ To inspect representative output before installing, use the
88
69
  [synthetic calibration example](https://github.com/codemower-ai/code-mower/blob/main/examples/demo-calibration/README.md) and
89
70
  [Board demo](https://github.com/codemower-ai/code-mower/blob/main/examples/board-demo/README.md).
90
71
 
91
- Follow [Try Code Mower In 10 Minutes](https://github.com/codemower-ai/code-mower/blob/main/docs/try-in-10-minutes.md) to run Codex
92
- and Claude manually against that first PR. Automation tokens, recurring
93
- dispatch, branch-protection changes, and auto-merge are not prerequisites for
94
- the manual reviewer-gate pilot.
95
-
96
- After the first peer-review loop works, follow
97
- [Build Loop In 30 Minutes](https://github.com/codemower-ai/code-mower/blob/main/docs/build-loop-in-30-minutes.md) to add automated
98
- builder dispatch and the stricter promoted-pilot repository settings.
99
-
100
72
  ## Participants And Sessions
101
73
 
102
74
  Choose participants interactively or explicitly:
@@ -130,7 +102,8 @@ ID with `session lease renew --session-id SESSION_ID` or `session lease release
130
102
  --dry-run` or `--no-lease` for read-only work.
131
103
 
132
104
  Codex, Claude Code, and Cursor are qualified for the shared session, telemetry,
133
- lease, and Jira-authority contract in v1.5.0. Devin, Grok Bot, Antigravity,
105
+ lease, and Jira-authority contract in the current v1.5.2 release. Devin, Grok
106
+ Bot, Antigravity,
134
107
  Muse, and custom hosts are recognized for briefs and provenance, while their
135
108
  execution remains an explicit handoff or provider-specific transport. See
136
109
  [Participants And Sessions](https://github.com/codemower-ai/code-mower/blob/main/docs/sessions.md) and the
@@ -257,8 +230,9 @@ and the [Cloud Data Contract](https://github.com/codemower-ai/code-mower/blob/ma
257
230
 
258
231
  ## Optional Hosted Slack
259
232
 
260
- v1.5.0 adds a basic Slack control surface for one private workspace and one
261
- authorized private, unshared channel. A Code Mower team administrator opens
233
+ v1.5.2 retains the basic Slack control surface introduced in v1.5.0 for one
234
+ private workspace and one authorized private, unshared channel. A Code Mower
235
+ team administrator opens
262
236
  **Setup → Manage Slack integration** in the hosted dashboard and completes OAuth
263
237
  as a Slack workspace administrator. Ordinary hosted setup does not require a
264
238
  local manifest, Slack app creation, or Slack credentials on the user's machine.
@@ -285,7 +259,7 @@ for both workflows, supported behavior, and the trust boundary.
285
259
 
286
260
  ## Current Capabilities And Limits
287
261
 
288
- | Area | v1.5.1 posture |
262
+ | Area | v1.5.2 posture |
289
263
  | --- | --- |
290
264
  | Default builders and reviewers | Claude Code + Codex |
291
265
  | Session hosts | Codex, Claude Code, and Cursor qualified; other identities recognized but require explicit handoff/provider transport |
@@ -299,7 +273,7 @@ for both workflows, supported behavior, and the trust boundary.
299
273
 
300
274
  GitLab, Bitbucket, broad unattended rollout, uncalibrated merge gates, Devin
301
275
  peer-orchestrator/reviewer parity, a hosted work-order CLI, a required Graphify
302
- dependency, Slack telemetry/Board links, and rich Slack UX are outside v1.5.1. The current priorities
276
+ dependency, Slack telemetry/Board links, and rich Slack UX are outside v1.5.2. The current priorities
303
277
  and boundaries are recorded in
304
278
  [Current State And Roadmap](https://github.com/codemower-ai/code-mower/blob/main/docs/current-state-and-roadmap.md).
305
279
 
@@ -307,7 +281,7 @@ and boundaries are recorded in
307
281
 
308
282
  Graphify's optional bounded provider foundation landed in v1.4.0; its complete
309
283
  qualified integration, scorecard and query behavior shipped in v1.4.1 and
310
- remain available in v1.5.0. It is separately installed into an operator-owned
284
+ remain available in v1.5.2. It is separately installed into an operator-owned
311
285
  environment, explicitly activated, and outside the base dependency set: a
312
286
  default Claude + Codex install adds no Graphify dependency, no indexer, no
313
287
  background service, and no watcher.
@@ -326,9 +300,9 @@ for what a build is allowed to see and where its state lives, and
326
300
  [Bounded Queries And Context Packets](https://github.com/codemower-ai/code-mower/blob/main/docs/context-graph-queries.md) for the
327
301
  four questions and the packet contract.
328
302
 
329
- v1.5.0 includes #1007's bounded 16 MiB provider-manifest reader, `doc_ref`
330
- non-code exclusions, JavaScript/TypeScript related-test conventions and import
331
- relationships, plus parser/runtime/single-worker guidance. #1031 makes search
303
+ The v1.5.x line includes #1007's bounded 16 MiB provider-manifest reader,
304
+ `doc_ref` non-code exclusions, JavaScript/TypeScript related-test conventions
305
+ and import relationships, plus parser/runtime/single-worker guidance. #1031 makes search
332
306
  readiness agree with the installed query reader and preserves usable bounded
333
307
  partial answers. The accepted `graphifyy==0.9.58` pin is unchanged. Upgrade does
334
308
  not repair existing graphs: explicitly refresh affected/partial generations,
@@ -339,77 +313,17 @@ does not need rebuilding. See
339
313
 
340
314
  ## Documentation
341
315
 
342
- ### Install And First Use
343
-
344
- - [Install And Bootstrap](https://github.com/codemower-ai/code-mower/blob/main/docs/install.md)
345
- - [Try Code Mower In 10 Minutes](https://github.com/codemower-ai/code-mower/blob/main/docs/try-in-10-minutes.md)
346
- - [Upgrade An Existing Repository](https://github.com/codemower-ai/code-mower/blob/main/docs/upgrade-existing-repo.md)
347
- - [Quickstart Reference](https://github.com/codemower-ai/code-mower/blob/main/docs/quickstart.md)
348
- - [Troubleshooting](https://github.com/codemower-ai/code-mower/blob/main/docs/troubleshooting.md)
349
- - [First Run Transcript](https://github.com/codemower-ai/code-mower/blob/main/docs/first-run-transcript.md) (v1.4.0 illustrative shape, not the v1.5.0 source pin)
350
-
351
- ### Local Board And Repository Context
352
-
353
- - [Board Data Contract](https://github.com/codemower-ai/code-mower/blob/main/docs/board-data-contract.md)
354
- - [Board Service Lifecycle](https://github.com/codemower-ai/code-mower/blob/main/docs/board-service-lifecycle.md)
355
- - [Board Demo Rehearsal](https://github.com/codemower-ai/code-mower/blob/main/examples/board-demo/README.md)
356
- - [Optional Graphify Setup](https://github.com/codemower-ai/code-mower/blob/main/docs/graphify-setup.md)
357
- - [Local Repository Graph Lifecycle](https://github.com/codemower-ai/code-mower/blob/main/docs/context-graph-lifecycle.md)
358
- - [Bounded Queries And Context Packets](https://github.com/codemower-ai/code-mower/blob/main/docs/context-graph-queries.md)
359
- - [Graphify Evaluation Record](https://github.com/codemower-ai/code-mower/blob/main/docs/graphify-evaluation.md) (historical decision, 2026-09-12)
360
-
361
- ### Sessions, Builders, And Reviewers
362
-
363
- - [Participants And Sessions](https://github.com/codemower-ai/code-mower/blob/main/docs/sessions.md)
364
- - [Build Loop In 30 Minutes](https://github.com/codemower-ai/code-mower/blob/main/docs/build-loop-in-30-minutes.md)
365
- - [Build Loop Operations](https://github.com/codemower-ai/code-mower/blob/main/docs/build-loop.md)
366
- - [Planning And Work Orders](https://github.com/codemower-ai/code-mower/blob/main/docs/planning-work-orders.md)
367
- - [Builder Experiments](https://github.com/codemower-ai/code-mower/blob/main/docs/builder-experiments.md)
368
- - [Orchestrator Prompt Pack](https://github.com/codemower-ai/code-mower/blob/main/docs/orchestrator-prompt-pack.md)
369
- - [Optional Devin Setup Prompt](https://github.com/codemower-ai/code-mower/blob/main/docs/devin-setup-prompt.md)
370
- - [Optional Slack Setup](https://github.com/codemower-ai/code-mower/blob/main/docs/slack-setup.md) (hosted dashboard OAuth for workspace administrators; separate manifest/readiness path for operators)
371
- - [Slack Authenticated Ingress Contract](https://github.com/codemower-ai/code-mower/blob/main/docs/slack-ingress.md) (standalone OSS adapter seam)
372
- - [Provider Matrix](https://github.com/codemower-ai/code-mower/blob/main/docs/provider-matrix.md)
373
- - [Provider Calibration Scorecard](https://github.com/codemower-ai/code-mower/blob/main/docs/provider-calibration-scorecard.md)
374
- - [Devin Peer-Support Qualification](https://github.com/codemower-ai/code-mower/blob/main/docs/devin-peer-support-qualification.md)
375
- - [Lane Standing Instructions](https://github.com/codemower-ai/code-mower/blob/main/docs/lanes/README.md)
376
- - [Codex Lane](https://github.com/codemower-ai/code-mower/blob/main/docs/lanes/codex.md)
377
- - [Claude Lane](https://github.com/codemower-ai/code-mower/blob/main/docs/lanes/claude.md)
378
- - [Cursor Lane](https://github.com/codemower-ai/code-mower/blob/main/docs/lanes/cursor.md)
379
- - [Devin Lane](https://github.com/codemower-ai/code-mower/blob/main/docs/lanes/devin.md)
380
- - [Self-Hosted Mac Runner](https://github.com/codemower-ai/code-mower/blob/main/docs/self-hosted-mac-runner.md)
381
- - [Local Audit Runner](https://github.com/codemower-ai/code-mower/blob/main/docs/local-audit-runner.md)
382
-
383
- ### Context And Trackers
384
-
385
- - [Optional Organizational Context Setup](https://github.com/codemower-ai/code-mower/blob/main/docs/context-setup.md)
386
- - [Coworker Connections](https://github.com/codemower-ai/code-mower/blob/main/docs/context-connections.md)
387
- - [Context Delivery And Private Review](https://github.com/codemower-ai/code-mower/blob/main/docs/context-delivery.md)
388
- - [Context Provider Contract](https://github.com/codemower-ai/code-mower/blob/main/docs/context-provider-contract.md)
389
- - [Context Packet Schema](https://github.com/codemower-ai/code-mower/blob/main/docs/context-packet-schema.md)
390
- - [Jira Cloud Setup](https://github.com/codemower-ai/code-mower/blob/main/docs/jira-cloud-setup.md)
391
- - [Jira Adoption Rehearsal](https://github.com/codemower-ai/code-mower/blob/main/docs/jira-adoption-rehearsal.md)
392
- - [Work Tracker Data Contract](https://github.com/codemower-ai/code-mower/blob/main/docs/tracker-data-contract.md)
393
-
394
- ### Trust, Operations, And Project Records
395
-
396
- - [Architecture](https://github.com/codemower-ai/code-mower/blob/main/docs/architecture.md)
397
- - [Current State And Roadmap](https://github.com/codemower-ai/code-mower/blob/main/docs/current-state-and-roadmap.md)
398
- - [Lane Promotion Policy](https://github.com/codemower-ai/code-mower/blob/main/docs/lane-promotion-policy.md)
399
- - [Privacy And Threat Model](https://github.com/codemower-ai/code-mower/blob/main/docs/privacy-threat-model.md)
400
- - [Cloud Data Contract](https://github.com/codemower-ai/code-mower/blob/main/docs/cloud-data-contract.md)
401
- - [Release Qualification](https://github.com/codemower-ai/code-mower/blob/main/docs/release-qualification.md)
402
- - [Public Release Checklist](https://github.com/codemower-ai/code-mower/blob/main/docs/public-release-checklist.md)
403
- - [v1.5.1 Release Notes](https://github.com/codemower-ai/code-mower/blob/main/docs/v151-release-notes.md)
404
- - [v1.4.2 Release Notes](https://github.com/codemower-ai/code-mower/blob/main/docs/v142-release-notes.md)
405
- - [v1.5.1 Qualification Contract](https://github.com/codemower-ai/code-mower/blob/main/docs/v151-qualification.md)
406
- - [v1.4.2 Qualification Record](https://github.com/codemower-ai/code-mower/blob/main/docs/v142-qualification.md)
407
- - [Release History And Archived Plans](https://github.com/codemower-ai/code-mower/blob/main/docs/release-history.md)
408
- - [Changelog](https://github.com/codemower-ai/code-mower/blob/main/CHANGELOG.md)
409
- - [Contributing](https://github.com/codemower-ai/code-mower/blob/main/CONTRIBUTING.md)
410
- - [Support](https://github.com/codemower-ai/code-mower/blob/main/SUPPORT.md)
411
- - [Security Policy](https://github.com/codemower-ai/code-mower/blob/main/SECURITY.md)
412
- - [Code of Conduct](https://github.com/codemower-ai/code-mower/blob/main/CODE_OF_CONDUCT.md)
316
+ The generated [documentation index](https://github.com/codemower-ai/code-mower/blob/main/docs/README.md) lists every canonical guide
317
+ and identifies supporting and historical material. The maintained user journey
318
+ is [install](https://github.com/codemower-ai/code-mower/blob/main/docs/install.md), [first repository setup](https://github.com/codemower-ai/code-mower/blob/main/docs/quickstart.md),
319
+ [upgrade](https://github.com/codemower-ai/code-mower/blob/main/docs/upgrade-existing-repo.md), [Board operation](https://github.com/codemower-ai/code-mower/blob/main/docs/board-service-lifecycle.md),
320
+ and [troubleshooting](https://github.com/codemower-ai/code-mower/blob/main/docs/troubleshooting.md).
321
+
322
+ For architecture, sessions, Graphify, Slack, Jira, provider selection, release
323
+ operations, and the roadmap, use that index rather than a second hand-maintained
324
+ link catalog here. See [Contributing](https://github.com/codemower-ai/code-mower/blob/main/CONTRIBUTING.md), [Support](https://github.com/codemower-ai/code-mower/blob/main/SUPPORT.md),
325
+ [Security Policy](https://github.com/codemower-ai/code-mower/blob/main/SECURITY.md), and the [Code of Conduct](https://github.com/codemower-ai/code-mower/blob/main/CODE_OF_CONDUCT.md)
326
+ for repository participation and support boundaries.
413
327
 
414
328
  ## License
415
329
 
@@ -0,0 +1,45 @@
1
+ # Code Mower documentation
2
+
3
+ <!-- Generated from docs/docs-manifest.yml. Run `python -m code_mower.docs_lifecycle --write-index` after changing canonical ownership. -->
4
+
5
+ Start with the canonical guide for the task at hand. Supporting documents add
6
+ detail without redefining these contracts. Frozen and archived documents preserve
7
+ historical release evidence and are not current operating guidance.
8
+
9
+ ## Maintained user journey
10
+
11
+ 1. [Install And Bootstrap](install.md)
12
+ 2. [Code Mower Quickstart](quickstart.md)
13
+ 3. [Upgrade An Existing Repository](upgrade-existing-repo.md)
14
+ 4. [Board Service Lifecycle](board-service-lifecycle.md)
15
+ 5. [Troubleshooting](troubleshooting.md)
16
+
17
+ ## Canonical guides
18
+
19
+ | Subject | Guide |
20
+ | --- | --- |
21
+ | Architecture | [Architecture](architecture.md) |
22
+ | Board Operations | [Board Service Lifecycle](board-service-lifecycle.md) |
23
+ | Cloud Sharing | [Code Mower Cloud Sharing](cloud-sharing.md) |
24
+ | Context Providers | [Context provider contract for v1.3](context-provider-contract.md) |
25
+ | Documentation Lifecycle | [Documentation lifecycle](documentation-lifecycle.md) |
26
+ | Graphify | [Optional Graphify setup](graphify-setup.md) |
27
+ | Install Rehearsal | [First-User Install Rehearsal](first-user-install-rehearsal.md) |
28
+ | Installation | [Install And Bootstrap](install.md) |
29
+ | Jira | [Jira Cloud Setup](jira-cloud-setup.md) |
30
+ | Package Publication | [PyPI Release Runbook](pypi-release.md) |
31
+ | Provider Selection | [Code Mower Provider Matrix](provider-matrix.md) |
32
+ | Quickstart | [Code Mower Quickstart](quickstart.md) |
33
+ | Release History | [Release History And Archived Plans](release-history.md) |
34
+ | Release Process | [Code Mower Public Release Checklist](public-release-checklist.md) |
35
+ | Roadmap | [Code Mower Current State And Roadmap](current-state-and-roadmap.md) |
36
+ | Sessions | [Participants And Sessions](sessions.md) |
37
+ | Slack | [Optional Slack setup](slack-setup.md) |
38
+ | Troubleshooting | [Troubleshooting](troubleshooting.md) |
39
+ | Upgrade | [Upgrade An Existing Repository](upgrade-existing-repo.md) |
40
+
41
+ ## Lifecycle
42
+
43
+ The manifest currently classifies 62 supporting, 53 frozen, and 5 archived document(s).
44
+ See [Documentation lifecycle](documentation-lifecycle.md) before adding, moving,
45
+ or changing release-sensitive documentation.
@@ -89,7 +89,7 @@ src/code_mower/
89
89
  tracker_*.py, jira_*.py work-item contracts and guarded Jira operations
90
90
  cloud.py, cloud_client/ export, upload, setup, and metadata operations
91
91
  package_*.py, migration_*.py generated package and rehearsal support
92
- templates/ generated config, workflows, prompts, wrappers
92
+ templates/ authored config, workflows, prompts, wrappers
93
93
  tests/ behavior, privacy, and release-hygiene tests
94
94
  scripts/ smoke, privacy, fresh-clone, and Python helpers
95
95
  docs/ current guides and historical release records