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 L550orchestrata_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 |