Files
tdkpin/tdkpin-rs/AGENTS.md
T
ddidderr a6967b4d1b fix(divergence): reject occupied multiball wheel slots
The original leaves contact owner 2 after either ball fills a wheel hole during
multiball. Once play collapses to one ball, that sentinel permits one more
capture and award in the visibly occupied hole before becoming permanent.

Deliberately replace the completed wheel contact with the permanent 99 sentinel
for both ball slots. This keeps visual occupancy, collision admission, and
scoring consistent: a filled hole cannot consume or reward another ball. The
special reserve hole and claw retain their original contact behavior.

Document `divergence` as the required Conventional Commit scope for future fixes
that intentionally differ from original-game behavior.

Test Plan:
- `just test` -- passed (142 game tests and 8 service tests)
- `just clippy` -- passed
- `just build-production` -- passed
- `cargo +nightly fmt --all -- --check` -- passed
- `rumdl check --flavor commonmark CHANGELOG.md AGENTS.md` -- passed
- `git diff --cached --check` -- passed
2026-08-31 19:54:11 +02:00

841 B

Agent Instructions

Commit Policy

Automatically commit changes once a full feature, bugfix, refactor, or other coherent unit of work is finished. Do not wait for the user to ask for a commit.

Use divergence as the Conventional Commit scope for every change that deliberately differs from original-game behavior to fix an original bug, for example fix(divergence): reject occupied wheel slots.

Versioning Policy

Only update the version, when the user explicitly asks for it.

Guidelines for how to update the version

  1. Use cargo set-version to bump the version. Decide, based on the actual changes, based on semver semantics, if major, minor or patch needs to be bumped.
  2. Update the CHANGELOG.md file accordingly.
  3. Create a release commit.
  4. Tag the release commit in the style of previous versioning tags.