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