Maskinöversatt från engelska — källa: scale-or-kill.md.
Implementeringsstatus: Designanteckning — implementerar visionsåtagande (c): "Om något fungerar → skala det automatiskt. Om något inte fungerar → stäng av det automatiskt."
Byggt idag: inget. Det finns ingen feature-flag-tjänst kopplad till dashboarden eller dashboard-server, ingen schemalagd skala-eller-stäng-av-agent, och ingen mätpipeline som läser post-merge-funktionsutfall.
Mål-tillägg: uttryckligen grindade bakom gap-listpunkterna 1–6 från darwin-component-map.md §(c). En feature-flag-leverantör (GrowthBook eller motsvarande), per-PRD
primary_metric/regression_threshold/ramp_window_daysi frontmatter (föreslaget i SCHEMA.md), och den dagliga beslutsagenten byggd påschedule-färdigheten. Implementera inte innan PRD-till-PR-pipelinen producerar riktig genomströmningsdata.
Manuell upprampning och tillbakarullning är upprepande uppgifter. Enligt visionsregeln, "om människor upprepar en uppgift är systemet fel." Denna sida beskriver mekanismen som tar människan ur skala/stäng-av-loopen.
De två automatiseringarna
Skala (auto-promotera)
När en funktions post-merge-mätvärden slår dess PRD-baseline N dagar i rad rampar feature-grinden automatiskt:
1% → 10% → 25% → 50% → 100% under 5 dagar, grindad av daglig mätarkontroll
Om mätvärdet regresserar i något steg pausas rampningen och vänder (se "stäng av" nedan).
Stäng av (auto-tillbakarulla)
När en funktions post-merge-mätvärden regresserar förbi en tröskel N dagar i rad stängs feature-flaggan av automatiskt:
flag.enabled = falsevia grindleverantörens API.- Öppna en uppföljningsplan i
wiki/plans/som beskriver regressionen, medimplementation_status: plannedoch den felande feature-flaggans namn i titeln. - Notifiera den mänskliga kanalen via Telegram.
Koden stannar i main — bara flaggan vänder. Att aktivera igen är ett separat beslut som återinträder i PRD-pipelinen.
Krävs för att detta ska fungera
| Pjäs | Status |
|---|---|
| Feature-flag-tjänst | Krävs — GrowthBook eller motsvarande. Inte ännu kopplad i detta repo. |
| Per-funktions metrik-definitioner | Krävs — varje PRD måste deklarera ett primärt mätvärde och en regressions-tröskel. |
| Schemalagd skala-eller-stäng-av-agent | Byggs på schedule-färdigheten: dagligt vakn-up, fråga mätvärden, besluta ramp / håll / tillbakarulla. |
| Genomströmnings-dashboard | Byggs på .compound-state/agent-service.db — se throughput-and-business-signals.md. |
| Notifikationsväg | Återanvänd interface-agent för Telegram vid varje ramp / tillbakarullnings-beslut. |
PRD-mallen behöver två nya fält som inte finns idag:
primary_metric: "promotion_rate_pct" # vad ska bevakas
regression_threshold: -2.0 # tillbakarulla om mätvärdet faller med ≥2 punkter
ramp_window_days: 5 # kadens för full utrullning
Dessa måste landa i SCHEMA.md som del av att implementera denna sida; se roadmap-posten i wiki-as-agent-substrate-2026-04-29.md.
Vad agenten läser
inputs:
- flagg-tillstånd från grindleverantör (per funktion, nuvarande ramp-procent)
- metrik-lager: 7-dagars-fönster för varje funktions primary_metric
- PRD-frontmatter: primary_metric, regression_threshold, ramp_window_days
- kassabudget: från finanssignal (se sidan om business-signals)
outputs (per funktion, per dag):
- beslut: ramp_up | hold | hold_with_warning | roll_back
- skäl: maskinläsbart + mänsklig paragraf
- notifikation: postad till Telegram om beslut != hold
Varför detta inte är en feature-flag-tjänst
En feature-flag-tjänst exponerar en flagga och låter en människa rampa den. Denna sida beskriver agenten som bestämmer vad som ska göras med tjänsten. De två är komplementära. Vi behöver:
- Leverantör (t.ex. GrowthBook) — för flagg-rörsystemet.
- Beslutsagent (denna sida) — för självstyret.
Utan agenten faller varje "ska vi rampa?"-beslut tillbaka på en människa; vi har bara automatiserat mekaniken, inte arbetet.
Vad "stäng av" inte betyder
Stäng av vänder flaggan, inte koden. Diffen stannar i main. Resonemanget:
- Att återställa kod vid tillbakarullning skapar en deployment-storm (varje beroende del måste också återställas).
- Att aktivera igen senare är en flagg-vändning, inte en re-merge.
- Spårbarheten är renare: PR landade, flagga aktiverad, mätvärde regresserade, flagga avaktiverad. Varje händelse är sin egen commit / log-rad.
Om en funktion konsekvent misslyckas och teamet bestämmer att ta bort den, är det en separat städningss-PR — agenten flaggar det scenariot men auto-mergear inte en kod-revert.
Felmoder
- Mätpipeline-utfall → agenten antar "ingen signal" och håller. Auto-tillbakarullar aldrig på saknad data; saknad data är inte regression.
- Kassabudget överskriden → rampning pausas oavsett mätvärden. Befintliga utrullade funktioner rullas inte tillbaka, men nya rampningar fryses.
- Två funktioner konkurrerar om samma mätvärde → agenten flaggar konflikten och frågar människan. Skiljedöm inte automatiskt.
Korsreferenser
- Vision och mandat — åtagande (c).
- Genomströmning och affärssignaler — kassabudget-inputen.
- PRD-till-PR-pipeline — var
primary_metric/regression_thresholdläggs till i PRD-frontmattern. - Wiki som agent-substrat (roadmap) — konkreta steg för att implementera detta.
schedule-färdighet (Claude first-party) — cron-primitiven som den dagliga agenten körs på.