First-pass scoping of the MEC screen to identify the domain controls it uses and the data each needs — flagging gaps against the current models/API for the architecture & backend teams. Documentation only; no presentation work.
| Control | Status | Figma | Reused from |
|---|---|---|---|
| Pilot Card (welcome) | exists | 0:255 | Home |
| Primary button | exists | 0:259 | Home (Button) |
| Secondary button | new variant | 0:263 | Button + style variant |
| card-btn (3-up icon tile) | new | 4737:13038 | — |
| Feed (horizontal scrolling) | exists | 0:292… | Home (Carousel) |
| card-lg (media feed item) | exists | 0:297 | Home — but heart now shown |
| card-sm (nav row) | exists | 0:321 | Home |
| card-md (text content card) | new | 4718:11125 | — |
#05273e)#c02126) pill with a count (e.g. "11")Per-field mapping against today's models (MenuItem, DocumentItem, UserInfo) and the
data layer. "Source" = where the value would come from; gaps are what's missing.
| # | Need | Used by | Candidate source | Status | Note |
|---|---|---|---|---|---|
| 1 | Favorite / bookmark (per-item is-favorite + toggle) | card-btn, card-md, media card-lg | — (none) | gap | No favorites API today. The heart is now shown on all favoritable controls including Home (D31, 2026-06-26). MEC shows it across 3 controls. Needs: IsFavorite per item, a toggle endpoint, and a "my favorites" read. |
| 2 | "New" count badge (count of new items) | card-md | Client-side (local last-seen vs API payload) | client | The red pill count is computed on-device by diffing the API result against locally-stored last-seen state — not a backend field. Backend only needs stable item IDs (ideally an updated/published timestamp) to diff against. Not a backend data gap. |
| 3 | card-md description / summary | card-md | DocumentItem (+ Description) |
gap | Text cards need a short description. Re-confirms the Description gap already flagged for richer tiles — one nullable field add to the content item. |
| 4 | card-btn icon + label + nav | card-btn | MenuItem (Title, Glyph/ImageSource, Path) |
mapped | Same as Home 3-up. MenuItem covers it (favorite is the only add — see #1). |
| 5 | Secondary-button style variant | Secondary button | presentation, or a Variant field if buttons are backend-driven |
confirm | If the button list is API-driven, add a primary/secondary style attribute; otherwise presentation-only. |
| 6 | Feed/section config (titles + membership) | all feeds | DocumentItem Scope / Category / Grouping |
mapped | Section grouping pattern established on Home; "Latest Media" / "Union Documents" map to scope+category queries. Confirm media vs document item types. |
| 7 | card-lg media item (image, eyebrow, title) | media feed | DocumentItem / media content |
mapped | As Home card-lg; add favorite (#1). Confirm whether "media" is a distinct content type with an image URL. |
Description/summary to the content item that backs card-md (and richer tiles).