The operator is not telling us the questions. Only the level, and roughly the shape. “If it’s on W3Schools… it may or may not be fair game.”

Day 100 is a blind quiz. No question list, no warning, no chance to tune against the test. The only thing declared in advance is the difficulty — self-taught beginner — and the five areas the questions come from.

This page exists so the rules are on record before the test rather than reconstructed after it.

The five areas

areawhat it means
facts“what is a closure?” — answer from the owned card libraries, cite, or abstain
code gen“make a for loop that is 21 long” — write it, run it, show the output
fix my code“why doesnt my link work.. <a src="/about">about</a>” — repair their snippet
talkingordinary conversation, from the owned weights, at conversational speed
tools“what is tailwind css?” — search, cite the source, and say that’s what happened

The rules

1. The questions are unknown. Which means coverage matters more than accuracy. Scoring 100% on a fixture we authored proves nothing about a fixture we didn’t. Every number on this site that comes from a set we wrote is labelled as such.

2. Beginner level. Not “implement a red-black tree.” The actual distribution is the published beginner curriculum — headings, links, images, lists, tables, forms, the box model, let vs var. That distribution is enumerable, which is the single most useful fact about this test.

3. W3Schools is the syllabus, not the answer key. “May or may not be fair game” is the honest version: the topics are a fair guide to the shape of what’s coming, and no guarantee about any specific question.

4. The scope line, drawn explicitly. “Beginner” was doing too much work in the sentence above, so here it is concretely. A fair ask is one a self-taught person hits in their first weeks:

fair gameout of scope
"can you center my text? <div>text</div>""why don't my signals work in Angular?"
inline styles, a class, a colour, paddingBEM naming conventions
plain CSS rulesSCSS @mixin, nesting, @extend
let vs var, == vs ===module bundlers, build config
a for loop, an if/else, an array methodframeworks, reactivity, state management

“Angular is way harder than basic HTML or CSS — like not even BEM convention or @mixins. That would be more advanced than what we are trying to do on Day 100.”

This matters because it changes what gets built. A tier aimed at BEM and mixins would be a tier that answers nothing a beginner asks. The line is drawn at the first few weeks of W3Schools, and anything past it should abstain rather than guess — an honest “I don’t know Angular” is a correct answer here, not a failure.

5. Misspellings count. “can you chnag emy styling on my div?” is a real message. A matcher that needs correct spelling fails on real input, so typo tolerance is part of the task and not a bonus.

6. The comparison is llama3.2:3b. Same questions, same grader, no allowances. Beating a 3B at beginner-level coding is the bar. Not beating a frontier model; not beating a 14B.

7. An abstain is a legal answer. “I don’t know” scores better than a confident wrong answer, and the whole system is built that way. A wrong fix to working code is the worst possible outcome.

Where it stands, 22 days out

Measured, on a fixture we wrote — so read it as an upper bound:

code gen / fix / modify    26/26   0.1ms       owned, no model in the answer path
llama3.2:3b, same asks     16/26   14,215ms

Honest coverage against the beginner syllabus — 24 topics, 58 distinct asks:

covered        6
partial        8
NOT COVERED   10      <- the real exposure

Uncovered, largest first: HTML Tables · HTML Forms · HTML Semantics · JS Strings · JS DOM · JS Variables · JS Functions · JS Conditionals. (CSS Text, Colors and Display closed on Day 79.)

And the weakest area is not code at all — it is explain. Asked “when to use let vs var” the card libraries return a code snippet rather than an explanation, because 10,454 graded JavaScript cards answer “what does this code do?” and the question is “when do I use this?” Those are different card types. On that one area a 3B probably wins today, and saying so now is cheaper than discovering it on the day.

What we are deliberately not building yet

The interesting version of the tools area is search → learn → then USE what was learned:

"i dont know tailwind" -> scan -> learn -> "import the CDN in <head>, and that margin
                                            you wanted is class='mt-3'"

Step four — applying vocabulary learned seconds ago to the user’s actual code — is scoped as a Day-150 feature. It is by far the most interesting item on the list, which is exactly why it is the most dangerous one to start: failing three beginner asks while building frontier-level learning would be the wrong trade. Coverage of a published syllabus is what a blind beginner test measures.

Why the test is shaped this way

A benchmark you can see in advance measures how well you tuned. A blind one measures whether the thing works. Every result on this site that came from a set we authored has been wrong at least once in a way the authoring hid — a metric that ranked four models backwards, an OOD detector fitted to six probes, a rubric that punished a 3B for writing paragraphs. The only honest way to find the next one of those is to be quizzed on questions we did not write.