Know better, do better

  • The goal is to improve our information/knowledge at every step of the process. Once we know better, we can do better.
  • For example, features and incidents both follow the same overall process. Doing this ensures that our process is reliable.
  • Every workflow state is its own short-lived branch, and around each branch a whole crew of people and AI agents collaborate.
  • Whenever a crew is done with a state, the Change moves to the next state (state: building, state: QA …) and that move is a fresh squash commit on trunk.
  • On the left, feature #42 moves deliberately through discuss , build (which includes shipping to production) , QA, then its owner closes it.
  • On the right, incident #98 is opened later by a monitoring bot and it also cycles through discuss, QA, close.
feature #42 trunk · time ↓ incident #98 #42 in backlog #98 incident opened #42 → state: building #98 → state: building #98 → state: QA owner closes #98 · fast #42 → state: QA owner closes #42
Send login OTPs over both SMS and WhatsApp.
Scope: v1 is phone-based login only.
OTP messages must not log the code.
What happens if the OTP SMS never arrives?
Colorblind users need more than color on the buttons.
votes reach +2 → state: building
+ func SendOTP(phone) via SMS+WhatsApp
+ retry with 30s backoff, fall back SMS→WhatsApp
build passed on push a1b2c3
otp variable is untyped — make it string.
+ test: expired OTP is rejected after 5 min
app boots, /login returns 200
password login still works unchanged.
OTP input needs an aria-label.
held 2k OTP sends/min, p95 = 240ms.
Add a ‘resend code’ link after 30s.
leading-zero OTPs get truncated — fix.
🚀 shipped to production (v5.3.0)
docs: Log in with a one-time code → state: QA
A/B: OTP login lifts sign-ins +12%.
login flow green on staging
Wrong OTP 3× locks the account, as spec’d.
No regressions across 40 existing flows.
Meets acceptance: code arrives < 10s.
Screen reader announces the OTP field.
Verified on iOS 16 + Android 12 keyboards.
✅ QA signs off → owner closes
5xx on /login spiked to 38% — page on-call.
Sev-1, clock started, 60-min SLA.
WhatsApp OTP call has no timeout → threads hang.
Confirmed — reproduces on prod.
consensus in 4 min → state: building
+ ctx, cancel := WithTimeout(3s) on WhatsApp call
Fix looks right — also fall back to SMS.
CI green on hotfix d4e5f6
Canary on 5%: 5xx back to 0.1%.
🚀 rolled out to 100% of traffic
Latency normal → state: QA
Reached out to the 12 users who got locked out.
Error rate flat for 30 min.
✅ users confirm login works → owner closes