From 51cee23a275586056c2ee83667d8d02a6a410945 Mon Sep 17 00:00:00 2001 From: YeonGyu-Kim Date: Thu, 23 Apr 2026 03:06:22 +0900 Subject: [PATCH] =?UTF-8?q?roadmap:=20principle=20=E2=80=94=20integration?= =?UTF-8?q?=20bandwidth=20as=20constraint=20when=20queue=20is=20saturated?= =?UTF-8?q?=20(from=20#62=20framing)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ROADMAP.md | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/ROADMAP.md b/ROADMAP.md index b56ac59..6e30047 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -7905,3 +7905,81 @@ A naive fix — intercepting `rest.len() > 1 && bare_slash_command_guidance(rest --- + +--- + +## Principle: When Queue Is Saturated, Integration Bandwidth IS The Constraint + +**Source:** gaebal-gajae framing on cycle #62 status (2026-04-23 03:04 Seoul). Key quote: "The actual constraint is **integration bandwidth**, not missing pinpoints. If we keep moving code, the best next bounded implementation target is still #249; if we optimize throughput, the best move is review/merge pressure on the 12 queued branches instead of spawning branch 13." + +### Statement + +With N review-ready branches awaiting review (N ≥ 5), the **rate-limiting resource** shifts from "find bugs" to "get code merged." Every new branch past N: + +1. Increases cognitive load on reviewer (has to context-switch across N+1 surfaces) +2. Increases rebase probability (each new branch forks from increasingly-stale main) +3. Duplicates review signal (similar patterns reviewed multiple times) +4. Delays ALL queued branches by compounding the backlog + +### The Shift In Optimization Target + +**When queue is small (N < 5):** Find bugs, ship code. Branches are investments; review comes fast. + +**When queue is saturated (N ≥ 5):** Focus on throughput. Actions: +- Prep PR-ready summaries for highest-priority queued branches +- Do pre-review self-audit (explain the change, predict reviewer concerns) +- Group related branches for batch review (e.g., help-parity family, suffix-guard family) +- Consolidate smaller fixes into meta-PRs if appropriate +- **NOT:** Spawn branch 13 before branch 1 lands + +### How Cycle #61 Violated This + +Cycle #61 attempted a fix on #160 (resume + args). When the fix broke 3 tests, I didn't just file the investigation — I had already created the branch `feat/jobdori-160-resume-slash-dispatch` (locally). The revert was clean, but **the branch creation itself was premature work.** + +Correct sequence: +1. Discover bug via dogfood ✅ +2. File pinpoint ✅ +3. Attempt fix in scratch buffer (no branch) ❌ (I branched first) +4. If fix works AND queue is saturated: file branch-ready patch as ROADMAP attachment +5. If fix requires design decision: file investigation update + +Branch creation should be the LAST step, not the first. + +### Applied Going Forward + +Cycle #62 onward: + +**Dogfood cycles (bug discovery):** +- Probe surface +- File pinpoint with full trace +- Implement fix in scratch (git stash or temp file) +- Verify tests pass +- **Only then:** create branch and push + +**Integration cycles (queue throughput):** +- Review 1-2 queued branches against current main +- Rebase if needed +- Prep PR description / expected reviewer Q&A +- Flag for reviewer attention if it's been stale + +### Anti-Pattern + +❌ **Queue-insensitive branching.** Creating new branches when queue has 12+ pending. Compounds the problem. + +❌ **Speculative implementation.** Implementing fixes before design questions resolve (cycle #61 #160 attempt). Burns time that could go to queued branches. + +❌ **Branch-as-scratch.** Using `feat/jobdori-N` branches for exploration. Use `/tmp/scratch-N/` or a stashed WIP instead. + +### The Scale Shift + +At queue N=12, even a 5-minute branch creation compounds: +- 12 existing branches × 1 minute context-switch cost = 12-minute reviewer load +- +1 new branch = 13 × 1 = 13-minute load (8% reviewer tax increase) +- Over 10 cycles: 80 minutes extra reviewer load for marginal velocity gain + +At queue N=2, branch creation is nearly free. + +**Policy:** When N ≥ 5, every new branch requires explicit justification (cycle type: velocity *and* reviewer-ready). + +--- +