| 1.1 |
gemini-tutor Edge Function |
Backend (Edge Functions) |
â |
â |
ship-ready |
â |
| 1.2 |
Chat action: chat (default JSON) |
Backend (Edge Functions) |
â |
â |
ship-ready |
â |
| 1.3 |
Chat action: chat-stream (SSE) |
Backend (Edge Functions) |
â |
â |
ship-ready |
â |
| 1.4 |
Chat action: chat-json (JSON + code exec) |
Backend (Edge Functions) |
â |
â |
ship-ready |
â |
| 1.5 |
Chat action: chat-native-audio |
Backend (Edge Functions) |
â |
â |
partial |
â |
| 1.6 |
speak Edge Function (TTS) |
Backend (Edge Functions) |
â |
â |
has-bugs |
BUG-TTS-001 |
| 1.7 |
transcribe-audio Edge Function (STT) |
Backend (Edge Functions) |
â |
â |
ship-ready |
â |
| 1.8 |
classify Edge Function |
Backend (Edge Functions) |
â |
â |
ship-ready |
â |
| 1.9 |
solve-problem Edge Function |
Backend (Edge Functions) |
â |
â |
ship-ready |
â |
| 1.10 |
JWT Auth (manual inside function) |
Backend (Edge Functions) |
â |
â |
ship-ready |
â |
| 1.11 |
Service Account JWT (Google) |
Backend (Edge Functions) |
â |
â |
ship-ready |
â |
| 1.12 |
CORS headers |
Backend (Edge Functions) |
â |
â |
ship-ready |
â |
| 1.13 |
Error handling (429, 500, auth) |
Backend (Edge Functions) |
â |
â |
has-bugs |
BUG-008 |
| 1.14 |
Rate limit handling |
Backend (Edge Functions) |
~ |
â |
partial |
â |
| 1.15 |
Sentence buffer (streaming TTS) |
Backend (Edge Functions) |
â |
â |
ship-ready |
â |
| 2.1 |
Identity & Personality (Capybara teacher) |
System Prompt (v3.0) |
â |
â |
ship-ready |
â |
| 2.2 |
Student Context Injection (name, gender, grade) |
System Prompt (v3.0) |
â |
â |
ship-ready |
â |
| 2.3 |
Gender Adaptation (male/female/other) |
System Prompt (v3.0) |
â |
â |
ship-ready |
â |
| 2.4 |
Nikud Rules (vocalization for TTS) |
System Prompt (v3.0) |
â |
â |
has-bugs |
BUG-006 |
| 2.5 |
Hebrew Math Orthography |
System Prompt (v3.0) |
â |
â |
ship-ready |
â |
| 2.6 |
Socratic Method (3 Levels) |
System Prompt (v3.0) |
â |
â |
has-bugs |
BUG-007 |
| 2.7 |
Iron Rule: Show Exercise First |
System Prompt (v3.0) |
â |
â |
has-bugs |
BUG-007 |
| 2.8 |
Growth Mindset |
System Prompt (v3.0) |
â |
â |
ship-ready |
â |
| 2.9 |
Error Handling (pedagogical) |
System Prompt (v3.0) |
â |
â |
ship-ready |
â |
| 2.10 |
Warm Challenging |
System Prompt (v3.0) |
â |
â |
ship-ready |
â |
| 2.11 |
Edge Cases Protocol |
System Prompt (v3.0) |
â |
â |
ship-ready |
â |
| 2.12 |
Israeli Slang (Active) |
System Prompt (v3.0) |
â |
â |
ship-ready |
â |
| 2.13 |
Gen Alpha Slang (Passive) |
System Prompt (v3.0) |
â |
â |
ship-ready |
â |
| 2.14 |
Gaming Terminology |
System Prompt (v3.0) |
â |
â |
ship-ready |
â |
| 2.15 |
Real-World Context (Israeli) |
System Prompt (v3.0) |
â |
â |
ship-ready |
â |
| 2.16 |
Response Length Limit (15-20 words) |
System Prompt (v3.0) |
â |
â |
ship-ready |
â |
| 2.17 |
TIR Protocol (code execution mandate) |
System Prompt (v3.0) |
â |
â |
ship-ready |
â |
| 2.18 |
Interaction Protocols (Lesson/Auditor/Bridge) |
System Prompt (v3.0) |
â |
â |
ship-ready |
â |
| 2.19 |
BiDi Rendering Rules |
System Prompt (v3.0) |
â |
â |
has-bugs |
BUG-005 |
| 2.20 |
Code Block Prohibition |
System Prompt (v3.0) |
â |
â |
ship-ready |
â |
| 2.21 |
Drawing Board Instructions |
System Prompt (v3.0) |
â |
â |
ship-ready |
â |
| 2.22 |
Curriculum Injection |
System Prompt (v3.0) |
â |
â |
partial |
â |
| 2.23 |
Curriculum Restrictions |
System Prompt (v3.0) |
â |
â |
ship-ready |
â |
| 2.24 |
Grade-Specific Refusals |
System Prompt (v3.0) |
â |
â |
ship-ready |
â |
| 2.25 |
Bucket-Specific Prompts (A/B/C) |
System Prompt (v3.0) |
â |
â |
ship-ready |
â |
| 2.26 |
Bucket B: English Internal Thinking |
System Prompt (v3.0) |
â |
â |
ship-ready |
â |
| 2.27 |
Bucket C: Medium Thinking |
System Prompt (v3.0) |
â |
â |
ship-ready |
â |
| 2.28 |
Native Audio Style Section |
System Prompt (v3.0) |
â |
â |
ship-ready |
â |
| 2.29 |
JSON Output Format |
System Prompt (v3.0) |
â |
â |
ship-ready |
â |
| 2.30 |
Long-term Memory |
System Prompt (v3.0) |
â |
â |
scaffold |
â |
| 2.31 |
Student Misconceptions Injection |
System Prompt (v3.0) |
â |
â |
scaffold |
â |
| 3.1 |
Grade 4 Curriculum XML |
Curriculum |
â |
â |
ship-ready |
â |
| 3.2 |
Grade 5 Curriculum XML |
Curriculum |
â |
â |
ship-ready |
â |
| 3.3 |
Grade 6 Curriculum XML |
Curriculum |
â |
â |
ship-ready |
â |
| 3.4 |
Comprehensive XMLs (new format) |
Curriculum |
â |
â |
partial |
â |
| 3.5 |
Curriculum Caching (in-memory) |
Curriculum |
â |
â |
ship-ready |
â |
| 3.6 |
Curriculum Fallback |
Curriculum |
â |
â |
ship-ready |
â |
| 3.7 |
Restrictions Extraction |
Curriculum |
â |
â |
ship-ready |
â |
| 3.8 |
Gemini Prompt Caching (token cost) |
Curriculum |
â |
â |
not-implemented |
â |
| 3.9 |
Topic-specific examples |
Curriculum |
~ |
â |
partial |
â |
| 3.10 |
Curriculum version control |
Curriculum |
â |
â |
not-implemented |
â |
| 4.1 |
Gemini 2.5 Flash TTS via Vertex AI (speak endpoint, Schedar voice, he-IL) |
TTS (Text-to-Speech) |
â |
â |
has-bugs |
BUG-TTS-001 |
| 4.2 |
Director Prompt (warm teacher tone) |
TTS (Text-to-Speech) |
â |
â |
has-bugs |
BUG-TTS-001 |
| 4.3 |
Nikud Preservation |
TTS (Text-to-Speech) |
â |
â |
ship-ready |
â |
| 4.4 |
Hebrew Abbreviation Fix (achi) |
TTS (Text-to-Speech) |
â |
â |
ship-ready |
â |
| 4.5 |
Smart Hebrew Chunking |
TTS (Text-to-Speech) |
â |
â |
ship-ready |
â |
| 4.6 |
TTS Prefetch (first chunk on render) |
TTS (Text-to-Speech) |
â |
â |
ship-ready |
â |
| 4.7 |
Playback Queue (sequential chunks) |
TTS (Text-to-Speech) |
â |
â |
has-bugs |
BUG-004 |
| 4.8 |
Playback Lock (one message at a time) |
TTS (Text-to-Speech) |
â |
â |
ship-ready |
â |
| 4.9 |
ChatterBox Integration (DEAD CODE) |
TTS (Text-to-Speech) |
â |
â |
tech-debt |
BUG-TTS-002-6 |
| 4.10 |
StyleTTS2 Voice Server (DEAD CODE) |
TTS (Text-to-Speech) |
â |
â |
tech-debt |
â |
| 4.11 |
Native Audio (gemini-2.5-flash-native-audio-preview-12-2025) |
TTS (Text-to-Speech) |
~ |
â |
partial |
â |
| 4.12 |
LaTeX to Hebrew Words (for TTS) |
TTS (Text-to-Speech) |
â |
â |
ship-ready |
â |
| 4.13 |
Prosody Control (pauses, emphasis) |
TTS (Text-to-Speech) |
â |
â |
not-implemented |
â |
| 4.14 |
TTS Busy Tooltip |
TTS (Text-to-Speech) |
â |
â |
ship-ready |
â |
| 4.15 |
Audio Decode (MP3/WAV/PCM) |
TTS (Text-to-Speech) |
~ |
â |
has-bugs |
BUG-TTS-002-3 |
| 4.16 |
ChatterBox Dead Code Cleanup |
TTS (Text-to-Speech) |
â |
â |
tech-debt |
BUG-TTS-002-6 |
| 4.17 |
Two TTS Paths (speak endpoint vs native-audio action) |
TTS (Text-to-Speech) |
â |
â |
ship-ready |
â |
| 5.1 |
OpenAI Whisper (transcribe-audio) |
STT (Speech-to-Text) |
â |
â |
ship-ready |
â |
| 5.2 |
Hebrew Vocabulary Hints |
STT (Speech-to-Text) |
â |
â |
ship-ready |
â |
| 5.3 |
MIME Type Detection |
STT (Speech-to-Text) |
â |
â |
ship-ready |
â |
| 5.4 |
Browser SpeechRecognition API |
STT (Speech-to-Text) |
â |
â |
ship-ready |
â |
| 5.5 |
Phone Call Mode (auto-listen) |
STT (Speech-to-Text) |
~ |
â |
has-bugs |
BUG-001 |
| 5.6 |
Echo Cancellation |
STT (Speech-to-Text) |
â |
â |
not-implemented |
BUG-001 |
| 5.7 |
STT Error Messages |
STT (Speech-to-Text) |
~ |
â |
has-bugs |
BUG-008 |
| 6.1 |
Shared Drawing Board |
Drawing Board & Visual |
â |
â |
ship-ready |
â |
| 6.2 |
Free-form Pencil |
Drawing Board & Visual |
â |
â |
ship-ready |
â |
| 6.3 |
Straight Line Tool |
Drawing Board & Visual |
â |
â |
ship-ready |
â |
| 6.4 |
Eraser |
Drawing Board & Visual |
â |
â |
ship-ready |
â |
| 6.5 |
Color Picker |
Drawing Board & Visual |
â |
â |
ship-ready |
â |
| 6.6 |
Clear Canvas |
Drawing Board & Visual |
â |
â |
ship-ready |
â |
| 6.7 |
Background Image (matplotlib) |
Drawing Board & Visual |
â |
â |
ship-ready |
â |
| 6.8 |
Send Drawing to Pikmat |
Drawing Board & Visual |
â |
â |
ship-ready |
â |
| 6.9 |
AI Drawing Commands |
Drawing Board & Visual |
â |
â |
ship-ready |
â |
| 6.10 |
Responsive Canvas |
Drawing Board & Visual |
â |
â |
ship-ready |
â |
| 7.1 |
Camera Capture Modal |
Camera & OCR |
â |
â |
ship-ready |
â |
| 7.2 |
Photo Preview + Retake |
Camera & OCR |
â |
â |
ship-ready |
â |
| 7.3 |
Gemini Vision OCR |
Camera & OCR |
â |
â |
ship-ready |
â |
| 7.4 |
Back Camera Default (mobile) |
Camera & OCR |
â |
â |
ship-ready |
â |
| 7.5 |
Camera Permission Handling |
Camera & OCR |
â |
â |
ship-ready |
â |
| 8.1 |
Practice Mode UI |
Practice Mode |
â |
â |
ship-ready |
â |
| 8.2 |
Topic: Multiplication Table |
Practice Mode |
â |
â |
ship-ready |
â |
| 8.3 |
Topic: Word Problems |
Practice Mode |
â |
â |
ship-ready |
â |
| 8.4 |
Topic: Fractions |
Practice Mode |
â |
â |
ship-ready |
â |
| 8.5 |
Topic: Geometry/Polygons |
Practice Mode |
â |
â |
ship-ready |
â |
| 8.6 |
Topic: Math Terminology |
Practice Mode |
â |
â |
ship-ready |
â |
| 8.7 |
Topic: Numbers |
Practice Mode |
â |
â |
ship-ready |
â |
| 8.8 |
Scoring System (XP + Coins) |
Practice Mode |
â |
â |
ship-ready |
â |
| 8.9 |
Streak Multiplier |
Practice Mode |
â |
â |
ship-ready |
â |
| 8.10 |
Sound Effects |
Practice Mode |
â |
â |
ship-ready |
â |
| 8.11 |
TTS for Questions |
Practice Mode |
â |
â |
ship-ready |
â |
| 8.12 |
Hints per Question |
Practice Mode |
â |
â |
ship-ready |
â |
| 8.13 |
Results Screen |
Practice Mode |
â |
â |
ship-ready |
â |
| 8.14 |
Ask Pikmat for Explanation |
Practice Mode |
â |
â |
ship-ready |
â |
| 8.15 |
Backend Progress Tracking |
Practice Mode |
â |
â |
not-implemented |
â |
| 8.16 |
Adaptive Difficulty |
Practice Mode |
â |
â |
not-implemented |
â |
| 8.17 |
More Question Banks |
Practice Mode |
â |
â |
not-implemented |
â |
| 9.1 |
5-Level Progression |
XP & Level System |
â |
â |
ship-ready |
â |
| 9.2 |
Gender-Adapted Level Names |
XP & Level System |
â |
â |
ship-ready |
â |
| 9.3 |
XP from Practice |
XP & Level System |
â |
â |
ship-ready |
â |
| 9.4 |
XP from Chat |
XP & Level System |
â |
â |
not-implemented |
â |
| 9.5 |
Level Up Modal |
XP & Level System |
â |
â |
ship-ready |
â |
| 9.6 |
XP Persistence (database) |
XP & Level System |
â |
â |
not-implemented |
â |
| 9.7 |
Leaderboard |
XP & Level System |
â |
â |
not-implemented |
â |
| 10.1 |
GeminiTutorPage (main) |
UI Components |
â |
â |
ship-ready |
â |
| 10.2 |
ChatMessageBubble |
UI Components |
â |
â |
has-bugs |
BUG-005 |
| 10.3 |
MathKeyboard |
UI Components |
â |
â |
ship-ready |
â |
| 10.4 |
PikmatAvatar |
UI Components |
â |
â |
ship-ready |
â |
| 10.5 |
ToolsMenu |
UI Components |
â |
â |
ship-ready |
â |
| 10.6 |
Onboarding Component |
UI Components |
â |
â |
partial |
â |
| 10.7 |
LaTeX Renderer |
UI Components |
â |
â |
has-bugs |
BUG-005 |
| 10.8 |
Loading Messages (Hebrew) |
UI Components |
â |
â |
ship-ready |
â |
| 10.9 |
Suggestions (starter prompts) |
UI Components |
â |
â |
ship-ready |
â |
| 10.10 |
Mobile Responsive |
UI Components |
~ |
â |
partial |
â |
| 11.1 |
SSE Streaming (chat-stream) |
Streaming & Real-Time |
â |
â |
ship-ready |
â |
| 11.2 |
JSON Mode (chat-json) |
Streaming & Real-Time |
â |
â |
ship-ready |
â |
| 11.3 |
useStreamingWithTTS hook |
Streaming & Real-Time |
â |
â |
ship-ready |
â |
| 11.4 |
useStreamingChat hook |
Streaming & Real-Time |
â |
â |
ship-ready |
â |
| 11.5 |
useHybridTTS hook |
Streaming & Real-Time |
â |
â |
has-bugs |
BUG-004 |
| 11.6 |
Unified Abort |
Streaming & Real-Time |
â |
â |
ship-ready |
â |
| 11.7 |
Sentence Detection (Hebrew) |
Streaming & Real-Time |
â |
â |
ship-ready |
â |
| 12.1 |
Supabase Auth |
Auth & Security |
â |
â |
ship-ready |
â |
| 12.2 |
Child User (no JWT) |
Auth & Security |
â |
â |
ship-ready |
â |
| 12.3 |
Google Service Account |
Auth & Security |
â |
â |
ship-ready |
â |
| 12.4 |
OpenAI API Key |
Auth & Security |
â |
â |
ship-ready |
â |
| 12.5 |
Settings Page |
Auth & Security |
â |
â |
ship-ready |
â |
| 13.1 |
System Prompt Unit Tests |
Testing |
â |
â |
ship-ready |
â |
| 13.2 |
Smoke Tests (real API) |
Testing |
â |
â |
ship-ready |
â |
| 13.3 |
Comprehensive Smoke Tests |
Testing |
â |
â |
ship-ready |
â |
| 13.4 |
E2E Tests (Playwright) |
Testing |
â |
â |
ship-ready |
â |
| 13.5 |
curl Smoke Tests |
Testing |
~ |
â |
partial |
â |
| 13.6 |
TTS E2E Tests |
Testing |
~ |
â |
partial |
â |
| 13.7 |
Practice Mode Tests |
Testing |
â |
â |
not-implemented |
â |
| 13.8 |
Mobile Viewport Tests |
Testing |
~ |
â |
partial |
â |
| 14.1 |
Gemini Prompt Caching |
Not Implemented (Phase 2+) |
â |
â |
not-implemented |
â |
| 14.2 |
Long-term Student Memory |
Not Implemented (Phase 2+) |
â |
â |
not-implemented |
â |
| 14.3 |
XP/Progress Persistence |
Not Implemented (Phase 2+) |
â |
â |
not-implemented |
â |
| 14.4 |
Adaptive Difficulty |
Not Implemented (Phase 2+) |
â |
â |
not-implemented |
â |
| 14.5 |
Parent Reports |
Not Implemented (Phase 2+) |
â |
â |
not-implemented |
â |
| 14.6 |
Payment / Paywall |
Not Implemented (Phase 2+) |
â |
â |
not-implemented |
â |
| 14.7 |
Landing Page |
Not Implemented (Phase 2+) |
â |
â |
not-implemented |
â |
| 14.8 |
Tamagotchi Merge |
Not Implemented (Phase 2+) |
â |
â |
not-implemented |
â |
| 14.9 |
React 19 Upgrade |
Not Implemented (Phase 2+) |
â |
â |
not-implemented |
â |
| 14.10 |
3D World (Animal Crossing) |
Not Implemented (Phase 2+) |
â |
â |
not-implemented |
â |
| 14.11 |
MCP Calculator |
Not Implemented (Phase 2+) |
â |
â |
not-implemented |
â |
| 14.12 |
Sequential Thinking |
Not Implemented (Phase 2+) |
â |
â |
not-implemented |
â |
| 14.13 |
FastMCP |
Not Implemented (Phase 2+) |
â |
â |
not-implemented |
â |
| 14.14 |
Videos / Comics |
Not Implemented (Phase 2+) |
â |
â |
not-implemented |
â |
| 14.15 |
Multi-child Support |
Not Implemented (Phase 2+) |
â |
â |
not-implemented |
â |
| 14.16 |
Badges / Achievements |
Not Implemented (Phase 2+) |
â |
â |
not-implemented |
â |
| 14.17 |
CI/CD for Edge Functions |
Not Implemented (Phase 2+) |
â |
â |
not-implemented |
â |
| 14.18 |
Comprehensive Curriculum XMLs |
Not Implemented (Phase 2+) |
â |
â |
not-implemented |
â |