9c855ede4712ee8782f4fa618794c0cce864291c
The board's flash is 8MB, but neither flash size nor partition table were pinned in sdkconfig.defaults, so a fresh clone would silently fall back to IDF's default (2MB flash, ~1MB "single app" partition table) rather than what this project was actually being built/tested against. Building against that default left only 4% of the app partition free before the HTTP client work (task 6) even lands. Adds a custom partitions.csv with a 2MB app partition and pins CONFIG_ESPTOOLPY_FLASHSIZE_8MB so the committed config reproduces a working build for anyone else who clones this.