c8de58d6d3
The Equipment, UNS Structure, Namespaces, Drivers, Tags, and ACLs tabs all rendered only an "Open a draft to edit" placeholder when no draft was open — even when the cluster had a fully populated published generation. docs/v2/admin-ui.md \xa7Cluster Detail describes these as "read-only views of the published generation" with an "Edit in draft" affordance; that view was never wired. The earlier code path also correctly rendered nothing when the cluster had no published gen yet, which was indistinguishable from the broken state. Collapse the six per-tab conditions into one shared branch that threads the published gen ID into the existing tab components when no draft exists, wrapped in <fieldset disabled> so any Add/Edit button click in the read-only state cannot silently mutate published rows even though the tab components themselves don't yet honor an IsReadOnly flag. Banner above the content explains the state. Surgical: zero changes to the ~1500 LoC across the six tab components. Verified live on cluster-dev gen 1: Drivers tab now shows the cluster-dev-galaxy-main GalaxyMxGateway row read-only; Namespaces tab shows cluster-dev-galaxy-ns SystemPlatform row; both with the read-only banner and visibly disabled affordances. Follow-up worth doing later: refactor each tab component to accept an IsReadOnly parameter so the disabled-affordance UX is per-tab rather than a blanket fieldset opacity wash. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>