Skip to content

feat(hygiene): stale flag detection and flag expiry #37

Description

@trinhvandat

Context (P2 — product)

Flag debt is the top operational complaint with flag platforms. Nothing tracks whether a flag is still evaluated or overdue for cleanup.

Scope

  • Track last_evaluated_at per flag+environment (piggyback on evaluation path, throttled write — at most once per N minutes per flag/env to avoid write amplification; coordinate with caching feat(perf): evaluation caching (Caffeine) + ETag/304 on SDK endpoint #30)
  • Optional expires_at on FeatureFlag; expired flags surfaced (not auto-disabled in v1)
  • Report endpoint: flags not evaluated in N days / past expiry, per project
  • Liquibase changeset for new columns

Acceptance criteria

  • Evaluation updates last_evaluated_at without measurable latency impact (throttled/async)
  • Report endpoint returns stale + expired flags with correct filtering
  • Flag key immutability and SDK response shape unchanged

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions