feat: full-data UX — complete records, card redesign, agenda navigation, legacy design DNA#20
Merged
Conversation
…da links DecisionListItem gains status, actionTypes, subject, snippet, date, year and meetingPageUrn (resolved meeting-page link); facets gain actionTypes and statuses. MeetingListItem gains committeeCode + decisionCount. New decisionByAgendaItem map + agendaAnchor() helper power agenda-row -> decision cross-links. /data/decisions.json and the search-filter island core are extended (action facet, snippet search) without breaking the existing SearchableItem contract.
base.css grows the legacy design DNA on the token system: dotted-grid radial motif on the page canvas (both themes via color-mix on the ink token), eyebrow/standfirst/stat-strip/breadcrumb/meta-row primitives, accent action pills, status pills, meeting-link badge, shared card surface, staggered entrance keyframes (reduced-motion safe), reading progress bar, and rich search-island result cards (id/kind/action pills/date/title/snippet/meeting chip) with an action-type facet row. DecisionCard replaces the bare dl list item: mono identifier, kind, humanized action pills, full formatted date, serif title link, subject line, 2-line action snippet and a meeting chip deep-linking to the meeting page. New UI strings (label.adopted/effective/meeting/ acclamation, section.*, home stats) in all six locales.
DecisionDetail.astro (shared by root + [lang] routes): reading-progress bar, Home › Decisions › id breadcrumb, back link, metadata badge row (kind, status pill, all identifiers, labeled adoption date, acclamation marker, agenda-item chip to the meeting anchor, meeting-link badge with calendar icon), serif display title with working LocaleTabs (now wired to the section-tabs island via LocalizedValues per-spelling spans), subject standfirst, URN bar with copy, DOI line, then headed sections for Actions (accent-spined cards with verb pill, localized message with tabs, effective date), Considerations, Approvals, Relations (resolved to decision links), Categories, Dates and Reference documents, plus prev/next navigation. JSON-LD preserved in the route wrappers; the layout is now a thin shell.
MeetingCard: human date range, status pill, resolved committee code
chip, decision count, flag + city/country. MeetingDetail.astro (shared
by root + [lang]): breadcrumb, badge row (type, status, id, ordinal,
committee, date range, place), display title, general-area standfirst,
URN bar, then sections for When, Committee (resolved code + localized
name), Venue cards (kind, name, address, unlocode, country, map url),
Officers (role, person name/affiliation/contact methods), Hosts
(register-resolved labels), Schedule, Deadlines table, Agenda with
#agenda-item-{label} anchors that link rows to the decision they
produced (decisionByAgendaItem) and :target highlight, linked Decisions
list when no agenda exists, Declarations, Minutes, Source documents
(format + language), and Note. Meetings index groups meetings under
decade anchors so the decade timeline scrolls for real.
HomeContent.astro (shared by root + [lang]): eyebrow + display title + lede hero, stat strip computed from the data (decisions on record, meetings documented, year span), browse-by-decade linking into the meetings archive anchors, and the five latest decisions + three recent meetings rendered as the new full record cards, closing with an about link.
…faces fixtures: decision TEST-1 gains considerations, approvals, relations, doi, agenda_item, categories, urls and a second action; meeting 2025 gains an agenda (item 2 cross-links TEST-1), officers with affiliation + contact methods, hosts, schedule components, deadlines, note, venue address/unlocode/map url and a source PDF. Unit specs cover the new payload surfaces (actionTypes/status/date/snippet facets, meetingPageUrn, decisionByAgendaItem, committeeCode, decisionCount). e2e specs assert the breadcrumb, badge row, agenda-anchor deep links both ways, locale tab switching, action/consideration/approval/relation sections, venue cards, officers/hosts/deadlines/note, home stat strip, decade anchors, the action facet and the extended decisions.json payload. MeetingDetail dedupes venues by resolved URN so local_ref aliases don't double-render.
…, stagger cap - decisions.json: only emit meetingUrn when a meeting page exists, so unlinked decisions no longer render a chip pointing at a raw date key - MeetingDetail: header place falls back to the resolved venue's city/country; source links render humanized kind + uppercase format - OfficerList: linked contact methods show the value as link text - ScheduleTable: render times in UTC (was the build server's zone) and label Z timestamps as 'UTC' - base.css: cap the entrance stagger at 8 steps so late sections on long records appear promptly - HomeContent: breathing room above the About link
Early consumers (tc184sc4) set --edoxen-font-serif in override.css for Fraunces, but base.css only consumed --edoxen-font-display, silently dropping their display font. The resolved stack now prefers --edoxen-font-display and falls back to --edoxen-font-serif, then the system serif stack.
09:00+08:00 now reads 09:00 (labeled 'UTC+08') instead of being shifted into the build server's timezone; Z timestamps read UTC.
New UX surfaces across every page (rich cards, full decision/meeting records, cross-navigation, agenda anchors, editorial home), restored legacy design DNA on the token system; payload/endpoint shapes are extended, not changed — backward compatible, no new dependencies.
This was referenced Jul 19, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Redesigns every page to surface the full data model with complete cross-navigation, and restores the legacy site's design DNA onto the token system. Backward compatible (additive payload contracts; consumer ejections like OIML's custom pages render unchanged).
Data surfaces
decisionByAgendaItemmap +agendaAnchor()), declarations, minutes/data/decisions.jsonextended additively (actionTypes, status, date, meetingUrn, snippet, facetActions/facetStatuses)Design
Legacy DNA on tokens: dotted-grid radial motif (both themes, color-mix, print-safe), eyebrow/standfirst/stat-strip/breadcrumb/meta-row primitives, accent action pills, status pills, acclamation badge, meeting-link badge with fill hover, staggered entrances (capped, reduced-motion safe), reading-progress bar.
--edoxen-font-serifnow aliases--edoxen-font-display(tc184sc4's Fraunces override was silently dropped before).Verification
Changeset: minor (new surfaces, backward compatible).