code-mower 0.5.0b48__tar.gz → 0.5.0b49__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-0.5.0b48 → code_mower-0.5.0b49}/PKG-INFO +6 -6
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/README.md +5 -5
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/pyproject.toml +1 -1
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/__init__.py +1 -1
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/cli.py +1 -1
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/workflows/builder-provenance.yml.j2 +1 -1
- {code_mower-0.5.0b48 → code_mower-0.5.0b49/src/code_mower}/templates/workflows/code-mower-gate.yml.j2 +4 -3
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower.egg-info/PKG-INFO +6 -6
- {code_mower-0.5.0b48/src/code_mower → code_mower-0.5.0b49}/templates/workflows/code-mower-gate.yml.j2 +4 -3
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_release_hygiene.py +37 -34
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/CODE_OF_CONDUCT.md +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/LICENSE +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/MANIFEST.in +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/NOTICE +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/SUPPORT.md +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/requirements/requirements.txt +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/setup.cfg +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/adapters/__init__.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/adapters/_base.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/adapters/cursor_bugbot.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/adapters/gitar.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/adapters/greptile.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/adapters/qodo.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/antigravity_cli_audit_pr.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/audit_handoff_log.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/audit_labeler_lib.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/audit_progress.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/blind_review_artifacts.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/blind_review_coordinator.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/bootstrap.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/builder_experiment.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/builder_runs.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/calibration/__init__.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/calibration/arms.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/calibration/auto_discovery.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/calibration/commands.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/calibration/context_inputs.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/calibration/corpus.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/calibration/effect_report.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/calibration/evidence.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/calibration/evidence_report.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/calibration/identity.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/calibration/metrics.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/calibration/overlap.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/calibration/planning.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/calibration/policy.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/calibration/results.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/calibration/run_results.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/calibration/run_status.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/calibration/runner.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/calibration/truth.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/calibration/value_report.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/checks.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/claude_audit_pr.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/claude_cli_bounce.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/claude_cli_environment.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/clear_stale.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/cloud.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/cloud_client/__init__.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/cloud_client/bundle.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/cloud_client/doctor.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/cloud_client/dogfood.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/cloud_client/endpoints.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/cloud_client/errors.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/cloud_client/events.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/cloud_client/export.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/cloud_client/git_metadata.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/cloud_client/manifest.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/cloud_client/operations.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/cloud_client/reports.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/cloud_client/setup.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/cloud_client/upload.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/code_mower_calibration.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/code_mower_context_packs.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/code_mower_merge.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/code_mower_telemetry.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/coderabbit_cli_audit_pr.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/codex_audit_env_preflight.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/codex_audit_pr.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/codex_audit_schema_smoke.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/codex_audit_verdict.schema.json +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/config.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/__init__.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/cloud.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/common.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/github.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/github_actions.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/github_actions_cost.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/github_actions_cost_summary.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/github_actions_failure_annotations.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/github_actions_failure_models.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/github_actions_failure_scan.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/github_actions_failure_selection.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/github_actions_failures.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/github_actions_permissions.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/github_api.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/github_branch.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/github_config.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/github_provider.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/github_repo.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/groups.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/models.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/output.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/presets.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/privacy.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/provider_api_model.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/provider_api_model_openai.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/provider_api_model_profiles.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/provider_env.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/provider_env_required.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/provider_env_tokens.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/provider_local_cli.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/provider_local_cli_commands.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/provider_local_cli_probe_config.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/provider_probe.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/provider_probe_auth.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/provider_probe_evaluation.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/provider_probe_json.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/provider_probe_remediation.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/provider_review_hygiene.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/providers.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/registry.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/runner.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/runtime.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/runtime_github_auth.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/gate_health.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/gemini_cli_audit_pr.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/grok_build_audit_pr.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/hermes_cli_audit_pr.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/init.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/lane_configs/__init__.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/lane_configs/aider.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/lane_configs/antigravity_cli.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/lane_configs/claude.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/lane_configs/codex.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/lane_configs/devin.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/lane_configs/gemini_cli.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/lane_configs/grok_build.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/lane_configs/hermes_cli.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/lane_configs/local_llm.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/local_llm_audit_pr.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/local_llm_bakeoff.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/local_llm_calibration.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/local_llm_profiles.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/migration.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/migration_install.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/migration_mirror.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/migration_readiness.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/migration_rehearsal.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/next_steps.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/package.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/package_content.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/package_manifest.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/package_paths.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/package_rendering.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/package_static.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/plan_context.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/prompts.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/provider_registry.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/provider_runners/__init__.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/provider_runners/comments.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/provider_runners/git.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/provider_runners/github_auth.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/provider_runners/github_pr.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/provider_runners/pr_worktree.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/provider_runners/process.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/provider_runners/repo_paths.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/provider_runners/text_schema.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/provider_runners/verdict_artifacts.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/provider_runners/workspace.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/providers/__init__.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/providers/local_cli.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/providers/provenance.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/release_readiness.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/reviewer_metrics.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/reviewer_spend.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/saas_reviewer_labeler.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/secrets.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/builder-experiment.example.json +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/calibration-corpus.example.json +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/calibration-corpus.json +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/code-mower.example.yml +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/context-packs.example.json +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/lane_prompts/base-audit.md +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/lane_prompts/calibration-policy.md +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/lane_prompts/context-driven-quality.md +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/lane_prompts/docs-design.md +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/lane_prompts/generic-programming.md +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/lane_prompts/operability.md +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/lane_prompts/package-runtime.md +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/lane_prompts/plan-conformance.md +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/lane_prompts/security-threat-model.md +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/product-support/code_mower +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/product-support/code_mower_standalone_pin.env +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/product-support/code_mower_standalone_shadow.sh +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/product-support/run_claude_audit_pr.sh +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/product-support/run_codex_audit_pr.sh +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/product-support/safe_gh_comment.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/product-support/status_report.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/providers.yml +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/reviewer-spend.example.json +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/reviewer-value-report.example.md +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/workflows/audit-label-cleanup.yml.j2 +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/workflows/code-mower-gate-health.yml.j2 +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/workflows/hosted-bridge.yml.j2 +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/workflows/local-cli-audit.yml.j2 +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/workflows/needs-owner-notify.yml.j2 +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/workflows/private-standalone-shadow.yml.j2 +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/workflows/review-clear-stale.yml.j2 +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/workflows/saas-reviewer-labeler.yml.j2 +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/workflows/self-hosted-local-audit.yml.j2 +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/workflows/trailer-comment-labeler.yml.j2 +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/templates/workflows/weekly-status.yml.j2 +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/trailer_comment_labeler.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/versioning.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/work_orders.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower.egg-info/SOURCES.txt +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower.egg-info/dependency_links.txt +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower.egg-info/entry_points.txt +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower.egg-info/requires.txt +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower.egg-info/top_level.txt +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/builder-experiment.example.json +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/calibration-corpus.example.json +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/calibration-corpus.json +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/code-mower.yml.j2 +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/context-packs.example.json +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/cursor/BUGBOT.md +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/providers/acp_bridge.yml +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/providers/aider.yml +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/providers/antigravity_cli.yml +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/providers/claude_audit.yml +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/providers/claude_review.yml +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/providers/coderabbit_cli.yml +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/providers/codex.yml +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/providers/cursor_bugbot.yml +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/providers/devin.yml +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/providers/gemini_cli.yml +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/providers/gitar.yml +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/providers/greptile.yml +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/providers/hermes_cli.yml +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/providers/local_llm.yml +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/providers/qodo.yml +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/providers.yml +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/reviewer-spend.example.json +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/reviewer-value-report.example.md +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/workflows/audit-label-cleanup.yml.j2 +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/workflows/blind-review-artifacts-dry-run.yml.j2 +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/workflows/builder-provenance.yml.j2 +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/workflows/code-mower-gate-health.yml.j2 +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/workflows/hosted-bridge.yml.j2 +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/workflows/local-cli-audit.yml.j2 +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/workflows/private-standalone-shadow.yml.j2 +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/workflows/review-clear-stale.yml.j2 +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/workflows/saas-reviewer-labeler.yml.j2 +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/workflows/self-hosted-local-audit.yml.j2 +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/templates/workflows/trailer-comment-labeler.yml.j2 +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_audit_comment_posture.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_builder_identity.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_builder_runs.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_calibration_effect_report.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_calibration_truth.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_checks.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_claude_audit_pr.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_claude_cli_bounce.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_clear_stale.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_cloud_client.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_cloud_git_metadata.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_cloud_manifest.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_cloud_reports.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_coderabbit_cli_audit_pr.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_codex_audit_env_preflight.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_codex_audit_pr.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_doctor_actions_cost_summary.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_doctor_actions_failure_selection.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_doctor_boundaries.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_doctor_github_checks.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_doctor_output.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_doctor_privacy.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_doctor_provider_env_required.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_doctor_provider_env_tokens.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_doctor_provider_probe.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_doctor_provider_review_hygiene.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_doctor_registry.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_doctor_runtime.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_gate_health.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_local_llm_github_helpers.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_plan_context.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_prompts.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_provider_local_cli.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_provider_runners_comments.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_provider_runners_git.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_provider_runners_github_pr.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_provider_runners_pr_worktree.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_provider_runners_process.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_provider_runners_repo_paths.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_provider_runners_text_schema.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_provider_runners_workspace.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_reviewer_metrics_core.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_reviewer_spend.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_trailer_comment_labeler.py +0 -0
- {code_mower-0.5.0b48 → code_mower-0.5.0b49}/tests/test_work_orders.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: code-mower
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.0b49
|
|
4
4
|
Summary: Multi-reviewer AI code audit orchestration
|
|
5
5
|
License-Expression: Apache-2.0
|
|
6
6
|
Requires-Python: >=3.11
|
|
@@ -103,11 +103,11 @@ Code Mower currently targets Python 3.11+; Python 3.12 is recommended.
|
|
|
103
103
|
|
|
104
104
|
```bash
|
|
105
105
|
python3.12 --version
|
|
106
|
-
pipx install --python python3.12 code-mower==0.5.
|
|
106
|
+
pipx install --python python3.12 code-mower==0.5.0b49
|
|
107
107
|
code-mower --version
|
|
108
108
|
```
|
|
109
109
|
|
|
110
|
-
`0.5.
|
|
110
|
+
`0.5.0b49` is a beta release. Until Code Mower publishes a stable `1.0`
|
|
111
111
|
line, use the explicit beta version above or allow prereleases with:
|
|
112
112
|
|
|
113
113
|
```bash
|
|
@@ -155,7 +155,7 @@ First-time command map: [docs/launch-command-surface.md](docs/launch-command-sur
|
|
|
155
155
|
|
|
156
156
|
The current PyPI beta has been rehearsed end-to-end from a clean install:
|
|
157
157
|
[First-User Install Rehearsal](docs/first-user-install-rehearsal.md) records
|
|
158
|
-
the latest 10/10 public-package readiness proof for `code-mower==0.5.
|
|
158
|
+
the latest 10/10 public-package readiness proof for `code-mower==0.5.0b49`.
|
|
159
159
|
|
|
160
160
|
## Optional: Plan Before Coding
|
|
161
161
|
|
|
@@ -310,9 +310,9 @@ builder provenance, start with
|
|
|
310
310
|
|
|
311
311
|
## Installation Status
|
|
312
312
|
|
|
313
|
-
The current public beta is `v0.5.0-beta.
|
|
313
|
+
The current public beta is `v0.5.0-beta.49` from
|
|
314
314
|
[codemower-ai/code-mower](https://github.com/codemower-ai/code-mower), published
|
|
315
|
-
as `code-mower==0.5.
|
|
315
|
+
as `code-mower==0.5.0b49` on [PyPI](https://pypi.org/project/code-mower/).
|
|
316
316
|
GitHub releases remain the auditable source for tags, build artifacts, and
|
|
317
317
|
release notes.
|
|
318
318
|
|
|
@@ -88,11 +88,11 @@ Code Mower currently targets Python 3.11+; Python 3.12 is recommended.
|
|
|
88
88
|
|
|
89
89
|
```bash
|
|
90
90
|
python3.12 --version
|
|
91
|
-
pipx install --python python3.12 code-mower==0.5.
|
|
91
|
+
pipx install --python python3.12 code-mower==0.5.0b49
|
|
92
92
|
code-mower --version
|
|
93
93
|
```
|
|
94
94
|
|
|
95
|
-
`0.5.
|
|
95
|
+
`0.5.0b49` is a beta release. Until Code Mower publishes a stable `1.0`
|
|
96
96
|
line, use the explicit beta version above or allow prereleases with:
|
|
97
97
|
|
|
98
98
|
```bash
|
|
@@ -140,7 +140,7 @@ First-time command map: [docs/launch-command-surface.md](docs/launch-command-sur
|
|
|
140
140
|
|
|
141
141
|
The current PyPI beta has been rehearsed end-to-end from a clean install:
|
|
142
142
|
[First-User Install Rehearsal](docs/first-user-install-rehearsal.md) records
|
|
143
|
-
the latest 10/10 public-package readiness proof for `code-mower==0.5.
|
|
143
|
+
the latest 10/10 public-package readiness proof for `code-mower==0.5.0b49`.
|
|
144
144
|
|
|
145
145
|
## Optional: Plan Before Coding
|
|
146
146
|
|
|
@@ -295,9 +295,9 @@ builder provenance, start with
|
|
|
295
295
|
|
|
296
296
|
## Installation Status
|
|
297
297
|
|
|
298
|
-
The current public beta is `v0.5.0-beta.
|
|
298
|
+
The current public beta is `v0.5.0-beta.49` from
|
|
299
299
|
[codemower-ai/code-mower](https://github.com/codemower-ai/code-mower), published
|
|
300
|
-
as `code-mower==0.5.
|
|
300
|
+
as `code-mower==0.5.0b49` on [PyPI](https://pypi.org/project/code-mower/).
|
|
301
301
|
GitHub releases remain the auditable source for tags, build artifacts, and
|
|
302
302
|
release notes.
|
|
303
303
|
|
|
@@ -14,7 +14,7 @@ from pathlib import Path
|
|
|
14
14
|
if __package__ in {None, ""}:
|
|
15
15
|
raise SystemExit(
|
|
16
16
|
"code_mower.cli is a packaged entrypoint. Install Code Mower with "
|
|
17
|
-
"`pipx install code-mower==0.5.
|
|
17
|
+
"`pipx install code-mower==0.5.0b49`, or run source checkouts with "
|
|
18
18
|
"`PYTHONPATH=src python -m code_mower.cli`."
|
|
19
19
|
)
|
|
20
20
|
|
|
@@ -37,6 +37,7 @@ env:
|
|
|
37
37
|
|
|
38
38
|
jobs:
|
|
39
39
|
gate:
|
|
40
|
+
name: code-mower/gate
|
|
40
41
|
runs-on: ubuntu-latest
|
|
41
42
|
timeout-minutes: 5
|
|
42
43
|
steps:
|
|
@@ -605,8 +606,8 @@ __GATE_AUTHOR_ENV_ASSIGNMENTS__
|
|
|
605
606
|
exit 0
|
|
606
607
|
fi
|
|
607
608
|
|
|
608
|
-
gh api graphql \
|
|
609
|
+
if ! gh api graphql \
|
|
609
610
|
-f pullRequestId="${pr_node_id}" \
|
|
610
|
-
-f query='mutation($pullRequestId:ID!){enablePullRequestAutoMerge(input:{pullRequestId:$pullRequestId,mergeMethod:SQUASH}){pullRequest{id}}}' >/dev/null
|
|
611
|
+
-f query='mutation($pullRequestId:ID!){enablePullRequestAutoMerge(input:{pullRequestId:$pullRequestId,mergeMethod:SQUASH}){pullRequest{id}}}' >/dev/null; then
|
|
611
612
|
echo "::notice::Code Mower gate is green, but GitHub could not enable auto-merge. Confirm allow_auto_merge and token permissions."
|
|
612
|
-
|
|
613
|
+
fi
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: code-mower
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.0b49
|
|
4
4
|
Summary: Multi-reviewer AI code audit orchestration
|
|
5
5
|
License-Expression: Apache-2.0
|
|
6
6
|
Requires-Python: >=3.11
|
|
@@ -103,11 +103,11 @@ Code Mower currently targets Python 3.11+; Python 3.12 is recommended.
|
|
|
103
103
|
|
|
104
104
|
```bash
|
|
105
105
|
python3.12 --version
|
|
106
|
-
pipx install --python python3.12 code-mower==0.5.
|
|
106
|
+
pipx install --python python3.12 code-mower==0.5.0b49
|
|
107
107
|
code-mower --version
|
|
108
108
|
```
|
|
109
109
|
|
|
110
|
-
`0.5.
|
|
110
|
+
`0.5.0b49` is a beta release. Until Code Mower publishes a stable `1.0`
|
|
111
111
|
line, use the explicit beta version above or allow prereleases with:
|
|
112
112
|
|
|
113
113
|
```bash
|
|
@@ -155,7 +155,7 @@ First-time command map: [docs/launch-command-surface.md](docs/launch-command-sur
|
|
|
155
155
|
|
|
156
156
|
The current PyPI beta has been rehearsed end-to-end from a clean install:
|
|
157
157
|
[First-User Install Rehearsal](docs/first-user-install-rehearsal.md) records
|
|
158
|
-
the latest 10/10 public-package readiness proof for `code-mower==0.5.
|
|
158
|
+
the latest 10/10 public-package readiness proof for `code-mower==0.5.0b49`.
|
|
159
159
|
|
|
160
160
|
## Optional: Plan Before Coding
|
|
161
161
|
|
|
@@ -310,9 +310,9 @@ builder provenance, start with
|
|
|
310
310
|
|
|
311
311
|
## Installation Status
|
|
312
312
|
|
|
313
|
-
The current public beta is `v0.5.0-beta.
|
|
313
|
+
The current public beta is `v0.5.0-beta.49` from
|
|
314
314
|
[codemower-ai/code-mower](https://github.com/codemower-ai/code-mower), published
|
|
315
|
-
as `code-mower==0.5.
|
|
315
|
+
as `code-mower==0.5.0b49` on [PyPI](https://pypi.org/project/code-mower/).
|
|
316
316
|
GitHub releases remain the auditable source for tags, build artifacts, and
|
|
317
317
|
release notes.
|
|
318
318
|
|
|
@@ -37,6 +37,7 @@ env:
|
|
|
37
37
|
|
|
38
38
|
jobs:
|
|
39
39
|
gate:
|
|
40
|
+
name: code-mower/gate
|
|
40
41
|
runs-on: ubuntu-latest
|
|
41
42
|
timeout-minutes: 5
|
|
42
43
|
steps:
|
|
@@ -605,8 +606,8 @@ __GATE_AUTHOR_ENV_ASSIGNMENTS__
|
|
|
605
606
|
exit 0
|
|
606
607
|
fi
|
|
607
608
|
|
|
608
|
-
gh api graphql \
|
|
609
|
+
if ! gh api graphql \
|
|
609
610
|
-f pullRequestId="${pr_node_id}" \
|
|
610
|
-
-f query='mutation($pullRequestId:ID!){enablePullRequestAutoMerge(input:{pullRequestId:$pullRequestId,mergeMethod:SQUASH}){pullRequest{id}}}' >/dev/null
|
|
611
|
+
-f query='mutation($pullRequestId:ID!){enablePullRequestAutoMerge(input:{pullRequestId:$pullRequestId,mergeMethod:SQUASH}){pullRequest{id}}}' >/dev/null; then
|
|
611
612
|
echo "::notice::Code Mower gate is green, but GitHub could not enable auto-merge. Confirm allow_auto_merge and token permissions."
|
|
612
|
-
|
|
613
|
+
fi
|
|
@@ -55,7 +55,7 @@ from scripts import guard_package_workflows, privacy_scan
|
|
|
55
55
|
|
|
56
56
|
class ReleaseHygieneTests(unittest.TestCase):
|
|
57
57
|
def test_version_is_current_v05_prerelease(self) -> None:
|
|
58
|
-
self.assertEqual(__version__, "0.5.
|
|
58
|
+
self.assertEqual(__version__, "0.5.0b49")
|
|
59
59
|
|
|
60
60
|
def test_release_workflow_verifies_downloaded_distributions_before_publish(self) -> None:
|
|
61
61
|
workflow = (ROOT / ".github/workflows/release.yml").read_text(encoding="utf-8")
|
|
@@ -226,7 +226,7 @@ class ReleaseHygieneTests(unittest.TestCase):
|
|
|
226
226
|
self.assertIn(
|
|
227
227
|
(
|
|
228
228
|
"code-mower migration package-install-rehearsal --package-spec "
|
|
229
|
-
"code-mower==0.5.
|
|
229
|
+
"code-mower==0.5.0b49 --json"
|
|
230
230
|
),
|
|
231
231
|
help_text,
|
|
232
232
|
)
|
|
@@ -2235,13 +2235,16 @@ jobs:
|
|
|
2235
2235
|
".github/workflows/code-mower-gate.yml"
|
|
2236
2236
|
).read_text(encoding="utf-8")
|
|
2237
2237
|
self.assertIn("CODE_MOWER_GATE_CONTEXT: code-mower/gate", gate)
|
|
2238
|
+
self.assertIn("name: code-mower/gate", gate)
|
|
2238
2239
|
self.assertIn("Check out Code Mower support files", gate)
|
|
2239
2240
|
self.assertIn('CODE_MOWER_OWNER_LABEL: "needs-owner"', gate)
|
|
2240
2241
|
self.assertIn("codex-audit-done", gate)
|
|
2241
2242
|
self.assertIn("claude-audit-done", gate)
|
|
2242
2243
|
self.assertIn("builder:codex", gate)
|
|
2243
2244
|
self.assertIn("builder:claude", gate)
|
|
2245
|
+
self.assertIn("if ! gh api graphql", gate)
|
|
2244
2246
|
self.assertIn("enablePullRequestAutoMerge", gate)
|
|
2247
|
+
self.assertNotIn("enablePullRequestAutoMerge(input:{pullRequestId:$pullRequestId,mergeMethod:SQUASH}){pullRequest{id}}}' >/dev/null || {", gate)
|
|
2245
2248
|
self.assertIn("gh api -X POST", gate)
|
|
2246
2249
|
self.assertIn("CODE_MOWER_AUDIT_RUN", gate)
|
|
2247
2250
|
self.assertIn("comment_id", gate)
|
|
@@ -3402,8 +3405,8 @@ printf '%s\\n' "${lane}"
|
|
|
3402
3405
|
fromlist=["current_alpha_package_spec"],
|
|
3403
3406
|
)
|
|
3404
3407
|
self.assertEqual(
|
|
3405
|
-
legacy_module.current_alpha_package_spec("0.5.
|
|
3406
|
-
"code-mower==0.5.
|
|
3408
|
+
legacy_module.current_alpha_package_spec("0.5.0b49"),
|
|
3409
|
+
"code-mower==0.5.0b49",
|
|
3407
3410
|
)
|
|
3408
3411
|
finally:
|
|
3409
3412
|
sys.path[:] = original_path
|
|
@@ -3440,7 +3443,7 @@ printf '%s\\n' "${lane}"
|
|
|
3440
3443
|
"-c",
|
|
3441
3444
|
(
|
|
3442
3445
|
"from tools import code_mower_package_content as c; "
|
|
3443
|
-
"print(c.current_alpha_package_spec('0.5.
|
|
3446
|
+
"print(c.current_alpha_package_spec('0.5.0b49'))"
|
|
3444
3447
|
),
|
|
3445
3448
|
],
|
|
3446
3449
|
cwd=tmp_path,
|
|
@@ -3453,7 +3456,7 @@ printf '%s\\n' "${lane}"
|
|
|
3453
3456
|
self.assertEqual(completed.returncode, 0, completed.stderr)
|
|
3454
3457
|
self.assertEqual(
|
|
3455
3458
|
completed.stdout.strip(),
|
|
3456
|
-
"code-mower==0.5.
|
|
3459
|
+
"code-mower==0.5.0b49",
|
|
3457
3460
|
)
|
|
3458
3461
|
|
|
3459
3462
|
def test_package_rendering_legacy_fallback_stays_valid_yaml_subset(self) -> None:
|
|
@@ -3529,11 +3532,11 @@ printf '%s\\n' "${lane}"
|
|
|
3529
3532
|
(output_dir / "src/code_mower/cloud_client/dogfood.py").is_file()
|
|
3530
3533
|
)
|
|
3531
3534
|
self.assertIn(
|
|
3532
|
-
'version = "0.5.
|
|
3535
|
+
'version = "0.5.0b49"',
|
|
3533
3536
|
(output_dir / "pyproject.toml").read_text(encoding="utf-8"),
|
|
3534
3537
|
)
|
|
3535
3538
|
self.assertIn(
|
|
3536
|
-
'__version__ = "0.5.
|
|
3539
|
+
'__version__ = "0.5.0b49"',
|
|
3537
3540
|
(output_dir / "src/code_mower/__init__.py").read_text(
|
|
3538
3541
|
encoding="utf-8"
|
|
3539
3542
|
),
|
|
@@ -5069,7 +5072,7 @@ def main():
|
|
|
5069
5072
|
{
|
|
5070
5073
|
"status": "pass",
|
|
5071
5074
|
"package_spec": "code-mower",
|
|
5072
|
-
"version": "code-mower 0.5.
|
|
5075
|
+
"version": "code-mower 0.5.0b49",
|
|
5073
5076
|
"work_dir": "/tmp/code-mower-rehearsal",
|
|
5074
5077
|
"toy_repo": "/tmp/code-mower-rehearsal/toy-repo",
|
|
5075
5078
|
"step_count": 1,
|
|
@@ -5181,7 +5184,7 @@ def main():
|
|
|
5181
5184
|
scorecard = code_mower_migration._first_user_readiness_scorecard(
|
|
5182
5185
|
toy_repo=toy_repo,
|
|
5183
5186
|
outputs=outputs,
|
|
5184
|
-
version="code-mower 0.5.
|
|
5187
|
+
version="code-mower 0.5.0b49",
|
|
5185
5188
|
steps=[
|
|
5186
5189
|
{
|
|
5187
5190
|
"command": ["code-mower", "doctor", "--easy", "--json"],
|
|
@@ -5260,7 +5263,7 @@ def main():
|
|
|
5260
5263
|
scorecard = code_mower_migration._first_user_readiness_scorecard(
|
|
5261
5264
|
toy_repo=toy_repo,
|
|
5262
5265
|
outputs=outputs,
|
|
5263
|
-
version="code-mower 0.5.
|
|
5266
|
+
version="code-mower 0.5.0b49",
|
|
5264
5267
|
steps=[
|
|
5265
5268
|
{
|
|
5266
5269
|
"command": ["code-mower", "doctor", "--easy", "--json"],
|
|
@@ -5322,7 +5325,7 @@ def main():
|
|
|
5322
5325
|
scorecard = code_mower_migration._first_user_readiness_scorecard(
|
|
5323
5326
|
toy_repo=toy_repo,
|
|
5324
5327
|
outputs=outputs,
|
|
5325
|
-
version="code-mower 0.5.
|
|
5328
|
+
version="code-mower 0.5.0b49",
|
|
5326
5329
|
steps=[
|
|
5327
5330
|
{
|
|
5328
5331
|
"command": ["code-mower", "doctor", "--easy", "--json"],
|
|
@@ -5388,17 +5391,17 @@ def main():
|
|
|
5388
5391
|
)
|
|
5389
5392
|
self.assertEqual(
|
|
5390
5393
|
code_mower_migration._resolve_install_package_spec(
|
|
5391
|
-
"git+https://github.com/codemower-ai/code-mower.git@v0.5.0-beta.
|
|
5394
|
+
"git+https://github.com/codemower-ai/code-mower.git@v0.5.0-beta.49",
|
|
5392
5395
|
base_dir=package,
|
|
5393
5396
|
),
|
|
5394
|
-
"git+https://github.com/codemower-ai/code-mower.git@v0.5.0-beta.
|
|
5397
|
+
"git+https://github.com/codemower-ai/code-mower.git@v0.5.0-beta.49",
|
|
5395
5398
|
)
|
|
5396
5399
|
self.assertEqual(
|
|
5397
5400
|
code_mower_migration._resolve_install_package_spec(
|
|
5398
|
-
"code-mower==0.5.
|
|
5401
|
+
"code-mower==0.5.0b49",
|
|
5399
5402
|
base_dir=package,
|
|
5400
5403
|
),
|
|
5401
|
-
"code-mower==0.5.
|
|
5404
|
+
"code-mower==0.5.0b49",
|
|
5402
5405
|
)
|
|
5403
5406
|
|
|
5404
5407
|
def test_wrapper_rehearsal_command_parser_preserves_quoted_spaces(self) -> None:
|
|
@@ -5422,7 +5425,7 @@ def main():
|
|
|
5422
5425
|
self.assertEqual(
|
|
5423
5426
|
code_mower_migration._pip_install_command(
|
|
5424
5427
|
Path("/tmp/venv/bin/python"),
|
|
5425
|
-
"code-mower==0.5.
|
|
5428
|
+
"code-mower==0.5.0b49",
|
|
5426
5429
|
pip_index_url="https://test.pypi.org/simple/",
|
|
5427
5430
|
pip_extra_index_urls=["https://pypi.org/simple/"],
|
|
5428
5431
|
),
|
|
@@ -5435,7 +5438,7 @@ def main():
|
|
|
5435
5438
|
"https://test.pypi.org/simple/",
|
|
5436
5439
|
"--extra-index-url",
|
|
5437
5440
|
"https://pypi.org/simple/",
|
|
5438
|
-
"code-mower==0.5.
|
|
5441
|
+
"code-mower==0.5.0b49",
|
|
5439
5442
|
],
|
|
5440
5443
|
)
|
|
5441
5444
|
|
|
@@ -5455,10 +5458,10 @@ def main():
|
|
|
5455
5458
|
payload = release_readiness.render_release_readiness(ROOT)
|
|
5456
5459
|
|
|
5457
5460
|
self.assertEqual(payload["status"], "pass")
|
|
5458
|
-
self.assertEqual(payload["version"], "0.5.
|
|
5459
|
-
self.assertEqual(payload["release_tag"], "v0.5.0-beta.
|
|
5460
|
-
self.assertEqual(payload["alpha_tag"], "v0.5.0-beta.
|
|
5461
|
-
self.assertEqual(payload["package_index_spec"], "code-mower==0.5.
|
|
5461
|
+
self.assertEqual(payload["version"], "0.5.0b49")
|
|
5462
|
+
self.assertEqual(payload["release_tag"], "v0.5.0-beta.49")
|
|
5463
|
+
self.assertEqual(payload["alpha_tag"], "v0.5.0-beta.49")
|
|
5464
|
+
self.assertEqual(payload["package_index_spec"], "code-mower==0.5.0b49")
|
|
5462
5465
|
check_ids = {check["id"]: check for check in payload["checks"]}
|
|
5463
5466
|
self.assertEqual(check_ids["package-version-consistency"]["status"], "pass")
|
|
5464
5467
|
self.assertEqual(
|
|
@@ -5507,7 +5510,7 @@ def main():
|
|
|
5507
5510
|
check_ids = {check["id"]: check for check in payload["checks"]}
|
|
5508
5511
|
check = check_ids["materialized-package-version-consistency"]
|
|
5509
5512
|
self.assertEqual(check["status"], "fail")
|
|
5510
|
-
self.assertEqual(check["detail"]["source_version"], "0.5.
|
|
5513
|
+
self.assertEqual(check["detail"]["source_version"], "0.5.0b49")
|
|
5511
5514
|
self.assertEqual(check["detail"]["generated_init_version"], "0.0.0")
|
|
5512
5515
|
|
|
5513
5516
|
def test_public_support_docs_are_packaged_and_privacy_forward(self) -> None:
|
|
@@ -5587,20 +5590,20 @@ def main():
|
|
|
5587
5590
|
|
|
5588
5591
|
def test_release_readiness_tag_derivation_supports_release_stages(self) -> None:
|
|
5589
5592
|
self.assertEqual(
|
|
5590
|
-
release_readiness._release_tag_for_version("0.5.
|
|
5591
|
-
"v0.5.0-beta.
|
|
5593
|
+
release_readiness._release_tag_for_version("0.5.0b49"),
|
|
5594
|
+
"v0.5.0-beta.49",
|
|
5592
5595
|
)
|
|
5593
5596
|
self.assertEqual(
|
|
5594
|
-
code_mower_versioning.release_tag_for_version("0.5.
|
|
5595
|
-
"v0.5.0-beta.
|
|
5597
|
+
code_mower_versioning.release_tag_for_version("0.5.0b49"),
|
|
5598
|
+
"v0.5.0-beta.49",
|
|
5596
5599
|
)
|
|
5597
5600
|
self.assertEqual(
|
|
5598
|
-
release_readiness._release_tag_for_version("0.5.
|
|
5599
|
-
"v0.5.0-beta.
|
|
5601
|
+
release_readiness._release_tag_for_version("0.5.0b49"),
|
|
5602
|
+
"v0.5.0-beta.49",
|
|
5600
5603
|
)
|
|
5601
5604
|
self.assertEqual(
|
|
5602
|
-
code_mower_versioning.release_tag_for_version("0.5.
|
|
5603
|
-
"v0.5.0-beta.
|
|
5605
|
+
code_mower_versioning.release_tag_for_version("0.5.0b49"),
|
|
5606
|
+
"v0.5.0-beta.49",
|
|
5604
5607
|
)
|
|
5605
5608
|
self.assertEqual(
|
|
5606
5609
|
release_readiness._release_tag_for_version("1.0.0rc1"),
|
|
@@ -5629,8 +5632,8 @@ def main():
|
|
|
5629
5632
|
next_steps.current_alpha_package_spec(),
|
|
5630
5633
|
)
|
|
5631
5634
|
self.assertEqual(
|
|
5632
|
-
code_mower_package_content.current_alpha_package_spec("0.5.
|
|
5633
|
-
"code-mower==0.5.
|
|
5635
|
+
code_mower_package_content.current_alpha_package_spec("0.5.0b49"),
|
|
5636
|
+
"code-mower==0.5.0b49",
|
|
5634
5637
|
)
|
|
5635
5638
|
self.assertNotIn(next_steps.current_public_tag(), package_content_text)
|
|
5636
5639
|
self.assertNotIn("v0.0.0", package_content_text)
|
|
@@ -5811,7 +5814,7 @@ def main():
|
|
|
5811
5814
|
step for step in plan["steps"] if step["id"] == "package-install-rehearsal"
|
|
5812
5815
|
)
|
|
5813
5816
|
self.assertIn("doctor --v05", doctor_step["command"])
|
|
5814
|
-
self.assertIn("code-mower==0.5.
|
|
5817
|
+
self.assertIn("code-mower==0.5.0b49", package_step["command"])
|
|
5815
5818
|
self.assertIn("current published PyPI prerelease", package_step["why"])
|
|
5816
5819
|
self.assertIn("first_user_readiness", package_step["why"])
|
|
5817
5820
|
self.assertEqual(
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{code_mower-0.5.0b48 → code_mower-0.5.0b49}/src/code_mower/doctor_checks/github_actions_cost.py
RENAMED
|
File without changes
|
|
File without changes
|