What is the problem or goal you're trying to solve or accomplish?
They're building tabbed dashboards programmatically with an AI agent (Cursor). When the layout contains an invalid parent/child combination, the API accepts it and the dashboard renders as a blank page. There's no error from the API, no error in the browser console, and tab headers still show. That makes the problem very hard to diagnose. Here it was a GRID under each TAB, which the UI never produces.
How are you solving it currently?
Fixing each layout by hand once someone has worked out the cause. It went through several rounds of debugging with Cursor, which concluded, wrongly, that API-written tabs can't work at all, and recommended building tabs manually in the UI.
What is your recommended solution?
The PUT /api/v1/dashboard/{id} endpoint should either validate TABS-containing position_json against the rules the frontend enforces and return an error if it's malformed, or document the exact required schema