{
  "slug": "vercel-flags-rollout-adds-progressive-flag-rollouts-3abc5848841c",
  "title": "vercel flags rollout adds progressive flag rollouts",
  "tools": [
    "vercel"
  ],
  "tags": [
    "agent"
  ],
  "introduced_at": "2026-04-15T18:35:40.000Z",
  "announced_at": "2026-04-15T18:35:40.000Z",
  "effective_at": null,
  "date_basis": "source-publication",
  "status": "unknown",
  "how": {
    "incantation": "When staging a Vercel Flags rollout, run `vercel flags rollout <flag>` for the target environment with one or more percentage-and-duration stages. Set `--by` to a defined entity attribute for stable bucketing; for non-Boolean flags, specify the source and target variants, and optionally set the fallback, start time, and revision message.",
    "examples": [
      "vercel flags rollout <flag> --environment <environment> --by <entity.attribute> --stage <percentage,duration> [--stage <percentage,duration> ...]",
      "vercel flags rollout <flag> --environment <environment> --by <entity.attribute> --from-variant <variant> --to-variant <variant> [--default-variant <variant>] --stage <percentage,duration> [--stage <percentage,duration> ...] [--start <now|duration|ISO-8601-datetime>] [--message <text>]",
      "vercel flags rollout redesigned-checkout --environment production --by user.id --stage 5,6h --stage 10,6h --stage 25,12h --stage 50,1d --message \"Start redesigned checkout rollout\""
    ],
    "gotchas": [
      "Version: 51.4.0",
      "<flag> (required): Flag slug to roll out.",
      "--environment <environment> (required): Target environment; valid values are `production`, `preview`, and `development`.",
      "--by <entity.attribute>: Entity attribute used for consistent bucketing; define the entity and attribute first. Timestamp attributes cannot be used for bucketing.",
      "--stage <percentage,duration> (required): Adds a stage defining the percentage sent to the rollout variant and how long the stage lasts. Repeat for more stages; example format: `5,6h`.",
      "--from-variant <variant> (required): Current variant for String, Number, and JSON rollouts; accepts a variant ID or value. Boolean rollouts default to `false`.",
      "--to-variant <variant> (required): Target variant for String, Number, and JSON rollouts; accepts a variant ID or value. Boolean rollouts default to `true`.",
      "--default-variant <variant>: Fallback variant served when the bucketing attribute is missing; accepts a variant ID or value. Boolean rollouts default to `false`.",
      "--start <time>: When the rollout begins: `now`, a future relative duration such as `1h`, or an ISO 8601 datetime.",
      "--message <text>: Optional revision message for the rollout.",
      "Prerequisite: Use an authenticated Vercel CLI and target a project. The CLI docs state that `--by` requires the entity and attribute to be defined first.",
      "Prerequisite: Vercel CLI must be installed and authenticated to manage flags from the terminal."
    ]
  },
  "why_it_matters": "Stage a feature flag rollout while implementing or maintaining an application that uses Vercel flags.",
  "sources": [
    "https://github.com/vercel/vercel/releases/tag/vercel%4051.4.0",
    "https://vercel.com/docs/cli/flags",
    "https://github.com/vercel/vercel/blob/main/skills/vercel-cli/references/flags.md"
  ],
  "rank": 0.99037,
  "judge": {
    "publish": true,
    "judge_model": "codex-cli/gpt-6-luna+typesafe/jev-1.13.0",
    "prompt_version": "extract-v7+enrich-v2+judge-v2x3+jev-publish-v1"
  },
  "review_state": "approved",
  "provenance": {
    "run_id": "backfill-20261007",
    "verdict_id": "backfill-20261007:backfill-20261007-68b45e1a99896b3f-1:gate",
    "evidence_hash": "29dc02aff074a2637eb0666333dc1a0a813b194ec5eca9f8b2bb73dd26cc0690"
  },
  "review": {
    "draft_hash": "72a3207637ef687dafde0e238bc1b7ff26c2115d3d077986d0e6fab9369864e8",
    "reviewer": "publication-gate",
    "reviewed_at": "2026-10-07T00:00:00.000Z",
    "decision": "backfill-20261007:gate",
    "reason": "3 of 3 judge runs approved with p_yes >= 0.9 (mean 0.99 >= 0.9; 2 needed) and Jev gave 0.76 (>= 0.6 needed)."
  }
}
