code-mower 1.0.9__tar.gz → 1.0.11__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.0.9 → code_mower-1.0.11}/PKG-INFO +52 -17
- {code_mower-1.0.9 → code_mower-1.0.11}/README.md +51 -16
- {code_mower-1.0.9 → code_mower-1.0.11}/pyproject.toml +1 -1
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/__init__.py +1 -1
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/builder_runs.py +4 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/campaign_adapters.py +295 -28
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/cli.py +19 -12
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/code_mower_telemetry.py +2 -0
- code_mower-1.0.11/src/code_mower/devin_api.py +259 -0
- code_mower-1.0.11/src/code_mower/devin_cli_audit_pr.py +1483 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/adoption.py +8 -4
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/campaign_auth.py +34 -7
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/provider_local_cli.py +99 -20
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/init.py +76 -2
- code_mower-1.0.11/src/code_mower/lane_configs/devin_cli.py +36 -0
- code_mower-1.0.11/src/code_mower/lane_delivery.py +1375 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/lane_status.py +1 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/migration_install.py +31 -17
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/migration_rehearsal.py +1 -1
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/next_steps.py +161 -44
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/package_manifest.py +13 -0
- code_mower-1.0.11/src/code_mower/participants.py +179 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/provider_registry.py +59 -4
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/release_campaigns.py +867 -54
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/release_qualify.py +27 -2
- code_mower-1.0.11/src/code_mower/session.py +154 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/code-mower.example.yml +9 -4
- code_mower-1.0.11/src/code_mower/templates/lanes/devin.md +41 -0
- code_mower-1.0.11/src/code_mower/templates/lanes/run_mac_lane.sh +1232 -0
- code_mower-1.0.11/src/code_mower/templates/product-support/run_devin_cli_audit_pr.sh +63 -0
- {code_mower-1.0.9 → code_mower-1.0.11/src/code_mower}/templates/providers.yml +82 -6
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/workflows/builder-provenance.yml.j2 +1 -1
- {code_mower-1.0.9 → code_mower-1.0.11/src/code_mower}/templates/workflows/local-cli-audit.yml.j2 +1 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower.egg-info/PKG-INFO +52 -17
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower.egg-info/SOURCES.txt +17 -0
- code_mower-1.0.11/templates/lanes/devin.md +41 -0
- code_mower-1.0.11/templates/lanes/run_mac_lane.sh +1232 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/providers/devin.yml +8 -1
- code_mower-1.0.11/templates/providers/devin_cli.yml +70 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/providers/gitar.yml +1 -1
- {code_mower-1.0.9/src/code_mower → code_mower-1.0.11}/templates/providers.yml +82 -6
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/workflows/builder-provenance.yml.j2 +1 -1
- {code_mower-1.0.9/src/code_mower → code_mower-1.0.11}/templates/workflows/local-cli-audit.yml.j2 +1 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_builder_identity.py +4 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_campaign_adapters.py +798 -6
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_campaign_retry_evidence_711.py +5 -4
- code_mower-1.0.11/tests/test_devin_api.py +556 -0
- code_mower-1.0.11/tests/test_devin_builder_lane.py +1538 -0
- code_mower-1.0.11/tests/test_devin_cli_audit_pr.py +974 -0
- code_mower-1.0.11/tests/test_devin_provider_contract.py +752 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_doctor_campaign_auth.py +6 -2
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_doctor_campaign_readiness.py +16 -10
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_hosted_dispatch_profile.py +52 -30
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_init_build_loop.py +318 -15
- code_mower-1.0.11/tests/test_lane_delivery_contract.py +2175 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_migration_rehearsal.py +71 -16
- code_mower-1.0.11/tests/test_next_steps.py +147 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_package_install_failure_taxonomy.py +58 -0
- code_mower-1.0.11/tests/test_participant_sessions.py +210 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_provider_fixture_contracts.py +3 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_release_campaigns.py +366 -86
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_release_hygiene.py +92 -78
- code_mower-1.0.9/src/code_mower/templates/lanes/run_mac_lane.sh +0 -532
- code_mower-1.0.9/templates/lanes/run_mac_lane.sh +0 -532
- {code_mower-1.0.9 → code_mower-1.0.11}/CODE_OF_CONDUCT.md +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/LICENSE +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/MANIFEST.in +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/NOTICE +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/SUPPORT.md +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/requirements/requirements.txt +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/setup.cfg +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/adapters/__init__.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/adapters/_base.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/adapters/cursor_bugbot.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/adapters/gitar.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/adapters/greptile.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/adapters/qodo.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/antigravity_cli_audit_pr.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/antigravity_sdk_probe.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/audit_handoff_log.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/audit_labeler_lib.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/audit_limits.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/audit_progress.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/blind_review_artifacts.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/blind_review_coordinator.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/board.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/board_store.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/bootstrap.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/builder_experiment.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/calibration/__init__.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/calibration/arms.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/calibration/auto_discovery.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/calibration/commands.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/calibration/context_inputs.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/calibration/corpus.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/calibration/effect_report.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/calibration/evidence.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/calibration/evidence_report.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/calibration/identity.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/calibration/metrics.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/calibration/overlap.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/calibration/planning.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/calibration/policy.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/calibration/results.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/calibration/run_results.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/calibration/run_status.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/calibration/runner.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/calibration/truth.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/calibration/value_report.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/campaign_discovery.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/checks.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/claude_audit_pr.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/claude_cli_bounce.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/claude_cli_environment.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/clear_stale.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/cloud.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/cloud_client/__init__.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/cloud_client/adoption_runs.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/cloud_client/bundle.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/cloud_client/doctor.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/cloud_client/dogfood.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/cloud_client/endpoints.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/cloud_client/errors.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/cloud_client/events.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/cloud_client/export.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/cloud_client/git_metadata.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/cloud_client/manifest.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/cloud_client/operations.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/cloud_client/pr_outcomes.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/cloud_client/productivity.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/cloud_client/reports.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/cloud_client/setup.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/cloud_client/tokens.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/cloud_client/upload.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/cloud_client/work_types.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/code_mower_calibration.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/code_mower_context_packs.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/code_mower_merge.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/coderabbit_cli_audit_pr.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/codex_audit_env_preflight.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/codex_audit_pr.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/codex_audit_schema_smoke.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/codex_audit_verdict.schema.json +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/config.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/controller.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/decisions.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/__init__.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/audit_limits.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/cloud.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/common.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/github.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/github_actions.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/github_actions_cost.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/github_actions_cost_summary.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/github_actions_failure_annotations.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/github_actions_failure_models.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/github_actions_failure_scan.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/github_actions_failure_selection.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/github_actions_failures.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/github_actions_permissions.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/github_api.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/github_branch.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/github_config.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/github_human_token.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/github_provider.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/github_repo.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/github_trusted_authors.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/groups.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/models.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/output.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/presets.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/privacy.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/provider_api_model.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/provider_api_model_openai.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/provider_api_model_profiles.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/provider_env.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/provider_env_required.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/provider_env_tokens.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/provider_local_audit_setup.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/provider_local_cli_commands.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/provider_local_cli_probe_config.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/provider_probe.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/provider_probe_auth.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/provider_probe_evaluation.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/provider_probe_json.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/provider_probe_remediation.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/provider_review_hygiene.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/providers.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/registry.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/runner.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/runtime.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/runtime_github_auth.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/self_hosted_runner.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/doctor_checks/supervised_pilot.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/file_locks.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/gate_health.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/gemini_cli_audit_pr.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/git_identity.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/grok_build_audit_pr.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/hermes_cli_audit_pr.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/lane_configs/__init__.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/lane_configs/aider.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/lane_configs/antigravity_cli.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/lane_configs/claude.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/lane_configs/codex.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/lane_configs/devin.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/lane_configs/gemini_cli.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/lane_configs/grok_build.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/lane_configs/hermes_cli.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/lane_configs/local_llm.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/lane_configs/muse_cli.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/local_llm_audit_pr.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/local_llm_bakeoff.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/local_llm_calibration.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/local_llm_profiles.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/migration.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/migration_mirror.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/migration_readiness.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/muse_cli_audit_pr.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/package.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/package_content.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/package_paths.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/package_rendering.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/package_static.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/plan_context.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/productivity_report.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/prompts.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/provider_runners/__init__.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/provider_runners/comments.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/provider_runners/exit_codes.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/provider_runners/git.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/provider_runners/github_auth.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/provider_runners/github_pr.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/provider_runners/pr_worktree.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/provider_runners/process.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/provider_runners/repo_paths.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/provider_runners/text_schema.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/provider_runners/verdict_artifacts.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/provider_runners/workspace.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/providers/__init__.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/providers/local_cli.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/providers/provenance.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/release_readiness.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/reviewer_metrics.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/reviewer_spend.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/saas_reviewer_labeler.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/secrets.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/builder-experiment.example.json +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/calibration-corpus.example.json +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/calibration-corpus.json +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/context-packs.example.json +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/lane_prompts/base-audit.md +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/lane_prompts/calibration-policy.md +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/lane_prompts/context-driven-quality.md +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/lane_prompts/docs-design.md +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/lane_prompts/generic-programming.md +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/lane_prompts/operability.md +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/lane_prompts/package-runtime.md +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/lane_prompts/plan-conformance.md +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/lane_prompts/security-threat-model.md +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/lanes/README.md +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/lanes/claude.md +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/lanes/codex.md +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/lanes/cursor.md +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/lanes/generic.md +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/product-support/code_mower +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/product-support/code_mower_standalone_pin.env +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/product-support/code_mower_standalone_shadow.sh +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/product-support/run_claude_audit_pr.sh +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/product-support/run_codex_audit_pr.sh +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/product-support/safe_gh_comment.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/product-support/status_report.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/reviewer-spend.example.json +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/reviewer-value-report.example.md +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/workflows/audit-label-cleanup.yml.j2 +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/workflows/code-mower-agent-pr-labeler.yml.j2 +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/workflows/code-mower-fix-round-dispatch.yml.j2 +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/workflows/code-mower-gate-health.yml.j2 +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/workflows/code-mower-gate.yml.j2 +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/workflows/dispatch-lanes.yml.j2 +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/workflows/hosted-bridge.yml.j2 +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/workflows/lane-mac-runner.yml.j2 +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/workflows/needs-owner-notify.yml.j2 +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/workflows/private-standalone-shadow.yml.j2 +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/workflows/review-clear-stale.yml.j2 +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/workflows/saas-reviewer-labeler.yml.j2 +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/workflows/self-hosted-local-audit.yml.j2 +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/workflows/trailer-comment-labeler.yml.j2 +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/templates/workflows/weekly-status.yml.j2 +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/trailer_comment_labeler.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/versioning.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/work_orders.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower/workflow_actionlint.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower.egg-info/dependency_links.txt +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower.egg-info/entry_points.txt +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower.egg-info/requires.txt +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/src/code_mower.egg-info/top_level.txt +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/builder-experiment.example.json +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/calibration-corpus.example.json +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/calibration-corpus.json +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/code-mower.yml.j2 +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/context-packs.example.json +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/cursor/BUGBOT.md +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/lanes/README.md +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/lanes/claude.md +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/lanes/codex.md +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/lanes/cursor.md +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/lanes/generic.md +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/providers/acp_bridge.yml +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/providers/aider.yml +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/providers/antigravity_cli.yml +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/providers/claude_audit.yml +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/providers/claude_review.yml +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/providers/coderabbit_cli.yml +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/providers/codex.yml +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/providers/cursor_bugbot.yml +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/providers/cursor_cloud_agent.yml +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/providers/gemini_cli.yml +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/providers/greptile.yml +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/providers/hermes_cli.yml +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/providers/local_llm.yml +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/providers/muse_cli.yml +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/providers/qodo.yml +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/reviewer-spend.example.json +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/reviewer-value-report.example.md +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/workflows/audit-label-cleanup.yml.j2 +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/workflows/blind-review-artifacts-dry-run.yml.j2 +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/workflows/code-mower-agent-pr-labeler.yml.j2 +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/workflows/code-mower-fix-round-dispatch.yml.j2 +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/workflows/code-mower-gate-health.yml.j2 +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/workflows/code-mower-gate.yml.j2 +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/workflows/dispatch-lanes.yml.j2 +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/workflows/hosted-bridge.yml.j2 +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/workflows/lane-mac-runner.yml.j2 +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/workflows/private-standalone-shadow.yml.j2 +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/workflows/review-clear-stale.yml.j2 +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/workflows/saas-reviewer-labeler.yml.j2 +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/workflows/self-hosted-local-audit.yml.j2 +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/templates/workflows/trailer-comment-labeler.yml.j2 +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_adoption_diagnostics.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_adoption_result_semantics.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_adoption_run_contract.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_antigravity_sdk_probe.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_audit_comment_posture.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_audit_limits.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_board.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_builder_experiment.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_builder_runs.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_calibration_effect_report.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_calibration_truth.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_campaign_discovery.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_checks.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_claude_audit_pr.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_claude_cli_bounce.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_clear_stale.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_cloud_client.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_cloud_git_metadata.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_cloud_manifest.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_cloud_reports.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_coderabbit_cli_audit_pr.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_codex_audit_env_preflight.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_codex_audit_pr.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_controller.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_decision_audit_integration.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_decisions.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_doctor_actions_cost_summary.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_doctor_actions_failure_selection.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_doctor_boundaries.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_doctor_github_checks.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_doctor_output.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_doctor_privacy.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_doctor_provider_env_required.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_doctor_provider_env_tokens.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_doctor_provider_local_audit_setup.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_doctor_provider_probe.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_doctor_provider_review_hygiene.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_doctor_registry.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_doctor_runtime.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_doctor_self_hosted_runner.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_doctor_supervised_pilot.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_file_locks.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_fork_pr_guard.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_gate_automerge.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_gate_health.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_init_actionlint.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_lane_status.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_local_llm_github_helpers.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_migration_setup_drift.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_plan_context.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_pr_outcome_contract.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_productivity_metrics_contract.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_productivity_report.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_prompts.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_provider_local_cli.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_provider_runners_comments.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_provider_runners_git.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_provider_runners_github_pr.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_provider_runners_pr_worktree.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_provider_runners_process.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_provider_runners_repo_paths.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_provider_runners_text_schema.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_provider_runners_workspace.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_release_qualify.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_reviewer_metrics_core.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_reviewer_spend.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_supervised_pilot_contract.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_trailer_comment_labeler.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/tests/test_work_orders.py +0 -0
- {code_mower-1.0.9 → code_mower-1.0.11}/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.0.
|
|
3
|
+
Version: 1.0.11
|
|
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
|
|
@@ -40,8 +40,7 @@ gate.
|
|
|
40
40
|
|
|
41
41
|
The short version:
|
|
42
42
|
|
|
43
|
-
- create safe, manual-first
|
|
44
|
-
AI review tools;
|
|
43
|
+
- create safe, manual-first peer-review lanes for Codex and Claude;
|
|
45
44
|
- run setup diagnostics before a lane can surprise you with spend, source
|
|
46
45
|
exposure, or GitHub Actions churn;
|
|
47
46
|
- turn issue text, external docs, and project doctrine into local work orders
|
|
@@ -73,6 +72,18 @@ Code Mower should feel like an engineering tool, not a demo harness:
|
|
|
73
72
|
|
|
74
73
|
## What It Looks Like
|
|
75
74
|
|
|
75
|
+
Start with Claude Code and Codex, or choose your participants during setup with
|
|
76
|
+
`code-mower init --interactive`. For example, `code-mower init --with
|
|
77
|
+
claude,codex,devin` previews that selection. The generated configuration remembers
|
|
78
|
+
your choices for later sessions.
|
|
79
|
+
|
|
80
|
+
Ask the agent you are using to start a Code Mower session; that agent is the
|
|
81
|
+
default orchestrator. `code-mower session start --repo OWNER/REPO --with
|
|
82
|
+
claude,codex,devin --host codex` prepares the operating brief when invoked from
|
|
83
|
+
Codex. The host agent drives the work using available execution paths.
|
|
84
|
+
See [Participants And Sessions](docs/sessions.md) for setup, host identity,
|
|
85
|
+
and product-specific capabilities.
|
|
86
|
+
|
|
76
87
|
`code-mower doctor --adoption --repo OWNER/REPO` is the first useful command
|
|
77
88
|
for a real repository. It checks your runtime, GitHub setup, provider CLIs,
|
|
78
89
|
token posture, optional cloud setup, private-repo Actions cost traps, and
|
|
@@ -92,7 +103,7 @@ Example, shortened:
|
|
|
92
103
|
```text
|
|
93
104
|
$ code-mower doctor --adoption --repo OWNER/REPO
|
|
94
105
|
PASS config.validate config validates
|
|
95
|
-
PASS profile.select selected profile: codex, claude_audit
|
|
106
|
+
PASS profile.select selected profile: codex, claude_audit
|
|
96
107
|
PASS runtime.python Python 3.12 satisfies Code Mower requirements
|
|
97
108
|
PASS runtime.github_auth GitHub CLI auth probe succeeded
|
|
98
109
|
PASS runtime.local_cli codex codex found
|
|
@@ -205,6 +216,12 @@ Cold adopters should start with the reviewer gate, then add builders, then
|
|
|
205
216
|
measure builder experiments; provider experiments come after that base loop is
|
|
206
217
|
observable.
|
|
207
218
|
|
|
219
|
+
The initial reviewer and builder paths default to Claude + Codex. Other
|
|
220
|
+
participants require an explicit setup selection. `code-mower next-steps --repo
|
|
221
|
+
OWNER/REPO --pr NUMBER` shows setup, peer-audit requests, status, and local
|
|
222
|
+
evidence. Add `--advanced` for calibration, migration, package rehearsal, and
|
|
223
|
+
optional cloud guidance after the initial loop works.
|
|
224
|
+
|
|
208
225
|
Install first from the [Install And Bootstrap](docs/install.md) matrix: pipx for
|
|
209
226
|
laptops, uv tool installs for hosted agents or CI boxes, and an editable venv
|
|
210
227
|
for Code Mower contributors. All paths require Python 3.12 or newer. For
|
|
@@ -224,7 +241,7 @@ agent report its actual host posture, exact installed version, doctor result,
|
|
|
224
241
|
Board URL, and any owner-only click-list before it mutates the repo.
|
|
225
242
|
|
|
226
243
|
The current package-index announcement entry point is the tagged
|
|
227
|
-
[Try Code Mower In 10 Minutes](https://github.com/codemower-ai/code-mower/blob/v1.0.
|
|
244
|
+
[Try Code Mower In 10 Minutes](https://github.com/codemower-ai/code-mower/blob/v1.0.11/docs/try-in-10-minutes.md)
|
|
228
245
|
guide. The v1.0 supervised-pilot release includes the native Board, the
|
|
229
246
|
controller dry-run and policy contract, adoption and upgrade hardening from
|
|
230
247
|
recent install rehearsals, package-index release checks, provider-diversity
|
|
@@ -263,6 +280,15 @@ The v1.0.9 patch makes Board refresh recovery deterministic, turns package
|
|
|
263
280
|
installation failures into bounded actionable diagnostics, and lets release
|
|
264
281
|
campaigns require established providers while retaining slower or experimental
|
|
265
282
|
providers as informational evidence.
|
|
283
|
+
The v1.0.10 patch makes local builder lanes deliverable and recoverable: a
|
|
284
|
+
provider-neutral delivery contract with bounded no-change and owner-action
|
|
285
|
+
outcomes, process-group cleanup so a finished provider is not reported as a
|
|
286
|
+
timeout, simpler first-run defaults, host-led participant sessions, and a
|
|
287
|
+
published 20-sample provider calibration scorecard.
|
|
288
|
+
The v1.0.11 patch moves canonical hosted Devin release campaigns onto the
|
|
289
|
+
bounded, pollable Sessions API transport and keeps macOS Claude release
|
|
290
|
+
qualification inside the maintained strict sandbox by using pip's
|
|
291
|
+
TLS-verifying certifi certificate path.
|
|
266
292
|
Package-only users can start from the public package rather than a source
|
|
267
293
|
checkout.
|
|
268
294
|
|
|
@@ -295,7 +321,7 @@ Provider-contract baseline for the next release train:
|
|
|
295
321
|
|
|
296
322
|
For release verification,
|
|
297
323
|
[First-User Install Rehearsal](docs/first-user-install-rehearsal.md) records
|
|
298
|
-
the package-index procedure for `v1.0.
|
|
324
|
+
the package-index procedure for `v1.0.11` / `code-mower==1.0.11`. The
|
|
299
325
|
GitHub release records the workflow and rehearsal evidence for the exact tag.
|
|
300
326
|
After publication, [Release Qualification](docs/release-qualification.md)
|
|
301
327
|
coordinates provider-specific install and operational checks without treating
|
|
@@ -358,10 +384,11 @@ optional work order, single-writer branch, reviewer lanes, and fix rounds. Code
|
|
|
358
384
|
Mower's templates now support that loop end to end; humans still own
|
|
359
385
|
credentials, branch protection, calibration, and owner decisions.
|
|
360
386
|
|
|
361
|
-
The
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
387
|
+
The initial adoption shape uses Claude Code or Codex as orchestrator, builder,
|
|
388
|
+
and peer reviewer. The owning builder remains the only writer, and the other
|
|
389
|
+
provider supplies independent review. Other builders and reviewers are explicit
|
|
390
|
+
later additions; they follow the same lane policy with provider-specific
|
|
391
|
+
execution and authentication where needed.
|
|
365
392
|
|
|
366
393
|
## Why Not Just Run Codex Or Claude Yourself?
|
|
367
394
|
|
|
@@ -443,12 +470,16 @@ The first recommended lanes are local/manual:
|
|
|
443
470
|
| --- | --- | --- |
|
|
444
471
|
| Codex audit | structured local peer audit | merge-gating eligible after setup |
|
|
445
472
|
| Claude audit | structured local peer audit | merge-gating eligible after setup |
|
|
446
|
-
| Gitar | advisory third signal | informational until calibrated |
|
|
447
473
|
|
|
448
|
-
Everything else
|
|
449
|
-
proves it is useful:
|
|
474
|
+
Everything else is opt-in after the Claude + Codex loop works and stays manual
|
|
475
|
+
or informational until your own calibration data proves it is useful: Gitar,
|
|
476
|
+
Antigravity/Gemini, Muse, Hermes, CodeRabbit CLI, Cursor
|
|
450
477
|
BugBot, Qodo, Greptile, Devin, local LLMs, and future ACP bridges.
|
|
451
478
|
|
|
479
|
+
Hosted Devin dispatches use the Devin Sessions API v3. They require a service-user
|
|
480
|
+
`DEVIN_API_KEY`, its opaque `DEVIN_ORG_ID`, and an exact repository acknowledgement
|
|
481
|
+
in `CODE_MOWER_DEVIN_REPOSITORIES`; see `docs/release-qualification.md` for setup.
|
|
482
|
+
|
|
452
483
|
Gemini CLI and Antigravity are distinct lane ids even though both are Google
|
|
453
484
|
surfaces and may use Gemini model infrastructure. Keep their auth, model
|
|
454
485
|
provenance, calibration evidence, and release notes separate.
|
|
@@ -484,8 +515,8 @@ measurement work.
|
|
|
484
515
|
|
|
485
516
|
## Installation Status
|
|
486
517
|
|
|
487
|
-
The current package-index release baseline is `v1.0.
|
|
488
|
-
install spec `code-mower==1.0.
|
|
518
|
+
The current package-index release baseline is `v1.0.11`, with pinned package
|
|
519
|
+
install spec `code-mower==1.0.11`. Release evidence is recorded on the GitHub
|
|
489
520
|
release and in the first-user install rehearsal. The public repository is
|
|
490
521
|
[codemower-ai/code-mower](https://github.com/codemower-ai/code-mower), and
|
|
491
522
|
GitHub releases remain the auditable source for tags, build artifacts, and
|
|
@@ -520,8 +551,9 @@ first so local work exercises the same package entrypoint users install.
|
|
|
520
551
|
conservative and team-controlled while automated retention jobs are roadmap
|
|
521
552
|
work.
|
|
522
553
|
- Advanced/provider/operator commands remain available behind
|
|
523
|
-
`code-mower --help-all`. The default help path stays focused on
|
|
524
|
-
`
|
|
554
|
+
`code-mower --help-all`. The default help path stays focused on setup,
|
|
555
|
+
`next-steps`, lane status, and local evidence; calibration and cloud commands
|
|
556
|
+
remain available through `--help-all`.
|
|
525
557
|
|
|
526
558
|
## Docs Map
|
|
527
559
|
|
|
@@ -541,6 +573,7 @@ first so local work exercises the same package entrypoint users install.
|
|
|
541
573
|
- [Claude Lane Standing Instructions](docs/lanes/claude.md)
|
|
542
574
|
- [Cursor Hosted Lane Standing Instructions](docs/lanes/cursor.md)
|
|
543
575
|
- [Provider Matrix](docs/provider-matrix.md)
|
|
576
|
+
- [Provider Calibration Scorecard](docs/provider-calibration-scorecard.md)
|
|
544
577
|
- [GitHub Setup](docs/github-setup.md)
|
|
545
578
|
- [First Run Transcript](docs/first-run-transcript.md)
|
|
546
579
|
- [First-User Demo Transcript](docs/first-user-demo-transcript.md)
|
|
@@ -561,6 +594,8 @@ first so local work exercises the same package entrypoint users install.
|
|
|
561
594
|
- [v1.0.7 Release Notes](docs/v107-release-notes.md)
|
|
562
595
|
- [v1.0.8 Release Notes](docs/v108-release-notes.md)
|
|
563
596
|
- [v1.0.9 Release Notes](docs/v109-release-notes.md)
|
|
597
|
+
- [v1.0.10 Release Notes](docs/v1010-release-notes.md)
|
|
598
|
+
- [v1.0.11 Release Notes](docs/v1011-release-notes.md)
|
|
564
599
|
- [Post-v0.8 Effectiveness Assessment](docs/post-v08-effectiveness-assessment.md)
|
|
565
600
|
- [v1.0.1 Effectiveness Assessment](docs/v101-effectiveness-assessment.md)
|
|
566
601
|
- [Demo Calibration Example](examples/demo-calibration/README.md)
|
|
@@ -10,8 +10,7 @@ gate.
|
|
|
10
10
|
|
|
11
11
|
The short version:
|
|
12
12
|
|
|
13
|
-
- create safe, manual-first
|
|
14
|
-
AI review tools;
|
|
13
|
+
- create safe, manual-first peer-review lanes for Codex and Claude;
|
|
15
14
|
- run setup diagnostics before a lane can surprise you with spend, source
|
|
16
15
|
exposure, or GitHub Actions churn;
|
|
17
16
|
- turn issue text, external docs, and project doctrine into local work orders
|
|
@@ -43,6 +42,18 @@ Code Mower should feel like an engineering tool, not a demo harness:
|
|
|
43
42
|
|
|
44
43
|
## What It Looks Like
|
|
45
44
|
|
|
45
|
+
Start with Claude Code and Codex, or choose your participants during setup with
|
|
46
|
+
`code-mower init --interactive`. For example, `code-mower init --with
|
|
47
|
+
claude,codex,devin` previews that selection. The generated configuration remembers
|
|
48
|
+
your choices for later sessions.
|
|
49
|
+
|
|
50
|
+
Ask the agent you are using to start a Code Mower session; that agent is the
|
|
51
|
+
default orchestrator. `code-mower session start --repo OWNER/REPO --with
|
|
52
|
+
claude,codex,devin --host codex` prepares the operating brief when invoked from
|
|
53
|
+
Codex. The host agent drives the work using available execution paths.
|
|
54
|
+
See [Participants And Sessions](docs/sessions.md) for setup, host identity,
|
|
55
|
+
and product-specific capabilities.
|
|
56
|
+
|
|
46
57
|
`code-mower doctor --adoption --repo OWNER/REPO` is the first useful command
|
|
47
58
|
for a real repository. It checks your runtime, GitHub setup, provider CLIs,
|
|
48
59
|
token posture, optional cloud setup, private-repo Actions cost traps, and
|
|
@@ -62,7 +73,7 @@ Example, shortened:
|
|
|
62
73
|
```text
|
|
63
74
|
$ code-mower doctor --adoption --repo OWNER/REPO
|
|
64
75
|
PASS config.validate config validates
|
|
65
|
-
PASS profile.select selected profile: codex, claude_audit
|
|
76
|
+
PASS profile.select selected profile: codex, claude_audit
|
|
66
77
|
PASS runtime.python Python 3.12 satisfies Code Mower requirements
|
|
67
78
|
PASS runtime.github_auth GitHub CLI auth probe succeeded
|
|
68
79
|
PASS runtime.local_cli codex codex found
|
|
@@ -175,6 +186,12 @@ Cold adopters should start with the reviewer gate, then add builders, then
|
|
|
175
186
|
measure builder experiments; provider experiments come after that base loop is
|
|
176
187
|
observable.
|
|
177
188
|
|
|
189
|
+
The initial reviewer and builder paths default to Claude + Codex. Other
|
|
190
|
+
participants require an explicit setup selection. `code-mower next-steps --repo
|
|
191
|
+
OWNER/REPO --pr NUMBER` shows setup, peer-audit requests, status, and local
|
|
192
|
+
evidence. Add `--advanced` for calibration, migration, package rehearsal, and
|
|
193
|
+
optional cloud guidance after the initial loop works.
|
|
194
|
+
|
|
178
195
|
Install first from the [Install And Bootstrap](docs/install.md) matrix: pipx for
|
|
179
196
|
laptops, uv tool installs for hosted agents or CI boxes, and an editable venv
|
|
180
197
|
for Code Mower contributors. All paths require Python 3.12 or newer. For
|
|
@@ -194,7 +211,7 @@ agent report its actual host posture, exact installed version, doctor result,
|
|
|
194
211
|
Board URL, and any owner-only click-list before it mutates the repo.
|
|
195
212
|
|
|
196
213
|
The current package-index announcement entry point is the tagged
|
|
197
|
-
[Try Code Mower In 10 Minutes](https://github.com/codemower-ai/code-mower/blob/v1.0.
|
|
214
|
+
[Try Code Mower In 10 Minutes](https://github.com/codemower-ai/code-mower/blob/v1.0.11/docs/try-in-10-minutes.md)
|
|
198
215
|
guide. The v1.0 supervised-pilot release includes the native Board, the
|
|
199
216
|
controller dry-run and policy contract, adoption and upgrade hardening from
|
|
200
217
|
recent install rehearsals, package-index release checks, provider-diversity
|
|
@@ -233,6 +250,15 @@ The v1.0.9 patch makes Board refresh recovery deterministic, turns package
|
|
|
233
250
|
installation failures into bounded actionable diagnostics, and lets release
|
|
234
251
|
campaigns require established providers while retaining slower or experimental
|
|
235
252
|
providers as informational evidence.
|
|
253
|
+
The v1.0.10 patch makes local builder lanes deliverable and recoverable: a
|
|
254
|
+
provider-neutral delivery contract with bounded no-change and owner-action
|
|
255
|
+
outcomes, process-group cleanup so a finished provider is not reported as a
|
|
256
|
+
timeout, simpler first-run defaults, host-led participant sessions, and a
|
|
257
|
+
published 20-sample provider calibration scorecard.
|
|
258
|
+
The v1.0.11 patch moves canonical hosted Devin release campaigns onto the
|
|
259
|
+
bounded, pollable Sessions API transport and keeps macOS Claude release
|
|
260
|
+
qualification inside the maintained strict sandbox by using pip's
|
|
261
|
+
TLS-verifying certifi certificate path.
|
|
236
262
|
Package-only users can start from the public package rather than a source
|
|
237
263
|
checkout.
|
|
238
264
|
|
|
@@ -265,7 +291,7 @@ Provider-contract baseline for the next release train:
|
|
|
265
291
|
|
|
266
292
|
For release verification,
|
|
267
293
|
[First-User Install Rehearsal](docs/first-user-install-rehearsal.md) records
|
|
268
|
-
the package-index procedure for `v1.0.
|
|
294
|
+
the package-index procedure for `v1.0.11` / `code-mower==1.0.11`. The
|
|
269
295
|
GitHub release records the workflow and rehearsal evidence for the exact tag.
|
|
270
296
|
After publication, [Release Qualification](docs/release-qualification.md)
|
|
271
297
|
coordinates provider-specific install and operational checks without treating
|
|
@@ -328,10 +354,11 @@ optional work order, single-writer branch, reviewer lanes, and fix rounds. Code
|
|
|
328
354
|
Mower's templates now support that loop end to end; humans still own
|
|
329
355
|
credentials, branch protection, calibration, and owner decisions.
|
|
330
356
|
|
|
331
|
-
The
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
357
|
+
The initial adoption shape uses Claude Code or Codex as orchestrator, builder,
|
|
358
|
+
and peer reviewer. The owning builder remains the only writer, and the other
|
|
359
|
+
provider supplies independent review. Other builders and reviewers are explicit
|
|
360
|
+
later additions; they follow the same lane policy with provider-specific
|
|
361
|
+
execution and authentication where needed.
|
|
335
362
|
|
|
336
363
|
## Why Not Just Run Codex Or Claude Yourself?
|
|
337
364
|
|
|
@@ -413,12 +440,16 @@ The first recommended lanes are local/manual:
|
|
|
413
440
|
| --- | --- | --- |
|
|
414
441
|
| Codex audit | structured local peer audit | merge-gating eligible after setup |
|
|
415
442
|
| Claude audit | structured local peer audit | merge-gating eligible after setup |
|
|
416
|
-
| Gitar | advisory third signal | informational until calibrated |
|
|
417
443
|
|
|
418
|
-
Everything else
|
|
419
|
-
proves it is useful:
|
|
444
|
+
Everything else is opt-in after the Claude + Codex loop works and stays manual
|
|
445
|
+
or informational until your own calibration data proves it is useful: Gitar,
|
|
446
|
+
Antigravity/Gemini, Muse, Hermes, CodeRabbit CLI, Cursor
|
|
420
447
|
BugBot, Qodo, Greptile, Devin, local LLMs, and future ACP bridges.
|
|
421
448
|
|
|
449
|
+
Hosted Devin dispatches use the Devin Sessions API v3. They require a service-user
|
|
450
|
+
`DEVIN_API_KEY`, its opaque `DEVIN_ORG_ID`, and an exact repository acknowledgement
|
|
451
|
+
in `CODE_MOWER_DEVIN_REPOSITORIES`; see `docs/release-qualification.md` for setup.
|
|
452
|
+
|
|
422
453
|
Gemini CLI and Antigravity are distinct lane ids even though both are Google
|
|
423
454
|
surfaces and may use Gemini model infrastructure. Keep their auth, model
|
|
424
455
|
provenance, calibration evidence, and release notes separate.
|
|
@@ -454,8 +485,8 @@ measurement work.
|
|
|
454
485
|
|
|
455
486
|
## Installation Status
|
|
456
487
|
|
|
457
|
-
The current package-index release baseline is `v1.0.
|
|
458
|
-
install spec `code-mower==1.0.
|
|
488
|
+
The current package-index release baseline is `v1.0.11`, with pinned package
|
|
489
|
+
install spec `code-mower==1.0.11`. Release evidence is recorded on the GitHub
|
|
459
490
|
release and in the first-user install rehearsal. The public repository is
|
|
460
491
|
[codemower-ai/code-mower](https://github.com/codemower-ai/code-mower), and
|
|
461
492
|
GitHub releases remain the auditable source for tags, build artifacts, and
|
|
@@ -490,8 +521,9 @@ first so local work exercises the same package entrypoint users install.
|
|
|
490
521
|
conservative and team-controlled while automated retention jobs are roadmap
|
|
491
522
|
work.
|
|
492
523
|
- Advanced/provider/operator commands remain available behind
|
|
493
|
-
`code-mower --help-all`. The default help path stays focused on
|
|
494
|
-
`
|
|
524
|
+
`code-mower --help-all`. The default help path stays focused on setup,
|
|
525
|
+
`next-steps`, lane status, and local evidence; calibration and cloud commands
|
|
526
|
+
remain available through `--help-all`.
|
|
495
527
|
|
|
496
528
|
## Docs Map
|
|
497
529
|
|
|
@@ -511,6 +543,7 @@ first so local work exercises the same package entrypoint users install.
|
|
|
511
543
|
- [Claude Lane Standing Instructions](docs/lanes/claude.md)
|
|
512
544
|
- [Cursor Hosted Lane Standing Instructions](docs/lanes/cursor.md)
|
|
513
545
|
- [Provider Matrix](docs/provider-matrix.md)
|
|
546
|
+
- [Provider Calibration Scorecard](docs/provider-calibration-scorecard.md)
|
|
514
547
|
- [GitHub Setup](docs/github-setup.md)
|
|
515
548
|
- [First Run Transcript](docs/first-run-transcript.md)
|
|
516
549
|
- [First-User Demo Transcript](docs/first-user-demo-transcript.md)
|
|
@@ -531,6 +564,8 @@ first so local work exercises the same package entrypoint users install.
|
|
|
531
564
|
- [v1.0.7 Release Notes](docs/v107-release-notes.md)
|
|
532
565
|
- [v1.0.8 Release Notes](docs/v108-release-notes.md)
|
|
533
566
|
- [v1.0.9 Release Notes](docs/v109-release-notes.md)
|
|
567
|
+
- [v1.0.10 Release Notes](docs/v1010-release-notes.md)
|
|
568
|
+
- [v1.0.11 Release Notes](docs/v1011-release-notes.md)
|
|
534
569
|
- [Post-v0.8 Effectiveness Assessment](docs/post-v08-effectiveness-assessment.md)
|
|
535
570
|
- [v1.0.1 Effectiveness Assessment](docs/v101-effectiveness-assessment.md)
|
|
536
571
|
- [Demo Calibration Example](examples/demo-calibration/README.md)
|
|
@@ -39,6 +39,8 @@ AUTHOR_INFERENCE_RULES = {
|
|
|
39
39
|
"claude-bot": ("claude", "claude_code_action"),
|
|
40
40
|
"cursor[bot]": ("cursor_cloud_agent", "cursor_cloud_agent"),
|
|
41
41
|
"cursor": ("cursor_cloud_agent", "cursor_cloud_agent"),
|
|
42
|
+
"devin-ai-integration": ("devin", "devin"),
|
|
43
|
+
"devin-ai-integration[bot]": ("devin", "devin"),
|
|
42
44
|
}
|
|
43
45
|
BRANCH_PREFIX_INFERENCE_RULES = (
|
|
44
46
|
("cursor/", "cursor_cloud_agent", "cursor_cloud_agent"),
|
|
@@ -49,6 +51,8 @@ BRANCH_PREFIX_INFERENCE_RULES = (
|
|
|
49
51
|
("chatgpt-codex-", "codex", "chatgpt-codex-connector"),
|
|
50
52
|
("claude/", "claude", "claude_code_action"),
|
|
51
53
|
("claude-", "claude", "claude_code_action"),
|
|
54
|
+
("devin/", "devin_cli", "devin_cli"),
|
|
55
|
+
("devin-", "devin_cli", "devin_cli"),
|
|
52
56
|
)
|
|
53
57
|
|
|
54
58
|
|