DL-229
The commands-as-inventory rule shared by RIG-2482 (overlay) and RIG-2483 (palette): register = actionable-from-anywhere (bounded by declared scope); a dispatching surface (the palette’s action mode) reads the registry, a display surface (the overlay) reads the keymap; a command is registered beside its behavior, never purely for discoverability; the tier-3 scope gate (DL-227) is what makes a scope:"main" registration safe app-wide, so the registry is the palette’s single honest inventory without any surface leaking global dispatch. The eight list.* ids register via Bridge (Bridge.tsx:433-450 pattern, scope:"main", run mirroring onCommand, retracted onCleanup) under this rule. A registry discoverable:true display-only flag was rejected as a second registration semantic that lets an entry lie about being actionable.
Status: Active (Matt, 2026-08-22)
Record: ../../meta/compass-tier3-scope-gate/design.md#decisions