No description
Phase F Final Wave of the rule-variants epic.
F1 (Plan Compliance, oracle): APPROVE — bg_f2508b15
F2 (Code Quality, unspecified-high): APPROVE — bg_1101ecb3
F3 (Manual QA, orchestrator-direct): APPROVE — after agent hit
tool cap; 1651/1651 unit +
83/83 Playwright + 2/2
visual spot-checks
F4 (Scope Fidelity, deep): APPROVE — bg_77460b0f
Summary:
- 1651 unit tests (1417 baseline → +234 across 14 presets + 4 hooks
+ audits).
- 83/83 Playwright (80 → +3 rule-variants scenarios in F.4).
- 0 typecheck / lint errors.
- 4 new preset hooks shipped: getRoyalPieces, filterLegalMoves,
shouldAdvanceTurn (+ HalfMovesThisTurn fact), overridePieceMoves.
- 14 rule-variant presets shipped:
* Tier 1: knightmate-rules, double-move, monster-rules (scope-
flippable), first-promotion-wins.
* Tier 2 royal: coregal, dual-king, weak-dual-king.
* Tier 2 objective: suicide-chess, capture-all, extinction-chess.
* Tier 2 movement: berolina-pawns (scope-flippable),
berolina-pawns-2 (scope-flippable), bouncing-pieces,
bouncing-pieces-2.
- 1 new layout: dual-classic.
- Engine composition fix: onCheckGameResult 'ongoing' suppresses
defaults without short-circuiting later presets.
- UI: RulesDrawer category grouping + LayoutPicker suggested-rules
chips.
- Docs: PRESET-API.md + RULES.md galleries updated.
- Audits: incompatibleWith symmetry test + suggestedPresets
dangling-reference test — both green and runtime-enforced.
Deferred per-plan: Tier 3 royalty-transfer (requires mid-game state
toggle UX outside 'one move at a time'), berolina en-passant,
extinction-chess UI target cycling.
Plan: .sisyphus/plans/rule-variants-v2.md (all 31 tasks checked).
|
||
|---|---|---|
| .github/workflows | ||
| .sisyphus | ||
| docs | ||
| packages | ||
| scripts | ||
| .gitignore | ||
| eslint.config.js | ||
| lefthook.yml | ||
| LICENSE | ||
| package.json | ||
| playwright.config.ts | ||
| README.md | ||
| tsconfig.base.json | ||
| tsconfig.json | ||
| vitest.workspace.ts | ||
@paratype
A Doorenbos-style Rete II rules engine for TypeScript games, with an authoritative WebSocket chess demo.
Packages
packages/rete— Rete II engine corepackages/chess— Browser chess demo (React + Vite)packages/server— Authoritative Bun WebSocket server
Docs
- SPEC.md — Engine specification
- PHASES.md — Development phases & perf budgets
- RULES.md — Chess rule presets
- PROTOCOL.md — WebSocket message protocol
Getting Started
bun install && bun run check