Skip to content

Add verified chain-rule practice and offline tutoring regression coverage - #2

Merged
Brendan-Lim merged 2 commits into
mainfrom
ai-engineering/chain-rule-practice
Nov 11, 2026
Merged

Brendan-Lim merged 2 commits into
mainfrom
ai-engineering/chain-rule-practice

Conversation

@Brendan-Lim

@Brendan-Lim Brendan-Lim commented Nov 11, 2026 •

Copy link
Copy Markdown
Owner

Quack already diagnoses missing inner factors and verifies corrections, but chain-rule mistakes could not lead to targeted practice. Add bounded sine, cosine and exponential composition questions to the existing verified-key practice flow, My Mistakes and recap recommendations. Frontend and backend topic types are extended together; routing, inference budgets, PostgreSQL accounting, authentication, verification rules and database schema are unchanged.

Add ten offline API tutoring/failure episodes using existing HTTP doubles and the real isolated verifier, independent symbolic key checks, and a browser journey from a mistake to completed practice. Repair the existing adaptive evaluation report to select Algebra by ID rather than catalog position. These checks measure deterministic software contracts, not handwriting accuracy, learning gains or a student's mental cause.

Validation before merge:

  • Full release workflow with PostgreSQL 18 and locked Modal/tooling dependencies, zero required skips and no paid model calls.
  • Baseline/feature comparison using identical offline evaluator and fixture hashes; all ten episodes already run as backend tests in CI.
  • Exact PR scope, publication policy, secrets, dependency audits and hosted CI results.

Production rollout is excluded. No Vercel or Modal deployment is authorized by this PR; later rollout must be backend first.

Release verification found and fixed a synthetic browser-fixture omission: generated exponential answers need e and p, which were absent from the stroke alphabet. Add those glyphs without changing existing glyph data, plus a regression rendering all 27 distinct generated questions and answers. No application behavior or test assertion is weakened. The repaired browser journey passes three local repetitions; 69 focused backend checks pass.

Hosted evidence:

  • Initial run https://github.com/Brendan-Lim/Quack/actions/runs/43014011587: 3,521 backend tests passed (all 20 PostgreSQL accounting cases and eight Modal checks included), 361 frontend tests passed, nine compiled browser checks passed, and 248/249 development journeys passed. Zero required skips. The sole failure was the missing exponential glyph; retained logs/traces explain the repair.
  • Full verification of repair head 01c3546 PASSED: https://github.com/Brendan-Lim/Quack/actions/runs/43022128304. All 3,522 backend tests, 361 frontend tests, 249 development browser journeys and nine compiled browser checks passed. Zero required skips or flaky browser cases; dependency audits, publication guard, secret scans, lint, types and build passed.
  • Identical offline evaluator/fixture hashes reproduce 6/10 baseline to 10/10 complete episodes, zero regressions. Synthetic contract coverage does not measure handwriting accuracy or learning gains.

Merged normally as ec266b50eccfe1dcc6538621161e9cccbe9bf3d2; its source tree exactly matches tested repair head 01c3546. Automatic main CI PASSED: https://github.com/Brendan-Lim/Quack/actions/runs/43029006117. It independently reports the same 3,522 backend, 361 frontend, 249 browser journey and nine compiled-browser passes, zero required skips/flaky cases, and all 16 release checks passed.

Post-merge read-only provider verification confirms both existing production deployments remain at 6784a07; all 72 Modal runtime files match that baseline, and Vercel's alias/deployment is unchanged. Production deployment remains pending separate authorization. No paid model calls were made.

Brendan-Lim and others added 2 commits November 11, 2026 17:34
Offer bounded sine, cosine and exponential composition questions through
the existing verified-key practice flow, recap recommendations and My
Mistakes. Preserve verifier, uncertainty, accounting and mastery rules.

Reuse existing HTTP doubles for ten offline tutoring and guard episodes,
with comparable fixture/method hashes, regression reporting, independent
symbolic key checks and a browser journey. Repair the existing adaptive
report's dependence on catalog ordering. Document scope and limitations.
The chain-rule browser journey can select exp(ax), but the synthetic
alphabet had no e or p. Add those two glyphs without changing existing
strokes, application behavior or verification rules.

Render every distinct generated chain-rule question and answer in a
regression so all families remain drawable regardless of random selection.
The original hosted failure is retained; all three local browser repetitions
and 69 focused offline tests pass before rerunning the full release gate.
@Brendan-Lim
Brendan-Lim merged commit ec266b5 into main Nov 11, 2026
1 check passed
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