Skip to content

quiz: grow psychrometrics-basics bank 10 → 15 [S] - #655

Open
EWH2000 wants to merge 2 commits into
mainfrom
feat/quiz-psychrometrics-basics-15
Open

EWH2000 wants to merge 2 commits into
mainfrom
feat/quiz-psychrometrics-basics-15

Conversation

@EWH2000

@EWH2000 EWH2000 commented Oct 7, 2026 •

Copy link
Copy Markdown
Owner

Summary

Quiz-growth arc, next bank: the Psychrometrics Basics bank grows from 10 to 15 questions so it outgrows the practice page's defaultCount (10) and each run draws a different subset. Nothing is removed: the ten existing questions are unchanged, and each of the five new ones tests a lesson section the bank had not covered yet.

Changes

html/_data/quizzes/psychrometrics-basics.js is the only file changed.

  • Header: adds the metric-parenthetical note, the sampling note and a coverage sentence. The sentence names the lesson's sections and never states a question count.
  • New questions:
id type key tests (lesson anchor)
psy-wet-bulb-floor mcq d #properties: wet-bulb is the evaporative floor (the cooling-tower number); dew point is the decoy
psy-coil-leaving-pair tf false #two-lock: the field-pairs table. DB + WB, not DB + RH, is the gold standard for a coil leaving-air reading
psy-cooling-dehumidification mcq c #processes: cooling with dehumidification. DB, W and DP all fall, and the path heads toward the apparatus dew point
psy-cfm-to-mass-flow numeric 44,444 lb/h ± 250 #gotchas: the specific-volume callout's ṁ = CFM · 60 / v worked by hand (stays in IP units, with a metric aside)
psy-pool-glass-at-spec gotcha a #pool-widget: a room holding 60 % RH at 82 °F (27.8 °C) still sweats 50 °F (10.0 °C) glass, because its dew point is near 67 °F (19.4 °C). This is the widget's default state
  • Answer-key letters: the distribution goes from a1/b7/c0/d0 to a2/b7/c1/d1. In every new question the keyed choice is no longer than its distractors.
  • Dew-point and enthalpy figures: computed with psychro-engine.js (the engine the lesson's widget runs). Every temperature parenthetical uses the displayed operands, and metric-spans checks them.
  • Pool-widget anchor: the capstone's section heading (Does This Air Sweat the Windows?) has no id. Its question deep-links #pool-widget, the widget container, and the header comment says so. No ids were added to the lesson.

Owner: if you have a field gotcha of your own on psychrometrics, such as a dew-point call that bit a job, feel free to swap it in for any of these five.

Test plan

  • npm run build is clean
  • tests/quiz-banks.spec.js: 42/42 passed
  • tests/metric-spans.spec.js: 3/3 passed
  • tests/link-integrity.spec.js: 4/4 passed. This includes the learnMore fragment check, which resolves #pool-widget
  • tests/smoke.spec.js -g "psychrometrics basics": 3/3 passed (practice page, lesson page, pool-widget sweep)
  • Playwright walk of the built practice page, with count set to All. It shows "Question 1 of 15", and all 15 questions mount, submit and reveal. All five new prompts appear in the results/Review view. Zero console or page errors. FAQPage JSON-LD carries 15 entries
  • npm run metric-lint (report-only): no finding for this bank

Refuter fixes applied

  • psy-cfm-to-mass-flow: tolerance widened from 50 to 250 lb/h (commit 590e9b9). The metric path did not close before this fix. A reader working the painted metric operands gets 17,000 m³/h ÷ 0.84 m³/kg = 20,238 kg/h, which is 44,617 lb/h. That is 173 lb/h off the keyed 44,444, so ±50 marked a correct answer wrong, against the metric worked-example rounding policy. With ±250, 44,617 is accepted. The v = 14.0 ft³/lb distractor (42,857 lb/h) is still 1,587 lb/h outside the band, so the question still separates the two readings. The prompt, the answer and the explain are unchanged, and the explain's "about 20,200 kg/h" still holds (44,444 lb/h = 20,160 kg/h).
  • Re-ran on the fixed head: tests/quiz-banks.spec.js + tests/metric-spans.spec.js + tests/link-integrity.spec.js: 49/49 passed.

Merge authority

Quiz bank renders into a live practice page → owner merges.

🤖 Generated with Claude Code

Quiz-growth arc, next bank: psychrometrics-basics grows past the
page's defaultCount (10) so the engine samples a different subset each
run. Add-only -- the existing ten questions are untouched; the header
gains the metric-parenthetical note, the sampling note and a coverage
sentence that names lesson sections rather than counting questions.

New questions, each from a lesson section the ten didn't test:

- psy-wet-bulb-floor (mcq, #properties): wet-bulb is the evaporative
  floor a cooling tower can never beat; dew point is the decoy.
- psy-coil-leaving-pair (tf, #two-lock): DB + WB, not DB + RH, is the
  gold-standard coil leaving-air pair (the field-pairs table).
- psy-cooling-dehumidification (mcq, #processes): below the entering
  dew point, DB, W and DP all fall -- the one process family the bank
  skipped.
- psy-cfm-to-mass-flow (numeric, #gotchas): m = CFM * 60 / v worked
  by hand, 10,000 CFM at 13.5 ft3/lb -> 44,444 lb/h.
- psy-pool-glass-at-spec (gotcha, #pool-widget): a pool room holding
  60 % RH at 82 F still sweats 50 F glass (dew point near 67 F) --
  the widget's own default state. The capstone's section heading has
  no id, so it anchors the widget container; noted in the header.

Correct-letter distribution a1/b7/c0/d0 -> a2/b7/c1/d1. Every new
temperature parenthetical, including the gotcha's 17 F (9.4 C) margin
from displayed operands, is reached by metric-spans.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
controlsfreak 590e9b9 Commit Preview URL

Branch Preview URL
Oct 07 2026, 02:24 AM

The refuter found that psy-cfm-to-mass-flow's metric path did not
close. The prompt paints 17,000 m3/h and 0.84 m3/kg; a metric reader
working those operands gets 17,000 / 0.84 = 20,238 kg/h = 44,617 lb/h,
173 lb/h off the keyed 44,444 and outside tolerance: 50, so a correct
reading of the displayed numbers was marked wrong. The metric
worked-example policy says the taught math must close on the displayed
operands.

Widen the tolerance to 250: 44,617 lands inside, while the
v = 14.0 ft3/lb distractor (42,857 lb/h) stays 1,587 lb/h outside, so
the question still discriminates. The prompt, answer and explain are
unchanged.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant