observer: consolidate palette, grouped sort, form-first layout
- define semantic --status-{active,stale,error,inactive} vars in the shell and collapse observer badge/card variants onto the shared palette
- return thresholds from /app/observer/api/list, sort observers active→stale→inactive on the server, and render sibling-injected group headers from the client with the same freshness cutoffs
- promote the add-observer form to always-visible, remove the empty CTA/toggle/collapsible wrapper, and switch the empty state to a plain heading
- add a sandbox-only observer seeder + make sandbox-seed-observers for four-state visual checks, refresh the observer API/visual baselines, and keep observer escaping on AppServices via a lazy wrapper so the workspace still renders before shell JS attaches services
This is a binary file and will not be displayed.