code-mower 1.5.0__tar.gz → 1.5.1__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.
- {code_mower-1.5.0 → code_mower-1.5.1}/PKG-INFO +12 -12
- {code_mower-1.5.0 → code_mower-1.5.1}/README.md +11 -11
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/board-data-contract.md +14 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/build-loop-in-30-minutes.md +3 -3
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/current-state-and-roadmap.md +5 -5
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/early-adopter-invite-runbook.md +4 -4
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/first-user-install-rehearsal.md +11 -11
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/friendly-user-rollout-v05.md +5 -5
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/install.md +47 -13
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/local-audit-runner.md +7 -4
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/mirror-removal-runbook.md +1 -1
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/orchestrator-prompt-pack.md +19 -3
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/oss-v1-checklist.md +1 -1
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/package-customization.md +1 -1
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/provider-matrix.md +1 -1
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/public-release-checklist.md +9 -9
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/pypi-release.md +21 -19
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/quickstart.md +6 -6
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/release-history.md +3 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/sessions.md +5 -2
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/troubleshooting.md +21 -2
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/try-in-10-minutes.md +27 -5
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/upgrade-existing-repo.md +14 -10
- code_mower-1.5.1/docs/v151-qualification.md +43 -0
- code_mower-1.5.1/docs/v151-release-notes.md +56 -0
- code_mower-1.5.1/docs/v151-release-runbook.md +126 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/pyproject.toml +4 -1
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/__init__.py +1 -1
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/audit_publication.py +50 -5
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/board.py +11 -5
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor.py +20 -1
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/adoption.py +29 -5
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/github.py +6 -1
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/provider_review_hygiene.py +11 -7
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/providers.py +21 -14
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/runner.py +70 -14
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/init.py +57 -10
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/lane_status.py +35 -2
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/package_manifest.py +3 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/release_readiness.py +15 -12
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower.egg-info/PKG-INFO +12 -12
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower.egg-info/SOURCES.txt +6 -1
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_audit_publication.py +83 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_board.py +43 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_lane_status.py +89 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_release_hygiene.py +26 -26
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_release_identity.py +11 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_release_v142.py +10 -10
- code_mower-1.5.0/tests/test_release_v150.py → code_mower-1.5.1/tests/test_release_v151.py +45 -44
- code_mower-1.5.1/tests/test_remote_observer_doctor_1053.py +232 -0
- code_mower-1.5.1/tests/test_safe_init_1054.py +237 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/CODE_OF_CONDUCT.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/LICENSE +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/MANIFEST.in +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/NOTICE +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/SUPPORT.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/acp-bridge-spike.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/architecture.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/archive/README.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/archive/first-user-install-rehearsal-alpha4.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/archive/first-user-install-rehearsal-alpha5.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/archive/first-user-install-rehearsal-alpha6.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/archive/first-user-install-rehearsal-alpha8.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/archive/first-user-install-rehearsal-alpha9.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/authoring-intelligence.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/board-qualification.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/board-service-lifecycle.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/build-loop.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/builder-experiments.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/builders-grok-cursor.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/calibration-notes.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/calibration-pilot.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/cloud-benchmarking.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/cloud-contributor-runbook.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/cloud-data-contract.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/cloud-sharing.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/code-structure-roadmap.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/commercial-boundary.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/context-connections.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/context-delivery.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/context-graph-lifecycle.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/context-graph-queries.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/context-packet-schema.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/context-provider-contract.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/context-setup.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/devin-peer-support-qualification.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/devin-review-parity.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/devin-setup-prompt.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/devin-work-orders.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/doctrine-lens-proof-v2.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/early-adopter-v05.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/first-run-transcript.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/first-user-demo-transcript.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/github-setup.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/graphify-evaluation.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/graphify-setup.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/jira-adoption-rehearsal.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/jira-cloud-setup.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/lane-promotion-policy.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/lanes/README.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/lanes/claude.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/lanes/codex.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/lanes/cursor.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/lanes/devin.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/launch-command-surface.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/lens-calibration-report.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/operational-evidence.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/participant-qualification.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/planning-work-orders.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/post-v08-effectiveness-assessment.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/prd-addendum-v05-beta.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/privacy-threat-model.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/provider-calibration-scorecard.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/provider-diversity-provenance.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/release-qualification.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/repo-strategy.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/reviewer-value-report.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/sample-doctor-output.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/self-hosted-mac-runner.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/slack-contract.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/slack-ingress.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/slack-setup.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/supervised-pilot-contract.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/supervisor-contract.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/tracker-data-contract.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v06-release-notes.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v06-truth-baseline.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v08-release-notes.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v09-release-notes.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v10-release-notes.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v101-effectiveness-assessment.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v101-release-notes.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v1010-release-notes.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v1011-release-notes.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v1012-release-notes.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v1013-release-notes.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v1014-release-notes.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v1015-release-notes.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v102-release-notes.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v103-installation-documentation-audit.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v103-release-notes.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v104-installation-documentation-audit.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v104-release-notes.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v105-release-notes.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v106-release-notes.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v107-release-notes.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v108-release-notes.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v109-release-notes.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v11-release-notes.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v111-release-notes.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v112-release-notes.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v12-release-notes.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v121-release-notes.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v122-release-notes.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v130-context-qualification.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v130-release-notes.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v131-guided-context-qualification.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v131-release-notes.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v140-release-notes.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v140-release-runbook.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v141-qualification.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v141-release-notes.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v142-qualification.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v142-release-notes.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v150-qualification.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v150-release-notes.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/docs/v150-release-runbook.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/requirements/requirements.txt +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/setup.cfg +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/adapters/__init__.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/adapters/_base.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/adapters/cursor_bugbot.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/adapters/gitar.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/adapters/greptile.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/adapters/qodo.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/antigravity_cli_audit_pr.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/antigravity_sdk_probe.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/audit_handoff_log.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/audit_labeler_lib.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/audit_limits.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/audit_progress.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/blind_review_artifacts.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/blind_review_coordinator.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/board_local_observation.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/board_observation.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/board_observation.schema.json +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/board_remote_observation.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/board_service.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/board_store.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/bootstrap.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/branch_policy.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/builder_experiment.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/builder_lineage.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/builder_lineage_producer.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/builder_runs.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/calibration/__init__.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/calibration/arms.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/calibration/auto_discovery.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/calibration/commands.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/calibration/context_inputs.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/calibration/corpus.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/calibration/effect_report.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/calibration/evidence.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/calibration/evidence_report.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/calibration/identity.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/calibration/metrics.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/calibration/overlap.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/calibration/planning.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/calibration/policy.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/calibration/results.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/calibration/run_results.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/calibration/run_status.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/calibration/runner.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/calibration/truth.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/calibration/value_report.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/campaign_adapters.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/campaign_discovery.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/checks.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/claude_audit_pr.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/claude_cli_bounce.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/claude_cli_environment.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/clear_stale.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/cli.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/cloud.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/cloud_client/__init__.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/cloud_client/adoption_runs.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/cloud_client/bundle.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/cloud_client/doctor.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/cloud_client/dogfood.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/cloud_client/endpoints.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/cloud_client/errors.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/cloud_client/events.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/cloud_client/export.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/cloud_client/finding_outcomes.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/cloud_client/git_metadata.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/cloud_client/manifest.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/cloud_client/operations.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/cloud_client/pr_outcomes.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/cloud_client/productivity.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/cloud_client/productivity_windows.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/cloud_client/reports.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/cloud_client/setup.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/cloud_client/tokens.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/cloud_client/upload.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/cloud_client/work_types.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/code_mower_calibration.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/code_mower_context_packs.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/code_mower_merge.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/code_mower_telemetry.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/coderabbit_cli_audit_pr.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/codex_audit_env_preflight.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/codex_audit_pr.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/codex_audit_schema_smoke.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/codex_audit_verdict.schema.json +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/config.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/context_audit.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/context_command.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/context_connections.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/context_contract.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/context_delivery.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/context_graph.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/context_graph_command.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/context_graph_connection.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/context_graph_lifecycle.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/context_graph_query.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/context_guided.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/context_packets.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/context_prepare.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/context_readiness.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/context_review.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/context_session.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/context_store.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/controller.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/coworker_mcp.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/coworker_retrieval.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/decisions.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/devin_api.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/devin_cli_audit_pr.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/devin_readiness.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/devin_review.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/devin_sessions.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/devin_work_orders.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/__init__.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/audit_limits.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/campaign_auth.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/cloud.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/common.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/devin.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/github_actions.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/github_actions_cost.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/github_actions_cost_summary.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/github_actions_failure_annotations.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/github_actions_failure_models.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/github_actions_failure_scan.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/github_actions_failure_selection.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/github_actions_failures.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/github_actions_permissions.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/github_api.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/github_branch.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/github_config.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/github_human_token.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/github_provider.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/github_repo.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/github_trusted_authors.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/groups.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/jira.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/models.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/output.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/presets.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/privacy.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/provider_api_model.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/provider_api_model_openai.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/provider_api_model_profiles.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/provider_env.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/provider_env_required.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/provider_env_tokens.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/provider_local_audit_setup.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/provider_local_cli.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/provider_local_cli_commands.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/provider_local_cli_probe_config.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/provider_probe.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/provider_probe_auth.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/provider_probe_evaluation.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/provider_probe_json.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/provider_probe_remediation.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/registry.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/runtime.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/runtime_github_auth.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/self_hosted_runner.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/doctor_checks/supervised_pilot.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/file_locks.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/gate_health.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/gemini_cli_audit_pr.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/git_identity.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/github_builder_evidence.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/grok_build_audit_pr.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/hermes_cli_audit_pr.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/jira_cloud.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/jira_mutations.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/jira_pr_sync.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/lane_configs/__init__.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/lane_configs/aider.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/lane_configs/antigravity_cli.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/lane_configs/claude.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/lane_configs/codex.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/lane_configs/devin.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/lane_configs/devin_cli.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/lane_configs/gemini_cli.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/lane_configs/grok_build.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/lane_configs/hermes_cli.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/lane_configs/local_llm.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/lane_configs/muse_cli.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/lane_delivery.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/lane_handoff.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/lane_runtime.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/local_cli_commands.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/local_llm_audit_pr.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/local_llm_bakeoff.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/local_llm_calibration.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/local_llm_profiles.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/migration.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/migration_install.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/migration_mirror.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/migration_readiness.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/migration_rehearsal.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/muse_cli_audit_pr.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/next_steps.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/operational_evidence.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/package.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/package_content.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/package_paths.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/package_rendering.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/package_static.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/participants.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/plan_context.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/productivity_report.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/prompts.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/provider_capabilities.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/provider_capabilities.schema.json +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/provider_credentials.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/provider_registry.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/provider_runners/__init__.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/provider_runners/comments.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/provider_runners/exit_codes.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/provider_runners/git.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/provider_runners/github_auth.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/provider_runners/github_pr.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/provider_runners/lineage.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/provider_runners/pr_worktree.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/provider_runners/process.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/provider_runners/repo_paths.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/provider_runners/text_schema.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/provider_runners/verdict_artifacts.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/provider_runners/workspace.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/providers/__init__.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/providers/local_cli.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/providers/provenance.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/release_campaigns.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/release_identity.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/release_qualify.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/remote_session.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/remote_session.schema.json +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/remote_session_cli.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/review_authority.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/reviewer_metrics.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/reviewer_spend.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/role_eligibility.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/role_eligibility.schema.json +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/saas_reviewer_labeler.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/secrets.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/session.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/session_current.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/session_lease.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/slack_contract.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/slack_contract.schema.json +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/slack_ingress.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/slack_readiness.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/slack_setup.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/supervisor.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/supervisor_checkpoint.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/supervisor_codex.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/supervisor_contract.fixtures.json +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/supervisor_contract.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/supervisor_contract.schema.json +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/supervisor_contract_v2.fixtures.json +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/supervisor_contract_v2.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/supervisor_contract_v2.schema.json +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/builder-experiment.example.json +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/calibration-corpus.example.json +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/calibration-corpus.json +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/code-mower.example.yml +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/context-packs.example.json +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/lane_prompts/base-audit.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/lane_prompts/calibration-policy.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/lane_prompts/context-driven-quality.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/lane_prompts/docs-design.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/lane_prompts/generic-programming.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/lane_prompts/operability.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/lane_prompts/package-runtime.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/lane_prompts/plan-conformance.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/lane_prompts/security-threat-model.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/lanes/README.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/lanes/claude.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/lanes/codex.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/lanes/cursor.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/lanes/devin.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/lanes/generic.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/lanes/lineage-producer.sh +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/lanes/run_mac_lane.sh +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/product-support/code_mower +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/product-support/code_mower_standalone_pin.env +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/product-support/code_mower_standalone_shadow.sh +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/product-support/run_claude_audit_pr.sh +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/product-support/run_codex_audit_pr.sh +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/product-support/run_devin_cli_audit_pr.sh +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/product-support/safe_gh_comment.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/product-support/status_report.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/providers.yml +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/reviewer-spend.example.json +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/reviewer-value-report.example.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/slack/app-manifest.json +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/slack/hosted-app-manifest.json +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/workflows/audit-label-cleanup.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/workflows/builder-lineage-producer.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/workflows/builder-provenance.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/workflows/code-mower-agent-pr-labeler.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/workflows/code-mower-fix-round-dispatch.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/workflows/code-mower-gate-health.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/workflows/code-mower-gate.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/workflows/dispatch-lanes.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/workflows/hosted-bridge.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/workflows/lane-mac-runner.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/workflows/local-audit-publication.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/workflows/local-audit-request.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/workflows/local-cli-audit.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/workflows/needs-owner-notify.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/workflows/private-standalone-shadow.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/workflows/review-clear-stale.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/workflows/saas-reviewer-labeler.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/workflows/self-hosted-local-audit.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/workflows/trailer-comment-labeler.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/templates/workflows/weekly-status.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/tracker_contract.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/tracker_queue.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/trailer_comment_labeler.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/versioning.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/work_orders.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/workflow_actionlint.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower/yaml_subset.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower.egg-info/dependency_links.txt +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower.egg-info/entry_points.txt +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower.egg-info/requires.txt +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/src/code_mower.egg-info/top_level.txt +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/builder-experiment.example.json +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/calibration-corpus.example.json +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/calibration-corpus.json +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/code-mower.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/context-packs.example.json +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/cursor/BUGBOT.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/lanes/README.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/lanes/claude.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/lanes/codex.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/lanes/cursor.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/lanes/devin.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/lanes/generic.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/lanes/lineage-producer.sh +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/lanes/run_mac_lane.sh +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/providers/acp_bridge.yml +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/providers/aider.yml +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/providers/antigravity_cli.yml +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/providers/claude_audit.yml +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/providers/claude_review.yml +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/providers/coderabbit_cli.yml +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/providers/codex.yml +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/providers/cursor_bugbot.yml +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/providers/cursor_cloud_agent.yml +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/providers/devin.yml +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/providers/devin_cli.yml +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/providers/gemini_cli.yml +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/providers/gitar.yml +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/providers/greptile.yml +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/providers/hermes_cli.yml +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/providers/local_llm.yml +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/providers/muse_cli.yml +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/providers/qodo.yml +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/providers.yml +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/reviewer-spend.example.json +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/reviewer-value-report.example.md +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/slack/app-manifest.json +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/workflows/audit-label-cleanup.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/workflows/blind-review-artifacts-dry-run.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/workflows/builder-lineage-producer.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/workflows/builder-provenance.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/workflows/code-mower-agent-pr-labeler.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/workflows/code-mower-fix-round-dispatch.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/workflows/code-mower-gate-health.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/workflows/code-mower-gate.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/workflows/dispatch-lanes.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/workflows/hosted-bridge.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/workflows/lane-mac-runner.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/workflows/local-audit-publication.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/workflows/local-audit-request.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/workflows/local-cli-audit.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/workflows/private-standalone-shadow.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/workflows/review-clear-stale.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/workflows/saas-reviewer-labeler.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/workflows/self-hosted-local-audit.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/templates/workflows/trailer-comment-labeler.yml.j2 +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_adoption_diagnostics.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_adoption_polish_1015.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_adoption_polish_955.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_adoption_result_semantics.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_adoption_run_contract.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_antigravity_cli_audit_pr.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_antigravity_sdk_probe.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_audit_comment_posture.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_audit_labeler_identity.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_audit_limits.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_board_lease.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_board_local_observation.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_board_observation.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_board_qualification.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_board_remote_observation.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_board_service.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_branch_policy.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_builder_experiment.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_builder_identity.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_builder_runs.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_calibration_effect_report.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_calibration_truth.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_campaign_adapters.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_campaign_discovery.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_campaign_gh_auth_and_issue_binding_817.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_campaign_retry_evidence_711.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_checks.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_claude_audit_pr.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_claude_cli_bounce.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_clear_stale.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_cloud_client.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_cloud_git_metadata.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_cloud_manifest.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_cloud_reports.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_coderabbit_cli_audit_pr.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_codex_audit_env_preflight.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_codex_audit_pr.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_codex_campaign_auth_modes.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_context_audit.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_context_command.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_context_connections.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_context_contract.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_context_delivery.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_context_graph.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_context_graph_connection.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_context_graph_lifecycle.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_context_graph_query.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_context_guided.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_context_packets.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_context_prepare.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_context_readiness.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_context_review.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_context_session.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_controller.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_coworker_mcp.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_coworker_retrieval.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_decision_audit_integration.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_decisions.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_devin_api.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_devin_builder_lane.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_devin_capabilities.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_devin_cli_audit_pr.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_devin_provider_contract.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_devin_review.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_devin_sessions.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_devin_setup_readiness.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_devin_work_orders.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_doctor_actions_cost_summary.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_doctor_actions_failure_selection.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_doctor_boundaries.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_doctor_campaign_auth.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_doctor_campaign_readiness.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_doctor_github_checks.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_doctor_output.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_doctor_privacy.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_doctor_provider_env_required.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_doctor_provider_env_tokens.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_doctor_provider_local_audit_setup.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_doctor_provider_probe.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_doctor_provider_review_hygiene.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_doctor_registry.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_doctor_runtime.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_doctor_self_hosted_runner.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_doctor_supervised_pilot.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_documentation.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_documented_commands.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_file_locks.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_fork_pr_guard.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_gate_automerge.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_gate_health.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_github_builder_evidence.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_hosted_dispatch_profile.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_init_actionlint.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_init_build_loop.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_init_builders_cold_start.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_jira_adoption.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_jira_cloud.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_jira_mutations.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_jira_pr_sync.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_lane_delivery_contract.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_lane_handoff.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_lane_writer_identity.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_lineage_consumer_activation.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_lineage_consumer_admission.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_lineage_consumer_labels.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_lineage_consumer_projection.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_lineage_creation.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_lineage_producer_artifacts.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_lineage_producer_publication.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_lineage_producer_state.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_local_llm_github_helpers.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_migration_rehearsal.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_migration_setup_drift.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_minimal_lineage_contract.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_minimal_lineage_packaging.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_minimal_lineage_transport.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_next_steps.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_operational_evidence.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_package_install_failure_taxonomy.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_participant_sessions.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_plan_context.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_pr_outcome_contract.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_pr_outcome_coverage.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_productivity_metrics_contract.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_productivity_report.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_productivity_windows.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_prompts.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_provider_credentials.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_provider_fixture_contracts.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_provider_local_cli.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_provider_runners_comments.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_provider_runners_git.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_provider_runners_github_pr.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_provider_runners_pr_worktree.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_provider_runners_process.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_provider_runners_repo_paths.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_provider_runners_text_schema.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_provider_runners_workspace.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_release_campaigns.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_release_qualify.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_release_v141.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_remote_qualification_failure_reason_819.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_remote_session.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_reviewer_finding_outcome_contract.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_reviewer_metrics_core.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_reviewer_spend.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_role_eligibility.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_session_current.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_session_lease.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_slack_contract.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_slack_ingress.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_slack_setup.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_supervised_pilot_contract.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_supervisor.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_supervisor_v2.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_tracker_config.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_tracker_contract.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_tracker_queue.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_trailer_comment_labeler.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_work_orders.py +0 -0
- {code_mower-1.5.0 → code_mower-1.5.1}/tests/test_work_type_contract.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: code-mower
|
|
3
|
-
Version: 1.5.
|
|
3
|
+
Version: 1.5.1
|
|
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,12 +45,12 @@ 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.
|
|
49
|
-
`code-mower==1.5.
|
|
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
50
|
version on the selected index before using an index install command; source
|
|
51
51
|
version and publication state are separate facts. See the
|
|
52
|
-
[v1.5.
|
|
53
|
-
and [qualification contract](https://github.com/codemower-ai/code-mower/blob/main/docs/
|
|
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
54
|
After publication, the GitHub Release and linked release issue carry the
|
|
55
55
|
observed source SHA, artifact digests, canary outcomes, publication run and
|
|
56
56
|
reinstall evidence.
|
|
@@ -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.
|
|
64
|
+
[`v1.5.1` guide](https://github.com/codemower-ai/code-mower/blob/v1.5.1/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
|
|
@@ -90,13 +90,13 @@ one stable `pipx` installation:
|
|
|
90
90
|
```bash
|
|
91
91
|
python3.12 --version
|
|
92
92
|
export CODE_MOWER_PYTHON="$(command -v python3.12)"
|
|
93
|
-
pipx install --python "$CODE_MOWER_PYTHON" code-mower==1.5.
|
|
93
|
+
pipx install --python "$CODE_MOWER_PYTHON" code-mower==1.5.1
|
|
94
94
|
command -v code-mower
|
|
95
95
|
code-mower --version
|
|
96
96
|
```
|
|
97
97
|
|
|
98
98
|
`command -v code-mower` should print the path you expect and `code-mower
|
|
99
|
-
--version` should print `code-mower 1.5.
|
|
99
|
+
--version` should print `code-mower 1.5.1` before you point Code Mower at a
|
|
100
100
|
repository. If you do not have pipx, install it from the
|
|
101
101
|
[official pipx installation guide](https://pipx.pypa.io/stable/installation/).
|
|
102
102
|
|
|
@@ -321,7 +321,7 @@ for both workflows, supported behavior, and the trust boundary.
|
|
|
321
321
|
|
|
322
322
|
## Current Capabilities And Limits
|
|
323
323
|
|
|
324
|
-
| Area | v1.5.
|
|
324
|
+
| Area | v1.5.1 posture |
|
|
325
325
|
| --- | --- |
|
|
326
326
|
| Default builders and reviewers | Claude Code + Codex |
|
|
327
327
|
| Session hosts | Codex, Claude Code, and Cursor qualified; other identities recognized but require explicit handoff/provider transport |
|
|
@@ -335,7 +335,7 @@ for both workflows, supported behavior, and the trust boundary.
|
|
|
335
335
|
|
|
336
336
|
GitLab, Bitbucket, broad unattended rollout, uncalibrated merge gates, Devin
|
|
337
337
|
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.
|
|
338
|
+
dependency, Slack telemetry/Board links, and rich Slack UX are outside v1.5.1. The current priorities
|
|
339
339
|
and boundaries are recorded in
|
|
340
340
|
[Current State And Roadmap](https://github.com/codemower-ai/code-mower/blob/main/docs/current-state-and-roadmap.md).
|
|
341
341
|
|
|
@@ -436,9 +436,9 @@ does not need rebuilding. See
|
|
|
436
436
|
- [Cloud Data Contract](https://github.com/codemower-ai/code-mower/blob/main/docs/cloud-data-contract.md)
|
|
437
437
|
- [Release Qualification](https://github.com/codemower-ai/code-mower/blob/main/docs/release-qualification.md)
|
|
438
438
|
- [Public Release Checklist](https://github.com/codemower-ai/code-mower/blob/main/docs/public-release-checklist.md)
|
|
439
|
-
- [v1.5.
|
|
439
|
+
- [v1.5.1 Release Notes](https://github.com/codemower-ai/code-mower/blob/main/docs/v151-release-notes.md)
|
|
440
440
|
- [v1.4.2 Release Notes](https://github.com/codemower-ai/code-mower/blob/main/docs/v142-release-notes.md)
|
|
441
|
-
- [v1.5.
|
|
441
|
+
- [v1.5.1 Qualification Contract](https://github.com/codemower-ai/code-mower/blob/main/docs/v151-qualification.md)
|
|
442
442
|
- [v1.4.2 Qualification Record](https://github.com/codemower-ai/code-mower/blob/main/docs/v142-qualification.md)
|
|
443
443
|
- [Release History And Archived Plans](https://github.com/codemower-ai/code-mower/blob/main/docs/release-history.md)
|
|
444
444
|
- [Changelog](https://github.com/codemower-ai/code-mower/blob/main/CHANGELOG.md)
|
|
@@ -9,12 +9,12 @@ 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.
|
|
13
|
-
`code-mower==1.5.
|
|
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
14
|
version on the selected index before using an index install command; source
|
|
15
15
|
version and publication state are separate facts. See the
|
|
16
|
-
[v1.5.
|
|
17
|
-
and [qualification contract](https://github.com/codemower-ai/code-mower/blob/main/docs/
|
|
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
18
|
After publication, the GitHub Release and linked release issue carry the
|
|
19
19
|
observed source SHA, artifact digests, canary outcomes, publication run and
|
|
20
20
|
reinstall evidence.
|
|
@@ -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.
|
|
28
|
+
[`v1.5.1` guide](https://github.com/codemower-ai/code-mower/blob/v1.5.1/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
|
|
@@ -54,13 +54,13 @@ one stable `pipx` installation:
|
|
|
54
54
|
```bash
|
|
55
55
|
python3.12 --version
|
|
56
56
|
export CODE_MOWER_PYTHON="$(command -v python3.12)"
|
|
57
|
-
pipx install --python "$CODE_MOWER_PYTHON" code-mower==1.5.
|
|
57
|
+
pipx install --python "$CODE_MOWER_PYTHON" code-mower==1.5.1
|
|
58
58
|
command -v code-mower
|
|
59
59
|
code-mower --version
|
|
60
60
|
```
|
|
61
61
|
|
|
62
62
|
`command -v code-mower` should print the path you expect and `code-mower
|
|
63
|
-
--version` should print `code-mower 1.5.
|
|
63
|
+
--version` should print `code-mower 1.5.1` before you point Code Mower at a
|
|
64
64
|
repository. If you do not have pipx, install it from the
|
|
65
65
|
[official pipx installation guide](https://pipx.pypa.io/stable/installation/).
|
|
66
66
|
|
|
@@ -285,7 +285,7 @@ for both workflows, supported behavior, and the trust boundary.
|
|
|
285
285
|
|
|
286
286
|
## Current Capabilities And Limits
|
|
287
287
|
|
|
288
|
-
| Area | v1.5.
|
|
288
|
+
| Area | v1.5.1 posture |
|
|
289
289
|
| --- | --- |
|
|
290
290
|
| Default builders and reviewers | Claude Code + Codex |
|
|
291
291
|
| Session hosts | Codex, Claude Code, and Cursor qualified; other identities recognized but require explicit handoff/provider transport |
|
|
@@ -299,7 +299,7 @@ for both workflows, supported behavior, and the trust boundary.
|
|
|
299
299
|
|
|
300
300
|
GitLab, Bitbucket, broad unattended rollout, uncalibrated merge gates, Devin
|
|
301
301
|
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.
|
|
302
|
+
dependency, Slack telemetry/Board links, and rich Slack UX are outside v1.5.1. The current priorities
|
|
303
303
|
and boundaries are recorded in
|
|
304
304
|
[Current State And Roadmap](https://github.com/codemower-ai/code-mower/blob/main/docs/current-state-and-roadmap.md).
|
|
305
305
|
|
|
@@ -400,9 +400,9 @@ does not need rebuilding. See
|
|
|
400
400
|
- [Cloud Data Contract](https://github.com/codemower-ai/code-mower/blob/main/docs/cloud-data-contract.md)
|
|
401
401
|
- [Release Qualification](https://github.com/codemower-ai/code-mower/blob/main/docs/release-qualification.md)
|
|
402
402
|
- [Public Release Checklist](https://github.com/codemower-ai/code-mower/blob/main/docs/public-release-checklist.md)
|
|
403
|
-
- [v1.5.
|
|
403
|
+
- [v1.5.1 Release Notes](https://github.com/codemower-ai/code-mower/blob/main/docs/v151-release-notes.md)
|
|
404
404
|
- [v1.4.2 Release Notes](https://github.com/codemower-ai/code-mower/blob/main/docs/v142-release-notes.md)
|
|
405
|
-
- [v1.5.
|
|
405
|
+
- [v1.5.1 Qualification Contract](https://github.com/codemower-ai/code-mower/blob/main/docs/v151-qualification.md)
|
|
406
406
|
- [v1.4.2 Qualification Record](https://github.com/codemower-ai/code-mower/blob/main/docs/v142-qualification.md)
|
|
407
407
|
- [Release History And Archived Plans](https://github.com/codemower-ai/code-mower/blob/main/docs/release-history.md)
|
|
408
408
|
- [Changelog](https://github.com/codemower-ai/code-mower/blob/main/CHANGELOG.md)
|
|
@@ -16,6 +16,15 @@ to the newest timestamped result in this current-state snapshot. Superseded
|
|
|
16
16
|
results remain available in prior local history events, but do not drive the
|
|
17
17
|
current next action or owner queue.
|
|
18
18
|
|
|
19
|
+
Each readable open PR includes a `lineage` posture. When no repository policy
|
|
20
|
+
was loaded, `status: optional` and `reason: lineage_policy_not_configured`
|
|
21
|
+
preserve the independently readable labels, checks, gate state, and PR next
|
|
22
|
+
action; `lineage.next_action` tells the operator to pass
|
|
23
|
+
`--config code-mower.yml` if they want lineage evaluated. When a configured
|
|
24
|
+
policy cannot read or validate the lineage metadata, `status: unavailable`
|
|
25
|
+
and `reason: lineage_unreadable` direct the operator to restore readable
|
|
26
|
+
metadata and rerun status. Neither posture is presented as verified lineage.
|
|
27
|
+
|
|
19
28
|
`code_mower.board.v1` is the local board wrapper added by
|
|
20
29
|
`code-mower board serve --repo OWNER/REPO`. It adds board display metadata and
|
|
21
30
|
embeds the lane-status snapshot unchanged.
|
|
@@ -466,6 +475,11 @@ and at every width. The tabs are a real `tablist` of `tab` buttons controlling
|
|
|
466
475
|
real `tabpanel` regions; the unselected panels carry `hidden`, so they leave the
|
|
467
476
|
accessibility tree instead of being painted away.
|
|
468
477
|
|
|
478
|
+
The header labels the running package as `Serving version: VERSION`; this is
|
|
479
|
+
the primary version reading, while the Health view retains installed-version
|
|
480
|
+
and restart detail. An empty Recent Code Mower Workflows section renders
|
|
481
|
+
`none`, matching the terminal status surface.
|
|
482
|
+
|
|
469
483
|
- **Now** — the work rows, the selected work item's evidence, the participant
|
|
470
484
|
summary, and the existing owner queue, lane work, supervised pilot and open
|
|
471
485
|
PR sections.
|
|
@@ -57,14 +57,14 @@ If path A has not been completed in this repository, do this reviewer-gate
|
|
|
57
57
|
checkpoint first. If you already have a merged setup PR with Codex and Claude
|
|
58
58
|
audit evidence, skip to section 2.
|
|
59
59
|
|
|
60
|
-
Confirm `code-mower==1.5.
|
|
60
|
+
Confirm `code-mower==1.5.1` is visible on the selected package index before
|
|
61
61
|
running this install block. Prepublication qualification uses the retained
|
|
62
|
-
candidate wheel from the [v1.5.
|
|
62
|
+
candidate wheel from the [v1.5.1 release runbook](v151-release-runbook.md).
|
|
63
63
|
|
|
64
64
|
```bash
|
|
65
65
|
python3.12 --version
|
|
66
66
|
export CODE_MOWER_PYTHON="$(command -v python3.12)"
|
|
67
|
-
pipx install --python "$CODE_MOWER_PYTHON" code-mower==1.5.
|
|
67
|
+
pipx install --python "$CODE_MOWER_PYTHON" code-mower==1.5.1
|
|
68
68
|
gh auth status >/dev/null 2>&1 && echo "gh auth ok" || { echo "gh auth NOT ready"; false; }
|
|
69
69
|
code-mower init --easy
|
|
70
70
|
code-mower init --easy --apply --output-dir .code-mower.generated
|
|
@@ -22,12 +22,12 @@ dry-run-first.
|
|
|
22
22
|
|
|
23
23
|
## Current Source And Published Baseline
|
|
24
24
|
|
|
25
|
-
This source defines Code Mower `v1.5.
|
|
26
|
-
`code-mower==1.5.
|
|
25
|
+
This source defines Code Mower `v1.5.1`, with package spec
|
|
26
|
+
`code-mower==1.5.1`. Confirm the release tag on GitHub Releases and the package
|
|
27
27
|
version on the selected index before using an index install command; source
|
|
28
28
|
version and publication state are separate facts. See the
|
|
29
|
-
[v1.5.
|
|
30
|
-
and [qualification contract](https://github.com/codemower-ai/code-mower/blob/main/docs/
|
|
29
|
+
[v1.5.1 release notes](https://github.com/codemower-ai/code-mower/blob/main/docs/v151-release-notes.md)
|
|
30
|
+
and [qualification contract](https://github.com/codemower-ai/code-mower/blob/main/docs/v151-qualification.md).
|
|
31
31
|
After publication, the GitHub Release and linked release issue carry the
|
|
32
32
|
observed source SHA, artifact digests, canary outcomes, publication run and
|
|
33
33
|
reinstall evidence.
|
|
@@ -310,7 +310,7 @@ administration/readiness; #920 consumes the immutable candidate to obtain one
|
|
|
310
310
|
accepted completion and one accepted confirmed cancellation under an explicit
|
|
311
311
|
numeric cap while preserving every attempt and reservation; #923 records the
|
|
312
312
|
tag, publication and independent reinstall evidence.
|
|
313
|
-
Slack telemetry/Board/cloud links and rich UX remain v1.
|
|
313
|
+
Slack telemetry/Board/cloud links and rich UX remain v1.6.0. Slack consumes the
|
|
314
314
|
durable lifecycle instead of scraping terminal or Board output and carries no
|
|
315
315
|
raw private context or private reviewer findings.
|
|
316
316
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Early Adopter Invite Runbook
|
|
2
2
|
|
|
3
3
|
Source target: v1.5.0 supervised-pilot baseline. Release invitations and pinned
|
|
4
|
-
index installs target `code-mower==1.5.
|
|
4
|
+
index installs target `code-mower==1.5.1` only after that version is visible on
|
|
5
5
|
the selected package index.
|
|
6
6
|
|
|
7
7
|
Use this runbook for the first 5-10 friendly users before widening Code Mower
|
|
@@ -41,8 +41,8 @@ Want to try Code Mower for 10 minutes?
|
|
|
41
41
|
It is an OSS local-first tool for setting up AI peer-programmer/reviewer lanes
|
|
42
42
|
on your real codebase, with optional privacy-first cloud reporting.
|
|
43
43
|
|
|
44
|
-
After v1.5.
|
|
45
|
-
https://github.com/codemower-ai/code-mower/blob/v1.5.
|
|
44
|
+
After v1.5.1 is published, start here:
|
|
45
|
+
https://github.com/codemower-ai/code-mower/blob/v1.5.1/docs/try-in-10-minutes.md
|
|
46
46
|
|
|
47
47
|
Cloud sharing is optional. The default bundle excludes source code, raw diffs,
|
|
48
48
|
model transcripts, raw stdout/stderr, auth output, and secrets.
|
|
@@ -57,7 +57,7 @@ Before inviting a user:
|
|
|
57
57
|
```bash
|
|
58
58
|
python3.12 --version
|
|
59
59
|
export CODE_MOWER_PYTHON="$(command -v python3.12)"
|
|
60
|
-
pipx install --python "$CODE_MOWER_PYTHON" code-mower==1.5.
|
|
60
|
+
pipx install --python "$CODE_MOWER_PYTHON" code-mower==1.5.1
|
|
61
61
|
code-mower --version
|
|
62
62
|
```
|
|
63
63
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# First-User Install Rehearsal
|
|
2
2
|
|
|
3
|
-
v1.5.
|
|
3
|
+
v1.5.1 uses the exact install pin `code-mower==1.5.1`. Verify that version is
|
|
4
4
|
published on the selected index, then verify the command path and version after
|
|
5
|
-
installing. The [v1.5.
|
|
5
|
+
installing. The [v1.5.1 qualification contract](v151-qualification.md) defines
|
|
6
6
|
the required evidence. After publication, the GitHub Release and linked release
|
|
7
7
|
issue carry the observed source SHA, artifact digests, canary outcomes,
|
|
8
8
|
publication run and reinstall evidence. Use the
|
|
9
|
-
[candidate runbook](
|
|
9
|
+
[candidate runbook](v151-release-runbook.md) for
|
|
10
10
|
prepublication local-wheel rehearsals. Offline preparation does not establish
|
|
11
11
|
live Slack readiness.
|
|
12
12
|
|
|
@@ -59,7 +59,7 @@ Use the current public tag or release candidate:
|
|
|
59
59
|
|
|
60
60
|
```bash
|
|
61
61
|
code-mower migration package-install-rehearsal \
|
|
62
|
-
--package-spec code-mower==1.5.
|
|
62
|
+
--package-spec code-mower==1.5.1 \
|
|
63
63
|
--allow-package-index \
|
|
64
64
|
--python "$(command -v python3.12)" \
|
|
65
65
|
--json
|
|
@@ -83,7 +83,7 @@ For a fixed output directory:
|
|
|
83
83
|
|
|
84
84
|
```bash
|
|
85
85
|
code-mower migration package-install-rehearsal \
|
|
86
|
-
--package-spec code-mower==1.5.
|
|
86
|
+
--package-spec code-mower==1.5.1 \
|
|
87
87
|
--allow-package-index \
|
|
88
88
|
--python "$(command -v python3.12)" \
|
|
89
89
|
--work-dir /tmp/code-mower-first-user-rehearsal \
|
|
@@ -127,7 +127,7 @@ deciding the package index or the release is broken. For pipx:
|
|
|
127
127
|
|
|
128
128
|
```bash
|
|
129
129
|
export CODE_MOWER_PYTHON="$(command -v python3.12)"
|
|
130
|
-
PIP_NO_CACHE_DIR=1 pipx install --force --python "$CODE_MOWER_PYTHON" code-mower==1.5.
|
|
130
|
+
PIP_NO_CACHE_DIR=1 pipx install --force --python "$CODE_MOWER_PYTHON" code-mower==1.5.1
|
|
131
131
|
code-mower --version
|
|
132
132
|
```
|
|
133
133
|
|
|
@@ -137,7 +137,7 @@ For uv:
|
|
|
137
137
|
env -u UV_INDEX -u UV_DEFAULT_INDEX -u UV_INDEX_URL -u UV_EXTRA_INDEX_URL \
|
|
138
138
|
-u UV_FIND_LINKS -u UV_NO_INDEX -u UV_OFFLINE \
|
|
139
139
|
uv --no-config --no-cache tool install --python 3.12 --reinstall \
|
|
140
|
-
--default-index https://pypi.org/simple/ code-mower==1.5.
|
|
140
|
+
--default-index https://pypi.org/simple/ code-mower==1.5.1
|
|
141
141
|
code-mower --version
|
|
142
142
|
```
|
|
143
143
|
|
|
@@ -168,7 +168,7 @@ repository after the package install succeeds:
|
|
|
168
168
|
|
|
169
169
|
```bash
|
|
170
170
|
code-mower migration package-install-rehearsal \
|
|
171
|
-
--package-spec code-mower==1.5.
|
|
171
|
+
--package-spec code-mower==1.5.1 \
|
|
172
172
|
--allow-package-index \
|
|
173
173
|
--repo-path /path/to/external-repo \
|
|
174
174
|
--python "$(command -v python3.12)" \
|
|
@@ -260,7 +260,7 @@ When a product repository already has Code Mower wrapper files, the same
|
|
|
260
260
|
|
|
261
261
|
```bash
|
|
262
262
|
code-mower migration package-install-rehearsal \
|
|
263
|
-
--package-spec code-mower==1.5.
|
|
263
|
+
--package-spec code-mower==1.5.1 \
|
|
264
264
|
--allow-package-index \
|
|
265
265
|
--repo-path /path/to/product-repo \
|
|
266
266
|
--python "$(command -v python3.12)" \
|
|
@@ -321,9 +321,9 @@ If this fails, fix the first-user path before cutting or promoting a release.
|
|
|
321
321
|
## Stable Package-Index Release Procedure
|
|
322
322
|
|
|
323
323
|
The following v1.4.2 publication commands are historical evidence, not the
|
|
324
|
-
v1.5.
|
|
324
|
+
v1.5.1 sequence. For v1.5.1 build the merge-SHA candidate first, qualify it in
|
|
325
325
|
#918 and explicitly authorized #920, then tag/publish the unchanged source SHA
|
|
326
|
-
and the same artifacts through #923. Follow [the current runbook](
|
|
326
|
+
and the same artifacts through #923. Follow [the current runbook](v151-release-runbook.md).
|
|
327
327
|
|
|
328
328
|
Publish and rehearse the package-index artifacts in this order. After the
|
|
329
329
|
release tag exists at the release commit, dispatch both package-index
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Friendly-User Rollout Plan
|
|
2
2
|
|
|
3
3
|
Source target: v1.5.0 supervised-pilot baseline. Release invitations and pinned
|
|
4
|
-
index installs target `code-mower==1.5.
|
|
4
|
+
index installs target `code-mower==1.5.1` only after that version is visible on
|
|
5
5
|
the selected package index.
|
|
6
6
|
|
|
7
7
|
This is the operating plan for the first 5-10 friendly users before Code Mower
|
|
@@ -33,14 +33,14 @@ out in the invite:
|
|
|
33
33
|
```bash
|
|
34
34
|
python3.12 --version
|
|
35
35
|
export CODE_MOWER_PYTHON="$(command -v python3.12)"
|
|
36
|
-
pipx install --python "$CODE_MOWER_PYTHON" code-mower==1.5.
|
|
36
|
+
pipx install --python "$CODE_MOWER_PYTHON" code-mower==1.5.1
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
-
This source defines Code Mower `v1.5.
|
|
40
|
-
`code-mower==1.5.
|
|
39
|
+
This source defines Code Mower `v1.5.1`, with package spec
|
|
40
|
+
`code-mower==1.5.1`. Confirm the release tag on GitHub Releases and the package
|
|
41
41
|
version on the selected index before using an index install command; source
|
|
42
42
|
version and publication state are separate facts. After publication, see the
|
|
43
|
-
[v1.5.
|
|
43
|
+
[v1.5.1 release](https://github.com/codemower-ai/code-mower/releases/tag/v1.5.1).
|
|
44
44
|
|
|
45
45
|
## Invite Criteria
|
|
46
46
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# Install And Bootstrap
|
|
2
2
|
|
|
3
|
-
v1.5.
|
|
3
|
+
v1.5.1 uses the exact install pin `code-mower==1.5.1`. Confirm that version is
|
|
4
4
|
published on the selected index, then verify the command path and version after
|
|
5
|
-
installing. The [v1.5.
|
|
5
|
+
installing. The [v1.5.1 qualification contract](v151-qualification.md) defines
|
|
6
6
|
the required evidence. After publication, the GitHub Release and linked release
|
|
7
7
|
issue carry the observed source SHA, artifact digests, canary outcomes,
|
|
8
8
|
publication run and reinstall evidence. Use the
|
|
9
|
-
[candidate runbook](
|
|
9
|
+
[candidate runbook](v151-release-runbook.md) for
|
|
10
10
|
prepublication local-wheel rehearsals. Offline preparation does not establish
|
|
11
11
|
live Slack readiness.
|
|
12
12
|
|
|
@@ -39,6 +39,23 @@ documentation rather than from a copied shell snippet:
|
|
|
39
39
|
Code Mower does not publish, and you should not use, a
|
|
40
40
|
`curl ... | sh` bootstrap for either installer.
|
|
41
41
|
|
|
42
|
+
On a hosted Linux image that has Python 3.12 with `venv` support but neither
|
|
43
|
+
installer, bootstrap uv in a small isolated environment instead of piping a
|
|
44
|
+
remote script into a shell or writing into an externally managed system
|
|
45
|
+
Python:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
UV_BOOTSTRAP="$HOME/.local/share/code-mower-bootstrap/uv"
|
|
49
|
+
python3.12 -m venv "$UV_BOOTSTRAP"
|
|
50
|
+
"$UV_BOOTSTRAP/bin/python" -m pip install --upgrade uv
|
|
51
|
+
"$UV_BOOTSTRAP/bin/python" -m uv --version
|
|
52
|
+
"$UV_BOOTSTRAP/bin/python" -m uv tool install --python 3.12 code-mower==1.5.1
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
The module form works even when uv is not yet on `PATH`. After installation,
|
|
56
|
+
follow uv's printed path hint, then verify
|
|
57
|
+
`command -v code-mower` and `code-mower --version` before using the repository.
|
|
58
|
+
|
|
42
59
|
Confirm the installer is on `PATH` before installing Code Mower with it:
|
|
43
60
|
|
|
44
61
|
```bash
|
|
@@ -61,7 +78,7 @@ code-mower --version
|
|
|
61
78
|
```
|
|
62
79
|
|
|
63
80
|
`command -v code-mower` must print the path belonging to the installer you
|
|
64
|
-
chose, and `code-mower --version` must print `code-mower 1.5.
|
|
81
|
+
chose, and `code-mower --version` must print `code-mower 1.5.1`. A version that
|
|
65
82
|
does not match, or a path from a different installer, means an older command is
|
|
66
83
|
still winning on `PATH`; resolve that before running anything against a
|
|
67
84
|
repository.
|
|
@@ -101,7 +118,7 @@ v1.5.0 includes the local audit publisher, which generates
|
|
|
101
118
|
gate and standalone verification helpers. Commit that generated set to the
|
|
102
119
|
repository's default branch before switching local Claude/Codex wrappers to
|
|
103
120
|
workflow publication. A PR's copy of the verifier has no publication authority.
|
|
104
|
-
Before v1.5.
|
|
121
|
+
Before v1.5.1 is published, use its reviewed candidate wheel; afterward, use the
|
|
105
122
|
exact published pin below.
|
|
106
123
|
|
|
107
124
|
The generated self-hosted audit job seals the verdict digest in an immutable
|
|
@@ -121,7 +138,7 @@ Install with pipx and an explicit Python 3.12+ interpreter:
|
|
|
121
138
|
```bash
|
|
122
139
|
python3.12 --version
|
|
123
140
|
export CODE_MOWER_PYTHON="$(command -v python3.12)"
|
|
124
|
-
pipx install --python "$CODE_MOWER_PYTHON" code-mower==1.5.
|
|
141
|
+
pipx install --python "$CODE_MOWER_PYTHON" code-mower==1.5.1
|
|
125
142
|
code-mower --version
|
|
126
143
|
```
|
|
127
144
|
|
|
@@ -142,7 +159,7 @@ To replace an existing pipx install with an exact release, use `--force` so the
|
|
|
142
159
|
old venv cannot keep serving the previous package:
|
|
143
160
|
|
|
144
161
|
```bash
|
|
145
|
-
PIP_NO_CACHE_DIR=1 pipx install --force --python "$CODE_MOWER_PYTHON" code-mower==1.5.
|
|
162
|
+
PIP_NO_CACHE_DIR=1 pipx install --force --python "$CODE_MOWER_PYTHON" code-mower==1.5.1
|
|
146
163
|
code-mower --version
|
|
147
164
|
```
|
|
148
165
|
|
|
@@ -155,7 +172,7 @@ export PIPX_HOME="$CODE_MOWER_AGENT_TOOLS/pipx"
|
|
|
155
172
|
export PIPX_BIN_DIR="$CODE_MOWER_AGENT_TOOLS/bin"
|
|
156
173
|
export PIPX_LOG_DIR="$CODE_MOWER_AGENT_TOOLS/logs"
|
|
157
174
|
mkdir -p "$PIPX_HOME" "$PIPX_BIN_DIR" "$PIPX_LOG_DIR"
|
|
158
|
-
PIP_NO_CACHE_DIR=1 pipx install --force --python "$CODE_MOWER_PYTHON" code-mower==1.5.
|
|
175
|
+
PIP_NO_CACHE_DIR=1 pipx install --force --python "$CODE_MOWER_PYTHON" code-mower==1.5.1
|
|
159
176
|
"$PIPX_BIN_DIR/code-mower" --version
|
|
160
177
|
```
|
|
161
178
|
|
|
@@ -166,7 +183,7 @@ interactive shell profile:
|
|
|
166
183
|
|
|
167
184
|
```bash
|
|
168
185
|
uv python install 3.12
|
|
169
|
-
uv tool install --python 3.12 code-mower==1.5.
|
|
186
|
+
uv tool install --python 3.12 code-mower==1.5.1
|
|
170
187
|
code-mower --version
|
|
171
188
|
```
|
|
172
189
|
|
|
@@ -176,7 +193,7 @@ installed command directly from the uv tool bin directory for that session.
|
|
|
176
193
|
To replace an existing uv tool install with an exact release:
|
|
177
194
|
|
|
178
195
|
```bash
|
|
179
|
-
uv tool install --python 3.12 --reinstall --refresh-package code-mower code-mower==1.5.
|
|
196
|
+
uv tool install --python 3.12 --reinstall --refresh-package code-mower code-mower==1.5.1
|
|
180
197
|
code-mower --version
|
|
181
198
|
```
|
|
182
199
|
|
|
@@ -227,7 +244,7 @@ command -v code-mower
|
|
|
227
244
|
code-mower --version
|
|
228
245
|
pipx uninstall code-mower
|
|
229
246
|
uv python install 3.12
|
|
230
|
-
uv tool install --python 3.12 --reinstall --refresh-package code-mower code-mower==1.5.
|
|
247
|
+
uv tool install --python 3.12 --reinstall --refresh-package code-mower code-mower==1.5.1
|
|
231
248
|
hash -r
|
|
232
249
|
command -v code-mower
|
|
233
250
|
code-mower --version
|
|
@@ -247,7 +264,7 @@ For pipx:
|
|
|
247
264
|
```bash
|
|
248
265
|
python3.12 --version
|
|
249
266
|
export CODE_MOWER_PYTHON="$(command -v python3.12)"
|
|
250
|
-
PIP_NO_CACHE_DIR=1 pipx install --force --python "$CODE_MOWER_PYTHON" code-mower==1.5.
|
|
267
|
+
PIP_NO_CACHE_DIR=1 pipx install --force --python "$CODE_MOWER_PYTHON" code-mower==1.5.1
|
|
251
268
|
code-mower --version
|
|
252
269
|
```
|
|
253
270
|
|
|
@@ -255,7 +272,7 @@ For uv:
|
|
|
255
272
|
|
|
256
273
|
```bash
|
|
257
274
|
uv python install 3.12
|
|
258
|
-
uv tool install --python 3.12 --reinstall --refresh-package code-mower code-mower==1.5.
|
|
275
|
+
uv tool install --python 3.12 --reinstall --refresh-package code-mower code-mower==1.5.1
|
|
259
276
|
code-mower --version
|
|
260
277
|
```
|
|
261
278
|
|
|
@@ -430,6 +447,23 @@ code-mower doctor --adoption --hosted-builders --repo OWNER/REPO --json
|
|
|
430
447
|
code-mower doctor --adoption --orchestrator-only --repo OWNER/REPO --json
|
|
431
448
|
```
|
|
432
449
|
|
|
450
|
+
Those commands expect the current checkout to contain `code-mower.yml`. On a
|
|
451
|
+
remote-only host with no repository checkout, select the maintained packaged
|
|
452
|
+
starter explicitly through the easy preset:
|
|
453
|
+
|
|
454
|
+
```bash
|
|
455
|
+
code-mower doctor --easy --orchestrator-only --repo OWNER/REPO --json
|
|
456
|
+
```
|
|
457
|
+
|
|
458
|
+
The resulting filesystem and generated-workflow checks describe the packaged
|
|
459
|
+
starter, not the remote repository. Use them for installation posture; use
|
|
460
|
+
`lanes status --repo OWNER/REPO` for current remote PR and gate visibility.
|
|
461
|
+
|
|
462
|
+
Doctor JSON is local diagnostic evidence. It can include bounded local paths
|
|
463
|
+
such as the selected config, executable, or workflow path. Review or redact it
|
|
464
|
+
before attaching it to an issue or uploading it; the concise text view is the
|
|
465
|
+
safer first status summary.
|
|
466
|
+
|
|
433
467
|
In those observer/coordinator postures, missing local wrapper environment
|
|
434
468
|
variables and missing `DISPATCH_TOKEN` setup are surfaced as owner setup or
|
|
435
469
|
promotion tasks, not as proof the install is broken. Adoption text output
|
|
@@ -165,7 +165,7 @@ metadata only while its original head and freshness checks still hold.
|
|
|
165
165
|
|
|
166
166
|
Only canonical metadata leaves the machine: schema, numeric repository ID, PR
|
|
167
167
|
number, reviewer lane, PASS/BLOCKED, full start/end head SHAs, artifact creation
|
|
168
|
-
time, and the originating audit run
|
|
168
|
+
time, and the originating audit run, attempt, and job IDs. The repository name, comment prose, findings, code, prompts, transcript,
|
|
169
169
|
paths and provider output stay local. The SHA-256 digest covers those exact
|
|
170
170
|
canonical metadata bytes. The publisher accepts only equal full start/end SHAs,
|
|
171
171
|
an open PR at that SHA, and artifacts no more than 24 hours old. UNKNOWN, STALE,
|
|
@@ -185,12 +185,15 @@ attempt is refused. Keep receipts and reservations for at least the 24-hour
|
|
|
185
185
|
artifact lifetime. The global publication concurrency group serializes claims;
|
|
186
186
|
GitHub may cancel an older queued dispatch, which requires inspecting its result.
|
|
187
187
|
|
|
188
|
-
The source job stages the metadata
|
|
188
|
+
The source job stages the metadata with its exact GitHub Actions job ID,
|
|
189
|
+
independently validates it, and completes a
|
|
189
190
|
`Code Mower reviewer seal <digest>` step before dispatch. The publisher verifies
|
|
190
|
-
that immutable Actions step record in
|
|
191
|
+
that immutable Actions step record in that exact `audit (claude|codex)` job,
|
|
191
192
|
source run ID/attempt, trusted `local-cli-audit.yml` `repository_dispatch` event,
|
|
192
193
|
same repository and default branch. The sealed digest binds the PR, lane and
|
|
193
|
-
full start/end head
|
|
194
|
+
full start/end head plus the source job identity. Another audit lane in the
|
|
195
|
+
same matrix run cannot satisfy or make ambiguous that binding; a duplicate
|
|
196
|
+
seal within the requested lane is refused. The small `local-audit-request.yml` trigger requests the
|
|
194
197
|
review; the source workflow validates the request against the live PR before
|
|
195
198
|
starting a provider. Both source and publisher use `repository_dispatch`, which
|
|
196
199
|
always executes default-branch code: a builder cannot counterfeit a source job
|
|
@@ -74,12 +74,25 @@ Run the posture-appropriate doctor:
|
|
|
74
74
|
- local reviewer/builder machine: code-mower doctor --adoption --repo OWNER/REPO --json
|
|
75
75
|
- hosted builder or observer: code-mower doctor --adoption --hosted-builders --repo OWNER/REPO --json
|
|
76
76
|
- orchestrator-only host: code-mower doctor --adoption --orchestrator-only --repo OWNER/REPO --json
|
|
77
|
+
- remote-only host with no checkout config: code-mower doctor --adoption --orchestrator-only --repo OWNER/REPO --json
|
|
77
78
|
- supervised pilot readiness: code-mower doctor --supervised-pilot --repo OWNER/REPO --json
|
|
78
79
|
|
|
79
80
|
Read the posture-scoped summary first by rerunning the same posture with
|
|
80
81
|
--concise instead of --json: every check still runs, and the summary leads with
|
|
81
82
|
active failures and owner actions. Keep the --json output as the complete
|
|
82
|
-
machine-readable evidence, and use --advanced for the full text list.
|
|
83
|
+
machine-readable local evidence, and use --advanced for the full text list.
|
|
84
|
+
When the orchestrator-only command has no repository config, doctor labels the
|
|
85
|
+
result as a `packaged_starter_remote_observer` plan. It omits local wrapper,
|
|
86
|
+
provider-login, campaign, optional Cloud, and product-test checks unless they
|
|
87
|
+
were selected explicitly. With no checkout, it also omits workflow-presence
|
|
88
|
+
checks. Repository Actions secret and variable presence still comes from the
|
|
89
|
+
target repository through `gh`; that is separate from `GITHUB_TOKEN` or local
|
|
90
|
+
checkout-path requirements used by direct local-audit wrappers.
|
|
91
|
+
|
|
92
|
+
That packaged-starter remote-observer JSON uses stable package labels and does
|
|
93
|
+
not include local config, executable, checkout, or workflow paths. Other doctor
|
|
94
|
+
JSON can contain local paths; review or redact it before attaching or uploading
|
|
95
|
+
it.
|
|
83
96
|
|
|
84
97
|
Provider selection and a working CLI do not qualify an orchestrator. Devin is
|
|
85
98
|
currently limited to bounded builder work and informational review; use a
|
|
@@ -94,8 +107,11 @@ SESSION_ID using the saved ID. A later shell must pass that ID explicitly.
|
|
|
94
107
|
If work intentionally continues, renew only your live lease with code-mower
|
|
95
108
|
session lease renew --session-id SESSION_ID. Use session show --current to
|
|
96
109
|
find the matching saved brief from this checkout.
|
|
97
|
-
Do not force-release another session as routine cleanup.
|
|
98
|
-
|
|
110
|
+
Do not force-release another session as routine cleanup. An eligible host can
|
|
111
|
+
use session start --dry-run or --no-lease for a read-only adoption check. Host
|
|
112
|
+
role admission still runs before either mode; an ineligible host reports the
|
|
113
|
+
diagnostic and hands orchestration to a qualified host rather than rendering a
|
|
114
|
+
brief under an unqualified identity.
|
|
99
115
|
|
|
100
116
|
Then run code-mower lanes status --repo OWNER/REPO and, when useful, start or
|
|
101
117
|
check the local Board with code-mower board serve --repo OWNER/REPO.
|
|
@@ -47,7 +47,7 @@ history opens the repository. They should be able to confirm:
|
|
|
47
47
|
## Current v1.0 Baseline
|
|
48
48
|
|
|
49
49
|
The historical public-release baseline below is the published `v1.4.2`.
|
|
50
|
-
For v1.5.
|
|
50
|
+
For v1.5.1 follow [the immutable candidate-first runbook](v151-release-runbook.md);
|
|
51
51
|
these publication and dogfood steps record the previous release procedure.
|
|
52
52
|
Before widening that release, record:
|
|
53
53
|
|
|
@@ -30,7 +30,7 @@ agent hosting a session is the default orchestrator.
|
|
|
30
30
|
|
|
31
31
|
The lease, shared Jira brief, and explicit Cursor qualification have been
|
|
32
32
|
available since `code-mower==1.4.0` and are present in
|
|
33
|
-
`code-mower==1.5.
|
|
33
|
+
`code-mower==1.5.1`; see [Participants And Sessions](sessions.md) for
|
|
34
34
|
the operating contract.
|
|
35
35
|
|
|
36
36
|
## Provider Classes
|