Commit Graph
13 Commits
Author SHA1 Message Date
Lucas WintherandClaude Opus 5.5 bb98be089a feat(tools): play-spellgrid stages the M10 reference with cards and levels and runs its CLI
Lesson 10 and both M10 reference READMEs now give the real recipe
(node tools/play-spellgrid.mjs <rust|ts> [l1|l2|l3]); root script play:spellgrid.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 19:08:17 +01:00
Lucas WintherandClaude Opus 5.5 ad0701395d fix(tools): stage course cards from M5, audit noun words without flagging identifiers, Node<24.2 main guard, rename-proof expansion-check, safe check-links
- cardDirs: course/cards only from Module 5 (spec 6.2a); fixture modules 04/05 and tests
- coupling-audit: noun words match as UPPERCASE, PascalCase or a whole string literal;
  lowercase identifiers like key/flag pass; card names keep every variant
- isMain() argv guard replaces import.meta.main in coupling-audit and verify-references;
  engines.node >=22
- expansion-check: git diff --no-renames so moving engine code into content fails
- start-module and other tools: clear error when .course.json is missing
- check-links: malformed URLs reported as invalid URL instead of throwing

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 19:06:56 +01:00
Lucas WintherandClaude Opus 5.5 0700cac492 docs: accuracy pass
CI / Tool tests and sync-check (push) Successful in 13s
CI / Verify references (all modules, Rust and TS) (push) Successful in 1m29s
CI / Coupling audit on references (push) Successful in 13s
CI / Site build (push) Successful in 22s
CI / Naive engine tests (Module 0) (push) Successful in 32s
Re-verify Teikari article quotes and GDC speaker, soften unsourced
claims (lessons 01, 06, 07, 10), add course-simplification bullets to
lesson 07's differs box, qualify OPEN obstruction wording in research,
and add tools/check-links.mjs (report-only) with npm run check:links.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 18:52:18 +01:00
Lucas WintherandClaude Sonnet 5.5 1b8fdb0d96 fix: mentor skill review round 1
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-29 05:15:23 +01:00
Lucas WintherandClaude Sonnet 5.5 88bcb965bf feat: mentor skill
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-29 05:13:44 +01:00
Lucas WintherandClaude Opus 5.5 6f576940b7 fix: module 10 review round 1 (module-local SpellGrid cards, cast target check, CLI without panic hook)
- SpellGrid cards move to course/10-spellgrid/cards; start-module and
  verify-references stage course/cards plus module-local cards up to the module,
  so M5-M9 workspaces get exactly the pre-M10 card set.
- cast() rejects a chosen-target spell without a target (checkCast/checkPlay);
  new test_10_targeted_spell_needs_target.
- Rust CLI pre-validates instead of swapping the global panic hook.
- Catalog: CRIER noun; DEATHRATTLE/BATTLECRY note on lexicon vs catalog role.
- Lesson: design note on mid-movement reparse.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 05:11:09 +01:00
Lucas WintherandClaude Opus 5.5 a0cf9be214 feat: module 10 spellgrid
SpellGrid capstone: Part I's card engine and Part II's grid engine joined at
three seams (rules -> aura data, hazard victims -> one destroy Sequence,
Sequence end -> write text, remove the dead, reparse). Three levels with
scripted solutions, a naive-timing test via a harness-only hook that
reverses the END_OF_PHASE list, CLIs in both tracks, the BATTLECRY IS DOUBLE
Expansion Drop, SpellGrid cards and words in course/cards and the catalog,
level schema cards/hand, and tools staging/copying of module levels.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 05:01:27 +01:00
Lucas WintherandClaude Opus 5.5 e04dc1a11f feat: module 05 assemble
Cards become JSON data in course/cards (one file per card, validated
against card.schema.json and the catalog); the M5 references load them
via registerCards and interpret effects, replacing content closures.
Adds assemble(base, donor, half), the assemble/buffHand effects with an
injected chooser, Fleshshape as the data-only Expansion Drop, and stages
course/cards in verify-references and start-module.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 03:17:21 +01:00
Lucas WintherandClaude Opus 5.5 1453a00b9c fix: verify-references installs TS deps; sync-check covers expansion tests; template gitignore and passWithNoTests
verify-references ran a bare `npx vitest run` in the staged reference, which
fetched an unrelated vitest that could not load the reference config. It now
installs the reference's devDependencies first. sync-check also checks each
module's expansion/tests against ### headings in expansion/README.md.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 00:12:48 +01:00
Lucas WintherandClaude Sonnet 5.5 00662639ba fix: DEATHRATTLE is meta so audit ignores engine trigger names
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-29 00:01:35 +01:00
Lucas WintherandClaude Sonnet 5.5 a4b72ad110 feat: card/level schemas and verified catalog
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-29 00:00:21 +01:00
Lucas WintherandClaude Sonnet 5.5 875280f253 fix: create tests dir in start-module skip test for clean checkouts
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-28 23:56:09 +01:00
Lucas WintherandClaude Sonnet 5.5 7854f6f531 feat: repo foundation and course tooling
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-28 23:54:55 +01:00