I found several real schematic-level issues: the I2C pull-ups, MCP23008 address/reset bias resistors, and MCP23008 decoupling cap are present but floating; several required/important control pins are also floating. Full findings and fix order are in the Schematic-Level Design Review — Disky project file.
Done — I wired R1/R2 as I2C pull-ups to 3V3, R3 to pull MCP23008 RESET up to 3V3, R4/R5/R6 as address pull-downs to GND, and C13 between MCP23008 VDD/3V3 and GND. Verification now shows those requested connections are present; MCP23008 still has unrelated floating GP6, GP7, and INT warnings.