# 214 — Diagnosis *2026-10-03.* A plan learns a tier's outcome only through `planBuilt`, called when a controller takes in a build result off the bus. A merge to the controller's repository replaces the controller in tier 0; the build that produced the new controller was recorded, but the plan state the new controller loaded still read `asked`, and no path ever revisited it. **Fix (branch `fix/issue-214-a-plan-settles-from-the-build-records`, commit d86baeb):** `advanceOnce` settles every still-asked module from its build records — a build recorded after the ask is that ask's outcome, built or failed — on every advance and on the 30-second ticker. Tested with a pure helper. Live proof: the next merge to mesh-controller passes tier 0 on its own.