Scope
These laws govern MONOLITH frontend behavior and user-facing cleanliness.
Violations are regressions and must be corrected immediately.
LAWClaim Panel Clean Default
The claim panel stays clean by default.
No raw JSON, no debug blocks, no validation spam, no error noise on initial load.
- On first load, show only instructions and inputs
- No error content renders until tile select or claim submit
- If no tile is selected, the UI shows no tile-invalid output
LAWFeedback Trigger Rule
Claim feedback becomes eligible to show only after one trigger event.
- Tile selected in the wall UI
- Submit pressed in the claim UI
Internal validation may run anytime, output may not render until triggered.
LAWDebug Gate
Debug output is forbidden in the default experience.
- Debug output requires
?debug=1
- Even with
?debug=1, debug output shows only after a trigger
- Without
?debug=1, debug output stays hidden and empty
LAWUser Facing Errors Must Be Human
User facing errors stay short and readable. Raw objects are debug-only.
- Show a single sentence, not JSON
- Raw response bodies go to debug only
- No stack traces or internal exception dumps in default UI
LOCKNon Negotiables
- PASS Default view stays clean
- PASS Errors appear only after select or submit
- PASS Debug only with
?debug=1
- FAIL Any raw JSON visible on load
- FAIL Any debug output visible without
?debug=1