Glossary
41 terms — alphabetized reference for all concepts used in this report and the application.
| Term | Definition |
|---|---|
| Availability | A participant's response for a specific slot: Available, If Needed, or Unavailable |
| Best Slot | The highest-ranked slot where availableCount >= 50% of total respondents and score equals the maximum score |
| CAPA | Corrective and Preventive Action — a QMS process triggered by critical test findings |
| Cloudflare D1 | Cloudflare's edge SQLite database service — stores all poll, slot, and response data |
| Cloudflare KV | Cloudflare's globally distributed Key-Value store — used for API rate limiting counters |
| Cloudflare Pages | Cloudflare's static site hosting with global CDN — serves the React frontend |
| Cloudflare R2 | Cloudflare's S3-compatible object storage — reserved for large CSV/ICS export staging |
| Cloudflare Workers | Cloudflare's serverless compute platform — runs the API (Hono router) at the edge |
| CSP (Content Security Policy) | HTTP header restricting which resources the browser can load — prevents XSS attacks |
| D1 | See Cloudflare D1 |
| DO (Durable Object) | Cloudflare's stateful compute primitive — holds WebSocket connections (PollHub) and PIN rate limiter state (PinRateLimiter). Single-threaded, strongly consistent. |
| Drizzle ORM | A lightweight TypeScript ORM that generates type-safe SQL queries. Used with the D1 SQLite adapter. |
| Edit Token | A UUID generated when a participant submits a response, stored as an HttpOnly cookie. Allows editing the response from the same browser. |
| Evidence Chain | SHA-256 hash chain linking screenshots, manifests, and analysis to an immutable audit trail in the QMS evidence vault |
| Heatmap | The visual representation of slot availability — cell opacity scales with the ratio of available respondents |
| Hibernation API | Durable Object pattern where the DO sleeps between WebSocket messages, reducing cost. Uses ctx.acceptWebSocket(). |
| HMAC-SHA256 | Hash-based Message Authentication Code — used for signing auth cookies and verifying PIN lockout state |
| Hono | A lightweight TypeScript web framework optimized for Cloudflare Workers — handles all API routing |
| ICS | iCalendar format (RFC 5545) — the calendar invite file generated for the selected meeting slot |
| IF_NEEDED | A tentative availability response — scored at 0.5x weight in the recommendation engine (vs 1.0x for Available) |
| Kimi K2.5 | Moonshot AI's flagship language model — used for VTR screenshot analysis via api.moonshot.ai |
| KV | See Cloudflare KV |
| Lightbox | The full-screen screenshot viewer with keyboard navigation (arrow keys, Escape to close) |
| Manifest (VTR) | The vtr-manifest.json file describing all test phases, steps, screenshots, and metadata |
| Optimistic Locking | Concurrency control using a version column — PATCH requests must include If-Match header with current version |
| Organizer | The person who creates a poll, receives a PIN, and manages the poll lifecycle (close, export) |
| PBKDF2 | Password-Based Key Derivation Function 2 — 100,000 iterations with SHA-256. Used for hashing PINs and edit tokens. Replaces bcrypt (unavailable in Workers). |
| Phase (VTR) | A logical grouping of test steps — e.g., "Respondent 1: Alice Johnson" or "Organizer Dashboard" |
| PIN | A 6-digit numeric code generated at poll creation, shown once to the organizer. Required to close the poll or export results. |
| Poll | A scheduling poll containing a title, description, timezone, expiry date, and multiple candidate time slots |
| QMS | Quality Management System — the CODITECT product that hosts this VTR framework |
| QVS | Quality Validation System — the IQ/OQ/PQ qualification subsystem within QMS |
| R2 | See Cloudflare R2 |
| Recommendation Engine | Pure function that ranks slots by score (availableCount + tentativeCount * 0.5) with earliest-date tiebreaker |
| Score (VTR) | A 1-10 rating assigned by the LLM analyzer across 4 dimensions: Visual Quality, Accessibility, UX Flow, Mobile Readiness |
| Slot | A candidate meeting time — defined by date + session label (Morning, Afternoon, Evening) with start/end timestamps |
| Slot Grid | The interactive availability table — dates as columns, sessions as rows. Each cell toggles through Available → If Needed → Unavailable. |
| Step (VTR) | A single test action with a screenshot — includes title, description, action type, state change, and optional LLM analysis |
| VTR | Visual Test Report — this reporting framework. A CODITECT QMS component for auto-generating narrative test report websites. |
| WCAG 2.1 AA | Web Content Accessibility Guidelines — the accessibility standard targeted by the application's design |
| WebSocket | Persistent bidirectional connection for real-time updates. Managed by PollHub Durable Object with hibernation API. |