[{"data":1,"prerenderedAt":951},["ShallowReactive",2],{"repo-tree":3,"repo-\u002Fapps\u002Flearning-api\u002Fevals-playground\u002Freports\u002F2026-04-12-quiz-summary-feedback-current-state":283},[4,7,10,13,16,19,22,25,28,31,34,37,40,43,46,49,52,55,58,61,64,67,69,72,75,78,81,84,86,88,90,93,96,99,102,105,108,111,114,117,120,123,125,127,129,131,133,135,138,141,143,146,149,152,155,158,161,164,167,169,172,175,178,180,183,186,189,192,195,198,201,203,206,209,212,215,218,221,224,227,230,233,236,239,242,245,248,251,254,257,260,263,266,269,272,275,278,281],{"path":5,"title":6},"\u002Fagents\u002Fbackend-code-style","Backend Conventions",{"path":8,"title":9},"\u002Fagents\u002Fdatabase","Database",{"path":11,"title":12},"\u002Fagents\u002Fportal-code-style","Portal Conventions",{"path":14,"title":15},"\u002Fagents\u002Ftranslation","Translation",{"path":17,"title":18},"\u002Fconventions\u002Fbackend-coding","Backend coding conventions",{"path":20,"title":21},"\u002Fconventions\u002Ffrontend-coding","Frontend coding conventions",{"path":23,"title":24},"\u002Fdevelopment-process","Development process",{"path":26,"title":27},"\u002Flearning-api-preview-hetzner-setup","Learning API Preview on Hetzner + Cloudflare",{"path":29,"title":30},"\u002Flearning-api-preview-vm-plan","Learning API Preview VM Plan",{"path":32,"title":33},"\u002Fmonorepo-structure","Monorepo structure",{"path":35,"title":36},"\u002Foperations","Operations — bugs and support",{"path":38,"title":39},"\u002Fpostmortems\u002F2026-03-16_onboarding-currency-regression","Onboarding Zod transform silently broken — web signups assigned wrong checkout currency",{"path":41,"title":42},"\u002Fpostmortems\u002Freadme","Postmortems",{"path":44,"title":45},"\u002Fpostmortems\u002F_template","TEMPLATE",{"path":47,"title":48},"\u002Fpostmortems\u002Fposthog-comparison","Postmortem practice — comparison with PostHog",{"path":50,"title":51},"\u002Fpreview-environment-plan","Preview Environment Plan",{"path":53,"title":54},"\u002Fprinciples","Engineering principles",{"path":56,"title":57},"\u002Fworking-with-ai","Working with AI",{"path":59,"title":60},"\u002F.claude\u002Fskills\u002Feval-playground\u002Fskill","Eval Playground — Co-development Skill",{"path":62,"title":63},"\u002F.claude\u002Fskills\u002Ffigma-diff-section\u002Fskill","Figma Diff Section Pipeline",{"path":65,"title":66},"\u002Fagents","AGENTS.md",{"path":68,"title":66},"\u002Fclaude",{"path":70,"title":71},"\u002Freadme","Studyflash",{"path":73,"title":74},"\u002Fapps\u002Fcore-api\u002Fagents","Core API (apps\u002Fcore-api)",{"path":76,"title":77},"\u002Fapps\u002Fcore-api\u002Freadme","README",{"path":79,"title":80},"\u002Fapps\u002Femail-previews\u002Fagents","Email Previews (apps\u002Femail-previews)",{"path":82,"title":83},"\u002Fapps\u002Flanding-page\u002Fagents","Landing Page (apps\u002Flanding-page)",{"path":85,"title":83},"\u002Fapps\u002Flanding-page\u002Fclaude",{"path":87,"title":66},"\u002Fapps\u002Flearning-api\u002Fagents",{"path":89,"title":77},"\u002Fapps\u002Flearning-api\u002Freadme",{"path":91,"title":92},"\u002Fapps\u002Flearning-api\u002Fevals-playground\u002Feval_metrics_design","Surface-Specific Eval Metrics Design",{"path":94,"title":95},"\u002Fapps\u002Flearning-api\u002Fevals-playground\u002Ftest_set","Quiz Eval Test Set",{"path":97,"title":98},"\u002Fapps\u002Flearning-api\u002Fevals-playground\u002Ffrontend\u002Freadme","React + TypeScript + Vite",{"path":100,"title":101},"\u002Fapps\u002Flearning-api\u002Fevals-playground\u002Fknown-issues\u002Fcontent-pillar-shallow-coverage\u002Freadme","Content pillar misses subtopics in dense documents",{"path":103,"title":104},"\u002Fapps\u002Flearning-api\u002Fevals-playground\u002Fknown-issues\u002Fdocling-empty-section-headers\u002Freadme","Empty section headers dropped by docling chunker",{"path":106,"title":107},"\u002Fapps\u002Flearning-api\u002Fevals-playground\u002Fknown-issues\u002Fdocling-table-reading-order\u002Freadme","Table\u002Fbox layout causes wrong reading order",{"path":109,"title":110},"\u002Fapps\u002Flearning-api\u002Fevals-playground\u002Fmetrics\u002Freadme","Quiz eval metrics — canonical rubrics",{"path":112,"title":113},"\u002Fapps\u002Flearning-api\u002Fevals-playground\u002Freports\u002F2026-04-12-quiz-summary-feedback-current-state","Quiz and Summary Feedback Current State",{"path":115,"title":116},"\u002Fapps\u002Flearning-api\u002Fevals-playground\u002Freports\u002F2026-04-24-quiz-eval-metrics","Quiz Evaluation Metrics",{"path":118,"title":119},"\u002Fapps\u002Flearning-api\u002Fevals-playground\u002Freports\u002F2026-05-01-quiz-eval-current-state","Quiz Eval Current State",{"path":121,"title":122},"\u002Fapps\u002Flearning-api\u002Fmonitoring\u002Freadme","Monitoring Stack",{"path":124,"title":77},"\u002Fapps\u002Flearning-api\u002Fshared\u002Freadme",{"path":126,"title":77},"\u002Fapps\u002Flearning-api\u002Fworkers\u002Flearning_agents\u002Fflashcard_agent\u002Freadme",{"path":128,"title":77},"\u002Fapps\u002Flearning-api\u002Fworkers\u002Flearning_agents\u002Fingestion_agent\u002Freadme",{"path":130,"title":77},"\u002Fapps\u002Flearning-api\u002Fworkers\u002Flearning_agents\u002Fquiz_agent\u002Freadme",{"path":132,"title":77},"\u002Fapps\u002Flearning-api\u002Fworkers\u002Flearning_agents\u002Fsummary_agent\u002Freadme",{"path":134,"title":77},"\u002Fapps\u002Flearning-api\u002Fworkers\u002Fparser\u002Freadme",{"path":136,"title":137},"\u002Fapps\u002Fmarketing-emails-preview\u002Fagents","Marketing Emails Preview (apps\u002Fmarketing-emails-preview)",{"path":139,"title":140},"\u002Fapps\u002Fmobile-app\u002Fagents","StudyFlash Mobile App - Claude Code Configuration",{"path":142,"title":140},"\u002Fapps\u002Fmobile-app\u002Fclaude",{"path":144,"title":145},"\u002Fapps\u002Fmountain-max\u002Fagents","Mountain Max (apps\u002Fmountain-max)",{"path":147,"title":148},"\u002Fapps\u002Fmountain-max\u002Fgame\u002Freadme","Mountain Max Game",{"path":150,"title":151},"\u002Fapps\u002Fportal\u002Fagents","Portal (apps\u002Fportal)",{"path":153,"title":154},"\u002Fapps\u002Fportal\u002Freadme","Nuxt Minimal Starter",{"path":156,"title":157},"\u002Fapps\u002Fportal\u002Fapp\u002Fcomposables\u002Ffiles\u002Freadme","File Upload Composables",{"path":159,"title":160},"\u002Fapps\u002Fportal\u002Fdocs\u002Flibrary-routing","Library Routing Documentation",{"path":162,"title":163},"\u002Fapps\u002Fsupabase\u002Fagents","Supabase (apps\u002Fsupabase)",{"path":165,"title":166},"\u002Fapps\u002Fwrapped\u002Fagents","Wrapped (apps\u002Fwrapped)",{"path":168,"title":98},"\u002Fapps\u002Fwrapped\u002Freadme",{"path":170,"title":171},"\u002Finfra\u002Freadme","infra\u002F",{"path":173,"title":174},"\u002Finfra\u002Fdns\u002Freadme","DNS Infrastructure",{"path":176,"title":177},"\u002Finfra\u002Fdokploy\u002Freadme","studyflash-dokploy",{"path":179,"title":77},"\u002Finfra\u002Fdokploy\u002Fsdk\u002Fnodejs\u002Freadme",{"path":181,"title":182},"\u002Finfra\u002Finfisical\u002Freadme","Infisical Infrastructure",{"path":184,"title":185},"\u002Finfra\u002Flearning-api\u002Freadme","Pulumi GCP TypeScript Template",{"path":187,"title":188},"\u002Finfra\u002Fopenreplay\u002Freadme","OpenReplay on Hetzner",{"path":190,"title":191},"\u002Finfra\u002Fscripts\u002Freadme","infra\u002Fscripts\u002F",{"path":193,"title":194},"\u002Finfra\u002Fturborepo-cache\u002Freadme","Turborepo Remote Cache Infrastructure",{"path":196,"title":197},"\u002Finternal\u002Fchatwoot\u002Freadme","Chatwoot Infrastructure",{"path":199,"title":200},"\u002Finternal\u002Fchatwoot\u002Fprovider\u002Freadme","studyflash-chatwoot-provider",{"path":202,"title":77},"\u002Finternal\u002Fchatwoot\u002Fprovider\u002Fsdk\u002Fnodejs\u002Freadme",{"path":204,"title":205},"\u002Finternal\u002Fdocs\u002Freadme","internal\u002Fdocs",{"path":207,"title":208},"\u002Finternal\u002Fsupport-bot\u002Fclaude","Support Bot (Maximilian)",{"path":210,"title":211},"\u002Finternal\u002Fsupport-bot\u002Freadme","Studyflash Customer Support Bot (Maximilian)",{"path":213,"title":214},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Faccount_issues","Account Issues",{"path":216,"title":217},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fbilling_invoice","Billing Invoice",{"path":219,"title":220},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fcontent_upload","Content Upload",{"path":222,"title":223},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fdata_loss","Data Loss",{"path":225,"title":226},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fflashcard_issues","Flashcard Issues",{"path":228,"title":229},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fgarbage","Garbage",{"path":231,"title":232},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fgeneral_how_to","General How To",{"path":234,"title":235},"\u002Finternal\u002Fsupport-bot\u002Fkb","Knowledge Base Index",{"path":237,"title":238},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Flanguage_issues","Language Issues",{"path":240,"title":241},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fmindmap_issues","Mindmap Issues",{"path":243,"title":244},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fmisunderstanding","Misunderstanding",{"path":246,"title":247},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fmock_exam_issues","Mock Exam Issues",{"path":249,"title":250},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fpodcast_issues","Podcast Issues",{"path":252,"title":253},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fquiz_issues","Quiz Issues",{"path":255,"title":256},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Frefund_request","Refund Request",{"path":258,"title":259},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fsubscription_cancellation","Subscription Cancellation",{"path":261,"title":262},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fsubscription_info","Subscription Info",{"path":264,"title":265},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fsummary_issues","Summary Issues",{"path":267,"title":268},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Ftechnical_errors","Technical Errors",{"path":270,"title":271},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fvideo_issues","Video Issues",{"path":273,"title":274},"\u002Fpackages\u002Fcommon\u002Fdocs\u002Fearly-access-features","Declarative Early Access Features",{"path":276,"title":277},"\u002Fpackages\u002Fcommon\u002Fscripts\u002Freadme","Common Package Scripts",{"path":279,"title":280},"\u002Fpackages\u002Fdevtools\u002Ffigma-plugins\u002Freadme","Figma plugins",{"path":282,"title":77},"\u002Fpackages\u002Fpulumi-infisical\u002Freadme",{"id":284,"title":113,"body":285,"description":943,"extension":944,"lastReviewed":945,"meta":946,"navigation":947,"owner":945,"path":112,"seo":948,"status":945,"stem":949,"tags":945,"__hash__":950},"repo\u002Fapps\u002Flearning-api\u002Fevals-playground\u002Freports\u002F2026-04-12-quiz-summary-feedback-current-state.md",{"type":286,"value":287,"toc":927},"minimark",[288,292,313,316,321,523,528,581,583,587,790,794,834,836,840,844,864,868,894,896,900,921],[289,290,113],"h1",{"id":291},"quiz-and-summary-feedback-current-state",[293,294,295,299,300,303,304,308,309,312],"p",{},[296,297,298],"strong",{},"Date:"," 2026-04-12\n",[296,301,302],{},"Source:"," ",[305,306,307],"code",{},"unified_feedback_enriched.csv"," — all negative-sentiment feedback with body text ≥5 chars.\n",[296,310,311],{},"Method:"," Every row read and classified by LLM (no keyword heuristics). 2,309 entries total.",[314,315],"hr",{},[317,318,320],"h2",{"id":319},"quiz-feedback-605-negative-entries","Quiz Feedback (605 negative entries)",[322,323,324,343],"table",{},[325,326,327],"thead",{},[328,329,330,334,337,340],"tr",{},[331,332,333],"th",{},"Category",[331,335,336],{},"Count",[331,338,339],{},"%",[331,341,342],{},"Description",[344,345,346,363,379,395,411,427,443,459,475,491,507],"tbody",{},[328,347,348,354,357,360],{},[349,350,351],"td",{},[305,352,353],{},"too_few_questions",[349,355,356],{},"222",[349,358,359],{},"36.7%",[349,361,362],{},"User requested N questions, got far fewer (often 1–3)",[328,364,365,370,373,376],{},[349,366,367],{},[305,368,369],{},"too_easy",[349,371,372],{},"75",[349,374,375],{},"12.4%",[349,377,378],{},"Distractors too obvious, answers identifiable by length\u002Fposition",[328,380,381,386,389,392],{},[349,382,383],{},[305,384,385],{},"content_mismatch",[349,387,388],{},"72",[349,390,391],{},"11.9%",[349,393,394],{},"Questions not about the uploaded material",[328,396,397,402,405,408],{},[349,398,399],{},[305,400,401],{},"repetitive_questions",[349,403,404],{},"51",[349,406,407],{},"8.4%",[349,409,410],{},"Same questions repeated across or within quizzes",[328,412,413,418,421,424],{},[349,414,415],{},[305,416,417],{},"not_working",[349,419,420],{},"47",[349,422,423],{},"7.8%",[349,425,426],{},"Quiz didn't generate or load at all",[328,428,429,434,437,440],{},[349,430,431],{},[305,432,433],{},"unclear_questions",[349,435,436],{},"35",[349,438,439],{},"5.8%",[349,441,442],{},"Poorly worded, confusing, or overly long questions",[328,444,445,450,453,456],{},[349,446,447],{},[305,448,449],{},"incorrect_answers",[349,451,452],{},"30",[349,454,455],{},"5.0%",[349,457,458],{},"Wrong answer marked correct, factual errors",[328,460,461,466,469,472],{},[349,462,463],{},[305,464,465],{},"too_superficial",[349,467,468],{},"25",[349,470,471],{},"4.1%",[349,473,474],{},"Surface-level, not exam-relevant, covers meta\u002Fadmin info",[328,476,477,482,485,488],{},[349,478,479],{},[305,480,481],{},"other",[349,483,484],{},"22",[349,486,487],{},"3.6%",[349,489,490],{},"Doesn't fit above (too hard, feature requests, etc.)",[328,492,493,498,501,504],{},[349,494,495],{},[305,496,497],{},"wrong_language",[349,499,500],{},"18",[349,502,503],{},"3.0%",[349,505,506],{},"Quiz generated in wrong language",[328,508,509,514,517,520],{},[349,510,511],{},[305,512,513],{},"rendering_bug",[349,515,516],{},"8",[349,518,519],{},"1.3%",[349,521,522],{},"Formulas\u002Fformatting broken or displayed incorrectly",[524,525,527],"h3",{"id":526},"key-findings-quiz","Key Findings — Quiz",[529,530,531,538,553,573],"ol",{},[532,533,534,537],"li",{},[296,535,536],{},"36.7% of complaints = too few questions."," This is the single largest issue by far. Users set a max question count and receive far fewer — sometimes just 1. This is likely a generation pipeline issue (content extraction → question generation throughput).",[532,539,540,543,544,546,547,549,550,552],{},[296,541,542],{},"Quantity + generation failures account for ~53%."," Combining ",[305,545,353],{}," (36.7%), ",[305,548,401],{}," (8.4%), and ",[305,551,417],{}," (7.8%) — over half of all negative feedback is about not getting enough usable quiz content.",[532,554,555,303,558,560,561,563,564,566,567,569,570,572],{},[296,556,557],{},"Quality issues account for ~39%.",[305,559,369],{}," (12.4%), ",[305,562,385],{}," (11.9%), ",[305,565,433],{}," (5.8%), ",[305,568,449],{}," (5.0%), and ",[305,571,465],{}," (4.1%) together indicate quiz quality problems — distractors that don't work, questions from the wrong part of the material, and factual errors.",[532,574,575,580],{},[296,576,577,579],{},[305,578,369],{}," is structurally exploitable."," Multiple users report that the longest answer option is always correct, or that true\u002Ffalse answers always appear on the same side. This is a prompt\u002Fgeneration bias, not a content issue.",[314,582],{},[317,584,586],{"id":585},"summary-feedback-1704-negative-entries","Summary Feedback (1,704 negative entries)",[322,588,589,601],{},[325,590,591],{},[328,592,593,595,597,599],{},[331,594,333],{},[331,596,336],{},[331,598,339],{},[331,600,342],{},[344,602,603,619,635,651,667,682,697,713,728,744,760,774],{},[328,604,605,610,613,616],{},[349,606,607],{},[305,608,609],{},"wants_bullets_structure",[349,611,612],{},"298",[349,614,615],{},"17.5%",[349,617,618],{},"Wants bullet points, headings, organized layout — not prose",[328,620,621,626,629,632],{},[349,622,623],{},[305,624,625],{},"missing_content",[349,627,628],{},"293",[349,630,631],{},"17.2%",[349,633,634],{},"Summary skipped chapters\u002Fsections from source material",[328,636,637,642,645,648],{},[349,638,639],{},[305,640,641],{},"too_long",[349,643,644],{},"251",[349,646,647],{},"14.7%",[349,649,650],{},"Summary too lengthy\u002Fverbose",[328,652,653,658,661,664],{},[349,654,655],{},[305,656,657],{},"too_short",[349,659,660],{},"216",[349,662,663],{},"12.7%",[349,665,666],{},"Summary too brief, not detailed enough",[328,668,669,673,676,679],{},[349,670,671],{},[305,672,481],{},[349,674,675],{},"168",[349,677,678],{},"9.9%",[349,680,681],{},"Vague complaints, feature requests, unclear feedback",[328,683,684,688,691,694],{},[349,685,686],{},[305,687,497],{},[349,689,690],{},"109",[349,692,693],{},"6.4%",[349,695,696],{},"Summary in wrong language",[328,698,699,704,707,710],{},[349,700,701],{},[305,702,703],{},"not_generated",[349,705,706],{},"93",[349,708,709],{},"5.5%",[349,711,712],{},"Empty page, nothing generated",[328,714,715,719,722,725],{},[349,716,717],{},[305,718,385],{},[349,720,721],{},"84",[349,723,724],{},"4.9%",[349,726,727],{},"Summary not about the uploaded document at all",[328,729,730,735,738,741],{},[349,731,732],{},[305,733,734],{},"too_complex_language",[349,736,737],{},"81",[349,739,740],{},"4.8%",[349,742,743],{},"Language too difficult, hard to understand for user's level",[328,745,746,751,754,757],{},[349,747,748],{},[305,749,750],{},"rendering_formatting",[349,752,753],{},"68",[349,755,756],{},"4.0%",[349,758,759],{},"Font size, layout, display issues, broken rendering",[328,761,762,767,769,771],{},[349,763,764],{},[305,765,766],{},"missing_visuals",[349,768,484],{},[349,770,519],{},[349,772,773],{},"Diagrams\u002Fimages from source not included",[328,775,776,781,784,787],{},[349,777,778],{},[305,779,780],{},"unwanted_sections",[349,782,783],{},"21",[349,785,786],{},"1.2%",[349,788,789],{},"Reflection questions or sections user didn't ask for",[524,791,793],{"id":792},"key-findings-summary","Key Findings — Summary",[529,795,796,802,808,814,820,826],{},[532,797,798,801],{},[296,799,800],{},"Format is the #1 complaint."," 17.5% of users explicitly want bullet points or structured layout instead of continuous prose. Many EU students (Dutch, French, German) use summaries for exam prep and need scannable, structured content.",[532,803,804,807],{},[296,805,806],{},"Coverage is the #2 complaint."," 17.2% say the summary skipped chapters or sections. Common pattern: user uploads 50–80 page document, summary only covers the first few pages\u002Fchapters.",[532,809,810,813],{},[296,811,812],{},"Length calibration is broken in both directions."," 14.7% say too long, 12.7% say too short — together 27.4%. The system isn't matching user expectations for detail level. Users who want \"detailed\" get walls of text; users who want \"concise\" get multi-page output.",[532,815,816,819],{},[296,817,818],{},"Wrong language is significant at 6.4%."," Many non-English EU users (Dutch, Swedish, French, German) receive summaries in English or a different language than their source material.",[532,821,822,825],{},[296,823,824],{},"Generation failures at 5.5%."," Users report empty pages or nothing generated — a reliability issue.",[532,827,828,833],{},[296,829,830,832],{},[305,831,734],{}," (4.8%) reveals a user-level mismatch."," Secondary school students (vmbo, 6de leerjaar) receive university-level language. The system doesn't adapt to the user's educational level.",[314,835],{},[317,837,839],{"id":838},"actionable-priorities","Actionable Priorities",[524,841,843],{"id":842},"quiz-high-impact","Quiz — High Impact",[529,845,846,852,858],{},[532,847,848,851],{},[296,849,850],{},"Fix question count generation"," — investigate why the pipeline produces far fewer questions than requested",[532,853,854,857],{},[296,855,856],{},"Improve distractor quality"," — eliminate structural tells (longest answer = correct, positional bias in T\u002FF)",[532,859,860,863],{},[296,861,862],{},"Improve content coverage"," — questions should span the full uploaded material, not just the first section",[524,865,867],{"id":866},"summary-high-impact","Summary — High Impact",[529,869,870,876,882,888],{},[532,871,872,875],{},[296,873,874],{},"Default to structured\u002Fbullet format"," — or respect user format preferences more reliably",[532,877,878,881],{},[296,879,880],{},"Improve full-document coverage"," — ensure all chapters\u002Fsections are represented",[532,883,884,887],{},[296,885,886],{},"Better length calibration"," — map user detail preferences to actual output length",[532,889,890,893],{},[296,891,892],{},"Fix language detection\u002Frespect"," — generate in the source material's language",[314,895],{},[317,897,899],{"id":898},"source-data","Source Data",[901,902,903,913],"ul",{},[532,904,905,908,909,912],{},[305,906,907],{},"quiz_feedback_classified.csv"," — 605 negative quiz feedback entries with ",[305,910,911],{},"complaint_category"," column",[532,914,915,918,919,912],{},[305,916,917],{},"summary_feedback_classified.csv"," — 1,704 negative summary feedback entries with ",[305,920,911],{},[293,922,923,924,926],{},"Both files include all original columns from ",[305,925,307],{}," plus the classification. They are source artifacts and are intentionally not tracked in this PR.",{"title":928,"searchDepth":929,"depth":929,"links":930},"",2,[931,935,938,942],{"id":319,"depth":929,"text":320,"children":932},[933],{"id":526,"depth":934,"text":527},3,{"id":585,"depth":929,"text":586,"children":936},[937],{"id":792,"depth":934,"text":793},{"id":838,"depth":929,"text":839,"children":939},[940,941],{"id":842,"depth":934,"text":843},{"id":866,"depth":934,"text":867},{"id":898,"depth":929,"text":899},"Date: 2026-04-12\nSource: unified_feedback_enriched.csv — all negative-sentiment feedback with body text ≥5 chars.\nMethod: Every row read and classified by LLM (no keyword heuristics). 2,309 entries total.","md",null,{},true,{"title":113,"description":943},"apps\u002Flearning-api\u002Fevals-playground\u002Freports\u002F2026-04-12-quiz-summary-feedback-current-state","Vr5b23IVxPI9GCEQWlKkB4hhEq1EacYFeMKv1BypJqM",1779007962950]