AI coding 세션이 길어질수록 요구사항이 사라졌다: acceptance ledger를 둔 이유 2026년 10월 6일·7 분 AI 보조 코딩 세션이 길어질수록 초기 요구사항과 검증 기준이 흐려진 사례를 바탕으로, 대화형 체크포인트 대신 실행 가능한 acceptance ledger를 둔 이유와 운영 규칙을 정리한다.
Tail sampling을 켰더니 장애 trace가 사라졌다: decision budget을 먼저 잡은 이유 2026년 10월 5일·7 분 OpenTelemetry tail sampling을 비용 절감 목적으로 붙인 뒤 정작 장애 분석에 필요한 trace가 누락된 사례를 바탕으로, trace 라우팅, decision wait, 메모리 한도, fallback 정책을 운영 계약으로 나눈 과정을 정리한다.
Count-Min Sketch로 abuse를 잡았더니 정상 tenant가 차단됐다: promotion rule을 둔 이유 2026년 10월 5일·8 분 API abuse 탐지를 위해 Count-Min Sketch를 실시간 rate 신호로 붙인 뒤 정상 tenant가 오탐 차단된 사례를 바탕으로, 스케치의 과대 추정과 exact recheck, promotion rule을 운영 기준으로 나눈 과정을 정리한다.
SBOM을 붙였더니 CI가 더 시끄러워졌다: VEX를 예외 계약으로 만든 이유 2026년 10월 4일·6 분 SBOM scanner를 release gate에 붙인 뒤 CVE 알림이 폭증하고 suppressions가 쌓인 사례를 바탕으로 VEX, 만료 시간, 재검증 ledger로 취약점 triage를 운영 계약화한 과정을 정리한다.
MCP tool을 붙였더니 권한 감사가 사라졌다: allowlist를 실행 계약으로 바꾼 이유 2026년 10월 4일·8 분 MCP 서버를 여러 agent에 붙인 뒤 tool 노출과 실행 권한이 어긋난 사례를 바탕으로 allowlist, gateway 정책, audit replay를 실행 계약으로 관리한 방법을 정리한다.
Outbox relay를 두 리전에서 켰더니 이벤트 순서가 깨졌다: fencing token을 붙인 이유 2026년 10월 3일·6 분 멀티 리전 전환 뒤 outbox relay를 양쪽에서 켜자 같은 aggregate의 이벤트 순서가 뒤집혔다. 리전별 lease, fencing token, shard ownership 기준으로 복구한 과정을 정리한다.
Kafka consumer lag는 왜 배포 때만 튀었나: rebalance를 ownership 계약으로 다뤘다 2026년 10월 3일·6 분 Kafka consumer rolling deploy 때마다 lag가 튀던 팀이 static membership과 cooperative rebalance만으로 부족했던 이유를 ownership, shutdown, commit 계약으로 정리한 기록이다.
gRPC deadline을 전파했는데 장애가 커진 이유: timeout budget을 계층별로 나눴다 2026년 10월 3일·6 분 클라이언트 deadline을 모든 내부 gRPC 호출에 전파했지만 checkout 장애 때 downstream 부하가 더 커졌다. 전체 deadline, 계층별 timeout budget, hedging 정책을 분리해 tail latency를 줄인 과정을 정리한다.
Bazel remote execution을 켰는데 CI가 더 느려진 이유 2026년 5월 29일·6 분 Bazel RBE를 붙였지만 p95 CI 시간이 늘어난 팀이 action boundary, hermetic input, cache-hit 관측을 다시 잡으면서 원격 실행을 운영 가능한 도구로 바꾼 기록이다.
결제 saga가 보상 트랜잭션을 두 번 실행했다: state machine으로 되돌린 이유 2026년 5월 16일·7 분 주문과 결제를 나눈 뒤 보상 트랜잭션이 중복 실행되며 환불과 재고 복구가 엇갈렸다. saga를 이벤트 흐름이 아니라 상태 기계와 재시도 원장으로 관리한 기준을 정리한다.