From 081cd9c765f5ca96924dd593983792a2d690e103 Mon Sep 17 00:00:00 2001 From: Tyler Gillispie Date: Thu, 27 Aug 2026 16:51:16 -0700 Subject: [PATCH] feat(arch): adopt hypermedia & vertical slicing paradigm (Datastar + Deno SSR) - Establish server-driven hypermedia architecture with Datastar to eliminate brittle imperative client DOM manipulation - Codify vertical feature slicing (routes, queries, fragments co-located by domain) - Formalize right-sized dual transport: standard text/html for user mutations, targeted SSE for Valkey pub/sub broadcasts - Define zero-trust guardrails: untrusted client signals, 16KB payload bounds, rate limiting, and data-ignore subtree protection - Establish hypermedia error protocol (4xx/5xx return JSX error fragments) and mid-stream SSE resilience - Add active task checklist with granular 1-to-1 items and shared component suggestions - Update AGENTS.md with AI-optimized engineering principles (SRP, bounded files, flat call chains, distinctive naming) --- tasks/checklist.md | 93 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 tasks/checklist.md diff --git a/tasks/checklist.md b/tasks/checklist.md new file mode 100644 index 0000000..4e79623 --- /dev/null +++ b/tasks/checklist.md @@ -0,0 +1,93 @@ +# Active Task Checklist + +### Sticky Navigation Header + +- [ ] `sticky-sub-header-docking`: Dock the sticky `Sessions & Events` + sub-header directly beneath the main navigation bar so it scrolls smoothly + without overlapping or covering top navigation elements. +- [ ] `sticky-sub-header-opaque-bg`: Ensure the sticky sub-header has an opaque + background so underlying cards do not bleed through on scroll. + +### Single Session Creation (DirectPassDrawer) + +- [ ] `single-session-form-hiding`: Hide the single session creation form upon + minting so only the completed handoff card is displayed. +- [ ] `single-session-cancel-button-removal`: Remove the Cancel button from the + view once a single session has been created. +- [ ] `single-session-copy-button-styling`: Style the 1-Click Link copy button + using the standard outline style matching other copy actions. +- [ ] `single-session-submit-button-label`: Label the single session drawer + submit button as "Create Session". +- [ ] `single-session-handoff-ok-button`: Label the single session handoff + completion button as "OK". + +### Multi-Claim Event Creation (WorkshopDrawer) + +- [ ] `event-submit-button-label`: Label the multi-claim event drawer submit + button as "Create Event". +- [ ] `event-handoff-ok-button`: Label the multi-claim event handoff completion + button as "OK". + +### Dropdown Accordion Headers + +- [ ] `single-session-accordion-arrow-fix`: Eliminate the broken double arrow + (`> >`) from the single session optional settings dropdown header. +- [ ] `single-session-accordion-label`: Label the single session optional + settings dropdown header as "Customize App Permissions & Scopes + (Optional)". +- [ ] `workshop-accordion-arrow-fix`: Eliminate the broken double arrow (`> >`) + from the workshop pass optional settings dropdown header. +- [ ] `workshop-accordion-label`: Label the workshop pass optional settings + dropdown header as "Custom Vanity Slug & PIN Code (Optional)". + +### Rapid Creation & Tab State + +- [ ] `single-session-create-another-button`: Add a "Create Another" button on + the single session handoff card that clears the form and starts a new + session in one click. +- [ ] `event-create-another-button`: Add a "Create Another" button on the event + handoff card that clears the form and starts a new event in one click. +- [ ] `handoff-tab-lock-state`: Disable switching between Single Session and + Multi-Claim Event tabs while viewing a completed handoff card. +- [ ] `handoff-tab-unlock-on-reset`: Re-enable tab switching when the user + clicks "Create Another" or closes the drawer. + +### Expired Events Management + +- [ ] `expired-events-query-split`: Separate event passes into active events and + expired events based on their expiration timestamp and status. +- [ ] `expired-events-collapsible-accordion`: Organize expired events into a + dedicated collapsible `
` section titled "📁 Expired Events (N)" + below active events. +- [ ] `expired-events-card-styling`: Display expired event passes with distinct + muted styling and expired status badges. +- [ ] `expired-events-1click-reopen`: Provide a one-click "+1h Reopen" button on + naturally expired events to add time and reactivate them. + +### Guest Drawer Telemetry & Sync + +- [ ] `guest-drawer-telemetry-backend`: Fetch the last activity action, last + activity timestamp, and agent flag for each attendee. +- [ ] `guest-drawer-last-action-display`: Display the attendee's last recorded + action and relative time on their guest card. +- [ ] `guest-drawer-client-badge`: Display a client icon (such as Web or CLI) on + each attendee card based on their recorded action. +- [ ] `guest-drawer-timer-sync-on-extend`: Dynamically update the countdown + timer and expiration time in the open guest drawer when an event is + extended. + +--- + +## Suggestions & Architectural Notes (Ideas to Evaluate) + +- **Shared Drawer / Form Component Extraction:** The Single Session + (`DirectPassDrawer.tsx`) and Multi-Claim Event (`WorkshopDrawer.tsx`) creation + forms share many common UI features (app selection dropdown, lifespan preset + pills, optional settings accordion, action bars, and handoff cards). Consider + consolidating shared form sections or extracting common sub-components to + reduce code duplication and ensure consistent state handling. +- **Unified Handoff Card Pattern:** The post-creation handoff state across both + forms follows the exact same pattern (badge header, copy buttons for + links/CLI/tokens, and dual `[ Create Another ]` + `[ OK ]` footer). A shared + component or common helper could streamline handoff rendering and state resets + across both modes.