Skip to content

Feat/extension catalog export#327

Open
championVisionAI wants to merge 7 commits intoLight-Heart-Labs:mainfrom
championVisionAI:feat/extension-catalog-export
Open

Feat/extension catalog export#327
championVisionAI wants to merge 7 commits intoLight-Heart-Labs:mainfrom
championVisionAI:feat/extension-catalog-export

Conversation

@championVisionAI
Copy link
Contributor

No description provided.

@Lightheartdevs
Copy link
Collaborator

There's a critical issue: the diff shows two \ function definitions in \ — the second silently shadows the first. This is likely a merge conflict artifact. Please resolve the duplicate and rebase.

Copy link
Collaborator

@Lightheartdevs Lightheartdevs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review: Feat/extension catalog export

The catalog export is genuinely useful — machine-readable inventory of all extensions with metadata, status, features, and relationships. Clean dataclass design, pure functions, good filter/sort options. A few things need fixing.

Blocking

  1. Duplicate cmd_audit() in dream-cli. The diff introduces a second cmd_audit() function definition that silently shadows the first. Almost certainly a merge conflict artifact. This will cause the original audit behavior to be lost.

  2. Removed audit validations without justification. The refactor drops several checks:

    • external_port_default positive integer validation — gone
    • external_port_env shell-friendliness check — gone
    • env_var entry validation (non-empty key) — gone
    • host-systemd service warning when compose_file is declared — gone
    • overlay-backend-extra warning — gone

    If these were intentional simplifications, document why. Otherwise restore them — losing env_var and external_port_env validation weakens the audit.

  3. Test coverage reduced. Alias collision test and strict-mode-fails-on-warnings test were removed. Only 4 scenarios remain where there were 6. Restore or replace.

Non-blocking

  • Catalog duplicates manifest discovery logic. extension-catalog.py has its own discover_services(), load_document(), find_manifest() rather than sharing with audit-extensions.py. Two files now independently parse manifests with slightly different validation. Extract shared parsing into a common module.
  • No CLI integration for catalog. No cmd_catalog() in dream-cli — users must invoke the Python script directly. Consider adding dream catalog command.
  • Document the enabled/disabled convention (compose.yaml vs compose.yaml.disabled) used by service_status().

The catalog itself is well-designed. Just needs the merge conflict resolved, dropped validations addressed, and test coverage restored.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants