968479ff51
- internal/sampling: ComputeWeight (Laplace-smoothed error rate + recency
multiplier, floor 0.15) and SelectWeighted (A-Res reservoir algorithm).
10k-run statistical test verifies weak questions appear >3x more often
than mastered, and mastered questions still appear (floor exercised).
- GET/POST /test/new: source filter with live available-count JS update,
n-questions input, weighted vs uniform mode radio.
- GET /test/{id}/q/{n}: deterministic answer shuffle per (test_id,
question_id), progress bar, mobile-friendly large tap targets.
- POST /test/{id}/q/{n}: records answer + upserts stat; advances to next
question or finishes test and redirects to results stub.
- GET /test/{id}/results: stub (Phase 7 will add full review).
- Ownership enforced: all test routes 404 for wrong user.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
19 lines
645 B
HTML
19 lines
645 B
HTML
{{define "content"}}
|
|
<div class="text-center py-12">
|
|
<h1 class="text-2xl font-bold text-gray-800 mb-3">Test Complete!</h1>
|
|
<p class="text-gray-500 mb-8">Detailed results coming in the next phase.</p>
|
|
<div class="flex justify-center gap-3">
|
|
<a href="/test/new"
|
|
class="inline-block bg-blue-600 hover:bg-blue-700 text-white px-6 py-2.5 rounded-md
|
|
text-sm font-semibold shadow-sm">
|
|
Take another test
|
|
</a>
|
|
<a href="/"
|
|
class="inline-block border border-gray-300 text-gray-700 hover:bg-gray-50 px-6 py-2.5
|
|
rounded-md text-sm font-medium">
|
|
Library
|
|
</a>
|
|
</div>
|
|
</div>
|
|
{{end}}
|