mirror of
https://github.com/azaion/loader.git
synced 2026-04-22 10:56:33 +00:00
Quality cleanup refactoring
Made-with: Cursor
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
# Dead Code Removal and Minor Fixes
|
||||
|
||||
**Task**: 08_refactor_cleanup
|
||||
**Name**: Remove dead code, fix log path and error handling
|
||||
**Description**: Remove orphan methods and constants, make log path configurable, log os.remove failure
|
||||
**Complexity**: 2 points
|
||||
**Dependencies**: 06_refactor_crypto_uploads
|
||||
**Component**: Resource Management, Core Models, HTTP API
|
||||
**Tracker**: PENDING
|
||||
**Epic**: PENDING (01-quality-cleanup)
|
||||
|
||||
## Problem
|
||||
|
||||
The codebase contains 5 never-called methods in ApiClient and 8 orphan constant declarations. The log file path is hardcoded with no environment override. A file removal error is silently swallowed.
|
||||
|
||||
## Outcome
|
||||
|
||||
- Dead methods and constants are removed from source and declaration files
|
||||
- Log file directory is configurable via environment variable
|
||||
- File removal failure is logged instead of silently ignored
|
||||
- Codebase is smaller and cleaner with no behavioral regressions
|
||||
|
||||
## Scope
|
||||
|
||||
### Included
|
||||
- Delete 5 orphan methods from api_client.pyx: get_user, list_files, check_resource, upload_to_cdn, download_from_cdn
|
||||
- Delete corresponding declarations from api_client.pxd
|
||||
- Delete 5 unused constants from constants.pyx: CONFIG_FILE, QUEUE_CONFIG_FILENAME, AI_ONNX_MODEL_FILE, MODELS_FOLDER, ALIGNMENT_WIDTH
|
||||
- Delete 8 orphan declarations from constants.pxd (keep CDN_CONFIG, SMALL_SIZE_KB, log, logerror)
|
||||
- Make log directory configurable via LOG_DIR env var in constants.pyx
|
||||
- Replace bare except: pass with warning log in main.py _run_unlock
|
||||
|
||||
### Excluded
|
||||
- Modifying any live code paths or method signatures
|
||||
- Changing the logging format or levels
|
||||
- Removing hardware_service.pyx silent catches (those are by-design for cross-platform compatibility)
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
**AC-1: Dead methods removed**
|
||||
Given the source code
|
||||
When searching for get_user, list_files, check_resource, upload_to_cdn, download_from_cdn
|
||||
Then no definitions or declarations exist in api_client.pyx or api_client.pxd
|
||||
|
||||
**AC-2: Dead constants removed**
|
||||
Given constants.pyx and constants.pxd
|
||||
When the files are inspected
|
||||
Then only CDN_CONFIG, SMALL_SIZE_KB, log, logerror declarations remain in the pxd
|
||||
|
||||
**AC-3: Configurable log path**
|
||||
Given LOG_DIR environment variable is set
|
||||
When the application starts
|
||||
Then logs are written to the specified directory
|
||||
|
||||
**AC-4: Error logged on tar removal failure**
|
||||
Given os.remove fails on the tar file during unlock
|
||||
When the failure occurs
|
||||
Then a warning-level log message is emitted
|
||||
|
||||
**AC-5: No regressions**
|
||||
Given the current e2e test suite
|
||||
When all tests are run
|
||||
Then all 18 tests pass
|
||||
|
||||
## Blackbox Tests
|
||||
|
||||
| AC Ref | Initial Data/Conditions | What to Test | Expected Behavior | NFR References |
|
||||
|--------|------------------------|-------------|-------------------|----------------|
|
||||
| AC-5 | Docker services running | Full e2e suite | 18 passed, 0 failed | — |
|
||||
|
||||
## Risks & Mitigation
|
||||
|
||||
**Risk 1: Removing a method that's called via dynamic dispatch**
|
||||
- *Risk*: A method could be invoked dynamically (getattr, etc.) rather than statically
|
||||
- *Mitigation*: All removed methods are cdef/cpdef — cdef methods cannot be called dynamically from Python; cpdef methods were grep-verified to have zero callers
|
||||
Reference in New Issue
Block a user