From 8740ac8d2f260c6fc60deab526bca6c5df8e9582 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 21 Jul 2026 01:23:39 +0000 Subject: [PATCH 1/3] Add page/button wiring guardrails and fix audited defects A repo-wide wiring audit found the app well-wired, with a few real gaps. This fixes the clear-cut defects and installs a prevention layer so the class of bug (dead buttons, orphan routes) is caught by a gate instead of by a user noticing a control that does nothing. Fixes: - Wire the dead "Language and region" globe button in the workflow header to the codebase's disabled "coming soon" placeholder convention (aria-disabled + sr-only note); it was styled and labelled but had no handler and was not disabled. - Correct three stale doc claims: the /documents/source redirect target in the site-map generator (canonical /documents/[id], not the invalid-id /documents/search fallback the first-redirect regex captured), and, in codebase-index, /applications (a redirect, not a composer mode home) plus the missing dsm/specifiers mode-param redirects. Prevention: - New AGENTS.md `page-and-button-wiring` durable rule block. - New local ESLint rule `require-button-wiring` flagging a ` + + Thing is coming soon. + +``` + +**Read-only indicators are not controls.** The shared `ToggleSwitch` (`ui-primitives.tsx`) renders an +operable `role="switch"` only when an `onToggle` is passed; without it, it is a presentational +indicator by design — a "switch" with no handler is intentional, not a dead control. + +**Never** ship a styled, `aria-label`led ` + + Language and region settings are coming soon. +