docs(core): record unlimited stock recycling as an intentional rules decision
Resolves the Draw-1 recycle question from the June 500-game audit: unlimited recycling with upstream score penalties is deliberate, matching mainstream digital solitaire rather than strict 3-pass tournament rules. The difficulty seed catalog and the winnable-deal solver are verified under this rule, so a hard pass limit must not be introduced casually. - ARCHITECTURE.md: new 'Rules decisions' note in the solitaire_core section - GameState::draw() doc comment points at the decision record - New lock-in test draw_one_recycling_is_unlimited_by_design asserts 10+ recycles are never rejected Closes #117 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -8,6 +8,12 @@ project follows [Semantic Versioning](https://semver.org/).
|
||||
|
||||
### Added
|
||||
|
||||
- **Rules decision record: unlimited stock recycling.** Documented in
|
||||
`ARCHITECTURE.md` that unlimited recycling with score penalties (matching
|
||||
mainstream digital solitaire) is intentional, and locked it in with a core
|
||||
test — the difficulty seed catalog and winnable-deal solver are verified
|
||||
under this rule. Resolves the last open finding from the June 500-game
|
||||
audit (issue #117).
|
||||
- **Analytics validation runbook.** Documented native Matomo live validation,
|
||||
expected event payloads, and the current web/WASM analytics split.
|
||||
- **Android smoke-test runbook.** Updated the Android doc with the current
|
||||
|
||||
Reference in New Issue
Block a user