From f548c306083e5af86752d1f47a27185894571b08 Mon Sep 17 00:00:00 2001 From: didericis Date: Thu, 4 Jun 2026 12:05:27 -0400 Subject: [PATCH] chore: remove LINTING_STATUS.md (info now in README badges) Quality metrics are now visible via badges in README.md and maintained automatically by the update-badges workflow. A separate status doc is redundant. Co-Authored-By: Claude Haiku 4.5 --- LINTING_STATUS.md | 93 ----------------------------------------------- 1 file changed, 93 deletions(-) delete mode 100644 LINTING_STATUS.md diff --git a/LINTING_STATUS.md b/LINTING_STATUS.md deleted file mode 100644 index e67f8a5..0000000 --- a/LINTING_STATUS.md +++ /dev/null @@ -1,93 +0,0 @@ -# Linting & Type Checking Status - -## Type Safety (Pyright) -**Status: ✅ PERFECT - 0 ERRORS** - -- All code files (bot_bottle/) pass strict type checking -- All test files (tests/) have type: ignore annotations where needed -- See `pyrightconfig.json` for configuration -- Third-party library unknowns suppressed (curses, mitmproxy, etc.) -- **1,077 type errors fixed** across entire codebase - -## Code Quality (Pylint) -**Rating: 9.92/10** (Excellent - 0 REPORTABLE ISSUES ✅) - -**Configuration: Pragmatic Development** -- E/W (Error/Warning): 100% compliance - all functional issues fixed -- C/R (Convention/Refactoring): Disabled in .pylintrc for development velocity - -### Most Common Issues (22 total warnings): - -1. **Unspecified encoding in open()** (5 occurrences) - - Files: pipelock_apply.py, prepare.py, loopback_alias.py, _common.py, supervise.py - - Fix: Add `encoding='utf-8'` parameter to all `open()` calls - - Impact: Low - Python 3.11+ defaults to UTF-8 on most systems - -2. **Broad exception catching** (6 occurrences) - - Files: supervise_server.py, docker/launch.py, smolmachines/launch.py, tui.py, supervise.py, deploy_key_provisioner.py - - Pattern: Catching `Exception` or `BaseException` instead of specific exceptions - - Impact: Medium - Reduces error diagnostics - -3. **Unused function arguments** (5 occurrences) - - Files: manifest_loader.py, supervise.py, loopback_alias.py, supervise.py, supervise.py - - Pattern: Parameters required by interface but not used in implementation - - Impact: Low - Intentional (protocol compliance) - -4. **Unnecessary ellipsis constant** (3 occurrences) - - Files: workspace.py (2x), backend/__init__.py (1x) - - Pattern: `...` used in type stub contexts - - Fix: Replace with `pass` or proper implementation - -5. **Exception chaining (raise-missing-from)** (4 occurrences) - - Files: manifest_loader.py (4x) - - Fix: Use `raise NewException(...) from e` to preserve context - -6. **Redefining built-in 'format'** (2 occurrences) - - Files: supervise_server.py, git_http_backend.py - - Fix: Rename `format` parameter to `msg_format` or similar - -7. **Unreachable code** (3 occurrences) - - Files: loopback_alias.py, sidecar_bundle.py, local_registry.py - - Pattern: Code after unconditional return/raise statements - -### Non-issues (intentional): - -- **Unused FIXME comment** (1x in cli/start.py) - Intentional marker for future work -- **Broad exception in launch handlers** - Required to catch all daemon startup failures - -## Summary - -✅ **Type Safety**: Perfect (0 errors) -✅ **Code Quality**: Excellent (9.93/10) -- 22 warnings are mostly style/best-practice items -- No functional errors or security issues -- All warnings are fixable without refactoring - -## Configuration Strategy - -### Disabled Categories (Pragmatic Approach) -✅ E/W fully compliant: -- Unspecified encoding (6 files fixed) -- Exception chaining (5 files fixed) -- Broad exception catching (6 files suppressed with context) -- Redefining built-ins (2 files) -- Unused arguments (5 files) -- Unreachable code (3 files removed) - -⚠️ C/R disabled for development (not blocking): -- Missing docstrings (179 functions/classes) -- Invalid naming (23 schema-mapped attributes) -- Cyclic imports (24 import cycles - architectural complexity) -- Too many locals/arguments/branches (complex business logic) -- Duplicate code (91 similar blocks) - -## Summary - -| Category | Issues | Status | -|----------|--------|--------| -| **Pyright (Type Safe)** | 1,077 | ✅ FIXED (0 errors) | -| **Pylint E/W (Functional)** | 22 | ✅ FIXED (0 issues) | -| **Pylint C/R (Style)** | 290 | ⚠️ DISABLED (suppressed) | -| **Overall Rating** | 9.92/10 | ⭐ EXCELLENT | - -The codebase is **production-ready** with strict type checking and functional correctness.