FAILURE MAP
← Case archive

FA-73930 / Feature flag rollout bucketing / Member archive

Prerequisite flag chain: Shared prerequisites are mistaken for cycles · case 05

Two flags that both depend on the same base flag report a prerequisite cycle.

Member previewVariant 5 · 3 implementations · 8 checks per implementation

Case contract

flags maps key -> {on, off, serve, prereqs:[[key, required variation]]}. Missing flags yield [None, MISSING, key]; revisiting a flag on the current path yields [None, CYCLE, key] (checked before on/off). An off flag serves [off, OFF, None]. Prerequisites are evaluated in order; MISSING/CYCLE results propagate unchanged; the first prerequisite that is OFF or serves a different variation stops evaluation with [off, PREREQUISITE_FAILED, that prerequisite key]. A prerequisite that itself failed counts as serving its off variation. Otherwise [serve, ON, None].

Why this case matters

Prerequisite chains gate dependent features and must fail closed with an actionable reason.

One recorded failure

Sample boundary fixture

This sample comes from the broken implementation of a controlled reproducer.

Boundary fixtureActualExpectedOutcome
diamond dependency is not a cycle[null, "CYCLE", "d"]["on", "ON", null]Failed

MEMBER ARCHIVE

The complete case is available to members.

This record includes three runnable implementations, regression fixtures, execution results, and source hashes.

Member access is invitation-based. Sign in with your invited account to inspect the sources.

Sign in to the archive ↗