Skip to main content
HOME>Use Cases>Feature Flag Cleanup: Stale Flags Removed at a Pace the Team Can Ship
Use Case8 min read

Feature Flag Cleanup: Stale Flags Removed at a Pace the Team Can Ship

Flags are dispositioned under the governance rules with evidence from code, tickets, deployments and the compliance registry, removals fill each week up to the cap, and objections, telemetry fixes and incidents re-queue only what they touch.

Get started
Kylon TeamProduct

Flags that outlive the launch they were made for

A feature flag is cheap to add and slow to remove. The quarterly cleanup applies the governance rules: a flag fully on in production for a quarter with no recent changes is removed, an operational kill switch is kept, a flag in the compliance registry is held until compliance signs off, and a flag with no owner goes to the engineering manager. Removals are capped per week, because each one is a code change that ships.

The evidence is spread thin. Flag references and their history are in GitHub, each flag's lifecycle ticket is in ClickUp, Vercel deployments show what is actually live in production, and the compliance registry is a Notion database. The cleanup report is a Google Drive document someone writes by hand, and it is out of date the moment an owner objects or an incident freezes the service a removal was about to touch.

Who works in the room

People

  • Engineering manager running the cleanup

    Owns the governance rules and the weekly cap, and approves every disposition and the week's removals

  • Flag owners

    Confirm a flag is done, object when it still gates something, and merge the removal pull requests

  • Compliance partner

    Owns the registry of flags kept for compliance reasons and signs off when one can go

  • Incident commander

    Freezes a service during an incident and lifts the freeze afterwards

Agents

  • NovaFlag dispositions

    Dispositions every flag on the list from GitHub references, ClickUp tickets, Vercel deployments and the Notion compliance registry, and re-runs flags when the evidence changes

    GitHubClickUpVercelNotion
  • RyanRemoval queue

    Fills each week with cleared removals up to the cap, audits the cleanup report and pulls removals back when an incident freezes a service

    ClickUpGoogle Drive
  • AdaOwner notices

    Drafts notes and replies to flag owners for a person to send, and posts the week's list in Slack after approval

The cleanup gets its own Kylon room for the quarter. Nova is the default agent and owns dispositions, Ryan owns the weekly queue and the report audit, and Ada drafts every message to an owner, as the room guidelines set out. The queue itself is a Kylon App, a board the team and the agents both read and write, because no single connected tool holds it, and every Monday an automation opens the new week from the top of it. Engineers who use a coding agent such as Claude Code can add it to the room and ask it to write the removal pull request for a cleared flag; the owner still reviews and merges every one.

One cleanup week, flag by flag

The quarter runs as weekly batches. Each batch follows the same stages, and nothing merges or changes a ticket until a person approves.

  • Agent works
  • Person decides
  • Arrives or gets recorded
Scroll sideways to see the whole flow.
StageWhat happensWho actsWho decides
DispositionsEvery flag on the list gets remove, keep, hold or owner review, with the evidence behind itNova, from GitHub, ClickUp, Vercel and the Notion registryThe engineering manager approves the dispositions
Weekly allocationCleared removals fill the week up to the cap in age order, and the rest stay queuedRyanThe engineering manager approves the week's list
Report auditThe cleanup report is compared, line for line, with the approved dispositions and the queueRyanThe report author corrects it and the manager confirms
Objection or sign-offAn owner's objection or a compliance sign-off re-runs only that flagNova, then Ada for the owner replyThe manager decides objections and compliance signs off holds
Telemetry correctionCorrected flag telemetry can turn a remove back into a keep, and the week's list is rebuilt from the queueNova, then RyanThe engineering manager approves the reversals
IncidentRemovals that touch the frozen service leave the week and go back to the front of the queueRyanThe incident commander lifts the freeze
CloseoutTotals for removed, kept, held and queued flags, with each queued flag carried into next quarterRyan, then Ada for the owner summariesThe engineering manager signs off
Stages of a quarterly flag cleanup. Flag names, counts and the weekly cap in this example are illustrative.

An objection, a telemetry fix and an incident in one week

Corrections arrive out of order. An owner objects in Slack that a flag still gates a partner integration, and compliance signs off on two registry flags. Then the data team reissues flag telemetry, and a flag that looked fully on still serves the off path to a slice of traffic, so a removal cleared on Monday becomes a keep. Nova re-runs only the flags each change touches and notes the reason on each card, and Ryan rebuilds the week's list from the queue so the cap still holds.

An incident outranks everything. When the incident commander freezes the payments service mid-week, Ryan pulls every removal that touches it out of the week, including ones already cleared but not yet merged, and puts them back at the front of the queue. Removals on other services keep their place. The thread shows which removal moved and on whose instruction, and nothing comes back until the freeze is lifted.

What the checks catch

  • A ninth removal in a week capped at eight, which waits in the queue however keen its owner is
  • A flag in the Notion compliance registry that looks safe to remove from GitHub and Vercel alone
  • A removal reversed by corrected telemetry that is still sitting in the week's list
  • A removal that touches a frozen service and was cleared before the incident began

What stays with people

  • Approving each disposition and the week's removal list before anything changes in ClickUp
  • Reviewing and merging every removal pull request, whoever or whatever wrote it
  • Signing off a registry flag, which stays with compliance
  • Sending each note to a flag owner; Ada writes the Gmail draft and a person sends it

Integrations in this workflow

Kylon is not a feature flag service and it does not replace one. It draws on the code host, the tracker, the hosting platform and the registry the team already uses, and holds the cleanup together across all four.

  • GitHub holds the flag references, their history and the removal pull requests
  • ClickUp carries each flag's lifecycle ticket, updated after the manager approves
  • Vercel shows which deployments are live in production and when each one changed
  • Notion holds the compliance registry that can hold a removal
  • Google Drive keeps the governance rules, the cap and the cleanup report
  • Gmail sends notes to flag owners after a person sends Ada's draft
  • Slack is where owners object and where incident freezes are announced

Where to start

Try it on one service's flags for one quarter. Connect the repository and the ClickUp list where flag tickets live, give Nova read access to the Notion registry, and state one rule in the room guidelines: no agent overrides the weekly cap or the compliance registry, and every removal waits for an engineer to merge it.

“An incident used to mean rebuilding the cleanup list by hand. Now the frozen service's removals step back and the rest of the week carries on.”

Set it up with your agent

Open a new Room, add your agent and paste this prompt. It connects the tools, builds the App with you and asks for your rules one step at a time, and nothing goes out until a person approves it.

Set-up prompt

Your first company harness. Where humans and agents run your business together.

Get started

More Use Cases

View all

API Deprecation Migration: Cutoff Waves That Stay Right as Integrations Move

Retiring an API version runs through one Kylon room. Agents set a disposition for each customer integration in Attio, schedule cutoff waves from the deprecation policy and track blocking bugs in GitHub, while the API product lead approves every disposition and notice.

Software & SaaSEngineering operationsEmail operations

Backup Restore Verification: Backups Proven Restorable Within Their Class Interval

A backup counts only once someone has proved it restores. Agents in the team's Kylon room read each backup-job issue in GitHub against restore reports in Box and live targets in Vercel and propose a verdict by class. The reliability lead approves before any issue changes.

Software & SaaSIT & security operations