Operations pillar · v0.16.0

feature-flag FeatureFlagRecord

One feature flag.

$id · https://corpospec.com/schemas/v0.16.0/feature-flag.schema.json

Fields

Field Type Required Description
created_at IsoDate yes ISO 8601 date (YYYY-MM-DD).
description string yes
entity PathRef yes Path-based cross-reference relative to .corpospec/ root. Pattern: `^[a-z0-9_-]+(/[a-z0-9_.-]+)+$`
id PathRef yes Path-based cross-reference relative to .corpospec/ root. Pattern: `^[a-z0-9_-]+(/[a-z0-9_.-]+)+$`
key string yes Stable flag-key used in code (snake_case).
kind FlagKind yes Flag kind.
max_age_warning_days integer yes Max-age days before warning fires (governance hygiene).
owner PathRef yes Path-based cross-reference relative to .corpospec/ root. Pattern: `^[a-z0-9_-]+(/[a-z0-9_.-]+)+$`
platform string yes Vendor / platform (e.g. "growthbook", "launchdarkly", "statsig", "self-hosted").
product PathRef yes PathRef to product / service.
state FlagState yes Flag state.
targeting_rules TargetingRule[] yes
decision_ref PathRef? PathRef to the BDR / experiment design / runbook.
expires_at IsoDate? Date the flag should be removed (mandatory for Release + Experiment kinds).
rollout_pct number? Overall rollout pct (when state == Partial).

Definitions

Shared types referenced within this schema.

FlagKind
Flag kind.
FlagState
Flag state.
IsoDate
ISO 8601 date (YYYY-MM-DD).
type: string
PathRef
Path-based cross-reference relative to .corpospec/ root. Pattern: `^[a-z0-9_-]+(/[a-z0-9_.-]+)+$`
pattern: ^[a-z0-9_-]+(/[a-z0-9_.-]+)+$
TargetingRule
Targeting rule (free-form for portability).
type: object

Reference in your YAML

# yaml-language-server: $schema=https://corpospec.com/schemas/v0.16.0/feature-flag.schema.json