✅ Task log completed record
Historical record — preserved from the deleted task log
Permanent append-only history, preserved as observed. This is the completed log of the retired root
tasklist.md, carried over verbatim: dates, wording, figures and evidence citations are unchanged, and rows stay newest first. Two mechanical repairs were needed and nothing else was touched — one unescaped|inside inline code in the 2026-08-19 ledger close-out row was escaped so the Evidence cell renders, and the four lifted task bodies in the second section were dedented by one level because their parent list no longer exists. Nothing here is current state. Current truth: Program Masterplan. Open work: Open work ledger.
✅ Completed log
Finished work stays here permanently, newest first, with its evidence.
| Date | Item | What changed | Evidence |
|---|---|---|---|
| 2026-08-30 | Corpus x-ray, canonical SSOT and TTS split | Fresh 9,073-row full export; canonical qid ledger; frozen bundle measured 3 live / 5,244 pending; deterministic 18,146-asset prompt/reveal queue; 24-clip voice audition | corpus x-ray and SSOT; builder verify PASS; manifest SHA-256 stable |
| 2026-08-19 | Legacy WXR corpus import | 8,401-item legacy export mined as data: 8,379 extracted, 42 already live, 8,337 imported via 84 QuestionPackImporter packs; published 732 -> 9,069, index 9,069, drift 0; probe 46/0; two Wave 6 probe fixtures made content-independent | audit |
| 2026-08-19 | D005 per-quiz answer sheet under Forced | GenerationService::pdf_args() applies the per-quiz rule; quiz 413 meta 0 renders 4 pages with no key, meta 1 renders 5 pages with key and explanations; editor checkbox enabled under Forced | play and print answers; probe 1..46 46/0 incl. new Wave 6 assertion 15 |
| 2026-08-19 | Q11 instant feedback and explanations | Site ceilings opened through the revision handshake; quiz 1284 returns is_correct + explanation on 3/3, quiz 413 returns is_correct on 58/58 with its own per-quiz explanation opt-out honoured | receipts in 03 EVIDENCE/2026-08-19-q11-feedback/ |
| 2026-08-19 | Corpus forensics correction | Dedupe ledger was wrong and provenance right: live dump had been built from truncated post titles, already-live 339 to 632, importable 353 to 60 | question corpus forensics correction section |
| 2026-08-19 | Corpus import of the survivors | 53 of 60 imported across 5 packs, 7 multi-answer rows rejected, published 679 to 732 with index 732 and drift 0; question-store backslash defect found and fixed | corpus import; probe 1..46 46/0 |
| 2026-08-19 | Question-corpus forensics audit | Published deliverable (f): 11 banks, 12,271 rows / 1,841 stems, provenance verdicts, canonical schema, and balanced dedupe ledger closing at 60 importable (corrected 2026-08-19 from 353) | question-corpus-forensics; build check-only passed; cache-busted leak grep 0 |
| 2026-08-19 | 3.2.6 Segmented controls fixed | Three label-form segmented controls (player.final_cue, presentation.question_numbering, presentation.answer_marker) now share existing button segment rule blocks across four stylesheets; no markup or data-path changed | Computed-style parity receipt ~/dev/qwizz/03 EVIDENCE/2026-08-19-segment-parity/computed-style-parity.json (14/14 properties identical selected and unselected), screenshot settings-full.png, probe 1..46 / 46 / 0 |
| 2026-08-19 | Ledger close-out remeasurements | Updated now.md and changelog with today’s re-measured vault/page/log/check-only state while preserving earlier completed-log rows below | find q5vault -name "*.md" | wc -l → 61; wc -l logs/debug.log → 38,434; build.sh wrdp --check-only emitted 392 files; probe receipt 1..46 / 46 / 0 |
| 2026-08-19 | 3.2.6 SegmentedControlMarkupMismatch retraction | Original “three unstyled segmented controls” settings-page claim kept visible but retracted; all 12 .qwizz-segment controls render styled and expose selected state visually | Computed style on /wp-admin/admin.php?page=qw-settings: container #fff, 0.625px solid rgb(195,196,199), radius 9px; pressed rgb(246,247,247) / rgb(33,69,230) vs unpressed transparent / rgb(100,105,112); grep found exactly one claim site |
| 2026-08-19 | UX-ANS-01 measurement | Forced-vs-per-quiz sheet-off semantics measured; owner decision remains open as blocked(owner decision UX-ANS-01) rather than closed | wp eval-file /tmp/qw-forced-matrix.php: REST/player sheet flag honours qw_include_answers='0', but direct PDF PresentationDocument::pdf_args() clamps include_answers=true; owner intake |
| 2026-08-19 | 3.2.11 AnswersSplitUI | Two operator-visible answers controls; sheet bit independent; Forced policy shown as state | Metabox on draft 1657; quiz 413 meta untouched; probe 1..46 / 46 / 0; play and print answers |
| 2026-08-19 | 2.1.1 RegenerateCatalog | German catalog at source parity, then topped up after 3.2.11 | POT=PO=1650, missing 0 / obsolete 0; forced-DE Nächste Frage / Lösungsblatt im PDF |
| 2026-08-19 | B001 browser proof + corpus audit | Quiz 413 guest playthrough 58 review items / 0 console errors; full published-corpus validator pass 0 violations | play and print answers · corpus audit |
| 2026-08-19 | 1.2.3 MasterplanDiet + 1.3.3 LinkAndClaimCheck | Masterplan slimmed 307 → 84 lines with all narrative relocated verbatim to an archived record; five inbound anchors repointed; the wrdp wiki-lint gate wired into the pre-build path | Masterplan · Narrative record · wc -l 84; wiki-lint.py exit 0; sabotage run exited 1 at the gate; build.sh wrdp --check-only 60 inputs / 390 emitted |
| 2026-08-19 | Wiki SSOT audit remediation | Parity claim retracted at 8 sites with the measured method; now.md counts corrected (59 pages, 38,433-line log, fresh drift 153/76); codename glossary and 5-token status vocabulary added to orientation; ledger status cells normalised; dated records archived via archive: true + restructured audits index; scripts/wiki-lint.py added; build.sh python3.11 pin removed; manifest decision recorded | wp i18n make-pot + comm → 153/76; probe 1..46, assertions=46 failures=0; wiki-lint.py exit 0; no-shim build.sh wrdp|stmx --check-only pass; cache-busted curls on the published pages |
| 2026-08-18 | 3.2.10 SubjectSufficiencyGate | Guest builder cards gate on can_satisfy(subject, request) instead of term existence; eleven advertised subjects became the three that can actually be played, and the admin tree kept all of them | Cards 11 -> 3 (any general-knowledge geography); rendered shortcode contains no animals while admin_tree() does; Wave 6 PHP assertion 14; probe 1..46, assertions=46 failures=0 |
| 2026-08-18 | Wiki authentication removed | Owner asked for the login to be dropped; HTTP basic auth taken off the wiki host and anonymous access restored. The exposure closed by 1.4.3 is open again | Cache-busted anonymous root, now, tasklist and the decision page each 200; setup and operations again publish operator detail — see task 1.4.6 |
| 2026-08-18 | 3.2.9 PlayPrintDecouple | Player reveal no longer reads qw_include_answers; print still owns that meta. Quiz 413 finish now returns review length 58 | Play and print answers; ./scripts/quizwizz-probe.sh --wave all = 1..46, assertions=46 failures=0; debug log unchanged |
| 2026-08-18 | Play vs print answers decided | Owner: player can reveal instantly, at the end, or never; PDF answer sheet stays independently includable; default UI stays one Answers switch; mechanism must split. Owner wording echoed on the decision page | Play and print answers; 413 finish measured 13/58 with no review before the repair; 8 of 13 published quizzes failed key_allowed |
| 2026-08-18 | Tandem showcase contract | Published the browser-only one-stop protocol, failure lessons, evidence model, scale requirements, QuizWizz route, and next-agent handoff | Tandem showcase guide; live walk measured 86 events and 52 highlighted captures; visible Sitar and Explanation stops verified the loop |
| 2026-08-18 | Question-pack import blocker | includes/QuestionService.php persist() resolves each subject as slug → numeric term id → exact name and stores the canonical slug; unknown subjects now fail early with a named error | Acceptance matrix: canonical slug, term name, bare slug and numeric id all store games-chess; php -l clean; ./scripts/quizwizz-probe.sh --wave all = 1..46, assertions=46 failures=0; logs/debug.log steady at 38,425 lines |
| 2026-08-18 | English content baseline | Five curated English packs imported | Published questions 269 → 679, index 679, 508 rows lang=en, 456 qw_subject terms, draft quizzes 1556, 1657, 1758, 1859, 1960 |
| 2026-08-18 | English interface baseline | qw_exposure_settings.iface_lang set from auto to en; content languages reduced to English | Verified in the database and after a hard reload; admin rail renders English |
| 2026-08-18 | Catalog drift measured | Proved the shipped catalog trails the installed source | Shipped POT and PO both 1568 msgids; POT regenerated from source 1645 → 152 missing, 75 obsolete |
| 2026-08-18 | Forward strategy published | Added admin IA strategy and question corpus strategy | Both published and linked from QuizWizz audits; changelog entry dated 2026-08-18 |
| 2026-08-18 | Archive-versus-live proven | Established that the local release zip is not the deployed build | Deployed qwizz-admin-settings.js 66,288 bytes against 47,344 in the zip; qwizz-admin-dashboard.js, qwizz-admin-starter.js, qwizz-effect-state.js, css/print.css, css/qwizz-admin.css return 404 live |
| 2026-08-18 | Three claims retracted | Corrected earlier findings that were archive-derived or mis-measured | theme_default = cyber with themes.cyber.def = true; accessible-name audit found 0 of 140 controls unnamed; assets/js/qwizz-admin-settings.js:1024-1033 unhides every section by design |
| 2026-08-18 | ego lite installed | Chromium-based agent browser installed clean on the author’s machine, helper registered, runtime verified | ego-browser responds from ~/.local/bin; app at /Applications/ego lite.app |
Completed items the log table does not carry
Three [x] tasks from the retired task log recorded detail that the table above never summarised. Preserved verbatim, dedented one level.
-
1.1.3 StripLocalPaths:
- Removed author-machine paths from published pages; artifacts held outside the vault are now described rather than pathed.
- Standing rule: a published page cites bench paths, plugin-relative paths, or URLs — never an author’s local filesystem.
-
3.2.12 VisualTandemPlaythrough — done 2026-08-19:
- Clicked through in the owner’s own browser over the relay, not headless. Quiz 413:
Not quite+Correct answer: Antoni Gaudíon a deliberate wrong pick, finished13 / 58 (22%)with 58 review items. Quiz 1284 renders the explanation text under the verdict. Guest builder Geography reported15 questions match, created quiz 2341, finished3 / 10 (30%)with 10 review items. - Evidence:
~/dev/qwizz/03 EVIDENCE/2026-08-19-tandem-playthrough/(5 screenshots); ledger entry L009. Operator lesson:Playis disabled while the panel saysChecking availability…; clicking early submits with no criteria and the page answersOnly 6 questions match.
- Clicked through in the owner’s own browser over the relay, not headless. Quiz 413:
-
4.1.2 EgoWikiPass:
- Drove the wiki through an ego task space and measured the rendered pages: index 0 broken links,
now18 links,tasklist20 links,orientation23 links,audits/qwizz/49 links, 0 broken and 0 raw link artifacts anywhere after the table-link repair. - Page weight measured live: masterplan 6,651 words against
now402 andorientation2,659 — the evidence behind tasks 1.1 and 1.2.3. - Found and fixed a real publishing defect in the process: aliased wikilinks inside Markdown table cells render as raw unresolved-wikilink text in Quartz, even when the pipe is escaped; table cells now use ordinary Markdown links.
- Drove the wiki through an ego task space and measured the rendered pages: index 0 broken links,
- return: Open work ledger · Program Masterplan · QuizWizz audits
- companion archive: Backlog history