Skip to content

hotfix a single component without touching its siblings #293

Description

@joshua-temple

Problem / why

Hotfix is environment-major and uses a global tag and branch namespace today
(internal/hotfix/finalize.go, internal/hotfix/lifecycle.go). For a multi-component manifest,
a hotfix must diverge only one component's environment while siblings keep tracking trunk.

Scope (firm intent, to be refined after P1)

  • Key hotfix divergence (Ref / BaseSHA / Patches) under the component dimension.
  • Segment the branch namespace per component: EnvBranchPrefix becomes env/<comp>/<env>.
  • Scope hotfix tag queries (HotfixTagsForBase) to the component's tag_prefix namespace,
    replacing the global tag enumeration.
  • Port the hotfix finalize overlay to state.components[comp][env].

Files / areas touched

  • internal/hotfix/finalize.go, internal/hotfix/lifecycle.go,
    internal/promote/finalize.go (rejoin block).

Tests and coverage required

  • e2e: a hotfix diverges only A's environment while B tracks trunk.
  • A single-component regression test that hotfix is unchanged.

Acceptance criteria

  • A per-component hotfix affects only that component's branch / tag namespace and state subtree.
  • Single-component hotfix is unchanged.

Dependencies

Blocked by the independent promotion milestone.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions