[FFL-2385] Add Stale Flags concept page#37279
Conversation
Adds a new concept page documenting how Datadog detects and surfaces stale feature flags, plus the in-product actions to resolve them (Generate Removal PR with Bits, Archive, Mark as Permanent, Dismiss). Co-authored-by: Cursor <cursoragent@cursor.com>
Preview links (active after the
|
🐑 PR Shepherd is maintaining this PRI watch your PR and automatically fix CI failures, rebase your branch, handle flaky tests, and push it to the merge queue when it's ready. More about what I do → Guide To pause me on this PR, add the |
OliviaShoup
left a comment
There was a problem hiding this comment.
thanks for the PR! it looks great. left some non-blocking suggestions
|
|
||
| ## Manage stale flags | ||
|
|
||
| ### Generate a removal PR with Bits AI |
There was a problem hiding this comment.
The heading says "Bits AI," but the button label below (and the modal alt text) read "Generate Removal PR with Bits." Worth confirming the actual UI label and aligning the heading with it — if the feature is branded "Bits AI," keep it; if the button literally reads "Bits," match that.
|
|
||
| **Note**: Remove the flag from your code and deploy the change before you archive the flag. Archiving a flag that is still referenced in code can cause unexpected behavior in your application. | ||
|
|
||
| {{< img src="feature_flags/generate_removal_pr.png" alt="Generate Removal PR with Bits modal" style="width:100%;" >}} |
There was a problem hiding this comment.
Alt text should end with a period.
| {{< img src="feature_flags/generate_removal_pr.png" alt="Generate Removal PR with Bits modal" style="width:100%;" >}} | |
| {{< img src="feature_flags/generate_removal_pr.png" alt="Generate Removal PR with Bits modal." style="width:100%;" >}} |
|
|
||
| ### Mark as permanent | ||
|
|
||
| Some flags are intentionally long-lived, such as killswitches or permission gates. Select {{< ui >}}Mark as Permanent{{< /ui >}} on the stale banner to designate a flag as a permanent operational control and exclude it from future stale detection. Permanent flags show a {{< ui >}}PERMANENT{{< /ui >}} indicator in the flag details sidebar. |
There was a problem hiding this comment.
kill switches is two words (per Merriam-Webster):
| Some flags are intentionally long-lived, such as killswitches or permission gates. Select {{< ui >}}Mark as Permanent{{< /ui >}} on the stale banner to designate a flag as a permanent operational control and exclude it from future stale detection. Permanent flags show a {{< ui >}}PERMANENT{{< /ui >}} indicator in the flag details sidebar. | |
| Some flags are intentionally long-lived, such as kill switches or permission gates. Select {{< ui >}}Mark as Permanent{{< /ui >}} on the stale banner to designate a flag as a permanent operational control and exclude it from future stale detection. Permanent flags show a {{< ui >}}PERMANENT{{< /ui >}} indicator in the flag details sidebar. |
|
|
||
| Some flags are intentionally long-lived, such as killswitches or permission gates. Select {{< ui >}}Mark as Permanent{{< /ui >}} on the stale banner to designate a flag as a permanent operational control and exclude it from future stale detection. Permanent flags show a {{< ui >}}PERMANENT{{< /ui >}} indicator in the flag details sidebar. | ||
|
|
||
| {{< img src="feature_flags/mark_as_permanent.png" alt="Feature flag marked as PERMANENT on the flag details page" style="width:100%;" >}} |
There was a problem hiding this comment.
Alt text should end with a period.
| {{< img src="feature_flags/mark_as_permanent.png" alt="Feature flag marked as PERMANENT on the flag details page" style="width:100%;" >}} | |
| {{< img src="feature_flags/mark_as_permanent.png" alt="Feature flag marked as PERMANENT on the flag details page." style="width:100%;" >}} |
|
|
||
| {{< partial name="whats-next/whats-next.html" >}} | ||
|
|
||
| [1]: https://app.datadoghq.com/feature-flags |
There was a problem hiding this comment.
Couldn't verify this link from here (the page is auth-gated). Worth confirming /feature-flags resolves — and note that a hardcoded app.datadoghq.com link sends EU/US3/etc. users to the US1 site rather than their own.
Co-authored-by: Olivia Shoup <116908616+OliviaShoup@users.noreply.github.com>
Co-authored-by: Olivia Shoup <116908616+OliviaShoup@users.noreply.github.com>
Co-authored-by: Olivia Shoup <116908616+OliviaShoup@users.noreply.github.com>
Co-authored-by: Olivia Shoup <116908616+OliviaShoup@users.noreply.github.com>
Co-authored-by: Olivia Shoup <116908616+OliviaShoup@users.noreply.github.com>
What does this PR do? What is the motivation?
Fixes FFL-2385
Adds a new "Stale Flags" page under
content/en/feature_flags/concepts/documenting how Datadog detects stale feature flags, the three staleness signals (Fully rolled out, No evaluations, No activity), and the per-flag actions available from the stale banner: Generate Removal PR with Bits, Archive, Mark as Permanent, and Dismiss for 30 days.Also adds the new page to the concepts index.
Merge instructions
Merge readiness:
Additional notes
Made with Cursor