limba

Romanian B1 — the workspace hub
Generated 2026-08-13 by scripts/hub.mjs · Phase 0 — Setup & calibration. Every number is read from the file that owns it — nothing here is hand-maintained.

Where things stand

172
days to exam
2027-02-01 — the working target
3/30
units done
next up: U04 — Familia și descrierea persoanelor
25/77
grammar taught
individual pieces of grammar fully covered, out of everything B1 needs
133
things to remember
109 words · 24 grammar patterns
45
to review today
undefined to produce · 45 to recognise
≈ 32 min · past the 10′ a lesson gives review — a drill takes the whole hour
17
study sessions
most recent was 2026-08-13
132
items in it
The deck
109 words · 23 grammar patterns · 45 of them due today — each with its notes and, where it exists, its audio.
Filter by unit, tier or part of speech and sort the same three ways; hide one side (RO → EN or EN → RO) and reveal a row at a time.
Opens deck.html next to this page — rebuilt from the ledgers at every close-out, so it is current. 1 of the 133 tracked items are not in it: they are seeded against a unit that has not taught them yet.
What to do next

45 items are due. A /limba-drill clears the queue in 10–15 minutes without teaching anything new; a /limba-lesson does the queue first and then moves on to U04.

Last session left this pointer: (1) The 12 words of 2026-08-12 reach 48 hours on 2026-08-14 — ask them EN→RO bare, not as the full package. That is the one reading that separates instrument from retention, and the old design spends it. (2) U04 part 2 — al/a/ai/ale, possessives, diphthongs, family lexicon. (3) LEX-END needs the verb half first: the infinitive's final vowel is the conjugation class, it is now the top live pattern after VRB-CONJ, and U05 opens on it. (4) Add the -oare sub-rule to the gender-gate page — it is one line and it closes part of gate 4's hole. (5) NOUN-NUM needs singulars asked cold, with no plural block anywhere in the session, or its cause stays a guess. - Open questions. None outstanding. Three typo questions were asked and all three were answered in one numbered reply ("all mistakes"), which is what made LEX-END codable.

Topic coverage
Least-covered system first — that ordering is the point.
Prepositions & case-marking0/2
Clause syntax & connectors0/4
Consolidation & assessment0/3
The verb system3/16
The article system1/5
The pronoun system2/8
Lexical domains4/16
Numerals & quantification1/3
Register & politeness1/3
The noun system2/4
Adjectives & comparison1/2
Sound system & orthography7/8
Negation & sentence type3/3
Memory ladder
Where the 133 tracked items sit. Tier 1 is shaky, tier 5 is cold storage.
45
29
42
16
tier 1 · 0dtier 2 · 3dtier 3 · 7dtier 4 · 21dtier 5 · 60d
End-of-lesson test scores
Each lesson ends with ten questions on that day's material, marked out of 10. Landing inside the green band is the goal, not beating it — 6–7 out of 10 means the material was pitched right. Consistently above 8 means it was too easy and the pace should go up; below 5 means slow down.
5.5
7
7.25
7.7
07-31
07-31
08-03
08-07
One bar per lesson, oldest first; the newest is highlighted. Drills, reviews and mocks have no end-of-lesson test, so they leave no bar — the gaps are not missed sessions.
Mistakes worth drilling
Errors that recurred often enough to be logged, each counted against its root cause rather than how it showed up, and weighted by how many times it actually happened. Anything since re-tested clean drops off this list — it is what is still open, not everything that ever went wrong.
VRB-CONJverb conjugation
LEX-ENDthe word is there and its ending is not — a final vowel dropped, added or exchanged
LEX-FFfalse friend
NOUN-GENnoun gender/plural form
ADJ-AGRadjective agreement
NOUN-NUMthe plural produced where the singular was asked, or the reverse
LEX-GAPthe word is not there — output is a plausible-shaped invention
ORTH-DIAdiacritics
PRONpronunciation (round-trip miss)
ORTH-CGsoft/hard c and g spelling
REGregister
Already re-tested: the word is not there — output is a plausible-shaped invention — 12 earlier mistakes answered by a 94% retest on 2026-08-13; noun gender/plural form — 8 earlier mistakes answered by a 90% retest on 2026-08-12. Those stay in the record and are not counted above.
Counted against the cause, not the symptom: REG → VRB-CONJ, LEX-FF → VRB-CONJ, ORTH-DIA → PRON. A written mistake that turns out to be a sound you don't yet make is one problem, not two.
Recent sessions
The last few study blocks and what each one was.
2026-08-13Drill, sweep mode
2026-08-12Lesson
2026-08-12Drill
2026-08-12Drill
2026-08-10Lesson
2026-08-10Drill

The 30 units — what each one has given you

Click any unit to open it. Two bars, and they measure different things: taught is how much of the unit's material has been delivered, retained is how much of it you currently hold. They come apart — a unit can be finished and still be shaky, which is the case the plain "covered" label could never show. Every study page ever built for you sits inside the unit it belongs to, and every page has its audio built in.
order solid shaky
U01 Sunete, ortografie, primul contact taught in full
taught15/15 aspects
retained65%

What this unit owns

Alphabet, 31 letters R W
Vowel inventory (7) and the two new ones (ă, â/î) R L S
Consonant values and digraphs (ce/ci, ge/gi, ch/gh) R L S
The î/â spelling rule R W
No palatalization before front vowels L S
Stress — variable, unwritten L S
Subject pronouns + formal dumneavoastră R W L S
The infinitive marker a (a fi, a vorbi) R W
a fi, present R W L S
Negation with nu (nu sunt student) R W S
The n- contraction (nu am → n-am) R W L
Yes-no questions by intonation R L S
tu vs dumneavoastră S W
Greetings, courtesy, classroom meta-phrases S L
The UA/RU/EN false-friend set R S
Taught 2026-07-31.

40 things to remember

26 solid · 14 still shaky
a vorbia înțelegecarteexamenobrazlibrăriebună dimineațabună searacu plăcereCe mai faceți+4 more
Taught by

sounds

explainer

The whole sound system: 31-letter alphabet, all 7 vowels (5 free / 2 new), consonant values + digraphs, stress, no-palatalization, the î/â rule, [je] glide; embedded audio + reveal answers

copula

explainer

the infinitive marker a (= EN "to"); a fi present in full — six forms, negation, questions; which piece each language deletes and the Eu student trap

pronouns

explainer

subject pronouns complete + the coverage map of all 7 pronoun sub-systems with the unit each arrives in; ei/ele, no "it", register

vowels

superseded explainer

ă and â/î with UA/RU anchors, minimal pairs, spelling combos (superseded by sounds — delta-only, no system)

Drilled by

u01-deck

superseded practice

The whole U01 intake as a drill surface — all 32 vocabulary items and 8 grammar patterns, audio on every one, tagged missed/held/not-tested from SES-004, with RO→EN and EN→RO modes and per-row reveal (superseded by deck.html — generated fresh from the ledgers by scripts/deck.mjs, so its tiers and tags never go stale)

Repaired by — built after something failed

verbs-drill

repair

The present-tense system — three conjugation classes (-a/-i/-e) and the -ez-/-esc- infixes, across all six verbs already issued; derive-from-the-eu-form + the five never-break rules + how to guess the infix; the noi/voi infix-drop rule; the -i/-ți register grid; the dropped-ă words that change meaning (adresă/adresa); infinitive ≠ eu-form; the 5 interrogatives; 8 reveal attempts, audio throughout

ancora

repair

Every word that did not stay, tied to something already held — built after a full-backlog drill split the noun system in two: the plural routine ran 89% on securely-known words and 25% on shaky ones, grammar scored 85%, and vocabulary taught two days earlier scored 17%. Names the mechanism the session found: the wrong gender is not a gender error but the shape produced when the word is missing (o …ă as the default fill, nine sightings in one sitting, every one on a masculine or neuter). Section ① carries a withdrawal: the page first claimed the three words of sixteen that survived 48 hours were the three with a transfer anchor — the ledger showed all sixteen were already hooked, and no session ran on the intervening day, so that split measures intake volume and review interval, not anchoring. Carries 32 words as a two-layer drill surface (browse / RO→EN / EN→RO, per-row reveal, two clips per row) where the anchor conceals with the answer, plus the -e/-i coin flip stated as unstorable-by-rule and 4 guided attempts on nouns printed nowhere else on the page. 64 audio clips

U02 Eu și tu: prezentări taught in full
taught4/4 aspects
retained63%

What this unit owns

Interrogative pronouns (cine, ce, cum) S L
a avea, present R W L S
Numbers 0–100 L S
Countries, professions, personal data S W
Taught 2026-07-31 → 2026-08-03.

32 things to remember

20 solid · 12 still shaky
numețarăorașucraineaninginera lucranumărtelefonadresăstradă+2 more
Taught by

identity

explainer

a avea present in full — six forms, the n- contraction, questions; the naming chunks mă numesc / mă cheamă; 14 words for countries, nationalities and professions; the «у мене є» trap and the bare-profession rule

numbers-questions

explainer

Numbers 0–100 complete — the spre/zeci machine with its UA parallel, the three contractions, the de threshold at 20; age with a avea; the interrogatives cine / ce / cum; 16 words; audio on every item + 5 reveal-answer attempts

Repaired by — built after something failed

verbs-drill

repair

The present-tense system — three conjugation classes (-a/-i/-e) and the -ez-/-esc- infixes, across all six verbs already issued; derive-from-the-eu-form + the five never-break rules + how to guess the infix; the noi/voi infix-drop rule; the -i/-ți register grid; the dropped-ă words that change meaning (adresă/adresa); infinitive ≠ eu-form; the 5 interrogatives; 8 reveal attempts, audio throughout

ancora

repair

Every word that did not stay, tied to something already held — built after a full-backlog drill split the noun system in two: the plural routine ran 89% on securely-known words and 25% on shaky ones, grammar scored 85%, and vocabulary taught two days earlier scored 17%. Names the mechanism the session found: the wrong gender is not a gender error but the shape produced when the word is missing (o …ă as the default fill, nine sightings in one sitting, every one on a masculine or neuter). Section ① carries a withdrawal: the page first claimed the three words of sixteen that survived 48 hours were the three with a transfer anchor — the ledger showed all sixteen were already hooked, and no session ran on the intervening day, so that split measures intake volume and review interval, not anchoring. Carries 32 words as a two-layer drill surface (browse / RO→EN / EN→RO, per-row reveal, two clips per row) where the anchor conceals with the answer, plus the -e/-i coin flip stated as unstorable-by-rule and 4 guided attempts on nouns printed nowhere else on the page. 64 audio clips

U03 Substantivul I: gen, un/o, plural taught in full
taught5/5 aspects
retained24%

What this unit owns

Non-syllabic final -i R L
Three genders, including the m-sg/f-pl neuter R W
Plural endings -i / -e / -uri, plus the small -le class (zi→zile) R W
Indefinite un / o / niște R W
Everyday objects and the home R S
Taught 2026-08-07 → 2026-08-10.

42 things to remember

10 solid · 32 still shaky
scaunfereastrăușăcheieceaslucrucreionochiperetemunte+22 more
Taught by

nouns

explainer

The whole noun system — three genders with the counting test, and what "neuter" categorically is (two agreement patterns not three, ne-uter = "neither", the Latin origin, corpus/corpora → -uri, why it is a schedule not an identity); all five plural classes as marked paradigms; the stem alternations, consonant and vowel, with masă/mese vs casă/case and why the plural is stored not derived; the complete final-i inventory including the c/g digraph case and the Medici trap; un/o/niște; 14 words; 27 audio clips, 9 reveal attempts

u03-noun-changes

explainer

Why each U03 plural has the shape it has — the 14 nouns sorted into the six things a plural ending can do, then one card per word: the marked ending, the marked stem change, the operations that ran, and the cause. Establishes that oa/ea are conditioned, not stored (oa before a/ă/e, ea before a/ă only) — the rule that makes calculatoare gaining a diphthong and ferestre losing one the same event; isolates masă/mese as the one plural in the set that no rule reaches. Gender, translation and audio on every word; 5 reveal checks

plural-in-order

explainer

The plural as a procedure you run forward — three ordered steps (gender picks the shelf · the shelf gives the ending · the ending rewrites the stem), built after the mechanism page of 2026-08-09 explained every plural correctly and production still failed: that page reasons backwards from the answer, and this one runs forwards from the singular. Carries the ending shelf per gender with the two decidable feminine sub-cases and the -or → -oare bet; the oa/ea position table with its one asymmetric cell; the frozen-diphthong exemption (ceas, deal — if the singular already breaks the table, the word sits the rule out); the load stated as one stored fact per noun, not three; 4 worked examples and 6 attempts on nouns printed nowhere else on the page. The 16-word house set is a two-layer drill surface (browse / RO→EN / EN→RO, per-row reveal) with two clips per row so RO→EN can play the prompt without speaking the plural. 36 audio clips

Repaired by — built after something failed

gender-gate

repair

Noun gender as an ordered procedure, not a word list — four gates run in sequence ( → f · alive → m · consonant/-u + inanimate → n · -e → not decidable), with the -e hole in the previous sheet named and fixed and animacy promoted from tie-breaker to rule; all 14 U03 nouns routed through the gate with the deciding gate labelled and only two left to store; the closed masculine -e set; the soft/hard c/g spelling grid (ce/che, ge/ghe) that caused two errors which looked unrelated; 6 audio clips, 5 gate-naming reveals

ancora

repair

Every word that did not stay, tied to something already held — built after a full-backlog drill split the noun system in two: the plural routine ran 89% on securely-known words and 25% on shaky ones, grammar scored 85%, and vocabulary taught two days earlier scored 17%. Names the mechanism the session found: the wrong gender is not a gender error but the shape produced when the word is missing (o …ă as the default fill, nine sightings in one sitting, every one on a masculine or neuter). Section ① carries a withdrawal: the page first claimed the three words of sixteen that survived 48 hours were the three with a transfer anchor — the ledger showed all sixteen were already hooked, and no session ran on the intervening day, so that split measures intake volume and review interval, not anchoring. Carries 32 words as a two-layer drill surface (browse / RO→EN / EN→RO, per-row reveal, two clips per row) where the anchor conceals with the answer, plus the -e/-i coin flip stated as unstorable-by-rule and 4 guided attempts on nouns printed nowhere else on the page. 64 audio clips

The adjective as a procedure you run forward — three ordered steps (read the noun's gender and number · the form-class decides whether an ending exists at all · the ending rewrites the word), built the same evening as the teach page because a 10-item drill separated the two halves cleanly: the ending was chosen correctly on every item, and three of four misses were the stem left unrewritten (proste, frumosi, verdi). States step 3 as one line and -e open the vowel, -i softens the final consonant — which is the complete account of those three misses. Carries the consonant set before -i (d→z, s→ș, t→ț, c stays c) against the nouns the learner already inflects correctly (oglinzi, străzi, frați, munți, studenți), because this is the same step 3 that carries the U03 plural at 90%; the cluster caveat (prostproști, only the s moves); the vowel-stays warning before -i (proști, frumoși keep their o); the four form-classes; and mare corrected — gender does not move it, number does. One UA line for the concept only (рука → руці). 4 worked examples and 6 attempts on nouns printed nowhere else on the page. 21 audio clips

U04 Familia și descrierea persoanelor part-taught
taught1/5 aspects
retained0%

What this unit owns

Diphthongs and semivowels R L · pending
Possessive/genitival al / a / ai / ale R W · pending
Possessive pronouns and adjectives R W · pending
Adjective agreement, four-form basics R W
Family, appearance, character S W · pending
Taught 2026-08-12.

14 things to remember

0 solid · 14 still shaky
familiemamătatăfratesorăbunicbunfrumosmicmare+4 more
Taught by

acord

explainer

Adjective agreement, complete — the grid stated as four cells, not six, because the neuter has no adjective form of its own and borrows the masculine in the singular and the feminine in the plural; all four form-classes (4 forms bun · 3 mic, nou · 2 mare, verde · 1 maro), with the -ic exception named against simpatic. States the load as one fact per adjective and the endings as fixed — there is no -e/-i coin flip and no -uri on an adjective, which is the one place the adjective is easier than the noun the learner has been losing. Three UA deltas: the adjective follows the noun, no third form for the neuter, and not every adjective moves (o casă mare, never mară). Carries the 12 U04 words — 6 family, 6 adjectives — as a two-layer drill surface (browse / RO→EN / EN→RO, per-row reveal, two clips per row) where every row's anchor is stated and conceals with the answer, this being the session that tests whether an anchor is what makes a word survive. 6 guided attempts on adjectives printed nowhere else on the page. 28 audio clips

Repaired by — built after something failed

The adjective as a procedure you run forward — three ordered steps (read the noun's gender and number · the form-class decides whether an ending exists at all · the ending rewrites the word), built the same evening as the teach page because a 10-item drill separated the two halves cleanly: the ending was chosen correctly on every item, and three of four misses were the stem left unrewritten (proste, frumosi, verdi). States step 3 as one line and -e open the vowel, -i softens the final consonant — which is the complete account of those three misses. Carries the consonant set before -i (d→z, s→ș, t→ț, c stays c) against the nouns the learner already inflects correctly (oglinzi, străzi, frați, munți, studenți), because this is the same step 3 that carries the U03 plural at 90%; the cluster caveat (prostproști, only the s moves); the vowel-stays warning before -i (proști, frumoși keep their o); the four form-classes; and mare corrected — gender does not move it, number does. One UA line for the concept only (рука → руці). 4 worked examples and 6 attempts on nouns printed nowhere else on the page. 21 audio clips

U05 Articolul hotărât: sufixul not opened
taught0/3 aspects
retained1 seeded

What this unit owns

Definite article as a suffix R W · pending
Present, group I (-a) R W · pending
City places R S · pending

Nothing tracked yet

1 item seeded against this unit's material and held out of review until the unit delivers it.
U06 Rutina zilnică și ora not opened
taught0/4 aspects
retained50%

What this unit owns

Reflexive pronouns R W S · pending
Present, groups -ea / -e / -i, and reflexive verbs R W · pending
Telling time, days, months L S · pending
Daily routine and times of day S L · pending

4 things to remember

2 solid · 2 still shaky
zilună
U07 Orașul: direcții și transport not opened
taught0/3 aspects
retained

What this unit owns

Imperative S · pending
Location vs direction (în / la / pe) R W S · pending
Transport, directions, landmarks S L · pending

Nothing tracked yet

No word or pattern is filed under this unit yet. It arrives when the unit opens.
U08 Mâncare și cumpărături not opened
taught0/3 aspects
retained

What this unit owns

Subjunctive with să R W S · pending
Numbers 100+, prices, quantities L S · pending
Food, shops, quantities S L · pending

Nothing tracked yet

No word or pattern is filed under this unit yet. It arrives when the unit opens.
U09 Trecutul I: perfectul compus not opened
taught0/3 aspects
retained

What this unit owns

Perfect compus R W S · pending
Narrative connectors (și, apoi, după aceea) W S · pending
Leisure and weekend activities S W · pending

Nothing tracked yet

No word or pattern is filed under this unit yet. It arrives when the unit opens.
U10 Consolidare A1 + mini-test not opened
taught0/1 aspects
retained

What this unit owns

A1 review and mini-mock R W L S · pending

Nothing tracked yet

No word or pattern is filed under this unit yet. It arrives when the unit opens.
U11 Viitorul și planurile not opened
taught0/1 aspects
retained

What this unit owns

Future (o să / voi) R W S · pending

Nothing tracked yet

No word or pattern is filed under this unit yet. It arrives when the unit opens.
U12 Genitiv-dativul substantivelor not opened
taught0/2 aspects
retained

What this unit owns

Genitive-dative noun forms R W · pending
Definite article inflected for genitive-dative R W · pending

Nothing tracked yet

No word or pattern is filed under this unit yet. It arrives when the unit opens.
U13 Pronumele II: acuzativ și „pe" not opened
taught0/2 aspects
retained

What this unit owns

Accusative clitics and pe-marking R W · pending
pe-marking of personal direct objects R W · pending

Nothing tracked yet

No word or pattern is filed under this unit yet. It arrives when the unit opens.
U14 Dativul și „îmi place" not opened
taught0/1 aspects
retained

What this unit owns

Dative clitics R W · pending

Nothing tracked yet

No word or pattern is filed under this unit yet. It arrives when the unit opens.
U15 Imperfectul vs perfectul compus not opened
taught0/1 aspects
retained

What this unit owns

Imperfect, and its contrast with perfect compus R W · pending

Nothing tracked yet

No word or pattern is filed under this unit yet. It arrives when the unit opens.
U16 Sănătatea și corpul not opened
taught0/2 aspects
retained

What this unit owns

Impersonal trebuie să R W S · pending
Health and the body S L · pending

Nothing tracked yet

No word or pattern is filed under this unit yet. It arrives when the unit opens.
U17 Locuința și serviciile not opened
taught0/4 aspects
retained

What this unit owns

Demonstrative determiners (acest / acel) R W · pending
Demonstrative pronouns R W · pending
Comparative and superlative R W S · pending
Housing and services R S · pending

Nothing tracked yet

No word or pattern is filed under this unit yet. It arrives when the unit opens.
U18 Muncă și studii not opened
taught0/3 aspects
retained

What this unit owns

Conditional present R W S · pending
Conditional as politeness (aș vrea) S W · pending
Work and studies W S · pending

Nothing tracked yet

No word or pattern is filed under this unit yet. It arrives when the unit opens.
U19 Călătorii și vremea not opened
taught0/1 aspects
retained

What this unit owns

Travel and weather W S · pending

Nothing tracked yet

No word or pattern is filed under this unit yet. It arrives when the unit opens.
U20 Consolidare A2 + test de prag not opened
taught0/1 aspects
retained

What this unit owns

A2 review and threshold test R W L S · pending

Nothing tracked yet

No word or pattern is filed under this unit yet. It arrives when the unit opens.
U21 Opinie și argument not opened
taught0/1 aspects
retained

What this unit owns

Opinion frames and concessives (deși, totuși) W S · pending

Nothing tracked yet

No word or pattern is filed under this unit yet. It arrives when the unit opens.
U22 Propoziții relative: „care / pe care" not opened
taught0/2 aspects
retained

What this unit owns

Relative care / pe care R W · pending
Relative clauses R W · pending

Nothing tracked yet

No word or pattern is filed under this unit yet. It arrives when the unit opens.
U23 Pasivul și impersonalul „se" not opened
taught0/1 aspects
retained

What this unit owns

Passive and impersonal se R W · pending

Nothing tracked yet

No word or pattern is filed under this unit yet. It arrives when the unit opens.
U24 Vorbirea indirectă not opened
taught0/1 aspects
retained

What this unit owns

Reported speech R W L · pending

Nothing tracked yet

No word or pattern is filed under this unit yet. It arrives when the unit opens.
U25 Registrul formal: scrisori oficiale not opened
taught0/1 aspects
retained

What this unit owns

Formal letter conventions W · pending

Nothing tracked yet

No word or pattern is filed under this unit yet. It arrives when the unit opens.
U26 Societate, media, tehnologie not opened
taught0/1 aspects
retained

What this unit owns

Society, media, technology R W · pending

Nothing tracked yet

No word or pattern is filed under this unit yet. It arrives when the unit opens.
U27 Narațiune II: mai mult ca perfectul not opened
taught0/1 aspects
retained

What this unit owns

Pluperfect R W · pending

Nothing tracked yet

No word or pattern is filed under this unit yet. It arrives when the unit opens.
U28 Condiționalul și ipotezele not opened
taught0/2 aspects
retained

What this unit owns

Conditional perfect R · pending
Conditional clauses with dacă W S · pending

Nothing tracked yet

No word or pattern is filed under this unit yet. It arrives when the unit opens.
U29 România: cultură și civilizație not opened
taught0/2 aspects
retained

What this unit owns

Vocative S · pending
Romania — geography, holidays, customs S L · pending

Nothing tracked yet

No word or pattern is filed under this unit yet. It arrives when the unit opens.
U30 Consolidare B1: intrarea în ciclul de simulări not opened
taught0/1 aspects
retained

What this unit owns

B1 review and first full mock R W L S · pending

Nothing tracked yet

No word or pattern is filed under this unit yet. It arrives when the unit opens.
How the learning works — the shape of a session, and of the whole run

The tables below are read straight out of the files that define these rules — the phase plan from the plan, the five parts from the session mechanic, the seven beats from the teaching contract. They keep their working voice, file references and all, because a friendlier paraphrase here would be a second copy free to drift from the rules actually in force. Change a rule in its own file and this drawer changes with it.

1 · The run — 30 units, four phases

Every unit is a themed block of grammar and vocabulary. Phases group them and each ends with an assessment that gates the next one: a mini-mock at U10, a threshold test at U20, a full four-section mock at U30. Phase 4 stops teaching and only drills the exam. Right now you are in Phase 0 — Setup & calibration, which comes before the teaching phases below: it is setup and calibration, not units.

PhaseUnitsWeeksEndsWeekly load
1U01–U1052026-09-03~4 lessons + 2 drills
2U11–U2062026-10-15~4 lessons + 2 drills (U11–U15 buffer week included)
3U21–U3052026-11-19~4 lessons + 2 writes
4drilling6examweekly mock cycles

2 · The week — which session type, how often

The weekly load column above is the plan. Lessons carry new material; drills keep the old material warm without adding any; the weekly review checks pace against the exam date and changes the plan when reality disagrees with it.

/limba-drill
Short Romanian practice
/limba-lesson
Run today's full Romanian lesson (60-75 min)
/limba-mock
Run a timed mock of one Romanian exam section (Reading+Grammar, Writing, Listening, or Speaking), score it, freeze the result as a snapshot
/limba-retro
Capture what this session learned about the workspace itself
/limba-review
Weekly Romanian progress review and replan
/limba-vocab
Capture a Romanian word or phrase into the vocabulary ledger
/limba-write
Romanian writing practice in exam genres

3 · One lesson — five parts, in this order

The order is deliberate: the graded check comes before applied practice, so the check measures what the teaching alone landed, and practice becomes targeted repair of whatever it just missed.

#PartTimeWhat happens
1SRS review~10′node scripts/queue.mjs → quiz due items at the mode their tier calls for (RO→EN at tier 1, EN→RO bare at 2, the full package as the tier-3 gate, sweep at 4–5 — srs.md); grammar items via one production sentence each → update tier/last
2New material~30′Current unit (../curriculum.md): 10–20 new vocab items with gender/plural + transfer hooks; 1 grammar point — built per teaching.md, all eight beats, split chat/visual per its table (paradigms and word lists live in the visual, chat carries the contrast)
3Graded check~10′10 questions over today's + due material, sampling at least 3 of the day's new words (see below); score recorded in the session log
4Applied practice~15′Short reading or guided dialogue that forces due + new items into use, aimed at what part 3 just missed; exam-adjacent formats preferred
5Close-out~5′The ritual below

What happens when a part scores badly depends on which part — a bad SRS review and a bad graded check mean opposite things:

Where it failedWhat it meansWhat to do
Part 3 — graded checkToday's material was too hard.Target is 60–70% — the challenge sweet spot. Two consecutive sessions > 80% → pace up (more items, denser texts) at the next review. < 50% → pace down and drill the gap before new material.
Part 1 — SRS reviewRetention of already-taught material has failed. The intake volume or the interval is wrong.< 50% → do not teach a full part 2 on top of it. Cut the new intake hard or drop it entirely, spend the reclaimed time on a repair loop over the misses, and flag it for /limba-review — this is evidence about the ladder and the intake number, not about today's unit.
Part 1, second session the same dayNothing. Those rows were answered hours ago; tier 1 is a zero-day interval, so the queue reports them due again.The band does not apply. Run part 1 as declared re-exposure — no score, no tier movement, report a pattern instead of a number (srs.md, "Due when the row was already reviewed today"). Reading a low number here as failed retention would cut the day's new material for the opposite reason.
A drill's SRS passNothing to calibrate.A drill has no target score. The band is calibrated for ten questions on the day's new material; a drill measures retention of old material, where the same number means the opposite thing. Report the number, do not grade the session against it. SES-010 scored 61% and SES-009's blocks 71% and 67%, and all three came close to being read against a band that was never fitted to them.

When something is genuinely broken, the fix is the repair loop: test → show the answers → work out why each miss happened → build the material that was missing → retest on new items covering the same ground. Up to three rounds. It is the shape you invented in SES-007, where it took a score from 43% to 86% in one sitting.

4 · One teaching block — seven beats, every time

How the new-material half of a lesson is built. The rule behind the order: the whole system first, the difference from Ukrainian second — the opposite order is efficient only for someone who already holds the map.

#BeatWhat it does
PlacementWhere this sits in its topic, what it exhausts, what's deferred and to which unit, which exam sections it serves
The whole systemThe complete inventory — table, paradigm, or rule set — before any contrast
The loadWhat must actually be memorised, and what follows automatically from it
The deltaWhat differs from UA/RU/EN, grounded per ../reference/transfer.md
Worked examples2–3, fully translated, with a one-line "what's happening"
First contact onlyWhat was named but not taught, and the unit where it returns
Guided attempt2–3 low-stakes items with concealed answers — before anything graded
The compressed ruleOne line to carry away

Underneath all of it — the memory ladder

Every word and grammar pattern sits on the tier ladder shown above. Anything you recall cleanly moves up a rung and comes back later; anything you miss drops one and comes back sooner. Each rung asks a harder question than the one below it: tier 1 only asks what a Romanian word means, tier 2 asks you to produce the bare word from English, and tier 3 asks the whole thing — article, singular and plural — which is the exam-shaped question and the gate into "owned". Tiers 4 and 5 are a fast recognition sweep that keeps it warm. Nothing is ever retired before exam day.

Commands — what to type to start a session
/limba-drill
Short Romanian practice
/limba-lesson
Run today's full Romanian lesson (60-75 min)
/limba-mock
Run a timed mock of one Romanian exam section (Reading+Grammar, Writing, Listening, or Speaking), score it, freeze the result as a snapshot
/limba-retro
Capture what this session learned about the workspace itself
/limba-review
Weekly Romanian progress review and replan
/limba-vocab
Capture a Romanian word or phrase into the vocabulary ledger
/limba-write
Romanian writing practice in exam genres
In the terminal
npm install
once; dev deps are Vitest + TypeScript only
npm test
the contract tests — docs, ledgers, logs, curriculum, topics, visuals
npm run test:watch
watch mode
node scripts/queue.mjs
today's SRS due queue (oldest first, capped — see the script)
node scripts/queue.mjs --counts
one-line summary, for session-start triage
node scripts/dex.mjs <word>
dexonline check: gender/plural/conjugation before teaching it
node scripts/deck.mjs
regenerate work/visuals/deck.html — the ledger drill surface (--due, --topic, --tier, --unit)
node scripts/leakcheck.mjs <set.json>
answer-leak check on a scored set (see session_format.md)
node scripts/leakcheck.mjs <visual>.html
same check on a visual's guided attempts
scripts/speak.sh "<text>"
speak Romanian aloud (neural voice; --slow; offline fallback)
scripts/pronounce.sh "<text>"
pronunciation round-trip: record → RO transcribe → compare
node scripts/tts-embed.mjs <f>
fill a visual's audio placeholders with playable neural audio
node scripts/tts-warm.mjs
voice every drillable ledger row (--dry to list); run before deck.mjs
node scripts/hub.mjs
regenerate work/visuals/index.html — the learner's one bookmark
scripts/feedback.sh "<src>" --file <f>
lock-protected append to work/feedback/insights.md