[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-launchdarkly-launchdarkly-guarded-rollout":3,"mdc-nr074h-key":40,"related-repo-launchdarkly-launchdarkly-guarded-rollout":2013,"related-org-launchdarkly-launchdarkly-guarded-rollout":2097},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":26,"repoUrl":27,"updatedAt":28,"license":29,"forks":30,"topics":31,"repo":35,"sourceUrl":38,"mdContent":39},"launchdarkly-guarded-rollout","configure LaunchDarkly guarded rollouts","Configure guarded rollouts with progressive traffic increases, metric monitoring, and automatic rollback. Use when releasing features gradually with safety thresholds.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"launchdarkly","LaunchDarkly","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Flaunchdarkly.png",[12,16,19,22,25],{"name":13,"slug":14,"type":15},"Observability","observability","tag",{"name":17,"slug":18,"type":15},"Operations","operations",{"name":20,"slug":21,"type":15},"Feature Flags","feature-flags",{"name":23,"slug":24,"type":15},"Deployment","deployment",{"name":9,"slug":8,"type":15},20,"https:\u002F\u002Fgithub.com\u002Flaunchdarkly\u002Fai-tooling","2026-05-08T05:10:24.589446","Apache-2.0",6,[32,33,34],"agent-skills","launchdarkly-ai","managed-by-terraform",{"repoUrl":27,"stars":26,"forks":30,"topics":36,"description":37},[32,33,34],"LaunchDarkly's official AI tooling","https:\u002F\u002Fgithub.com\u002Flaunchdarkly\u002Fai-tooling\u002Ftree\u002FHEAD\u002Fskills\u002Ffeature-flags\u002Flaunchdarkly-guarded-rollout","---\nname: launchdarkly-guarded-rollout\ndescription: \"Configure guarded rollouts with progressive traffic increases, metric monitoring, and automatic rollback. Use when releasing features gradually with safety thresholds.\"\nlicense: Apache-2.0\ncompatibility: Requires the remotely hosted LaunchDarkly MCP server\nmetadata:\n  author: launchdarkly\n  version: \"0.1.0\"\n---\n\n# LaunchDarkly Guarded Rollouts\n\nYou're using a skill that will guide you through configuring guarded rollouts in LaunchDarkly. Your job is to design rollout stages, select monitoring metrics, configure regression thresholds, and start the rollout.\n\n## Prerequisites\n\nThis skill requires the remotely hosted LaunchDarkly MCP server to be configured in your environment.\n\n**Required MCP tools:**\n- `start-guarded-rollout` -- start a progressive rollout with monitoring\n- `get-flag` -- inspect the flag and its variations\n- `list-metrics` -- find metrics to monitor during the rollout\n\n**Optional MCP tools:**\n- `stop-guarded-rollout` -- halt an active rollout immediately\n- `toggle-flag` -- ensure the flag is turned on before starting\n- `create-metric` -- create metrics if they don't exist\n\n## Core Concepts\n\n### What Are Guarded Rollouts?\n\nA guarded rollout progressively increases traffic to a new feature flag variation through a series of stages. At each stage, LaunchDarkly monitors selected metrics for regressions. If a regression is detected, the rollout can automatically pause and notify the team — or even roll back.\n\n### Key Components\n\n| Component | Description |\n|-----------|-------------|\n| **Test variation** | The new variation being rolled out |\n| **Control variation** | The existing\u002Fbaseline variation |\n| **Stages** | Steps with increasing traffic percentage and monitoring windows |\n| **Metrics** | What to monitor for regressions (error rate, latency, etc.) |\n| **Regression threshold** | How much a metric can degrade before triggering action |\n| **On regression** | Whether to notify, rollback, or both when a threshold is breached |\n\n### Rollout Weight Units\n\nRollout weights use thousandths (basis points):\n- `1000` = 1%\n- `10000` = 10%\n- `50000` = 50%\n- `100000` = 100%\n\n### Monitoring Window\n\nThe monitoring window is specified in milliseconds:\n- `3600000` = 1 hour\n- `86400000` = 24 hours\n- `604800000` = 7 days\n\n## Core Principles\n\n1. **Start Small**: Begin with a low percentage (1-5%) to catch issues early\n2. **Monitor What Matters**: Choose metrics that reflect user experience\n3. **Set Realistic Thresholds**: Too tight = false alarms; too loose = missed regressions\n4. **Allow Time**: Each stage needs enough monitoring time for signal to emerge\n5. **Have a Rollback Plan**: Always configure at least notification on regression\n\n## Workflow\n\n### Step 1: Prepare\n\nBefore starting a guarded rollout:\n\n1. Use `get-flag` to inspect the flag — note the variation IDs for test and control\n2. Use `list-metrics` to find metrics suitable for monitoring\n3. Ensure the flag is **on** in the target environment (use `toggle-flag` if needed)\n4. Confirm there's no active guarded rollout on this flag already\n\n### Step 2: Design Stages\n\nPlan the rollout progression. A typical pattern:\n\n| Stage | Traffic | Monitoring Window | Purpose |\n|-------|---------|-------------------|---------|\n| 1 | 1% | 1 hour | Smoke test — catch obvious crashes |\n| 2 | 10% | 24 hours | Early signal on metrics |\n| 3 | 50% | 24 hours | Confidence building |\n| 4 | 100% | 24 hours | Full rollout with monitoring |\n\n### Step 3: Configure Metrics\n\nSelect metrics that indicate problems:\n\n| Metric Type | Example | Threshold | Action |\n|-------------|---------|-----------|--------|\n| Error rate | `api-error-rate` | 0.05 (5% increase) | Rollback |\n| Latency | `p99-response-time` | 0.2 (20% increase) | Notify |\n| Conversion | `checkout-completed` | 0.1 (10% decrease) | Notify + Rollback |\n\n### Step 4: Start the Rollout\n\nUse `start-guarded-rollout`:\n\n```json\n{\n  \"projectKey\": \"my-project\",\n  \"flagKey\": \"new-checkout-flow\",\n  \"environmentKey\": \"production\",\n  \"testVariationId\": \"variation-id-for-new-flow\",\n  \"controlVariationId\": \"variation-id-for-current-flow\",\n  \"randomizationUnit\": \"user\",\n  \"stages\": [\n    {\"rolloutWeight\": 1000, \"monitoringWindowMilliseconds\": 3600000},\n    {\"rolloutWeight\": 10000, \"monitoringWindowMilliseconds\": 86400000},\n    {\"rolloutWeight\": 50000, \"monitoringWindowMilliseconds\": 86400000},\n    {\"rolloutWeight\": 100000, \"monitoringWindowMilliseconds\": 86400000}\n  ],\n  \"metrics\": [\n    {\n      \"metricKey\": \"api-error-rate\",\n      \"onRegression\": {\"notify\": true, \"rollback\": true},\n      \"regressionThreshold\": 0.05\n    },\n    {\n      \"metricKey\": \"checkout-completed\",\n      \"onRegression\": {\"notify\": true, \"rollback\": false},\n      \"regressionThreshold\": 0.1\n    }\n  ]\n}\n```\n\n### Step 5: Verify\n\n1. Use `get-flag` to confirm the guarded rollout is active\n2. Check that the flag shows the rollout configuration in the environment\n3. Monitor for any immediate regression notifications\n\n**Report results:**\n- Guarded rollout started with N stages\n- M metrics being monitored\n- First stage at X% traffic for Y hours\n\n## Stopping a Rollout\n\nIf issues arise or you need to halt the rollout:\n\n```json\n{\n  \"projectKey\": \"my-project\",\n  \"flagKey\": \"new-checkout-flow\",\n  \"environmentKey\": \"production\"\n}\n```\n\nThis immediately stops the progressive rollout and locks the flag at its current state.\n\n## Edge Cases\n\n| Situation | Action |\n|-----------|--------|\n| Flag is off | Turn it on first with `toggle-flag` — rollouts require the flag to be on |\n| Active rollout exists | Stop it first with `stop-guarded-rollout` before starting a new one |\n| No suitable metrics | Create metrics first with `create-metric` |\n| Approval required | If the environment requires approvals, the tool will return an approval URL |\n\n## What NOT to Do\n\n- Don't start a guarded rollout on a flag that's turned off\n- Don't skip the monitoring window design — rushing through stages defeats the purpose\n- Don't set regression thresholds to 0 — small fluctuations are normal\n- Don't forget to configure at least one metric — a rollout without monitoring is just a regular rollout\n",{"data":41,"body":45},{"name":4,"description":6,"license":29,"compatibility":42,"metadata":43},"Requires the remotely hosted LaunchDarkly MCP server",{"author":8,"version":44},"0.1.0",{"type":46,"children":47},"root",[48,57,63,70,75,84,123,131,167,173,180,185,191,315,321,326,373,379,384,420,426,480,486,492,497,547,553,558,679,685,690,803,809,820,1685,1691,1715,1723,1741,1747,1752,1875,1880,1886,1978,1984,2007],{"type":49,"tag":50,"props":51,"children":53},"element","h1",{"id":52},"launchdarkly-guarded-rollouts",[54],{"type":55,"value":56},"text","LaunchDarkly Guarded Rollouts",{"type":49,"tag":58,"props":59,"children":60},"p",{},[61],{"type":55,"value":62},"You're using a skill that will guide you through configuring guarded rollouts in LaunchDarkly. Your job is to design rollout stages, select monitoring metrics, configure regression thresholds, and start the rollout.",{"type":49,"tag":64,"props":65,"children":67},"h2",{"id":66},"prerequisites",[68],{"type":55,"value":69},"Prerequisites",{"type":49,"tag":58,"props":71,"children":72},{},[73],{"type":55,"value":74},"This skill requires the remotely hosted LaunchDarkly MCP server to be configured in your environment.",{"type":49,"tag":58,"props":76,"children":77},{},[78],{"type":49,"tag":79,"props":80,"children":81},"strong",{},[82],{"type":55,"value":83},"Required MCP tools:",{"type":49,"tag":85,"props":86,"children":87},"ul",{},[88,101,112],{"type":49,"tag":89,"props":90,"children":91},"li",{},[92,99],{"type":49,"tag":93,"props":94,"children":96},"code",{"className":95},[],[97],{"type":55,"value":98},"start-guarded-rollout",{"type":55,"value":100}," -- start a progressive rollout with monitoring",{"type":49,"tag":89,"props":102,"children":103},{},[104,110],{"type":49,"tag":93,"props":105,"children":107},{"className":106},[],[108],{"type":55,"value":109},"get-flag",{"type":55,"value":111}," -- inspect the flag and its variations",{"type":49,"tag":89,"props":113,"children":114},{},[115,121],{"type":49,"tag":93,"props":116,"children":118},{"className":117},[],[119],{"type":55,"value":120},"list-metrics",{"type":55,"value":122}," -- find metrics to monitor during the rollout",{"type":49,"tag":58,"props":124,"children":125},{},[126],{"type":49,"tag":79,"props":127,"children":128},{},[129],{"type":55,"value":130},"Optional MCP tools:",{"type":49,"tag":85,"props":132,"children":133},{},[134,145,156],{"type":49,"tag":89,"props":135,"children":136},{},[137,143],{"type":49,"tag":93,"props":138,"children":140},{"className":139},[],[141],{"type":55,"value":142},"stop-guarded-rollout",{"type":55,"value":144}," -- halt an active rollout immediately",{"type":49,"tag":89,"props":146,"children":147},{},[148,154],{"type":49,"tag":93,"props":149,"children":151},{"className":150},[],[152],{"type":55,"value":153},"toggle-flag",{"type":55,"value":155}," -- ensure the flag is turned on before starting",{"type":49,"tag":89,"props":157,"children":158},{},[159,165],{"type":49,"tag":93,"props":160,"children":162},{"className":161},[],[163],{"type":55,"value":164},"create-metric",{"type":55,"value":166}," -- create metrics if they don't exist",{"type":49,"tag":64,"props":168,"children":170},{"id":169},"core-concepts",[171],{"type":55,"value":172},"Core Concepts",{"type":49,"tag":174,"props":175,"children":177},"h3",{"id":176},"what-are-guarded-rollouts",[178],{"type":55,"value":179},"What Are Guarded Rollouts?",{"type":49,"tag":58,"props":181,"children":182},{},[183],{"type":55,"value":184},"A guarded rollout progressively increases traffic to a new feature flag variation through a series of stages. At each stage, LaunchDarkly monitors selected metrics for regressions. If a regression is detected, the rollout can automatically pause and notify the team — or even roll back.",{"type":49,"tag":174,"props":186,"children":188},{"id":187},"key-components",[189],{"type":55,"value":190},"Key Components",{"type":49,"tag":192,"props":193,"children":194},"table",{},[195,214],{"type":49,"tag":196,"props":197,"children":198},"thead",{},[199],{"type":49,"tag":200,"props":201,"children":202},"tr",{},[203,209],{"type":49,"tag":204,"props":205,"children":206},"th",{},[207],{"type":55,"value":208},"Component",{"type":49,"tag":204,"props":210,"children":211},{},[212],{"type":55,"value":213},"Description",{"type":49,"tag":215,"props":216,"children":217},"tbody",{},[218,235,251,267,283,299],{"type":49,"tag":200,"props":219,"children":220},{},[221,230],{"type":49,"tag":222,"props":223,"children":224},"td",{},[225],{"type":49,"tag":79,"props":226,"children":227},{},[228],{"type":55,"value":229},"Test variation",{"type":49,"tag":222,"props":231,"children":232},{},[233],{"type":55,"value":234},"The new variation being rolled out",{"type":49,"tag":200,"props":236,"children":237},{},[238,246],{"type":49,"tag":222,"props":239,"children":240},{},[241],{"type":49,"tag":79,"props":242,"children":243},{},[244],{"type":55,"value":245},"Control variation",{"type":49,"tag":222,"props":247,"children":248},{},[249],{"type":55,"value":250},"The existing\u002Fbaseline variation",{"type":49,"tag":200,"props":252,"children":253},{},[254,262],{"type":49,"tag":222,"props":255,"children":256},{},[257],{"type":49,"tag":79,"props":258,"children":259},{},[260],{"type":55,"value":261},"Stages",{"type":49,"tag":222,"props":263,"children":264},{},[265],{"type":55,"value":266},"Steps with increasing traffic percentage and monitoring windows",{"type":49,"tag":200,"props":268,"children":269},{},[270,278],{"type":49,"tag":222,"props":271,"children":272},{},[273],{"type":49,"tag":79,"props":274,"children":275},{},[276],{"type":55,"value":277},"Metrics",{"type":49,"tag":222,"props":279,"children":280},{},[281],{"type":55,"value":282},"What to monitor for regressions (error rate, latency, etc.)",{"type":49,"tag":200,"props":284,"children":285},{},[286,294],{"type":49,"tag":222,"props":287,"children":288},{},[289],{"type":49,"tag":79,"props":290,"children":291},{},[292],{"type":55,"value":293},"Regression threshold",{"type":49,"tag":222,"props":295,"children":296},{},[297],{"type":55,"value":298},"How much a metric can degrade before triggering action",{"type":49,"tag":200,"props":300,"children":301},{},[302,310],{"type":49,"tag":222,"props":303,"children":304},{},[305],{"type":49,"tag":79,"props":306,"children":307},{},[308],{"type":55,"value":309},"On regression",{"type":49,"tag":222,"props":311,"children":312},{},[313],{"type":55,"value":314},"Whether to notify, rollback, or both when a threshold is breached",{"type":49,"tag":174,"props":316,"children":318},{"id":317},"rollout-weight-units",[319],{"type":55,"value":320},"Rollout Weight Units",{"type":49,"tag":58,"props":322,"children":323},{},[324],{"type":55,"value":325},"Rollout weights use thousandths (basis points):",{"type":49,"tag":85,"props":327,"children":328},{},[329,340,351,362],{"type":49,"tag":89,"props":330,"children":331},{},[332,338],{"type":49,"tag":93,"props":333,"children":335},{"className":334},[],[336],{"type":55,"value":337},"1000",{"type":55,"value":339}," = 1%",{"type":49,"tag":89,"props":341,"children":342},{},[343,349],{"type":49,"tag":93,"props":344,"children":346},{"className":345},[],[347],{"type":55,"value":348},"10000",{"type":55,"value":350}," = 10%",{"type":49,"tag":89,"props":352,"children":353},{},[354,360],{"type":49,"tag":93,"props":355,"children":357},{"className":356},[],[358],{"type":55,"value":359},"50000",{"type":55,"value":361}," = 50%",{"type":49,"tag":89,"props":363,"children":364},{},[365,371],{"type":49,"tag":93,"props":366,"children":368},{"className":367},[],[369],{"type":55,"value":370},"100000",{"type":55,"value":372}," = 100%",{"type":49,"tag":174,"props":374,"children":376},{"id":375},"monitoring-window",[377],{"type":55,"value":378},"Monitoring Window",{"type":49,"tag":58,"props":380,"children":381},{},[382],{"type":55,"value":383},"The monitoring window is specified in milliseconds:",{"type":49,"tag":85,"props":385,"children":386},{},[387,398,409],{"type":49,"tag":89,"props":388,"children":389},{},[390,396],{"type":49,"tag":93,"props":391,"children":393},{"className":392},[],[394],{"type":55,"value":395},"3600000",{"type":55,"value":397}," = 1 hour",{"type":49,"tag":89,"props":399,"children":400},{},[401,407],{"type":49,"tag":93,"props":402,"children":404},{"className":403},[],[405],{"type":55,"value":406},"86400000",{"type":55,"value":408}," = 24 hours",{"type":49,"tag":89,"props":410,"children":411},{},[412,418],{"type":49,"tag":93,"props":413,"children":415},{"className":414},[],[416],{"type":55,"value":417},"604800000",{"type":55,"value":419}," = 7 days",{"type":49,"tag":64,"props":421,"children":423},{"id":422},"core-principles",[424],{"type":55,"value":425},"Core Principles",{"type":49,"tag":427,"props":428,"children":429},"ol",{},[430,440,450,460,470],{"type":49,"tag":89,"props":431,"children":432},{},[433,438],{"type":49,"tag":79,"props":434,"children":435},{},[436],{"type":55,"value":437},"Start Small",{"type":55,"value":439},": Begin with a low percentage (1-5%) to catch issues early",{"type":49,"tag":89,"props":441,"children":442},{},[443,448],{"type":49,"tag":79,"props":444,"children":445},{},[446],{"type":55,"value":447},"Monitor What Matters",{"type":55,"value":449},": Choose metrics that reflect user experience",{"type":49,"tag":89,"props":451,"children":452},{},[453,458],{"type":49,"tag":79,"props":454,"children":455},{},[456],{"type":55,"value":457},"Set Realistic Thresholds",{"type":55,"value":459},": Too tight = false alarms; too loose = missed regressions",{"type":49,"tag":89,"props":461,"children":462},{},[463,468],{"type":49,"tag":79,"props":464,"children":465},{},[466],{"type":55,"value":467},"Allow Time",{"type":55,"value":469},": Each stage needs enough monitoring time for signal to emerge",{"type":49,"tag":89,"props":471,"children":472},{},[473,478],{"type":49,"tag":79,"props":474,"children":475},{},[476],{"type":55,"value":477},"Have a Rollback Plan",{"type":55,"value":479},": Always configure at least notification on regression",{"type":49,"tag":64,"props":481,"children":483},{"id":482},"workflow",[484],{"type":55,"value":485},"Workflow",{"type":49,"tag":174,"props":487,"children":489},{"id":488},"step-1-prepare",[490],{"type":55,"value":491},"Step 1: Prepare",{"type":49,"tag":58,"props":493,"children":494},{},[495],{"type":55,"value":496},"Before starting a guarded rollout:",{"type":49,"tag":427,"props":498,"children":499},{},[500,512,523,542],{"type":49,"tag":89,"props":501,"children":502},{},[503,505,510],{"type":55,"value":504},"Use ",{"type":49,"tag":93,"props":506,"children":508},{"className":507},[],[509],{"type":55,"value":109},{"type":55,"value":511}," to inspect the flag — note the variation IDs for test and control",{"type":49,"tag":89,"props":513,"children":514},{},[515,516,521],{"type":55,"value":504},{"type":49,"tag":93,"props":517,"children":519},{"className":518},[],[520],{"type":55,"value":120},{"type":55,"value":522}," to find metrics suitable for monitoring",{"type":49,"tag":89,"props":524,"children":525},{},[526,528,533,535,540],{"type":55,"value":527},"Ensure the flag is ",{"type":49,"tag":79,"props":529,"children":530},{},[531],{"type":55,"value":532},"on",{"type":55,"value":534}," in the target environment (use ",{"type":49,"tag":93,"props":536,"children":538},{"className":537},[],[539],{"type":55,"value":153},{"type":55,"value":541}," if needed)",{"type":49,"tag":89,"props":543,"children":544},{},[545],{"type":55,"value":546},"Confirm there's no active guarded rollout on this flag already",{"type":49,"tag":174,"props":548,"children":550},{"id":549},"step-2-design-stages",[551],{"type":55,"value":552},"Step 2: Design Stages",{"type":49,"tag":58,"props":554,"children":555},{},[556],{"type":55,"value":557},"Plan the rollout progression. A typical pattern:",{"type":49,"tag":192,"props":559,"children":560},{},[561,586],{"type":49,"tag":196,"props":562,"children":563},{},[564],{"type":49,"tag":200,"props":565,"children":566},{},[567,572,577,581],{"type":49,"tag":204,"props":568,"children":569},{},[570],{"type":55,"value":571},"Stage",{"type":49,"tag":204,"props":573,"children":574},{},[575],{"type":55,"value":576},"Traffic",{"type":49,"tag":204,"props":578,"children":579},{},[580],{"type":55,"value":378},{"type":49,"tag":204,"props":582,"children":583},{},[584],{"type":55,"value":585},"Purpose",{"type":49,"tag":215,"props":587,"children":588},{},[589,612,635,657],{"type":49,"tag":200,"props":590,"children":591},{},[592,597,602,607],{"type":49,"tag":222,"props":593,"children":594},{},[595],{"type":55,"value":596},"1",{"type":49,"tag":222,"props":598,"children":599},{},[600],{"type":55,"value":601},"1%",{"type":49,"tag":222,"props":603,"children":604},{},[605],{"type":55,"value":606},"1 hour",{"type":49,"tag":222,"props":608,"children":609},{},[610],{"type":55,"value":611},"Smoke test — catch obvious crashes",{"type":49,"tag":200,"props":613,"children":614},{},[615,620,625,630],{"type":49,"tag":222,"props":616,"children":617},{},[618],{"type":55,"value":619},"2",{"type":49,"tag":222,"props":621,"children":622},{},[623],{"type":55,"value":624},"10%",{"type":49,"tag":222,"props":626,"children":627},{},[628],{"type":55,"value":629},"24 hours",{"type":49,"tag":222,"props":631,"children":632},{},[633],{"type":55,"value":634},"Early signal on metrics",{"type":49,"tag":200,"props":636,"children":637},{},[638,643,648,652],{"type":49,"tag":222,"props":639,"children":640},{},[641],{"type":55,"value":642},"3",{"type":49,"tag":222,"props":644,"children":645},{},[646],{"type":55,"value":647},"50%",{"type":49,"tag":222,"props":649,"children":650},{},[651],{"type":55,"value":629},{"type":49,"tag":222,"props":653,"children":654},{},[655],{"type":55,"value":656},"Confidence building",{"type":49,"tag":200,"props":658,"children":659},{},[660,665,670,674],{"type":49,"tag":222,"props":661,"children":662},{},[663],{"type":55,"value":664},"4",{"type":49,"tag":222,"props":666,"children":667},{},[668],{"type":55,"value":669},"100%",{"type":49,"tag":222,"props":671,"children":672},{},[673],{"type":55,"value":629},{"type":49,"tag":222,"props":675,"children":676},{},[677],{"type":55,"value":678},"Full rollout with monitoring",{"type":49,"tag":174,"props":680,"children":682},{"id":681},"step-3-configure-metrics",[683],{"type":55,"value":684},"Step 3: Configure Metrics",{"type":49,"tag":58,"props":686,"children":687},{},[688],{"type":55,"value":689},"Select metrics that indicate problems:",{"type":49,"tag":192,"props":691,"children":692},{},[693,719],{"type":49,"tag":196,"props":694,"children":695},{},[696],{"type":49,"tag":200,"props":697,"children":698},{},[699,704,709,714],{"type":49,"tag":204,"props":700,"children":701},{},[702],{"type":55,"value":703},"Metric Type",{"type":49,"tag":204,"props":705,"children":706},{},[707],{"type":55,"value":708},"Example",{"type":49,"tag":204,"props":710,"children":711},{},[712],{"type":55,"value":713},"Threshold",{"type":49,"tag":204,"props":715,"children":716},{},[717],{"type":55,"value":718},"Action",{"type":49,"tag":215,"props":720,"children":721},{},[722,749,776],{"type":49,"tag":200,"props":723,"children":724},{},[725,730,739,744],{"type":49,"tag":222,"props":726,"children":727},{},[728],{"type":55,"value":729},"Error rate",{"type":49,"tag":222,"props":731,"children":732},{},[733],{"type":49,"tag":93,"props":734,"children":736},{"className":735},[],[737],{"type":55,"value":738},"api-error-rate",{"type":49,"tag":222,"props":740,"children":741},{},[742],{"type":55,"value":743},"0.05 (5% increase)",{"type":49,"tag":222,"props":745,"children":746},{},[747],{"type":55,"value":748},"Rollback",{"type":49,"tag":200,"props":750,"children":751},{},[752,757,766,771],{"type":49,"tag":222,"props":753,"children":754},{},[755],{"type":55,"value":756},"Latency",{"type":49,"tag":222,"props":758,"children":759},{},[760],{"type":49,"tag":93,"props":761,"children":763},{"className":762},[],[764],{"type":55,"value":765},"p99-response-time",{"type":49,"tag":222,"props":767,"children":768},{},[769],{"type":55,"value":770},"0.2 (20% increase)",{"type":49,"tag":222,"props":772,"children":773},{},[774],{"type":55,"value":775},"Notify",{"type":49,"tag":200,"props":777,"children":778},{},[779,784,793,798],{"type":49,"tag":222,"props":780,"children":781},{},[782],{"type":55,"value":783},"Conversion",{"type":49,"tag":222,"props":785,"children":786},{},[787],{"type":49,"tag":93,"props":788,"children":790},{"className":789},[],[791],{"type":55,"value":792},"checkout-completed",{"type":49,"tag":222,"props":794,"children":795},{},[796],{"type":55,"value":797},"0.1 (10% decrease)",{"type":49,"tag":222,"props":799,"children":800},{},[801],{"type":55,"value":802},"Notify + Rollback",{"type":49,"tag":174,"props":804,"children":806},{"id":805},"step-4-start-the-rollout",[807],{"type":55,"value":808},"Step 4: Start the Rollout",{"type":49,"tag":58,"props":810,"children":811},{},[812,813,818],{"type":55,"value":504},{"type":49,"tag":93,"props":814,"children":816},{"className":815},[],[817],{"type":55,"value":98},{"type":55,"value":819},":",{"type":49,"tag":821,"props":822,"children":827},"pre",{"className":823,"code":824,"language":825,"meta":826,"style":826},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"projectKey\": \"my-project\",\n  \"flagKey\": \"new-checkout-flow\",\n  \"environmentKey\": \"production\",\n  \"testVariationId\": \"variation-id-for-new-flow\",\n  \"controlVariationId\": \"variation-id-for-current-flow\",\n  \"randomizationUnit\": \"user\",\n  \"stages\": [\n    {\"rolloutWeight\": 1000, \"monitoringWindowMilliseconds\": 3600000},\n    {\"rolloutWeight\": 10000, \"monitoringWindowMilliseconds\": 86400000},\n    {\"rolloutWeight\": 50000, \"monitoringWindowMilliseconds\": 86400000},\n    {\"rolloutWeight\": 100000, \"monitoringWindowMilliseconds\": 86400000}\n  ],\n  \"metrics\": [\n    {\n      \"metricKey\": \"api-error-rate\",\n      \"onRegression\": {\"notify\": true, \"rollback\": true},\n      \"regressionThreshold\": 0.05\n    },\n    {\n      \"metricKey\": \"checkout-completed\",\n      \"onRegression\": {\"notify\": true, \"rollback\": false},\n      \"regressionThreshold\": 0.1\n    }\n  ]\n}\n","json","",[828],{"type":49,"tag":93,"props":829,"children":830},{"__ignoreMap":826},[831,843,887,925,963,1001,1038,1076,1102,1167,1225,1282,1340,1349,1374,1383,1421,1491,1517,1526,1533,1569,1634,1659,1668,1677],{"type":49,"tag":832,"props":833,"children":836},"span",{"class":834,"line":835},"line",1,[837],{"type":49,"tag":832,"props":838,"children":840},{"style":839},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[841],{"type":55,"value":842},"{\n",{"type":49,"tag":832,"props":844,"children":846},{"class":834,"line":845},2,[847,852,858,863,867,872,878,882],{"type":49,"tag":832,"props":848,"children":849},{"style":839},[850],{"type":55,"value":851},"  \"",{"type":49,"tag":832,"props":853,"children":855},{"style":854},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[856],{"type":55,"value":857},"projectKey",{"type":49,"tag":832,"props":859,"children":860},{"style":839},[861],{"type":55,"value":862},"\"",{"type":49,"tag":832,"props":864,"children":865},{"style":839},[866],{"type":55,"value":819},{"type":49,"tag":832,"props":868,"children":869},{"style":839},[870],{"type":55,"value":871}," \"",{"type":49,"tag":832,"props":873,"children":875},{"style":874},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[876],{"type":55,"value":877},"my-project",{"type":49,"tag":832,"props":879,"children":880},{"style":839},[881],{"type":55,"value":862},{"type":49,"tag":832,"props":883,"children":884},{"style":839},[885],{"type":55,"value":886},",\n",{"type":49,"tag":832,"props":888,"children":890},{"class":834,"line":889},3,[891,895,900,904,908,912,917,921],{"type":49,"tag":832,"props":892,"children":893},{"style":839},[894],{"type":55,"value":851},{"type":49,"tag":832,"props":896,"children":897},{"style":854},[898],{"type":55,"value":899},"flagKey",{"type":49,"tag":832,"props":901,"children":902},{"style":839},[903],{"type":55,"value":862},{"type":49,"tag":832,"props":905,"children":906},{"style":839},[907],{"type":55,"value":819},{"type":49,"tag":832,"props":909,"children":910},{"style":839},[911],{"type":55,"value":871},{"type":49,"tag":832,"props":913,"children":914},{"style":874},[915],{"type":55,"value":916},"new-checkout-flow",{"type":49,"tag":832,"props":918,"children":919},{"style":839},[920],{"type":55,"value":862},{"type":49,"tag":832,"props":922,"children":923},{"style":839},[924],{"type":55,"value":886},{"type":49,"tag":832,"props":926,"children":928},{"class":834,"line":927},4,[929,933,938,942,946,950,955,959],{"type":49,"tag":832,"props":930,"children":931},{"style":839},[932],{"type":55,"value":851},{"type":49,"tag":832,"props":934,"children":935},{"style":854},[936],{"type":55,"value":937},"environmentKey",{"type":49,"tag":832,"props":939,"children":940},{"style":839},[941],{"type":55,"value":862},{"type":49,"tag":832,"props":943,"children":944},{"style":839},[945],{"type":55,"value":819},{"type":49,"tag":832,"props":947,"children":948},{"style":839},[949],{"type":55,"value":871},{"type":49,"tag":832,"props":951,"children":952},{"style":874},[953],{"type":55,"value":954},"production",{"type":49,"tag":832,"props":956,"children":957},{"style":839},[958],{"type":55,"value":862},{"type":49,"tag":832,"props":960,"children":961},{"style":839},[962],{"type":55,"value":886},{"type":49,"tag":832,"props":964,"children":966},{"class":834,"line":965},5,[967,971,976,980,984,988,993,997],{"type":49,"tag":832,"props":968,"children":969},{"style":839},[970],{"type":55,"value":851},{"type":49,"tag":832,"props":972,"children":973},{"style":854},[974],{"type":55,"value":975},"testVariationId",{"type":49,"tag":832,"props":977,"children":978},{"style":839},[979],{"type":55,"value":862},{"type":49,"tag":832,"props":981,"children":982},{"style":839},[983],{"type":55,"value":819},{"type":49,"tag":832,"props":985,"children":986},{"style":839},[987],{"type":55,"value":871},{"type":49,"tag":832,"props":989,"children":990},{"style":874},[991],{"type":55,"value":992},"variation-id-for-new-flow",{"type":49,"tag":832,"props":994,"children":995},{"style":839},[996],{"type":55,"value":862},{"type":49,"tag":832,"props":998,"children":999},{"style":839},[1000],{"type":55,"value":886},{"type":49,"tag":832,"props":1002,"children":1003},{"class":834,"line":30},[1004,1008,1013,1017,1021,1025,1030,1034],{"type":49,"tag":832,"props":1005,"children":1006},{"style":839},[1007],{"type":55,"value":851},{"type":49,"tag":832,"props":1009,"children":1010},{"style":854},[1011],{"type":55,"value":1012},"controlVariationId",{"type":49,"tag":832,"props":1014,"children":1015},{"style":839},[1016],{"type":55,"value":862},{"type":49,"tag":832,"props":1018,"children":1019},{"style":839},[1020],{"type":55,"value":819},{"type":49,"tag":832,"props":1022,"children":1023},{"style":839},[1024],{"type":55,"value":871},{"type":49,"tag":832,"props":1026,"children":1027},{"style":874},[1028],{"type":55,"value":1029},"variation-id-for-current-flow",{"type":49,"tag":832,"props":1031,"children":1032},{"style":839},[1033],{"type":55,"value":862},{"type":49,"tag":832,"props":1035,"children":1036},{"style":839},[1037],{"type":55,"value":886},{"type":49,"tag":832,"props":1039,"children":1041},{"class":834,"line":1040},7,[1042,1046,1051,1055,1059,1063,1068,1072],{"type":49,"tag":832,"props":1043,"children":1044},{"style":839},[1045],{"type":55,"value":851},{"type":49,"tag":832,"props":1047,"children":1048},{"style":854},[1049],{"type":55,"value":1050},"randomizationUnit",{"type":49,"tag":832,"props":1052,"children":1053},{"style":839},[1054],{"type":55,"value":862},{"type":49,"tag":832,"props":1056,"children":1057},{"style":839},[1058],{"type":55,"value":819},{"type":49,"tag":832,"props":1060,"children":1061},{"style":839},[1062],{"type":55,"value":871},{"type":49,"tag":832,"props":1064,"children":1065},{"style":874},[1066],{"type":55,"value":1067},"user",{"type":49,"tag":832,"props":1069,"children":1070},{"style":839},[1071],{"type":55,"value":862},{"type":49,"tag":832,"props":1073,"children":1074},{"style":839},[1075],{"type":55,"value":886},{"type":49,"tag":832,"props":1077,"children":1079},{"class":834,"line":1078},8,[1080,1084,1089,1093,1097],{"type":49,"tag":832,"props":1081,"children":1082},{"style":839},[1083],{"type":55,"value":851},{"type":49,"tag":832,"props":1085,"children":1086},{"style":854},[1087],{"type":55,"value":1088},"stages",{"type":49,"tag":832,"props":1090,"children":1091},{"style":839},[1092],{"type":55,"value":862},{"type":49,"tag":832,"props":1094,"children":1095},{"style":839},[1096],{"type":55,"value":819},{"type":49,"tag":832,"props":1098,"children":1099},{"style":839},[1100],{"type":55,"value":1101}," [\n",{"type":49,"tag":832,"props":1103,"children":1105},{"class":834,"line":1104},9,[1106,1111,1115,1121,1125,1129,1135,1140,1144,1149,1153,1157,1162],{"type":49,"tag":832,"props":1107,"children":1108},{"style":839},[1109],{"type":55,"value":1110},"    {",{"type":49,"tag":832,"props":1112,"children":1113},{"style":839},[1114],{"type":55,"value":862},{"type":49,"tag":832,"props":1116,"children":1118},{"style":1117},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[1119],{"type":55,"value":1120},"rolloutWeight",{"type":49,"tag":832,"props":1122,"children":1123},{"style":839},[1124],{"type":55,"value":862},{"type":49,"tag":832,"props":1126,"children":1127},{"style":839},[1128],{"type":55,"value":819},{"type":49,"tag":832,"props":1130,"children":1132},{"style":1131},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[1133],{"type":55,"value":1134}," 1000",{"type":49,"tag":832,"props":1136,"children":1137},{"style":839},[1138],{"type":55,"value":1139},",",{"type":49,"tag":832,"props":1141,"children":1142},{"style":839},[1143],{"type":55,"value":871},{"type":49,"tag":832,"props":1145,"children":1146},{"style":1117},[1147],{"type":55,"value":1148},"monitoringWindowMilliseconds",{"type":49,"tag":832,"props":1150,"children":1151},{"style":839},[1152],{"type":55,"value":862},{"type":49,"tag":832,"props":1154,"children":1155},{"style":839},[1156],{"type":55,"value":819},{"type":49,"tag":832,"props":1158,"children":1159},{"style":1131},[1160],{"type":55,"value":1161}," 3600000",{"type":49,"tag":832,"props":1163,"children":1164},{"style":839},[1165],{"type":55,"value":1166},"},\n",{"type":49,"tag":832,"props":1168,"children":1170},{"class":834,"line":1169},10,[1171,1175,1179,1183,1187,1191,1196,1200,1204,1208,1212,1216,1221],{"type":49,"tag":832,"props":1172,"children":1173},{"style":839},[1174],{"type":55,"value":1110},{"type":49,"tag":832,"props":1176,"children":1177},{"style":839},[1178],{"type":55,"value":862},{"type":49,"tag":832,"props":1180,"children":1181},{"style":1117},[1182],{"type":55,"value":1120},{"type":49,"tag":832,"props":1184,"children":1185},{"style":839},[1186],{"type":55,"value":862},{"type":49,"tag":832,"props":1188,"children":1189},{"style":839},[1190],{"type":55,"value":819},{"type":49,"tag":832,"props":1192,"children":1193},{"style":1131},[1194],{"type":55,"value":1195}," 10000",{"type":49,"tag":832,"props":1197,"children":1198},{"style":839},[1199],{"type":55,"value":1139},{"type":49,"tag":832,"props":1201,"children":1202},{"style":839},[1203],{"type":55,"value":871},{"type":49,"tag":832,"props":1205,"children":1206},{"style":1117},[1207],{"type":55,"value":1148},{"type":49,"tag":832,"props":1209,"children":1210},{"style":839},[1211],{"type":55,"value":862},{"type":49,"tag":832,"props":1213,"children":1214},{"style":839},[1215],{"type":55,"value":819},{"type":49,"tag":832,"props":1217,"children":1218},{"style":1131},[1219],{"type":55,"value":1220}," 86400000",{"type":49,"tag":832,"props":1222,"children":1223},{"style":839},[1224],{"type":55,"value":1166},{"type":49,"tag":832,"props":1226,"children":1228},{"class":834,"line":1227},11,[1229,1233,1237,1241,1245,1249,1254,1258,1262,1266,1270,1274,1278],{"type":49,"tag":832,"props":1230,"children":1231},{"style":839},[1232],{"type":55,"value":1110},{"type":49,"tag":832,"props":1234,"children":1235},{"style":839},[1236],{"type":55,"value":862},{"type":49,"tag":832,"props":1238,"children":1239},{"style":1117},[1240],{"type":55,"value":1120},{"type":49,"tag":832,"props":1242,"children":1243},{"style":839},[1244],{"type":55,"value":862},{"type":49,"tag":832,"props":1246,"children":1247},{"style":839},[1248],{"type":55,"value":819},{"type":49,"tag":832,"props":1250,"children":1251},{"style":1131},[1252],{"type":55,"value":1253}," 50000",{"type":49,"tag":832,"props":1255,"children":1256},{"style":839},[1257],{"type":55,"value":1139},{"type":49,"tag":832,"props":1259,"children":1260},{"style":839},[1261],{"type":55,"value":871},{"type":49,"tag":832,"props":1263,"children":1264},{"style":1117},[1265],{"type":55,"value":1148},{"type":49,"tag":832,"props":1267,"children":1268},{"style":839},[1269],{"type":55,"value":862},{"type":49,"tag":832,"props":1271,"children":1272},{"style":839},[1273],{"type":55,"value":819},{"type":49,"tag":832,"props":1275,"children":1276},{"style":1131},[1277],{"type":55,"value":1220},{"type":49,"tag":832,"props":1279,"children":1280},{"style":839},[1281],{"type":55,"value":1166},{"type":49,"tag":832,"props":1283,"children":1285},{"class":834,"line":1284},12,[1286,1290,1294,1298,1302,1306,1311,1315,1319,1323,1327,1331,1335],{"type":49,"tag":832,"props":1287,"children":1288},{"style":839},[1289],{"type":55,"value":1110},{"type":49,"tag":832,"props":1291,"children":1292},{"style":839},[1293],{"type":55,"value":862},{"type":49,"tag":832,"props":1295,"children":1296},{"style":1117},[1297],{"type":55,"value":1120},{"type":49,"tag":832,"props":1299,"children":1300},{"style":839},[1301],{"type":55,"value":862},{"type":49,"tag":832,"props":1303,"children":1304},{"style":839},[1305],{"type":55,"value":819},{"type":49,"tag":832,"props":1307,"children":1308},{"style":1131},[1309],{"type":55,"value":1310}," 100000",{"type":49,"tag":832,"props":1312,"children":1313},{"style":839},[1314],{"type":55,"value":1139},{"type":49,"tag":832,"props":1316,"children":1317},{"style":839},[1318],{"type":55,"value":871},{"type":49,"tag":832,"props":1320,"children":1321},{"style":1117},[1322],{"type":55,"value":1148},{"type":49,"tag":832,"props":1324,"children":1325},{"style":839},[1326],{"type":55,"value":862},{"type":49,"tag":832,"props":1328,"children":1329},{"style":839},[1330],{"type":55,"value":819},{"type":49,"tag":832,"props":1332,"children":1333},{"style":1131},[1334],{"type":55,"value":1220},{"type":49,"tag":832,"props":1336,"children":1337},{"style":839},[1338],{"type":55,"value":1339},"}\n",{"type":49,"tag":832,"props":1341,"children":1343},{"class":834,"line":1342},13,[1344],{"type":49,"tag":832,"props":1345,"children":1346},{"style":839},[1347],{"type":55,"value":1348},"  ],\n",{"type":49,"tag":832,"props":1350,"children":1352},{"class":834,"line":1351},14,[1353,1357,1362,1366,1370],{"type":49,"tag":832,"props":1354,"children":1355},{"style":839},[1356],{"type":55,"value":851},{"type":49,"tag":832,"props":1358,"children":1359},{"style":854},[1360],{"type":55,"value":1361},"metrics",{"type":49,"tag":832,"props":1363,"children":1364},{"style":839},[1365],{"type":55,"value":862},{"type":49,"tag":832,"props":1367,"children":1368},{"style":839},[1369],{"type":55,"value":819},{"type":49,"tag":832,"props":1371,"children":1372},{"style":839},[1373],{"type":55,"value":1101},{"type":49,"tag":832,"props":1375,"children":1377},{"class":834,"line":1376},15,[1378],{"type":49,"tag":832,"props":1379,"children":1380},{"style":839},[1381],{"type":55,"value":1382},"    {\n",{"type":49,"tag":832,"props":1384,"children":1386},{"class":834,"line":1385},16,[1387,1392,1397,1401,1405,1409,1413,1417],{"type":49,"tag":832,"props":1388,"children":1389},{"style":839},[1390],{"type":55,"value":1391},"      \"",{"type":49,"tag":832,"props":1393,"children":1394},{"style":1117},[1395],{"type":55,"value":1396},"metricKey",{"type":49,"tag":832,"props":1398,"children":1399},{"style":839},[1400],{"type":55,"value":862},{"type":49,"tag":832,"props":1402,"children":1403},{"style":839},[1404],{"type":55,"value":819},{"type":49,"tag":832,"props":1406,"children":1407},{"style":839},[1408],{"type":55,"value":871},{"type":49,"tag":832,"props":1410,"children":1411},{"style":874},[1412],{"type":55,"value":738},{"type":49,"tag":832,"props":1414,"children":1415},{"style":839},[1416],{"type":55,"value":862},{"type":49,"tag":832,"props":1418,"children":1419},{"style":839},[1420],{"type":55,"value":886},{"type":49,"tag":832,"props":1422,"children":1424},{"class":834,"line":1423},17,[1425,1429,1434,1438,1442,1447,1451,1456,1460,1464,1469,1473,1478,1482,1486],{"type":49,"tag":832,"props":1426,"children":1427},{"style":839},[1428],{"type":55,"value":1391},{"type":49,"tag":832,"props":1430,"children":1431},{"style":1117},[1432],{"type":55,"value":1433},"onRegression",{"type":49,"tag":832,"props":1435,"children":1436},{"style":839},[1437],{"type":55,"value":862},{"type":49,"tag":832,"props":1439,"children":1440},{"style":839},[1441],{"type":55,"value":819},{"type":49,"tag":832,"props":1443,"children":1444},{"style":839},[1445],{"type":55,"value":1446}," {",{"type":49,"tag":832,"props":1448,"children":1449},{"style":839},[1450],{"type":55,"value":862},{"type":49,"tag":832,"props":1452,"children":1453},{"style":1131},[1454],{"type":55,"value":1455},"notify",{"type":49,"tag":832,"props":1457,"children":1458},{"style":839},[1459],{"type":55,"value":862},{"type":49,"tag":832,"props":1461,"children":1462},{"style":839},[1463],{"type":55,"value":819},{"type":49,"tag":832,"props":1465,"children":1466},{"style":839},[1467],{"type":55,"value":1468}," true,",{"type":49,"tag":832,"props":1470,"children":1471},{"style":839},[1472],{"type":55,"value":871},{"type":49,"tag":832,"props":1474,"children":1475},{"style":1131},[1476],{"type":55,"value":1477},"rollback",{"type":49,"tag":832,"props":1479,"children":1480},{"style":839},[1481],{"type":55,"value":862},{"type":49,"tag":832,"props":1483,"children":1484},{"style":839},[1485],{"type":55,"value":819},{"type":49,"tag":832,"props":1487,"children":1488},{"style":839},[1489],{"type":55,"value":1490}," true},\n",{"type":49,"tag":832,"props":1492,"children":1494},{"class":834,"line":1493},18,[1495,1499,1504,1508,1512],{"type":49,"tag":832,"props":1496,"children":1497},{"style":839},[1498],{"type":55,"value":1391},{"type":49,"tag":832,"props":1500,"children":1501},{"style":1117},[1502],{"type":55,"value":1503},"regressionThreshold",{"type":49,"tag":832,"props":1505,"children":1506},{"style":839},[1507],{"type":55,"value":862},{"type":49,"tag":832,"props":1509,"children":1510},{"style":839},[1511],{"type":55,"value":819},{"type":49,"tag":832,"props":1513,"children":1514},{"style":1131},[1515],{"type":55,"value":1516}," 0.05\n",{"type":49,"tag":832,"props":1518,"children":1520},{"class":834,"line":1519},19,[1521],{"type":49,"tag":832,"props":1522,"children":1523},{"style":839},[1524],{"type":55,"value":1525},"    },\n",{"type":49,"tag":832,"props":1527,"children":1528},{"class":834,"line":26},[1529],{"type":49,"tag":832,"props":1530,"children":1531},{"style":839},[1532],{"type":55,"value":1382},{"type":49,"tag":832,"props":1534,"children":1536},{"class":834,"line":1535},21,[1537,1541,1545,1549,1553,1557,1561,1565],{"type":49,"tag":832,"props":1538,"children":1539},{"style":839},[1540],{"type":55,"value":1391},{"type":49,"tag":832,"props":1542,"children":1543},{"style":1117},[1544],{"type":55,"value":1396},{"type":49,"tag":832,"props":1546,"children":1547},{"style":839},[1548],{"type":55,"value":862},{"type":49,"tag":832,"props":1550,"children":1551},{"style":839},[1552],{"type":55,"value":819},{"type":49,"tag":832,"props":1554,"children":1555},{"style":839},[1556],{"type":55,"value":871},{"type":49,"tag":832,"props":1558,"children":1559},{"style":874},[1560],{"type":55,"value":792},{"type":49,"tag":832,"props":1562,"children":1563},{"style":839},[1564],{"type":55,"value":862},{"type":49,"tag":832,"props":1566,"children":1567},{"style":839},[1568],{"type":55,"value":886},{"type":49,"tag":832,"props":1570,"children":1572},{"class":834,"line":1571},22,[1573,1577,1581,1585,1589,1593,1597,1601,1605,1609,1613,1617,1621,1625,1629],{"type":49,"tag":832,"props":1574,"children":1575},{"style":839},[1576],{"type":55,"value":1391},{"type":49,"tag":832,"props":1578,"children":1579},{"style":1117},[1580],{"type":55,"value":1433},{"type":49,"tag":832,"props":1582,"children":1583},{"style":839},[1584],{"type":55,"value":862},{"type":49,"tag":832,"props":1586,"children":1587},{"style":839},[1588],{"type":55,"value":819},{"type":49,"tag":832,"props":1590,"children":1591},{"style":839},[1592],{"type":55,"value":1446},{"type":49,"tag":832,"props":1594,"children":1595},{"style":839},[1596],{"type":55,"value":862},{"type":49,"tag":832,"props":1598,"children":1599},{"style":1131},[1600],{"type":55,"value":1455},{"type":49,"tag":832,"props":1602,"children":1603},{"style":839},[1604],{"type":55,"value":862},{"type":49,"tag":832,"props":1606,"children":1607},{"style":839},[1608],{"type":55,"value":819},{"type":49,"tag":832,"props":1610,"children":1611},{"style":839},[1612],{"type":55,"value":1468},{"type":49,"tag":832,"props":1614,"children":1615},{"style":839},[1616],{"type":55,"value":871},{"type":49,"tag":832,"props":1618,"children":1619},{"style":1131},[1620],{"type":55,"value":1477},{"type":49,"tag":832,"props":1622,"children":1623},{"style":839},[1624],{"type":55,"value":862},{"type":49,"tag":832,"props":1626,"children":1627},{"style":839},[1628],{"type":55,"value":819},{"type":49,"tag":832,"props":1630,"children":1631},{"style":839},[1632],{"type":55,"value":1633}," false},\n",{"type":49,"tag":832,"props":1635,"children":1637},{"class":834,"line":1636},23,[1638,1642,1646,1650,1654],{"type":49,"tag":832,"props":1639,"children":1640},{"style":839},[1641],{"type":55,"value":1391},{"type":49,"tag":832,"props":1643,"children":1644},{"style":1117},[1645],{"type":55,"value":1503},{"type":49,"tag":832,"props":1647,"children":1648},{"style":839},[1649],{"type":55,"value":862},{"type":49,"tag":832,"props":1651,"children":1652},{"style":839},[1653],{"type":55,"value":819},{"type":49,"tag":832,"props":1655,"children":1656},{"style":1131},[1657],{"type":55,"value":1658}," 0.1\n",{"type":49,"tag":832,"props":1660,"children":1662},{"class":834,"line":1661},24,[1663],{"type":49,"tag":832,"props":1664,"children":1665},{"style":839},[1666],{"type":55,"value":1667},"    }\n",{"type":49,"tag":832,"props":1669,"children":1671},{"class":834,"line":1670},25,[1672],{"type":49,"tag":832,"props":1673,"children":1674},{"style":839},[1675],{"type":55,"value":1676},"  ]\n",{"type":49,"tag":832,"props":1678,"children":1680},{"class":834,"line":1679},26,[1681],{"type":49,"tag":832,"props":1682,"children":1683},{"style":839},[1684],{"type":55,"value":1339},{"type":49,"tag":174,"props":1686,"children":1688},{"id":1687},"step-5-verify",[1689],{"type":55,"value":1690},"Step 5: Verify",{"type":49,"tag":427,"props":1692,"children":1693},{},[1694,1705,1710],{"type":49,"tag":89,"props":1695,"children":1696},{},[1697,1698,1703],{"type":55,"value":504},{"type":49,"tag":93,"props":1699,"children":1701},{"className":1700},[],[1702],{"type":55,"value":109},{"type":55,"value":1704}," to confirm the guarded rollout is active",{"type":49,"tag":89,"props":1706,"children":1707},{},[1708],{"type":55,"value":1709},"Check that the flag shows the rollout configuration in the environment",{"type":49,"tag":89,"props":1711,"children":1712},{},[1713],{"type":55,"value":1714},"Monitor for any immediate regression notifications",{"type":49,"tag":58,"props":1716,"children":1717},{},[1718],{"type":49,"tag":79,"props":1719,"children":1720},{},[1721],{"type":55,"value":1722},"Report results:",{"type":49,"tag":85,"props":1724,"children":1725},{},[1726,1731,1736],{"type":49,"tag":89,"props":1727,"children":1728},{},[1729],{"type":55,"value":1730},"Guarded rollout started with N stages",{"type":49,"tag":89,"props":1732,"children":1733},{},[1734],{"type":55,"value":1735},"M metrics being monitored",{"type":49,"tag":89,"props":1737,"children":1738},{},[1739],{"type":55,"value":1740},"First stage at X% traffic for Y hours",{"type":49,"tag":64,"props":1742,"children":1744},{"id":1743},"stopping-a-rollout",[1745],{"type":55,"value":1746},"Stopping a Rollout",{"type":49,"tag":58,"props":1748,"children":1749},{},[1750],{"type":55,"value":1751},"If issues arise or you need to halt the rollout:",{"type":49,"tag":821,"props":1753,"children":1755},{"className":823,"code":1754,"language":825,"meta":826,"style":826},"{\n  \"projectKey\": \"my-project\",\n  \"flagKey\": \"new-checkout-flow\",\n  \"environmentKey\": \"production\"\n}\n",[1756],{"type":49,"tag":93,"props":1757,"children":1758},{"__ignoreMap":826},[1759,1766,1801,1836,1868],{"type":49,"tag":832,"props":1760,"children":1761},{"class":834,"line":835},[1762],{"type":49,"tag":832,"props":1763,"children":1764},{"style":839},[1765],{"type":55,"value":842},{"type":49,"tag":832,"props":1767,"children":1768},{"class":834,"line":845},[1769,1773,1777,1781,1785,1789,1793,1797],{"type":49,"tag":832,"props":1770,"children":1771},{"style":839},[1772],{"type":55,"value":851},{"type":49,"tag":832,"props":1774,"children":1775},{"style":854},[1776],{"type":55,"value":857},{"type":49,"tag":832,"props":1778,"children":1779},{"style":839},[1780],{"type":55,"value":862},{"type":49,"tag":832,"props":1782,"children":1783},{"style":839},[1784],{"type":55,"value":819},{"type":49,"tag":832,"props":1786,"children":1787},{"style":839},[1788],{"type":55,"value":871},{"type":49,"tag":832,"props":1790,"children":1791},{"style":874},[1792],{"type":55,"value":877},{"type":49,"tag":832,"props":1794,"children":1795},{"style":839},[1796],{"type":55,"value":862},{"type":49,"tag":832,"props":1798,"children":1799},{"style":839},[1800],{"type":55,"value":886},{"type":49,"tag":832,"props":1802,"children":1803},{"class":834,"line":889},[1804,1808,1812,1816,1820,1824,1828,1832],{"type":49,"tag":832,"props":1805,"children":1806},{"style":839},[1807],{"type":55,"value":851},{"type":49,"tag":832,"props":1809,"children":1810},{"style":854},[1811],{"type":55,"value":899},{"type":49,"tag":832,"props":1813,"children":1814},{"style":839},[1815],{"type":55,"value":862},{"type":49,"tag":832,"props":1817,"children":1818},{"style":839},[1819],{"type":55,"value":819},{"type":49,"tag":832,"props":1821,"children":1822},{"style":839},[1823],{"type":55,"value":871},{"type":49,"tag":832,"props":1825,"children":1826},{"style":874},[1827],{"type":55,"value":916},{"type":49,"tag":832,"props":1829,"children":1830},{"style":839},[1831],{"type":55,"value":862},{"type":49,"tag":832,"props":1833,"children":1834},{"style":839},[1835],{"type":55,"value":886},{"type":49,"tag":832,"props":1837,"children":1838},{"class":834,"line":927},[1839,1843,1847,1851,1855,1859,1863],{"type":49,"tag":832,"props":1840,"children":1841},{"style":839},[1842],{"type":55,"value":851},{"type":49,"tag":832,"props":1844,"children":1845},{"style":854},[1846],{"type":55,"value":937},{"type":49,"tag":832,"props":1848,"children":1849},{"style":839},[1850],{"type":55,"value":862},{"type":49,"tag":832,"props":1852,"children":1853},{"style":839},[1854],{"type":55,"value":819},{"type":49,"tag":832,"props":1856,"children":1857},{"style":839},[1858],{"type":55,"value":871},{"type":49,"tag":832,"props":1860,"children":1861},{"style":874},[1862],{"type":55,"value":954},{"type":49,"tag":832,"props":1864,"children":1865},{"style":839},[1866],{"type":55,"value":1867},"\"\n",{"type":49,"tag":832,"props":1869,"children":1870},{"class":834,"line":965},[1871],{"type":49,"tag":832,"props":1872,"children":1873},{"style":839},[1874],{"type":55,"value":1339},{"type":49,"tag":58,"props":1876,"children":1877},{},[1878],{"type":55,"value":1879},"This immediately stops the progressive rollout and locks the flag at its current state.",{"type":49,"tag":64,"props":1881,"children":1883},{"id":1882},"edge-cases",[1884],{"type":55,"value":1885},"Edge Cases",{"type":49,"tag":192,"props":1887,"children":1888},{},[1889,1904],{"type":49,"tag":196,"props":1890,"children":1891},{},[1892],{"type":49,"tag":200,"props":1893,"children":1894},{},[1895,1900],{"type":49,"tag":204,"props":1896,"children":1897},{},[1898],{"type":55,"value":1899},"Situation",{"type":49,"tag":204,"props":1901,"children":1902},{},[1903],{"type":55,"value":718},{"type":49,"tag":215,"props":1905,"children":1906},{},[1907,1927,1947,1965],{"type":49,"tag":200,"props":1908,"children":1909},{},[1910,1915],{"type":49,"tag":222,"props":1911,"children":1912},{},[1913],{"type":55,"value":1914},"Flag is off",{"type":49,"tag":222,"props":1916,"children":1917},{},[1918,1920,1925],{"type":55,"value":1919},"Turn it on first with ",{"type":49,"tag":93,"props":1921,"children":1923},{"className":1922},[],[1924],{"type":55,"value":153},{"type":55,"value":1926}," — rollouts require the flag to be on",{"type":49,"tag":200,"props":1928,"children":1929},{},[1930,1935],{"type":49,"tag":222,"props":1931,"children":1932},{},[1933],{"type":55,"value":1934},"Active rollout exists",{"type":49,"tag":222,"props":1936,"children":1937},{},[1938,1940,1945],{"type":55,"value":1939},"Stop it first with ",{"type":49,"tag":93,"props":1941,"children":1943},{"className":1942},[],[1944],{"type":55,"value":142},{"type":55,"value":1946}," before starting a new one",{"type":49,"tag":200,"props":1948,"children":1949},{},[1950,1955],{"type":49,"tag":222,"props":1951,"children":1952},{},[1953],{"type":55,"value":1954},"No suitable metrics",{"type":49,"tag":222,"props":1956,"children":1957},{},[1958,1960],{"type":55,"value":1959},"Create metrics first with ",{"type":49,"tag":93,"props":1961,"children":1963},{"className":1962},[],[1964],{"type":55,"value":164},{"type":49,"tag":200,"props":1966,"children":1967},{},[1968,1973],{"type":49,"tag":222,"props":1969,"children":1970},{},[1971],{"type":55,"value":1972},"Approval required",{"type":49,"tag":222,"props":1974,"children":1975},{},[1976],{"type":55,"value":1977},"If the environment requires approvals, the tool will return an approval URL",{"type":49,"tag":64,"props":1979,"children":1981},{"id":1980},"what-not-to-do",[1982],{"type":55,"value":1983},"What NOT to Do",{"type":49,"tag":85,"props":1985,"children":1986},{},[1987,1992,1997,2002],{"type":49,"tag":89,"props":1988,"children":1989},{},[1990],{"type":55,"value":1991},"Don't start a guarded rollout on a flag that's turned off",{"type":49,"tag":89,"props":1993,"children":1994},{},[1995],{"type":55,"value":1996},"Don't skip the monitoring window design — rushing through stages defeats the purpose",{"type":49,"tag":89,"props":1998,"children":1999},{},[2000],{"type":55,"value":2001},"Don't set regression thresholds to 0 — small fluctuations are normal",{"type":49,"tag":89,"props":2003,"children":2004},{},[2005],{"type":55,"value":2006},"Don't forget to configure at least one metric — a rollout without monitoring is just a regular rollout",{"type":49,"tag":2008,"props":2009,"children":2010},"style",{},[2011],{"type":55,"value":2012},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":2014,"total":2096},[2015,2032,2041,2053,2064,2074,2082],{"slug":2016,"name":2016,"fn":2017,"description":2018,"org":2019,"tags":2020,"stars":26,"repoUrl":27,"updatedAt":2031},"agent-graphs","create and manage agent graphs","Create and manage agent graphs — directed graphs of configs connected by edges with handoff logic. Use when building multi-agent workflows where configs route to each other.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2021,2024,2027,2028],{"name":2022,"slug":2023,"type":15},"Agents","agents",{"name":2025,"slug":2026,"type":15},"Architecture","architecture",{"name":9,"slug":8,"type":15},{"name":2029,"slug":2030,"type":15},"Multi-Agent","multi-agent","2026-07-28T05:33:33.709407",{"slug":2033,"name":2033,"fn":2034,"description":2035,"org":2036,"tags":2037,"stars":26,"repoUrl":27,"updatedAt":2040},"aiconfig-agent-graphs","manage agent graphs","DEPRECATED redirect — this skill was renamed to agent-graphs. Do not use this skill; invoke agent-graphs instead. Kept only so old references to aiconfig-agent-graphs still point users to the new name.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2038,2039],{"name":2022,"slug":2023,"type":15},{"name":2025,"slug":2026,"type":15},"2026-05-22T06:55:56.527064",{"slug":2042,"name":2042,"fn":2043,"description":2044,"org":2045,"tags":2046,"stars":26,"repoUrl":27,"updatedAt":2052},"aiconfig-ai-metrics","manage built-in AI metrics","DEPRECATED redirect — this skill was renamed to built-in-metrics. Do not use this skill; invoke built-in-metrics instead. Kept only so old references to aiconfig-ai-metrics still point users to the new name.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2047,2050,2051],{"name":2048,"slug":2049,"type":15},"Analytics","analytics",{"name":9,"slug":8,"type":15},{"name":277,"slug":1361,"type":15},"2026-05-22T06:55:53.858749",{"slug":2054,"name":2054,"fn":2055,"description":2056,"org":2057,"tags":2058,"stars":26,"repoUrl":27,"updatedAt":2063},"aiconfig-create","redirect to configs-create skill","DEPRECATED redirect — this skill was renamed to configs-create. Do not use this skill; invoke configs-create instead. Kept only so old references to aiconfig-create still point users to the new name.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2059,2060],{"name":9,"slug":8,"type":15},{"name":2061,"slug":2062,"type":15},"Reference","reference","2026-05-22T06:55:41.790591",{"slug":2065,"name":2065,"fn":2066,"description":2067,"org":2068,"tags":2069,"stars":26,"repoUrl":27,"updatedAt":2073},"aiconfig-custom-metrics","configure custom metrics in LaunchDarkly","DEPRECATED redirect — this skill was renamed to custom-metrics. Do not use this skill; invoke custom-metrics instead. Kept only so old references to aiconfig-custom-metrics still point users to the new name.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2070,2071,2072],{"name":2048,"slug":2049,"type":15},{"name":20,"slug":21,"type":15},{"name":9,"slug":8,"type":15},"2026-05-22T06:55:57.84851",{"slug":2075,"name":2075,"fn":2076,"description":2077,"org":2078,"tags":2079,"stars":26,"repoUrl":27,"updatedAt":2081},"aiconfig-migrate","redirect to migrate skill","DEPRECATED redirect — this skill was renamed to migrate. Do not use this skill; invoke migrate instead. Kept only so old references to aiconfig-migrate still point users to the new name.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2080],{"name":2061,"slug":2062,"type":15},"2026-05-22T06:55:44.464733",{"slug":2083,"name":2083,"fn":2084,"description":2085,"org":2086,"tags":2087,"stars":26,"repoUrl":27,"updatedAt":2095},"aiconfig-online-evals","run online evaluations","DEPRECATED redirect — this skill was renamed to online-evals. Do not use this skill; invoke online-evals instead. Kept only so old references to aiconfig-online-evals still point users to the new name.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2088,2091,2092],{"name":2089,"slug":2090,"type":15},"Evals","evals",{"name":9,"slug":8,"type":15},{"name":2093,"slug":2094,"type":15},"Testing","testing","2026-05-22T06:55:55.179617",49,{"items":2098,"total":2096},[2099,2106,2111,2117,2122,2128,2132,2138,2149,2158,2168,2177],{"slug":2016,"name":2016,"fn":2017,"description":2018,"org":2100,"tags":2101,"stars":26,"repoUrl":27,"updatedAt":2031},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2102,2103,2104,2105],{"name":2022,"slug":2023,"type":15},{"name":2025,"slug":2026,"type":15},{"name":9,"slug":8,"type":15},{"name":2029,"slug":2030,"type":15},{"slug":2033,"name":2033,"fn":2034,"description":2035,"org":2107,"tags":2108,"stars":26,"repoUrl":27,"updatedAt":2040},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2109,2110],{"name":2022,"slug":2023,"type":15},{"name":2025,"slug":2026,"type":15},{"slug":2042,"name":2042,"fn":2043,"description":2044,"org":2112,"tags":2113,"stars":26,"repoUrl":27,"updatedAt":2052},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2114,2115,2116],{"name":2048,"slug":2049,"type":15},{"name":9,"slug":8,"type":15},{"name":277,"slug":1361,"type":15},{"slug":2054,"name":2054,"fn":2055,"description":2056,"org":2118,"tags":2119,"stars":26,"repoUrl":27,"updatedAt":2063},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2120,2121],{"name":9,"slug":8,"type":15},{"name":2061,"slug":2062,"type":15},{"slug":2065,"name":2065,"fn":2066,"description":2067,"org":2123,"tags":2124,"stars":26,"repoUrl":27,"updatedAt":2073},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2125,2126,2127],{"name":2048,"slug":2049,"type":15},{"name":20,"slug":21,"type":15},{"name":9,"slug":8,"type":15},{"slug":2075,"name":2075,"fn":2076,"description":2077,"org":2129,"tags":2130,"stars":26,"repoUrl":27,"updatedAt":2081},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2131],{"name":2061,"slug":2062,"type":15},{"slug":2083,"name":2083,"fn":2084,"description":2085,"org":2133,"tags":2134,"stars":26,"repoUrl":27,"updatedAt":2095},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2135,2136,2137],{"name":2089,"slug":2090,"type":15},{"name":9,"slug":8,"type":15},{"name":2093,"slug":2094,"type":15},{"slug":2139,"name":2139,"fn":2140,"description":2141,"org":2142,"tags":2143,"stars":26,"repoUrl":27,"updatedAt":2148},"aiconfig-projects","manage AI configuration projects","DEPRECATED redirect — this skill was renamed to projects. Do not use this skill; invoke projects instead. Kept only so old references to aiconfig-projects still point users to the new name.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2144,2147],{"name":2145,"slug":2146,"type":15},"Configuration","configuration",{"name":9,"slug":8,"type":15},"2026-05-22T06:55:48.522229",{"slug":2150,"name":2150,"fn":2151,"description":2152,"org":2153,"tags":2154,"stars":26,"repoUrl":27,"updatedAt":2157},"aiconfig-snippets","manage AI configuration snippets","DEPRECATED redirect — this skill was renamed to snippets. Do not use this skill; invoke snippets instead. Kept only so old references to aiconfig-snippets still point users to the new name.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2155,2156],{"name":2145,"slug":2146,"type":15},{"name":9,"slug":8,"type":15},"2026-05-22T06:55:47.16557",{"slug":2159,"name":2159,"fn":2160,"description":2161,"org":2162,"tags":2163,"stars":26,"repoUrl":27,"updatedAt":2167},"aiconfig-targeting","configure LaunchDarkly targeting rules","DEPRECATED redirect — this skill was renamed to configs-targeting. Do not use this skill; invoke configs-targeting instead. Kept only so old references to aiconfig-targeting still point users to the new name.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2164,2165,2166],{"name":2145,"slug":2146,"type":15},{"name":20,"slug":21,"type":15},{"name":9,"slug":8,"type":15},"2026-05-22T06:55:49.845445",{"slug":2169,"name":2169,"fn":2170,"description":2171,"org":2172,"tags":2173,"stars":26,"repoUrl":27,"updatedAt":2176},"aiconfig-tools","redirect to tools skill","DEPRECATED redirect — this skill was renamed to tools. Do not use this skill; invoke tools instead. Kept only so old references to aiconfig-tools still point users to the new name.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2174,2175],{"name":9,"slug":8,"type":15},{"name":2061,"slug":2062,"type":15},"2026-05-22T06:55:39.13373",{"slug":2178,"name":2178,"fn":2179,"description":2180,"org":2181,"tags":2182,"stars":26,"repoUrl":27,"updatedAt":2185},"aiconfig-update","redirect to configs-update skill","DEPRECATED redirect — this skill was renamed to configs-update. Do not use this skill; invoke configs-update instead. Kept only so old references to aiconfig-update still point users to the new name.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[2183,2184],{"name":9,"slug":8,"type":15},{"name":2061,"slug":2062,"type":15},"2026-05-22T06:55:40.464884"]