A two-agent audit of busted features and missing links, and the fixes for everything it confirmed.
Concept home v2 (/v2, noindexed) — a 'warm workroom' direction synthesized from three style references (7shifts, Notion, Aboard): warm bone canvas, a single indigo pill CTA per viewport, the five module hues as a sticky-note pastel card cast replacing shadows, 84px tight-tracked editorial display type with a hand-drawn amber underline and a pill-marked word, an audience marquee ticker, a full-bleed ink band with hue-highlighted phrases and before/after pairs, tilted pastel product plates framing real FeaturePreview mockups, scenario quote cards, and 99px pill buttons throughout.
High-severity: cross-org 'We've shared' links no longer 404 for Share items (they special-case to the Share list like the inbound list always did); resending an invitation keeps its group assignments (the RPC upsert was overwriting them with []); and an org can no longer lose its last admin — changeMemberRole blocks self-demotion and demoting the final admin, with the self controls disabled in Members and Team.
Invitations now reach existing members: the resolver checks pending invitations before the single-org redirect (with a 'Not now' direct-to-org exit on the accept screen so it can't loop), the multi-org picker shows a pending-invitations banner, and declined/revoked invitations appear as 'Recent invitation responses' on the Members page instead of silently vanishing.
Quiz scores are actually recorded (stored as a percentage on completion) and surfaced as a per-member 'Quiz avg' column on course Completions; broadcast acknowledgments ('Got it') now show next to the read rate via a new ack_count in broadcast_receipts; pinned broadcasts float to the top of the list like Discuss and Share.
Global search: people link to their profile page (not the directory), and lesson titles are findable (shown as 'Lesson · {course}' in the courses group). Audit log renders labels for branding, setup-launch, and invite events instead of raw action strings. Notification mark-read rolls back with a toast on failure instead of silently reverting.
Demo parity on the product: the topbar command trigger became the demo's wide centred search field ('Search people, threads, decisions…' + shortcut hint); draft rows adopted the demo card anatomy (module icon tile on the soft hue, module pill, context line, 'edited …' meta); discussion rows show a 'with …' participant avatar stack (unique repliers, capped at 3 + overflow); and the Discuss page gained the demo-style left rail — categories and tags with counts as filters (compact chips on mobile) — with the list re-ordered by latest activity so threads with fresh replies rise (pinned still first).
Demo tree cleanup: 40 hardcoded /demo/-prefixed hrefs (module routes, sidebar, topbar, command menu, mock reminders/activity) became bare paths — they only worked via a proxy redirect safety net. The marketing feature pages' 'Try it live' CTA now uses the absolute demo-host URL like every other cross-host link. Dead createGroup/updateGroup server actions removed (saveGroup is the one write path). The design-system landing's version badge is finally live data — it reads the latest changelog entry and links here (it had said 'v0.1 alpha' since the beginning).