Skip to content

[MEDIUM] Code quality improvements batch #352

@iamgp

Description

@iamgp

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions