Skip to content

Validate internal framework-docker slot collisions during mesh docker injection. #32

@nhynes

Description

@nhynes

Current issue:

  • In compiler/src/targets/mesh/docker_compose/framework_docker_injection.rs, the pass uses the fixed slot name
    __amber_internal_framework_docker.
  • If a component already has a slot with that name, the code reuses it without checking capability kind.
  • That can silently repurpose a user-authored slot and create confusing routing behavior.

Expected behavior:

  • If the slot already exists, require it to be kind: docker; otherwise fail compilation with a clear error (component moniker,
    slot name, expected vs actual kind).
  • If it does not exist, create the injected internal docker slot.
  • (Alternative acceptable direction: generate a guaranteed-unique hidden slot name per component.)

Test coverage to add:

  • Existing slot with reserved name and non-docker kind -> compile error.
  • Existing slot with reserved name and docker kind -> no error, safe reuse.
  • No existing slot -> injected slot created and wired correctly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions