Orchestrata Ultimate / RTM / 017-calendar-integration

RTM: 017-calendar-integration

Requirement to symbol to test rows for 017-calendar-integration: Calendar Integration.

At a glance

Item Value
Requirement IDs 70
Traced from src/ 23 (32.9%)
Untraced 47
Cited from tests/ 0 (0.0%)
Traced in src/ but not cited from tests/ 23

Reading this matrix

This matrix lists each of the 70 requirement IDs of spec 017-calendar-integration with the src/ symbols that cite it and the tests that cite it. 23 of them (32.9%) have at least one citing symbol and 47 have none.

0 requirements are also cited from tests/, and 23 are traced in code but never named by a test. A test citation is a @traces on a test function; it shows intent to cover, not that the test runs or reaches the symbol.

Rows showing none in the symbols column are the gaps to close first. The densest untraced groups are REQ-017-* (47).

Requirement to symbols to tests

Requirement Symbols in src/ Tests citing it
REQ-017-001 Gadget displays a vertical day-view timeline for the current date none none
REQ-017-002 Events are rendered as colored time blocks at their correct time positions none none
REQ-017-003 Each time block shows the event title and time range none none
REQ-017-004 All-day events are displayed in a separate section above the hourly timeline none none
REQ-017-005 Multi-calendar events are color-coded by source calendar none none
REQ-017-006 Current time is indicated by a horizontal red marker line none none
REQ-017-007 Time marker updates its position every 60 seconds none none
REQ-017-008 Timeline auto-scrolls to center the current time on first load none none
REQ-017-009 Clicking an event shows a detail popover none none
REQ-017-010 Detail popover includes: full title, description, location, attendees, calendar name none none
REQ-017-011 Detail popover includes a link to the event in the source calendar app none none
REQ-017-012 Popover dismisses on click outside or Escape key orchestrata_ultimate/llm/exceptions LLMProviderUnavailableError L15 none
REQ-017-013 Event data auto-refreshes every 5 minutes (configurable) orchestrata_ultimate/llm/exceptions LLMProviderUnavailableError L15 none
REQ-017-014 Manual refresh button in gadget header triggers immediate re-fetch orchestrata_ultimate/llm/client _get_provider_manager L480 none
REQ-017-015 Last sync timestamp displayed in the gadget footer orchestrata_ultimate/llm/client _is_rate_limit_error L550
orchestrata_ultimate/llm/client _is_transient L514
none
REQ-017-016 Settings panel provides "Connect Google Calendar" button orchestrata_ultimate/llm/client _execute_with_retry L565 none
REQ-017-017 Button initiates OAuth2 implicit grant flow in a popup window none none
REQ-017-018 OAuth2 access token stored in localStorage encrypted via Web Crypto API orchestrata_ultimate/llm/client call_reasoner L979 none
REQ-017-019 Token expiration detected on 401 response, re-authentication prompted none none
REQ-017-020 Calendar list fetched via calendar.list after successful authentication none none
REQ-017-021 Settings panel provides CalDAV connection form none none
REQ-017-022 Form fields: server URL, username, app password none none
REQ-017-023 Credentials stored in localStorage encrypted with AES-GCM none none
REQ-017-024 Available calendars discovered via CalDAV PROPFIND none none
REQ-017-025 Connection validated on form submission with test PROPFIND none none
REQ-017-026 Multiple calendar accounts connectable simultaneously none none
REQ-017-027 Individual calendars toggleable on/off within each account none none
REQ-017-028 Connection status indicator: green (connected), yellow (expiring), red (error) none none
REQ-017-029 "Disconnect" button removes credentials and cached events none none
REQ-017-030 Account list persisted in localStorage none none
REQ-017-031 "New Event" button in gadget header opens creation form orchestrata_ultimate/memory/cold_store __init__ L59 none
REQ-017-032 Form fields: title, start time, end time, description, calendar selector orchestrata_ultimate/memory/cold_store connect L96 none
REQ-017-033 Start time defaults to next 30-minute boundary orchestrata_ultimate/memory/cold_store close L133 none
REQ-017-034 End time defaults to 30 minutes after start time none none
REQ-017-035 Calendar selector shows all writable calendars from connected accounts none none
REQ-017-036 Empty title rejected with inline error message none none
REQ-017-037 End time before start time rejected with inline error message orchestrata_ultimate/memory/cold_store delete L306 none
REQ-017-038 Duration exceeding 24 hours rejected with inline error message orchestrata_ultimate/memory/cold_store count L324 none
REQ-017-039 Invalid date/time format rejected with inline error message orchestrata_ultimate/memory/cold_store _node_to_entry L343 none
REQ-017-040 Google Calendar events created via events.insert endpoint none none
REQ-017-041 CalDAV events created via PUT with VEVENT body orchestrata_ultimate/memory/compressor __init__ L29 none
REQ-017-042 Created event appears in timeline immediately on success orchestrata_ultimate/memory/compressor summarize L34 none
REQ-017-043 API error displayed with retry button (form data preserved) orchestrata_ultimate/memory/compressor _rank_entries L89 none
REQ-017-044 calendar.event.created emitted on ctx.bus after success orchestrata_ultimate/memory/compressor _format_entry L110 none
REQ-017-045 VEVENT generated with RFC 5545 compliant properties orchestrata_ultimate/memory/compressor _extract_key_sentences L120 none
REQ-017-046 GadgetBridge subscription to session.events for event_type: "opened" none none
REQ-017-047 Calendar event created with title "Orchestrata Session {number}" none none
REQ-017-048 Event description includes session purpose/goals none none
REQ-017-049 Event start time matches session open timestamp none none
REQ-017-050 Event created in configurable target calendar (default: primary) none none
REQ-017-051 GadgetBridge subscription to session.events for event_type: "closed" none none
REQ-017-052 Corresponding calendar event end time updated to session close timestamp none none
REQ-017-053 Session-to-calendar-event mapping stored in localStorage none none
REQ-017-054 If matching calendar event not found, new event created with estimated duration orchestrata_ultimate/memory/embedding __init__ L25 none
REQ-017-055 Session sync enable/disable toggle in gadget settings orchestrata_ultimate/memory/embedding _tokenize L33 none
REQ-017-056 Target calendar selector in gadget settings orchestrata_ultimate/memory/embedding compute_embedding L39 none
REQ-017-057 Session event includes a dashboard link in description orchestrata_ultimate/memory/embedding cosine_similarity L63 none
REQ-017-058 Failed sync retried with exponential backoff (1s, 2s, 4s, max 30s) orchestrata_ultimate/memory/embedding search L76 none
REQ-017-059 Maximum 5 retry attempts before logging failure none none
REQ-017-060 Pending syncs persisted in localStorage for retry on page reload none none
REQ-017-061 Previous day button (left arrow) in gadget header none none
REQ-017-062 Next day button (right arrow) in gadget header none none
REQ-017-063 "Today" button returns to current date none none
REQ-017-064 Date picker allows jumping to any date none none
REQ-017-065 Current displayed date shown in gadget header none none
REQ-017-066 Events for navigated date fetched on demand none none
REQ-017-067 Fetched events cached with 5-minute TTL orchestrata_ultimate/memory/memory_engine retrieve L190 none
REQ-017-068 Loading spinner shown during fetch none none
REQ-017-069 Cache hit renders immediately without spinner none none
REQ-017-070 Navigation preserves scroll position relative to time of day none none