maintainability-agent 3.6.2__tar.gz → 3.6.3__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.
- {maintainability_agent-3.6.2/src/maintainability_agent.egg-info → maintainability_agent-3.6.3}/PKG-INFO +2 -2
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/README.md +1 -1
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/pyproject.toml +1 -1
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3/src/maintainability_agent.egg-info}/PKG-INFO +2 -2
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_agent.egg-info/SOURCES.txt +1 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/__init__.py +1 -1
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_discovery.py +37 -2
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/config.py +1 -1
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/git_tools.py +30 -0
- maintainability_agent-3.6.3/tests/test_build_output_is_not_the_repositorys_code.py +165 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/LICENSE +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/setup.cfg +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_agent.egg-info/dependency_links.txt +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_agent.egg-info/entry_points.txt +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_agent.egg-info/requires.txt +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_agent.egg-info/top_level.txt +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/__main__.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_adapters.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_analysis.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_analyzer_sections.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_anchor.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_arguments.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_aspects.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_assets/analyzer-catalog.json +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_assets/standard.md +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_attestation.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_backfill.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_bands.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_banner.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_built_ins.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_calibration.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_catalog.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_charts.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_cognitive.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_config_defaults.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_conformance.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_corroborate.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_coverage_notes.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_criteria_scope.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_delegated_pillar.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_derive.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_documents.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_economics.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_economics_view.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_environment.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_evidence_reader.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_evidence_view.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_finding_match.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_first_run.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_formula.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_gates.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_generic.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_grammar.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_grant_ledger.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_history_view.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_hostile_prompt.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_hotspots.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_html_report_sections.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_html_view.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_identity.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_in_loop.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_in_loop_view.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_jvm_adapters.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_markdown_sections.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_masking.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_mcp_audit.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_mcp_gate.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_mcp_grants.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_mcp_refusals.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_mcp_resources.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_mcp_setup.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_metric_adapters.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_metrics_types.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_operator_reads.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_pillars.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_practice.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_precommit.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_precommit_install.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_precommit_view.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_pressures.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_prompt_sections.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_ranges_c.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_ranges_cobol.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_ranges_core.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_ranges_cpp.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_ranges_csharp.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_ranges_fortran.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_ranges_go.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_ranges_java.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_ranges_js.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_ranges_php.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_ranges_ruby.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_ranges_rust.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_ranges_swift.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_ratchet.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_ratio_adapters.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_recurrence.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_run_comparison.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_runner.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_safe_write.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_scan_history.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_scan_view.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_second_source.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_selection.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_semantic.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_semantic_policy.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_semantic_ts.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_semantic_view.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_setup_errors.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_setup_persist.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_skill_data/SKILL.md +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_skill_data/agents/anthropic.yaml +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_skill_data/agents/copilot.yaml +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_skill_data/agents/openai.yaml +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_skill_data/copilot/maintainability-agent.prompt.md +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_skill_data/references/finding-taxonomy.md +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_skill_install.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_stored_grants.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_tdd_view.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_test_commands.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_test_execution.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_test_pairing.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_tokens.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_tool_adapters.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_trends.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_user_config.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_verdict_adapters.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_verification.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_work_order.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_work_order_view.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_work_order_weights.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_xml.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/baseline.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/cli.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/deadcode.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/declarations.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/duplication.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/evidence.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/history.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/idioms.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/instructions.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/mcp_server.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/metrics.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/prompts.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/renderers.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/report.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/sarif.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/scoring.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/similarity.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/source.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_acquisition_trust.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_adapter_docs.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_adapter_recordings.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_adapters.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_added_lines.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_analysis_coverage.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_analysis_execution.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_analyzer_bridge.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_analyzer_config_isolation.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_analyzer_estimate_claims.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_analyzer_pinning.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_analyzer_primary_estimate.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_analyzer_provenance.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_analyzer_provenance_exclusions.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_analyzer_scoring_path.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_analyzer_spread_range.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_analyzer_xml_bounds.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_anchor_and_mode.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_anchor_caveat_and_counts_follow_the_run.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_anchor_disclosure.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_annotations_match_behaviour.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_anticipated_refusals.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_architecture.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_artifact_write_route_class.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_aspect_coverage.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_asset_snapshot_class.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_ast_reading_resolves_spellings.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_attestation.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_audit_components.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_authorization_freshness.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_authorship_gates.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_backfill.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_band_concealment_class.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_band_concealment_p3.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_band_pressures.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_bands.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_body_or_signature_class.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_c_declarations.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_calibration_corpus.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_calibration_drift.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_calibration_tooling.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_catalog_selection.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_catalog_tier_promise.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_chat_leads_with_the_work_order.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_chat_primary_docs.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_check_refuses_plus_only_fragments.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_checkstyle_adapter.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_checkstyle_catalog.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_child_sandbox.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_ci_history_recipe.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_ci_installs_the_analyzer_pool.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_claimed_languages.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_cli.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_clone_group_class.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_cobol_declarations.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_cognitive_complexity.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_cohort_statistics.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_concealment_properties.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_config_shape.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_consent_and_grant.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_consumer_migration.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_contract_claims.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_corroborate.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_coverage_by_language.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_cpp_declarations.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_criteria_completion.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_csharp_declarations.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_d15_composition.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_d15_goal_directed.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_dead_code.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_declaration_criteria_scope.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_declaration_edge_cases.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_declaration_grading.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_declaration_ranges.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_declaration_source.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_declarative_parsers.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_declared_authorship.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_declared_imports.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_delegated_security_pillar.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_demo_tree.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_derivation_mix.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_determinism.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_dimension_ratchet.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_direct_runner_availability_class.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_discovery.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_doc_claims.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_docs_links.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_economic_context.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_empty_output_not_clean.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_empty_output_not_clean_adapters.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_environment_work_order.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_every_surface_says_what_the_run_found.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_evidence_invariants.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_evidence_normalization.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_evidence_properties.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_example_config_opens_claimed_languages.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_exclusion_dialects.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_exposure_never_outranks_band.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_falsifier_standard.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_file_list_cap_class.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_finding_identity.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_first_run_elicitation.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_first_run_prompt.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_first_run_reelicitation.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_fix_breadth_window.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_fixed_form_fortran.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_format_ask.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_fortran_declarations.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_fortran_metrics.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_fortran_practice.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_git_argv.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_git_read_only.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_git_readonly_class.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_go_declarations.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_grammar_constructs.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_grammar_token_coverage.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_grant_only_user_tier.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_history.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_history_boundary.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_history_manifest.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_history_schema2.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_history_window.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_hostile_prompt.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_html_executive.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_html_section_parity_class.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_identity_docs.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_identity_resolution.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_idiom_divergence.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_in_loop_budgets.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_in_loop_check.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_installed_wheel_runtime.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_instruction_targets.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_java_range_guard.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_java_ranges.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_java_scored.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_java_wiring.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_js_complexity_operators.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_js_declarations.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_language_coverage.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_language_support_honesty.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_mcp_baseline_payload.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_mcp_format_contract.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_mcp_history.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_mcp_server.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_migration_1_0.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_near_duplicates.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_network_disclosure.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_one_setup_across_surfaces_class.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_operator_named_paths.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_operator_named_reads.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_pairing_reads_imports.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_pattern_budget.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_phase6_claims.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_php_declarations.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_pillars_and_practice.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_platform_claim.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_pmd_adapter.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_pmd_audit_closures.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_policy_claims.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_pool_runs_by_config.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_population_floors.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_practice_nested_gates_class.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_precommit_staged.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_presentation_refusals.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_promises.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_prompt_does_not_issue_rates_when_unscored.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_prompt_escalation_once.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_prompt_honesty.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_prompt_location_escalation_class.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_prove_falsifiers.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_python_complexity.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_python_declarations.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_read_boundary.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_readme_claims.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_recurrence.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_release_needs_an_empty_ledger.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_release_plan.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_release_plan_status.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_report_remedy_copy.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_roles_recorded.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_root_grants.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_rubric_ignores_project_lint_config.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_ruby_declarations.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_run_comparison.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_runner.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_rust_declarations.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_sarif.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_scan_history.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_scan_scope.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_scanner_unsafe_direction.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_scanning.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_schema_fidelity.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_scope_conformance.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_scoring_calibration.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_semantic_policy.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_setup_gate_completeness.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_setup_gate_independent_contract.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_setup_precondition.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_skill_install.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_sonar_resolve.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_source_index.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_spotbugs_adapter.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_spotbugs_catalog.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_stage8_contract.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_stdout_outputs.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_suite_isolation.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_swift_declarations.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_tdd_structure.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_terminal_asks_the_same_questions.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_test_commands.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_test_execution_class.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_three_presentations.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_tool_resolution.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_tree_cannot_opt_the_host_in.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_tree_chosen_spawn.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_tree_reads_use_the_primitive.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_trends.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_type_fields_not_functions_class.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_uat_falsifiers.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_unanchored_set_matches_corpus.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_unread_code.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_user_config_tier.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_verification_audit_closures.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_verified_grade.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_version_claim.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_wheel_contents.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_work_items_state_their_own_finding.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_work_order.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_work_order_binds_to_this_interpreter.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_work_order_items.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_work_order_selection.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_workflow_supply_chain.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_write_boundary.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_write_route_class.py +0 -0
- {maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/tests/test_written_record.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: maintainability-agent
|
|
3
|
-
Version: 3.6.
|
|
3
|
+
Version: 3.6.3
|
|
4
4
|
Summary: Maintainability gate and AI remediation prompt generator for CI.
|
|
5
5
|
Author: Marshall Guillory
|
|
6
6
|
License: MIT
|
|
@@ -46,7 +46,7 @@ Dynamic: license-file
|
|
|
46
46
|
**A deterministic, offline maintainability audit whose output is a _bounded
|
|
47
47
|
work order_ for an AI coding agent** — a copy-paste prompt, per finding, that
|
|
48
48
|
says *fix exactly these and refactor nothing else*. Chat-primary; CLI for CI.
|
|
49
|
-
Version **3.6.
|
|
49
|
+
Version **3.6.3**.
|
|
50
50
|
|
|
51
51
|
**Languages parsed:** Python, Java, C, C++, C#, Go, Rust, PHP, Ruby, Swift,
|
|
52
52
|
COBOL, Fortran (free-form *and* fixed-form), and the JS/TS/HTML family — each
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
**A deterministic, offline maintainability audit whose output is a _bounded
|
|
6
6
|
work order_ for an AI coding agent** — a copy-paste prompt, per finding, that
|
|
7
7
|
says *fix exactly these and refactor nothing else*. Chat-primary; CLI for CI.
|
|
8
|
-
Version **3.6.
|
|
8
|
+
Version **3.6.3**.
|
|
9
9
|
|
|
10
10
|
**Languages parsed:** Python, Java, C, C++, C#, Go, Rust, PHP, Ruby, Swift,
|
|
11
11
|
COBOL, Fortran (free-form *and* fixed-form), and the JS/TS/HTML family — each
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "maintainability-agent"
|
|
7
|
-
version = "3.6.
|
|
7
|
+
version = "3.6.3"
|
|
8
8
|
description = "Maintainability gate and AI remediation prompt generator for CI."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
# 3.11, not 3.10. `_discovery`, `_pillars` and `_runner` all import
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: maintainability-agent
|
|
3
|
-
Version: 3.6.
|
|
3
|
+
Version: 3.6.3
|
|
4
4
|
Summary: Maintainability gate and AI remediation prompt generator for CI.
|
|
5
5
|
Author: Marshall Guillory
|
|
6
6
|
License: MIT
|
|
@@ -46,7 +46,7 @@ Dynamic: license-file
|
|
|
46
46
|
**A deterministic, offline maintainability audit whose output is a _bounded
|
|
47
47
|
work order_ for an AI coding agent** — a copy-paste prompt, per finding, that
|
|
48
48
|
says *fix exactly these and refactor nothing else*. Chat-primary; CLI for CI.
|
|
49
|
-
Version **3.6.
|
|
49
|
+
Version **3.6.3**.
|
|
50
50
|
|
|
51
51
|
**Languages parsed:** Python, Java, C, C++, C#, Go, Rust, PHP, Ruby, Swift,
|
|
52
52
|
COBOL, Fortran (free-form *and* fixed-form), and the JS/TS/HTML family — each
|
|
@@ -182,6 +182,7 @@ tests/test_band_concealment_p3.py
|
|
|
182
182
|
tests/test_band_pressures.py
|
|
183
183
|
tests/test_bands.py
|
|
184
184
|
tests/test_body_or_signature_class.py
|
|
185
|
+
tests/test_build_output_is_not_the_repositorys_code.py
|
|
185
186
|
tests/test_c_declarations.py
|
|
186
187
|
tests/test_calibration_corpus.py
|
|
187
188
|
tests/test_calibration_drift.py
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_discovery.py
RENAMED
|
@@ -222,8 +222,31 @@ def _text_of(path: Path) -> str:
|
|
|
222
222
|
return "\n".join(read_source_file(path))
|
|
223
223
|
|
|
224
224
|
|
|
225
|
+
#: The evidence recorded for a path the repository ignores and git does not
|
|
226
|
+
#: track (D175), so a reader can see why it left the scored population.
|
|
227
|
+
IGNORED_BUILD_OUTPUT_EVIDENCE = (
|
|
228
|
+
"untracked, and excluded by this repository's .gitignore "
|
|
229
|
+
"(git ls-files --others --ignored)"
|
|
230
|
+
)
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
def _ignored_build_output(root: Path) -> dict[str, str]:
|
|
234
|
+
"""Untracked paths the repository's `.gitignore` excludes (D175).
|
|
235
|
+
|
|
236
|
+
A Maven build copied jsoup's test resources into `target/test-classes`,
|
|
237
|
+
and the next audit scored 29 more files — one a failing file — as the
|
|
238
|
+
team's own. The same commit scored one way before a build and another
|
|
239
|
+
after it. `target/` is not added to a list of names: ADR 010 §1 forbids
|
|
240
|
+
that, and the next build tool will choose another word. The repository
|
|
241
|
+
already says which paths are not its source.
|
|
242
|
+
"""
|
|
243
|
+
from .git_tools import ignored_untracked_paths
|
|
244
|
+
|
|
245
|
+
return dict.fromkeys(ignored_untracked_paths(root), IGNORED_BUILD_OUTPUT_EVIDENCE)
|
|
246
|
+
|
|
247
|
+
|
|
225
248
|
def _generated_directories(root: Path, excludes: tuple[str, ...]) -> dict[str, str]:
|
|
226
|
-
"""Directories a `package.json` script deletes and rebuilds."""
|
|
249
|
+
"""Directories a `package.json` script deletes and rebuilds, then ignored build output."""
|
|
227
250
|
found: dict[str, str] = {}
|
|
228
251
|
for manifest in root.rglob("package.json"):
|
|
229
252
|
relative = manifest.relative_to(root).as_posix()
|
|
@@ -237,6 +260,10 @@ def _generated_directories(root: Path, excludes: tuple[str, ...]) -> dict[str, s
|
|
|
237
260
|
f"deleted and rebuilt by `{name}` in {relative}: "
|
|
238
261
|
f"`{str(command)[:60]}`",
|
|
239
262
|
)
|
|
263
|
+
# A manifest's own statement about a directory is the more specific
|
|
264
|
+
# evidence, so it wins where both apply.
|
|
265
|
+
for path, evidence in _ignored_build_output(root).items():
|
|
266
|
+
found.setdefault(path, evidence)
|
|
240
267
|
return found
|
|
241
268
|
|
|
242
269
|
|
|
@@ -458,10 +485,18 @@ def discover(root: Path, config: dict[str, Any]) -> Inventory:
|
|
|
458
485
|
inventory.directories = _directory_provenance(
|
|
459
486
|
vendored_dirs, generated_dirs, asset_dirs)
|
|
460
487
|
seen_directories: set[tuple[str, str]] = set()
|
|
488
|
+
# What the scanner reads, beyond source code: a generated or vendored
|
|
489
|
+
# tree's HTML, XML and JSON are scored too unless classified here (D175).
|
|
490
|
+
read = set((config.get("paths") or {}).get("include_extensions", ()))
|
|
491
|
+
not_ours_dirs = (*generated_dirs, *vendored_dirs)
|
|
461
492
|
for path in sorted(root.rglob("*")):
|
|
462
|
-
if not path.is_file()
|
|
493
|
+
if not path.is_file():
|
|
463
494
|
continue
|
|
464
495
|
relative = path.relative_to(root).as_posix()
|
|
496
|
+
if path.suffix not in KNOWN_SOURCE_SUFFIXES and not (
|
|
497
|
+
path.suffix in read and any(_under(relative, owner) for owner in not_ours_dirs)
|
|
498
|
+
):
|
|
499
|
+
continue
|
|
465
500
|
if is_excluded(relative, list(excludes)):
|
|
466
501
|
continue
|
|
467
502
|
verdict, evidence, owner = _classify(
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/config.py
RENAMED
|
@@ -20,7 +20,7 @@ from ._operator_reads import (
|
|
|
20
20
|
# still the door every caller comes through.
|
|
21
21
|
__all__ = ["DEFAULT_CONFIG", "DEFAULT_IDIOM_GROUPS", "PROJECT_URL", "VERSION"]
|
|
22
22
|
|
|
23
|
-
VERSION = "3.6.
|
|
23
|
+
VERSION = "3.6.3"
|
|
24
24
|
|
|
25
25
|
PROJECT_URL = "https://github.com/marshallguillory86/maintainability-agent"
|
|
26
26
|
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/git_tools.py
RENAMED
|
@@ -231,6 +231,36 @@ def probe_git(args: list[str], cwd: Path) -> str:
|
|
|
231
231
|
return ""
|
|
232
232
|
|
|
233
233
|
|
|
234
|
+
def ignored_untracked_paths(root: Path) -> set[str]:
|
|
235
|
+
"""Paths the repository's own `.gitignore` files exclude and git does not track (D175).
|
|
236
|
+
|
|
237
|
+
A build writes `target/`, `out/` or `bin/` into the working tree, and the
|
|
238
|
+
repository's `.gitignore` is where it says those are not its source.
|
|
239
|
+
That is evidence the repository provides, so ADR 010 can act on it where
|
|
240
|
+
a list of directory names cannot.
|
|
241
|
+
|
|
242
|
+
Only the per-directory `.gitignore` files are read. `--exclude-standard`
|
|
243
|
+
would also honour `.git/info/exclude` and the user's `core.excludesFile`,
|
|
244
|
+
which differ by machine — the same commit would then score differently
|
|
245
|
+
on two laptops (P1). A tracked file matched by an ignore rule is not
|
|
246
|
+
listed, because git tracks it, and an untracked file that is *not*
|
|
247
|
+
ignored stays in: that is uncommitted work, which D56 keeps visible.
|
|
248
|
+
|
|
249
|
+
Directories come back with a trailing slash, which is stripped. A tree
|
|
250
|
+
git cannot read — not a repository, git absent — yields nothing, which
|
|
251
|
+
is the absence of evidence rather than a verdict.
|
|
252
|
+
"""
|
|
253
|
+
try:
|
|
254
|
+
output = run_git(
|
|
255
|
+
["ls-files", "--others", "--ignored",
|
|
256
|
+
"--exclude-per-directory=.gitignore", "--directory", "-z"],
|
|
257
|
+
root, strip=False,
|
|
258
|
+
)
|
|
259
|
+
except GitCommandFailed:
|
|
260
|
+
return set()
|
|
261
|
+
return {entry.rstrip("/") for entry in output.split("\0") if entry.strip("/")}
|
|
262
|
+
|
|
263
|
+
|
|
234
264
|
def changed_paths(root: Path, revspec: str) -> set[str]:
|
|
235
265
|
"""Paths touched by `revspec`, as forward-slash relative strings.
|
|
236
266
|
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
"""A build does not change what an audit scores (D175).
|
|
2
|
+
|
|
3
|
+
A Maven build copied jsoup's test resources into `target/test-classes`, and
|
|
4
|
+
the next audit scored 29 more files — one of them a failing file — as the
|
|
5
|
+
team's own. The same commit scored one way before `mvn test` and another
|
|
6
|
+
after it, which is P1 failing on the working tree rather than on the code.
|
|
7
|
+
|
|
8
|
+
ADR 010 §1 forbids the obvious fix: `target/` on a list of names is the
|
|
9
|
+
`ggml/` mistake again, waiting for the next build tool to pick another word.
|
|
10
|
+
The repository already says which paths are not its source: its own
|
|
11
|
+
`.gitignore`, for paths git does not track.
|
|
12
|
+
|
|
13
|
+
The claim: **every file the scanner reads, placed in an untracked path the
|
|
14
|
+
repository ignores, leaves the scored population and is counted** — and
|
|
15
|
+
nothing else does. The population is every suffix in the shipped
|
|
16
|
+
`include_extensions`, so HTML, XML and JSON are covered along with source.
|
|
17
|
+
"""
|
|
18
|
+
from __future__ import annotations
|
|
19
|
+
|
|
20
|
+
import subprocess
|
|
21
|
+
from pathlib import Path
|
|
22
|
+
from typing import Any
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def _git(repo: Path, *args: str) -> None:
|
|
26
|
+
subprocess.run(["git", "-C", str(repo), *args], check=True, capture_output=True)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def _config() -> dict[str, Any]:
|
|
30
|
+
from maintainability_audit.config import load_config
|
|
31
|
+
|
|
32
|
+
return load_config(None)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def _failing_file(path: Path, config: dict[str, Any]) -> None:
|
|
36
|
+
"""A file the scanner reads and grades as failing, whatever its suffix."""
|
|
37
|
+
path.parent.mkdir(parents=True, exist_ok=True)
|
|
38
|
+
lines = int(config["thresholds"]["max_file_lines"]) + 5
|
|
39
|
+
path.write_text("".join(f"line {number}\n" for number in range(lines)), encoding="utf-8")
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def _repo(tmp_path: Path) -> Path:
|
|
43
|
+
repo = tmp_path / "repo"
|
|
44
|
+
(repo / "src").mkdir(parents=True)
|
|
45
|
+
(repo / "src" / "app.py").write_text("def run():\n return 1\n", encoding="utf-8")
|
|
46
|
+
(repo / ".gitignore").write_text("out/\n", encoding="utf-8")
|
|
47
|
+
_git(repo, "init", "-q")
|
|
48
|
+
_git(repo, "add", ".")
|
|
49
|
+
return repo
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
def _scored(report: dict[str, Any]) -> dict[str, Any]:
|
|
53
|
+
summary = report["summary"]
|
|
54
|
+
return {
|
|
55
|
+
"files_scanned": summary["files_scanned"],
|
|
56
|
+
"file_failures": summary["file_failures"],
|
|
57
|
+
"function_failures": summary["function_failures"],
|
|
58
|
+
"failing_paths": sorted(item["path"] for item in report["largest_files"]
|
|
59
|
+
if item["status"] == "fail"),
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
def _suffixes(config: dict[str, Any]) -> list[str]:
|
|
64
|
+
suffixes = sorted(set(config["paths"]["include_extensions"]))
|
|
65
|
+
assert suffixes, "the shipped config reads no suffixes; this sweep would pass vacuously"
|
|
66
|
+
return suffixes
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
def test_ignored_untracked_build_output_leaves_the_score_and_is_counted(tmp_path) -> None:
|
|
70
|
+
from maintainability_audit.report import build_report
|
|
71
|
+
|
|
72
|
+
config = _config()
|
|
73
|
+
repo = _repo(tmp_path)
|
|
74
|
+
before = _scored(build_report(repo, config, run_analyzers=False))
|
|
75
|
+
|
|
76
|
+
suffixes = _suffixes(config)
|
|
77
|
+
for index, suffix in enumerate(suffixes):
|
|
78
|
+
_failing_file(repo / "out" / "classes" / f"artifact{index}{suffix}", config)
|
|
79
|
+
after = build_report(repo, config, run_analyzers=False)
|
|
80
|
+
|
|
81
|
+
assert _scored(after) == before, (
|
|
82
|
+
"ignored, untracked build output changed the scored population: "
|
|
83
|
+
f"before={before} after={_scored(after)}"
|
|
84
|
+
)
|
|
85
|
+
assert after["summary"]["generated_files"] == len(suffixes), (
|
|
86
|
+
f"{len(suffixes)} build-output files left the score but "
|
|
87
|
+
f"{after['summary']['generated_files']} were counted"
|
|
88
|
+
)
|
|
89
|
+
owners = {entry["path"]: entry["evidence"] for entry in after["summary"]["classifications"]}
|
|
90
|
+
assert "out" in owners and ".gitignore" in owners["out"], owners
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
def test_a_tracked_file_under_an_ignore_rule_is_still_scored(tmp_path) -> None:
|
|
94
|
+
"""Git tracking it is the repository saying it is source, whatever the rule matches.
|
|
95
|
+
|
|
96
|
+
Covers existing behaviour: before D175 nothing read the ignore rules, so a
|
|
97
|
+
force-added file was scored then too. It guards the fix against treating
|
|
98
|
+
a pattern match as the verdict.
|
|
99
|
+
"""
|
|
100
|
+
from maintainability_audit.report import build_report
|
|
101
|
+
|
|
102
|
+
config = _config()
|
|
103
|
+
repo = _repo(tmp_path)
|
|
104
|
+
_failing_file(repo / "out" / "Kept.java", config)
|
|
105
|
+
_git(repo, "add", "-f", "out/Kept.java")
|
|
106
|
+
report = build_report(repo, config, run_analyzers=False)
|
|
107
|
+
assert "out/Kept.java" in _scored(report)["failing_paths"]
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
def test_an_untracked_file_nothing_ignores_is_still_scored(tmp_path) -> None:
|
|
111
|
+
"""Uncommitted work stays visible (D56); only ignored paths leave.
|
|
112
|
+
|
|
113
|
+
Covers existing behaviour: untracked files were scored before D175, and
|
|
114
|
+
this pins that the fix keys on the ignore rule, not on being untracked.
|
|
115
|
+
"""
|
|
116
|
+
from maintainability_audit.report import build_report
|
|
117
|
+
|
|
118
|
+
config = _config()
|
|
119
|
+
repo = _repo(tmp_path)
|
|
120
|
+
_failing_file(repo / "src" / "draft.py", config)
|
|
121
|
+
report = build_report(repo, config, run_analyzers=False)
|
|
122
|
+
assert "src/draft.py" in _scored(report)["failing_paths"]
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
def test_a_personal_global_ignore_file_does_not_change_the_score(tmp_path, monkeypatch) -> None:
|
|
126
|
+
"""Only the repository's own `.gitignore` decides — never one machine's (P1).
|
|
127
|
+
|
|
128
|
+
`--exclude-standard` would read the user's `core.excludesFile`, so two
|
|
129
|
+
laptops with different global ignores would score one commit differently.
|
|
130
|
+
|
|
131
|
+
Covers existing behaviour: before D175 no ignore file was read, global or
|
|
132
|
+
not; this guards the fix against reading the wrong one.
|
|
133
|
+
"""
|
|
134
|
+
from maintainability_audit.report import build_report
|
|
135
|
+
|
|
136
|
+
config = _config()
|
|
137
|
+
repo = _repo(tmp_path)
|
|
138
|
+
_failing_file(repo / "src" / "personal.py", config)
|
|
139
|
+
global_ignore = tmp_path / "global-ignore"
|
|
140
|
+
global_ignore.write_text("personal.py\n", encoding="utf-8")
|
|
141
|
+
global_config = tmp_path / "global-gitconfig"
|
|
142
|
+
global_config.write_text(f"[core]\n\texcludesFile = {global_ignore}\n", encoding="utf-8")
|
|
143
|
+
monkeypatch.setenv("GIT_CONFIG_GLOBAL", str(global_config))
|
|
144
|
+
|
|
145
|
+
report = build_report(repo, config, run_analyzers=False)
|
|
146
|
+
assert "src/personal.py" in _scored(report)["failing_paths"], (
|
|
147
|
+
"a path ignored only by this machine's global excludes left the score"
|
|
148
|
+
)
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
def test_a_tree_git_cannot_read_is_scored_as_it_always_was(tmp_path) -> None:
|
|
152
|
+
"""No repository, no evidence: nothing leaves.
|
|
153
|
+
|
|
154
|
+
Covers existing behaviour: a non-git tree had no ignore evidence before
|
|
155
|
+
D175 either; this guards that a failing git query is not read as a verdict.
|
|
156
|
+
"""
|
|
157
|
+
from maintainability_audit.report import build_report
|
|
158
|
+
|
|
159
|
+
config = _config()
|
|
160
|
+
tree = tmp_path / "tree"
|
|
161
|
+
(tree / "src").mkdir(parents=True)
|
|
162
|
+
(tree / ".gitignore").write_text("out/\n", encoding="utf-8")
|
|
163
|
+
_failing_file(tree / "out" / "artifact.html", config)
|
|
164
|
+
report = build_report(tree, config, run_analyzers=False)
|
|
165
|
+
assert "out/artifact.html" in _scored(report)["failing_paths"]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/__main__.py
RENAMED
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_adapters.py
RENAMED
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_analysis.py
RENAMED
|
File without changes
|
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_anchor.py
RENAMED
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_arguments.py
RENAMED
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_aspects.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_backfill.py
RENAMED
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_bands.py
RENAMED
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_banner.py
RENAMED
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_built_ins.py
RENAMED
|
File without changes
|
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_catalog.py
RENAMED
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_charts.py
RENAMED
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_cognitive.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_derive.py
RENAMED
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_documents.py
RENAMED
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_economics.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_first_run.py
RENAMED
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_formula.py
RENAMED
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_gates.py
RENAMED
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_generic.py
RENAMED
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_grammar.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_hotspots.py
RENAMED
|
File without changes
|
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_html_view.py
RENAMED
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_identity.py
RENAMED
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_in_loop.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_masking.py
RENAMED
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_mcp_audit.py
RENAMED
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_mcp_gate.py
RENAMED
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_mcp_grants.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_mcp_setup.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_pillars.py
RENAMED
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_practice.py
RENAMED
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_precommit.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_pressures.py
RENAMED
|
File without changes
|
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_ranges_c.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_ranges_cpp.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_ranges_go.py
RENAMED
|
File without changes
|
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_ranges_js.py
RENAMED
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_ranges_php.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_ratchet.py
RENAMED
|
File without changes
|
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_recurrence.py
RENAMED
|
File without changes
|
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_runner.py
RENAMED
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_safe_write.py
RENAMED
|
File without changes
|
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_scan_view.py
RENAMED
|
File without changes
|
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_selection.py
RENAMED
|
File without changes
|
{maintainability_agent-3.6.2 → maintainability_agent-3.6.3}/src/maintainability_audit/_semantic.py
RENAMED
|
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
|