-
Notifications
You must be signed in to change notification settings - Fork 0
[MEDIUM] Code quality improvements batch #352
Description
This issue tracks code quality improvements identified in the audit.
Items
1. Service command boilerplate duplication across 7+ files
Files: src/phlo/cli/commands/services/start.py, stop.py, restart.py, status.py, logs.py, reset.py, exec.py
Substantial duplicated boilerplate: Docker checks, compose command building, service parsing, error handling.
2. Service plugin implementation duplication across packages
Files: packages/*/src/*/plugin.py
Every service plugin repeats identical 2-line service_definition property pattern.
3. Profile validation logic duplicated between start.py and add.py
Files: src/phlo/cli/commands/services/start.py lines 56-73, add.py lines 44-63
4. Service name list parsing duplication
Files: src/phlo/cli/commands/services/start.py, stop.py, restart.py, add.py, reset.py
5. Inconsistent Error Handling: Exceptions vs sys.exit()
Files: src/phlo/cli/commands/services/ files, src/phlo/cli/commands/plugin/ files
Mix of raise click.ClickException() and sys.exit(1) creates inconsistency.
6. Emitter class boilerplate duplication
File: src/phlo/hooks/emitters.py
9 emitter classes share ~40 lines of identical boilerplate each.
7. Duplicate Native Process State Management
Files: src/phlo/cli/commands/services/start.py lines 404-562, utils.py lines 515-624
8. Docker subprocess error handling duplication
Files: src/phlo/cli/commands/services/start.py, stop.py, restart.py, status.py, reset.py, logs.py
9. Validation pattern inconsistencies
Files: src/phlo/cli/commands/services/start.py, add.py, src/phlo/metrics.py, src/phlo/plugins/observatory_settings.py
10. Hook/Callback Pattern Duplication
File: src/phlo/cli/commands/services/utils.py
11. Logger Pattern Inconsistency
Files: Multiple CLI command files
12. Service Definition Loading Duplication
Files: packages/*/src/*/plugin.py files
13. Code duplication in Compiler Implementations
File: src/phlo/rbac/compiler.py
Compiler classes share nearly identical plan(), apply(), verify(), revert() implementations.
Severity: P2 - Medium
Category: Quality
Audit Reference: AUDIT.md