← Unit 3 review hub

Unit 3 course build — running review notes (accumulated during spec production)

Items for the chemistry-review pass and/or James's judgment, plus operator decisions made under standing rulings (logged here for visibility). Appended as sequences land; resolved items get struck through with the resolution.

Operator decisions under standing rulings (James may veto)

Per-sequence parked judgments

U3-S12 (author's report, 2026-08-06)

  1. "condensation" pre-use before its PSM-108 glossary entry — PSM-092's binding register statement itself uses the word with an inline gloss ("about to become a liquid"), and the spec follows explain-then-label. Operator take: register wording governs; acceptable. Blind reviewers may flag it; adjudicate as register-sanctioned.
  2. One forward-pointing teaching line in PSM-092 ("that climb has a different cause, taken up in the next lesson") — added so students don't misread the dip-then-rise figure's unexplained rise (the figure family has no dip-only shape). Operator take: the line earns its place (prevents a misreading); meta-reference to lesson order is mild. James may prefer it cut.
  3. PSM-094 sibling items share reasoning (deviates-most vs follows-most-closely): stems and options don't leak each other's answers, but each item's feedback names the other's conditions. Operator take: teach-then-use continuity within one lesson, consistent with the Unit 2 adjudication patterns. Keep.

U3-S11 (author's report, 2026-08-06)

  1. Component-quantity notation standardized as parentheticals — X(N₂), P(O₂), n(total) — because unicode can't subscript arbitrary gas formulas. Operator take: correct, deterministic, one-name-per-quantity compliant; adopt course-wide for later units (log if it recurs).
  2. PSM-090 accepts moles + total pressure with mole fraction computed as its own labeled step (reading "forward direction" as mole-fraction→partial-pressure, not banning the X computation its prerequisite owns). Operator take: consistent with the Kelvin-conversion-as-stage precedent. Accepted.
  3. PSM-086's headache is deliberately left quantitatively unanswered until PSM-090 (the concept lesson answers what a partial pressure IS). Operator take: intended sequence arc.
  4. PSM-088 vs PSM-091 operational overlap (both sum partial pressures) — split by complexity: 088 = direct statement applications, 091 = calculation routines. Register-inherent; noted for the blind-review duplicate-stem sweep.

U3-S17 (author's report + operator figure follow-up, 2026-08-06)

  1. Two figure-family gaps closed by the operator (figlib_u3_extra.py, tested): photonbeam (PSM-116's TODO — dim vs dense packet streams, identical packet size) and pluckedstring (PSM-118's previously imageless guitar-string headache opener, per the concrete-opening-image rule). Both patched into U3-S17.json; 0 TODO figures remain in the build.
  2. PSM-117 keeps the "infra = below red / ultra = beyond violet" name mnemonic — qualitative and boundary-free, but it implies within-visible ordering (red lowest-frequency visible), a hair beyond the strict four-region ranking. Operator take: standard, harmless, keep; James may cut.
  3. PSM-115 defines frequency as a counting operation with no inverse-λ claim (that's PSM-123/S18) — deliberate forward-leak discipline, noted so reviewers don't flag the absence.

U3-S09 (author's report, 2026-08-06)

  1. The Celsius-doubling trap appears in both PSM-076 and PSM-078 checks (20→40 °C balloon; 27→54 °C can) — deliberately parallel: it is THE misconception for both Kelvin-proportion atoms. Operator take: keep; watch the duplicate-stem sweep and blind review for fatigue flags.
  2. PSM-082's extrapolation honesty line ("real measurements exist only where the sample is still a gas") avoids "condense" (PSM-108 vocabulary). Operator take: correct discipline; included in James's early risk-sequence review anyway.
  3. PSM-081's fourth item tests which variables must be held constant — from the atom statement's own parenthetical; the only item of that kind. Operator take: statement-backed, keep.
  4. PSM-077 rigid-container renders as a locked piston (equal volumeFrac panels + prose "piston locked in place") — the piston family has no rigid-flask variant. Operator take: acceptable; add a flask render only if James flags it.

U3-S18 (author's report, 2026-08-06)

  1. Scientific-notation numeric entry: exponent folded into the unit label everywhere (key "5.00", unit "× 10¹⁴ s⁻¹") — no MCQ fallback needed. Known blind spot, mitigated: a forgot-nm→m error produces the same significand, so it can't be a wrong-map key; the nm→m conversion is instead an explicit labeled scaffold step in every worked example and reveal (Kelvin precedent), and a significand-shift wrong key covers exponent-box mismatches.
  2. PSM-124 check asks for the fixed value of λ × ν (recall of c = 3.00 × 10⁸) — the atom statement names the value, but the AP sheet supplies constants. Operator take: borderline against the constants-supplied convention; James to rule (drop or keep).
  3. PSM-131 identifies transitions with the region always SUPPLIED in the stem (no memorized boundaries) — correct reading of the exclusion.
  4. PSM-126's sunburn headache anchored on an emspectrum figure (IR + UV highlighted, frequency annotation deliberately, not energy, to avoid pre-answering). Operator take: good compromise; no sunscreen-scene family needed.

U3-S08 (author's report, 2026-08-06) — RISK sequence, James early review

  1. mbcurve peak speeds stay on the seed's nominal scale (N₂ at 300 K anchored to 400 m/s, everything else exact √(T-ratio)/√(mass-ratio) scaled: 600 K → 566; He → 1059; Ar → 335) — internally consistent, never asserted as measured data (the pilot's own precedent). Keep.
  2. PSM-071/072 flaw MCQs: the correct option DESCRIBES the drawn error ("The 600 K curve peaks at a lower speed…") with required-feature distractors — the PSM-034 evaluation pattern applied to the new graph modality. FOR JAMES'S EARLY LOOK: does this option style read cleanly against the rendered flaw figures?
  3. PSM-068's teaching figure: piston at doubled temperature, volume unchanged (prose stays silent on pressure/volume; S09 owns that). A sharp eye may ask why the piston didn't move. Operator take: acceptable; swap to a statesbox variant only if James flags it.
  4. PSM-065 carries the contract-minimum 2 checks — the atom is genuinely thin (mass-only comparison at fixed speed); a third item was padding. Accepted.
  5. PSM-064–066 are temperature-free by validator design ("kelvin"/"273" banned before PSM-067), so KE-vs-speed changes have no heating story until 068 pays it off. Accepted as the register's own sequencing.

U3-S19 (author's report, 2026-08-06) — RISK sequence, James early review

  1. "beer-lambert" forward-term warnings RESOLVED operator-side: the validator battery keyed the name to PSM-140; the register's PSM-136 atom defines the law by name. Battery split (beer-lambert/beer's law → PSM-136; calibration/standard solution → PSM-140); warnings gone.
  2. PSM-140 boundary item's key is the strictly longest option ("It cannot be determined from this line" vs three numeric distractors) — structural to the no-extrapolation item James's brief demanded. Flagged for the length-cue sweep and blind review; operator take: keep.
  3. "cuvette" taught explain-then-label as course vocabulary (not in the register glossary; 134/140 need a container name). Operator take: fine — genuine disciplinary term.
  4. A = log(I₀/I) kept out entirely (nowhere in the register). Correct.
  5. PSM-139 sensitivity comparison uses datatables (no A-vs-λ spectrum family exists; two beerplots with different slope labels would render identical geometry — dishonest). Operator take: right call; consider an absorption-spectrum family only if gates need it.
  6. Real absorbers with literature ε throughout (MnO₄⁻ 2400, Cu²⁺ 12, Co²⁺ 4.8 L·mol⁻¹·cm⁻¹), Beer-consistent plotted values. Note ε unit form: S19 shipped "L/(mol·cm)" in some labels — normalize to L·mol⁻¹·cm⁻¹ during item hygiene (same AP-sheet-style rationale as R).

U3-S05 (author's report + operator figure follow-up, 2026-08-06)

  1. TODO figure closed operator-side: new methanolpair renderer (figlib_u3_extra.py, tested) draws the register's own PSM-034 flaw — a dash from a C–H hydrogen of one CH₃OH to the neighbor's O. Patched into the item; 0 TODO figures remain.
  2. PSM-033's production items use two-molecule drawings where the register example says "several H₂O molecules" — the author added a generalizing teaching line ("with several molecules the convention simply repeats"). FOR JAMES: is a pair sufficient for the drawing behaviour, or should a 3-molecule water-chain renderer back a bigger production item?
  3. Draw item 1 mirrors the taught H₂O pair (rule 6 allows first-check mirroring; the fresh transfers are NH₃→H₂O and the CH₃OH item). Operator take: within the stated preference; blind review will see it.

U3-S13 (author's report, 2026-08-06)

  1. M reserved exclusively for molarity within the sequence (molar-mass conversions written in words + values, never symbolic m/M) — resolves the M-vs-M collision under one-name-per-quantity. Operator take: right call; adopt as the course convention wherever molarity and molar mass share a lesson (Units 4/8 will hit this).
  2. Avogadro's number as 6.022 × 10²³ mol⁻¹ matching Unit 1's shipped AST-006 (register examples showed 6.02). Operator take: course precedent governs; correct.
  3. PSM-097's "the substance present in the larger amount is the one doing the dissolving" — scoped to the shown examples (load-bearing for the brass/sterling solvent items), not asserted universally. FOR JAMES: comfortable with that line as scoped?
  4. KNO₃ molar mass 101.11 g/mol from AP periodic-table values (vs IUPAC-2021 101.10) — expression-selection MCQ only, no numeric key depends on it. AP-spec bias supports the choice.
  5. PSM-096's homogeneity evidence uses an invented-but-realistic drying-mass dataset (0.2/1.6 g vs 0.35/0.35 g dried spoonfuls) as a measurable "properties same everywhere" proxy. FOR JAMES: the real-data rule reads on measured property values; this is a constructed experimental scenario. Blind review will look at it; flag if you want a literature dataset instead.

U3-S07 (author's report, 2026-08-06)

  1. PSM-062/057 option styles flagged for transparency: "It does not match its label: " and "Yes/No — " options — the "reason" IS the tested behaviour per the register statements (identify the specific flaw / the basis), following the S08 PSM-071/072 sibling pattern. Operator take: not the banned verdict+reason bundling; accepted by design. James sees both patterns in his S08 early look.
  2. Amorphous solids drawn with the statesbox liquid layout (standard depiction; no amorphous param exists), turned into teaching: two identical snapshots show arrangement alone can't distinguish liquid from amorphous solid — motion does. Operator take: elegant; keep.
  3. PSM-058 honesty line that water's solid-larger-than-liquid direction is unusual (one line beyond the register example so the ice/water table doesn't imply solids are always larger). FOR JAMES: minor scope addition, flag if unwanted.
  4. Benzene molar-volume estimate item (real values: solid ≈77, liquid ≈89 cm³/mol; key "about 80 cm³") chosen over ethanol for honest similarity. Real data verified.

U3-S01 (author's report + operator figure follow-up, 2026-08-06)

  1. PSM-007 TODO closed operator-side: new contactpanels renderer (elongated capsules in full-length contact vs compact spheres touching at a point). PSM-004 ecloud captions also shortened after the geometry sweep flagged overlap.
  2. PSM-011 uses real halogen data without the term "boiling point" ("Boils at (°C)" column; formal definition stays at PSM-029). Operator take: exactly the pre-definitional discipline the brief asked for.
  3. PSM-006 benzene pi-polarizability kept strictly qualitative with no named comparison molecule — the author checked that cyclohexane's measured polarizability is nearly equal, so naming it would have been dishonest. Register scope kept verbatim. Good catch; keep.
  4. PSM-011's informal evidence bridge ("the more strongly molecules attract, the higher the temperature it stays liquid up to") — asserts correlation only; PSM-030/031 mechanize it later. FOR JAMES: brushes the what/why boundary; flag if you want it cut.

U3-S02 (author's report, 2026-08-06)

  1. PSM-016 figure composed from dipole (diatomic HCl) + ecloud induction pair — the imfpair family has no dipole-induced-dipole type. FOR JAMES: fine as composed, or want a dedicated imfpair type added? (Operator note: ecloud captions were shortened post-sweep.)
  2. PSM-013's "the preferred orientation" — the atom statement's own term, used as a plain noun phrase. Operator take: statement-sanctioned, not a coinage. Keep.
  3. PSM-018 (article modality) carries one ecloud figure — the register example IS cloud-size reasoning, so the figure carries load. Operator take: modality names the default surface, not a figure ban. Keep.

U3-S03 (author's report + operator figure follow-up, 2026-08-06)

  1. PSM-025 TODO closed operator-side: new foldedchain renderer (bead chain folded so two stretches run parallel, dashed intramolecular contacts).
  2. PSM-023/024 rank from structural evidence only (formulas + electron counts + charges; boiling points verified privately, never on screen) — the brief's anti-inversion rule held.
  3. H₂S no-H-bond and CH₃OCH₃+H₂O yes-H-bond items — strict N/O/F rule applied correctly; the two items most likely to draw blind-review pushback; adjudicate as register-correct.
  4. PSM-024's Mg²⁺ vs Na⁺ item leans on charge only (author dropped a "similar size" clause because radii differ 72 vs 102 pm; both Coulomb factors point the same way). Operator take: honest and key-safe. Keep.
  5. Gate U3-G1 headroom preserved — the author listed consumed species; fresh species (CH₃CH₂OH, CHCl₃, SO₂, Br₂/I₂, Li⁺/Ca²⁺ with water, O₂/He) remain for gate items.

U3-S04 (author's report + operator figure follow-up, 2026-08-06)

  1. PSM-028 TODO closed operator-side: new vaporflask renderer (sealed container, liquid + vapor dots, escape/return arrows, gauge) — will also serve S06's PSM-037 (vaporDots 0, gauge ≈0 atm) if its author needs it.
  2. Vapor-pressure balance taught as pure rate bookkeeping (no "equilibrium", no speed-distribution language — both banned here); temperature-dependence of VP supplied as DATA only (real water values 0.03→1.00 atm) with no particle-energy mechanism (S08's). Operator take: exactly the register's design; keep.
  3. PSM-032 teaches with pentane/neopentane (melting order inverts boiling order; consumes PSM-007's contact-area recap) and holds the register's benzene/hexane case for the fresh-data check. Real data throughout, verified list in the author's report. Keep.
  4. Deliberate retrieval overlap: PSM-027's core check (collisions produce pressure) shares its answer with a PSM-063 recap check in S08 — the register wires 063 to consume 027. Adjudicate as teach-then-use continuity if blind review flags it.

U3-S06 (author's report, 2026-08-06)

  1. PSM-037's escape argument built WITHOUT MECH-IMF-ESCAPE (its "intermolecular attractions" wording is wrong for ions) — full-ionic-charge wording from the atom statement + MECH-COULOMB-CHARGE verbatim at the full-vs-partial contrast. Correct per the brief; the register's lexicon note assigning MECH-IMF-ESCAPE to PSM-037 should be read as the escape concept, not the verbatim sentence — worth one register revisionLog line at hygiene time.
  2. Graphite layers rendered as one covalentnetwork sheet with stacking/sliding in honest prose (no two-layer-sliding family exists). FOR JAMES: acceptable, or want a layered-graphite render added for the gate?
  3. PSM-054 excludes metals from the class-first ranking rule, stated honestly (Hg vs W spread) — matches the register example's classes. Keep.
  4. PSM-035 recap wiring: lattice (CSP-014 rep) + PSM-028 vapor-pressure recap shown; CSP-032's melting-evidence line not separately recapped there (CSP-032A verbatim recap lands in 036). FOR JAMES: if the unitHandoff wiring is meant literally, one line adds it.
  5. Data hedges ("near 1420 °C", "above 1600 °C") for source-variant values; exact literature values elsewhere. Good practice; keep.
  6. PSM-044 check 1 uses paired coordinate claims ("It is a covalent network solid, and it is soft") — no "because" structure; not verdict+reason. Accepted.

U3-S14 (author's report + operator figure follow-up, 2026-08-06)

  1. Relative-concentration model answer closed operator-side: new solutionboxes renderer (1–2 boxes, explicit per-box ion counts, no-touching guaranteed) — my brief had wrongly claimed the dissolution family had count params; the author correctly refused to invent params and used the TODO hatch. Patched in; counts behaviour is also exercised by an MCQ and a text-stem evaluation as backstops.
  2. Second draw item asks for labeled ion circles only (waters "fill the rest of each box") — full water shells around 8+ ions would be laborious to draw and unrenderable as a model. Operator take: right trade; orientation is fully exercised by draw item 1.
  3. Distractor feedback leans on Unit 1 ion radii (Cl⁻ 181 vs K⁺ 138 pm; Br⁻ 196 vs Na⁺ 102 pm — verified real). FOR JAMES: comfortable resting feedback on prior-unit content?
  4. PSM-103's flaw-category options ("Counts — the box holds as many ions as…") — category + observed feature, not verdict+because. Accepted; same family as S07's flagged style.

U3-S15 (author's report, 2026-08-06)

  1. Cross-file catch: S12 uses "condensation/condense" ×7 while the glossary assigns the term to PSM-108. Adjudicated: PSM-092's own register statement uses "condensation" with an inline gloss (see S12 note 1) — register wording governs; no validator entry added because a hard ban would false-positive register-sanctioned use. Blind review briefed via this note.
  2. PSM-106 defensible-distractor repair (two components moving together partway up; opposite- phase-attraction distractor is cleanly wrong). Good 4.1 discipline.
  3. Hexane/water capstone avoids layering entirely (hexane genuinely floats — any layering distractor would be defensible). Operator take: correct honesty-driven design.
  4. Operator renderer fix: distillation "vapor forms here" highlight label clipped the left viewBox edge — repositioned in the renderer; sweep clean.

U3-S16 (author's report, 2026-08-06)

  1. PSM-111 headache is a shake-test observation datatable (no layered-beaker family exists; the table matches the prose exactly). Operator take: satisfies the concrete-opening rule; upgrade point if a layered-liquids family is ever added.
  2. Br₂-in-water honesty ("only a little dissolves" — real ≈3 g/100 mL, not insoluble); glucose swapped for citric acid to avoid deadening by S13's table. Real-data discipline held.
  3. MECH-LIKE-DISSOLVES recurrence: full verbatim clause in PSM-112's recap of PSM-111; PSM-113/114 recaps consume other atoms instead. Register-note-consistent.

Gates U3-G3/G4 (author's report, 2026-08-06)

  1. One verdict+reason item in the whole pair (PSM-095, F₂ vs Cl₂ Yes/No-because) — the sanctioned AP-mimicry home, cleanly wrong reason, flagged per the ruling. Keep.
  2. Pilot conversions: PSM-070 gate item 3-of-3 (spread/tail/temperature — chosen over item 1, whose lettered-guide mechanism doesn't exist in the course mbcurve schema and whose guides would render 54 m/s apart); PSM-084 gate item 2-of-3 (richest error bundle). Verbatim numbers and misconception maps.
  3. PSM-061 gate item is a single 3-panel candidate with exactly one flawed box (not four full models — unrenderable) — tests spacing/ordering/contact directly. Operator take: sound; matches the S07 phase-mismatch technique.
  4. PSM-072 gate item uses the same flaw-spotting pattern as its lesson check (fresh Ne/Kr, real vₚ 497/244 m/s). FOR JAMES (with the S08 early look): want more distance, e.g. a label-the-curves variant?
  5. PSM-089 cold item computes 0.15 × 4.00 atm at the concept atom — licensed by the register's own bracketed example. Accepted.

Gates U3-G1/G2 (author's report, 2026-08-06)

  1. One verdict+reason item (PSM-053 classification capstone — the statement itself demands class + cited interaction; one-item-per-atom forced the bundling; wrong classes cleanly wrong). Sanctioned use; flagged per the ruling. Keep.
  2. CHCl₃+acetone deliberately avoided for the PSM-022 H-bond trap (real C–H hydrogen bonding exists there — the azeotrope; a reviewer could defend the trap). SO₂+acetone instead. Superb defensibility catch; note for future units.
  3. PSM-030 gate item inverts direction (VP data → infer IMF strength) to avoid re-testing PSM-023's ranking. Real data (diethyl ether 0.71 atm, 1-propanol 0.03 atm at 25 °C). Keep.
  4. PSM-015 uses a Li⁺-among-chloroform thought experiment (mirrors the lesson's own device; not solubility-honest as a real scenario). FOR JAMES: fine as a thought experiment, or want a solubility-honest species pair?
  5. Si stem-labeled "a covalent network solid" in the PSM-054 ranking (lesson precedent: Ge was labeled). FOR JAMES: should students carry Si's class unprompted in a gate?
  6. Electron counts in stems for figure-less LDF items — matches landed S01/S03 convention (the values-in-figure rule applies where a figure exists). Accepted.

Gates U3-G5/G6 (author's report, 2026-08-06)

  1. TWO same-format verdict+reason PSM-053 items now exist (G2 metallic solid Q; G6 ionic solid J — the author caught and deduped the species/labels mid-merge). FOR JAMES: defensible as repeated AP-format practice; convert one to pure verdict if preferred. Total verdict+reason across all gates: 3 (G2, G4, G6), all flagged, all capstone/AP-mimicry homes.
  2. G6 PSM-131 options pair computed energy WITH transition type — compound answers matching the atom's own two-part behaviour; wrong pairs from named error paths. Operator take: not verdict+reason; the pairing IS the behaviour. Accepted.
  3. PSM-102 gate item uses the one untested count-flaw variant (doubled counts for tripled molarity, solutionboxes). Good coverage discipline.
  4. G5 PSM-110 inverts to reverse-phase chromatography (nonpolar beads, water mobile) — the hardest G5 item; statement supplies both polarities, so legitimate transfer. Keep; watch in blind review.
  5. G5+G6 both sample PSM-100 (parallel-form formula-unit items, NaNO₃/MgSO₄; scientific- notation MCQ options). Register-driven duplication (the gate table lists PSM-100 in both). Accepted.
  6. One species reuse across gates: C₂H₅OH in G6's PSM-023 trio (propane/dimethyl ether/ ethanol — the classic 26-electron set) and G2's PSM-054 ranking. Different atoms and comparisons. Accepted; noted for adjudication.

2026-08-10 external Safari review (sol5.6) — disposition of all 23 findings

Renderer layer, FIXED by operator (all guarded/tested): #1 document shell + charset (build now asserts it), #5 role="status" + focus movement, #6 lang/main landmarks, #7 --faint contrast retuned ≥4.5:1 both themes (computed 5.26/4.63 light, 5.97/5.24 dark), #22 "Start checkpoint" + question count pre-entry, #23 .fresh scroll-margin clears the fixed dock. Engine, FIXED by operator: #2 sig-fig retry tier (from key format; rule 6.4 semantics) and

3 scientific-notation parsing (e-notation, ×10^n, unicode superscripts) — the reviewer's three

demonstrated cases are in the engine test battery. Chemistry/wording, FIXED at spec layer (repair agent, itemized): #8 PSM-055 long-range-order wording, #9 PSM-061 scoped to crystalline, #10 PSM-063 one elastic-collision idea line (new-ATOM question parked below), #11 PSM-067 "exactly 273" → convention + 273.15, #12 PSM-037 neutral- vapor wording, #13 PSM-039 AP-classification scope, #14 PSM-054 class-first hedged as tendency,

15 PSM-104 scoped to ordinary filter paper, #16 PSM-113 ion-dipole necessary-not-sufficient,

17 PSM-119 microwave-oven claim fixed, #18 PSM-130 scoped to the specified transition,

19 PSM-136/138 Beer-Lambert calibration-range scope + no-extrapolation brought forward,

20 PSM-068/076/078 length-cue rebalance, #21 PSM-140 parallel full-sentence options (was

parked; now fixed — two independent reviewers flagged it).

FOR JAMES (parked from this review): 1. Stem-given precision convention (#4): operator default = givens are exact by convention (contract line added); alternative = rewrite givens as 2.00 × 10² K style. Your call. 2. Elastic collisions as a dedicated atom (#10): the CED's KMT EK doesn't name elasticity, so the build adds one taught idea line in PSM-063 rather than a register atom. If you want it assessable, it becomes a register change (new atom + item). 3. Reviewer's overall verdicts worth reading directly: progression praised ("strong application of the per-variable rule"), MCQ feedback called a major strength; the fragmentation note (140 atoms feels long — sequence headings/checkpoints carry the load) is a design observation, not a defect.

2026-09-07 exam integration — FRQ practice pages (author's report + operator actions)

U3-P1 (2021 Q2(b) SiH₄/SiO₂ justification, after S06), U3-P2 (2023 Q5(b) hydration drawing, after S14), U3-P3 (2021 Q7 complete 4-pt short, timed, after S19). All rubrics SG-faithful; verified end-to-end (validator, build, sweep, click-through). 1. Validator gap CLOSED operator-side (author's catch): frq parts[].prompt, source, and model lines now join the swept student-visible fields. 2. U3-P2's model drawing rides a post-frq idea step (the frq schema's model is text-only) — sequential flow means it appears only after self-scoring. Operator take: good pattern; adopt for future drawing FRQs rather than extending the frq schema yet. 3. Real-question adaptations disclosed in source: 2023 Q5(b)'s water-legend image replaced with words; 2021 Q7 gains R + molar mass in-stem (the real exam supplies both via reference sheets we don't have). Operator take: right calls; contract rule 13 demanded the latter. 4. Candidate-response MCQs put the complete answer longest (U3-P1; also the module's lesson 3) — inherent to "which response earns the point" items. FOR JAMES: exempt this item class from the length-cue rule, or require padding the vague distractors? 5. U3-P1 feedback leans on the cross-year error catalog (2021 has no chief-reader report) — marked as the playbook's inference class. Accepted. 6. Collision contingency: the test author DID pick 2021 Q7 — swap executed: U3-P3 reworked onto 2024 Q7(a–c) (delegated back to the practice author, 2026-09-07).

2026-09-07 exam integration — Unit 3 test U3-T1 (author's report)

18 MCQs (blueprint buckets exactly 4/3/3/4/2/2, one item per atom, keys 5/4/5/4 max-run 2, fresh species verified by inventory sweep) + real FRQs: short = 2021 Q7 (unit-3-pure; needs only Unit-1 molar mass), long = 2021 Q3 (7 of 10 points squarely Unit 3; registry proves NO fully unit-3-pure long exists in 2021–2026). 1. 2021 Q3(a) is one point of Unit 4 content (net ionic equation) inside the Unit 3 test — inherent to using the complete real question. FOR JAMES: (a) accept the 1-point forward reference as-is; (b) accept with a one-line "you'll learn this in Unit 4" note before the question (small fidelity cost); (c) swap the long FRQ to an authored-to-archetype item (loses the real-question requirement). Operator lean: (b). 2. Q3(d)'s SG route is M₁V₁ = M₂V₂ — validator-banned excluded content; model + rubric written via the moles route with the same accepted value (25.0 mL), question text verbatim. Operator take: faithful to the point condition; right call. (Same technique available to future units.) 3. S05 and S14 carry no test MCQ (draw items banned in tests; their skills are production-assessed in lessons/practice, and PSM-102's capstone sits in gate G5 as model-selection). Accepted — note in the evidence report. 4. Pentane reappears (S01 contact-area lesson → test vapor-pressure item, new scenario and values). Accepted; species-name reuse only.

2026-09-03 James finding (from the sample gallery): floating flaw dash

James spotted that the imfpair "attraction-within-molecule" flaw dash floated in space instead of visibly shadowing the O–H bond — the deliberate flaw read as a stray line, undermining the "attraction drawn within one molecule" identification the items depend on. Root cause: the _intra_dash helper offset the dash 16px and ran it atom-center to atom-center. Fixed in the renderer (tight 7px offset, trimmed circle-edge to circle-edge); affects the two S05 items, one S02 item, and the sample gallery; tests/sweep/build re-verified. VERIFICATION-GAP LESSON: the browser geometry sweep checks text overlap/clipping only — semantic placement of LINES (does this dash touch what it should?) has no automated check and no blind-review exposure (reviewers see alt text). Human eyes on the sample galleries are currently the only net for this class; worth a per-family visual pass line in future units' figure-wave checklists.