Skip to content

Retire pano-base-feed flag — rip FlagGate + fallback + IaC declaration (ADR 0136) #3663

Description

@usirin

Stories: 1, 2, 3
TDD: no
Containment: exempt (flag retirement — no new user-facing surface; behavior already live at serves:on)

What to build

Retire the released pano-base-feed flag (base-feed/viewer-overlay split (#2322, epic #2316 leg B)), which serves on@100% in prod. Rip its FlagGate/useFlag consumers and the now-dead fallback code path so only the live path remains; delete the flag's IaC declaration in apps/web/worker/features/flagship/resources.ts and its key constant in apps/web/src/flags/keys.ts; remove the flag's own FlagGate/fallback tests. Removing this key retires the split seam itself — the base feed + PostOverlay become the unconditional source of truth.

Confirm the graduate verdict for this key before ripping (per ADR 0136 — machine nominates, human confirmed the set at Gate 1). Out of scope: any other flag in the batch (each is its own child), and any behavior change — the live path stays byte-for-byte what serves:on already delivers.

Acceptance criteria

  • The pano-base-feed FlagGate/useFlag consumers and the dead fallback branch are removed; only the live path remains.
  • The flag's IaC declaration in flagship/resources.ts and its key constant in flags/keys.ts are deleted; no reference to pano-base-feed remains anywhere under apps/web/ (grep-clean).
  • The flag's own FlagGate/fallback tests are removed; the feature's existing behavior tests stay green (live path unchanged).
  • pnpm typecheck and pnpm lint are clean.

Metadata

Metadata

Assignees

Labels

flag-retirementFlag retirement wave (ADR 0136) — #3544 cohortp2Lowest prioritystatus:triagedTriage signed off; ready for write-code to picktype:choreNo behavior change

Type

No type

Projects

Status
Done

Relationships

None yet

Development

No branches or pull requests

Issue actions