Skip to content

Unqualified tap flight create ignores the active KEG namespace #74

Description

@jlrickert

Summary

When tap flight create NAME receives an unqualified name, it creates the flight under the user namespace instead of the namespace of the active KEG. An explicitly qualified flight reference creates it under the expected organization namespace.

Private KEG and flight names are intentionally omitted from this report.

Reproduction

Tapper version:

tap version 0.32.0

Active context, with private names redacted:

$ tap info
hub: atlas
namespace: foldwise
keg: <redacted-keg>
ref: keg:@foldwise/<redacted-keg>
flight: @foldwise/+<redacted-active-flight>

Create with an unqualified name:

$ tap flight create <redacted-flight>
@jlrickert/+<redacted-flight>

Create with an explicitly qualified reference:

$ tap flight create @foldwise/+<redacted-flight>
@foldwise/+<redacted-flight>

Actual behavior

The unqualified create resolves to the user namespace even though the active KEG and flight are in the foldwise namespace on the selected hub.

Expected behavior

An unqualified flight name should resolve to the active KEG namespace, producing @foldwise/+<redacted-flight> in this context.

The namespace-resolution precedence should be documented and consistent across flight create, read, edit, and selection operations.

Impact

The command silently creates a valid flight in the wrong namespace. The result may be absent from the expected organization flights page, can duplicate a later explicitly qualified flight, and can lead users to configure or select the wrong flight.

Acceptance criteria

  • Resolve an unqualified flight create against the active KEG namespace when one is available.
  • Preserve explicit fully qualified flight references exactly.
  • Define deterministic fallback behavior when no active KEG namespace exists.
  • Show the resolved fully qualified flight before or after creation.
  • Add regression coverage for organization and user namespace contexts.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions