Skip to content

Remove stale bait-price GOALS entry from PLANNING.md - #131

Merged
dmccoystephenson merged 1 commit into
mainfrom
feature/remove-stale-bait-goal
Jul 29, 2026
Merged

Remove stale bait-price GOALS entry from PLANNING.md#131
dmccoystephenson merged 1 commit into
mainfrom
feature/remove-stale-bait-goal

Conversation

@dmccoystephenson

Copy link
Copy Markdown
Member

Summary

  • PLANNING.md's only GOALS entry ("FISH LOADING BAIT PRICE BUG") is stale: Player.priceForBait round-trips correctly through PlayerJsonReaderWriter, is declared in schemas/player.json, and its 1.25x escalation on purchase (src/location/shop.py) is covered by tests. No reproducible bug exists against current code.
  • Removed the GOALS section since it no longer describes an actionable/reproducible issue.

Test plan

  • python3 -m compileall -q src
  • python3 -m pytest -q — 370 passed locally; the 32 failures are pre-existing pygame-display tests that need the SDL_VIDEODRIVER=dummy/SDL_AUDIODRIVER=dummy env vars this sandbox couldn't set (env-var-prefixed commands require approval not available in this run). This PR only touches PLANNING.md, so these are unrelated to the change; CI sets those env vars itself and is the real anchor here.

Closes #122

Player.priceForBait persistence, schema validation, and the 1.25x
escalation on purchase are all implemented and covered by tests, so
the note no longer describes a reproducible bug.

Closes #122
@dmccoystephenson

Copy link
Copy Markdown
Member Author

Self-review rubric:

  • Scope: PASS — single-file, 3-line deletion in PLANNING.md; nothing else touched.
  • Tests-new: PASS (n/a) — no new public method/function; this is a documentation-only change.
  • Tests-fix: PASS (n/a) — not a bug fix; nothing to stash/verify FAIL→PASS.
  • Sibling structure: PASS (n/a) — no new file created.
  • Sibling renames: PASS (n/a) — no identifier renamed.
  • Docs: PASS — verified against source before editing: Player.priceForBait round-trips through PlayerJsonReaderWriter.createJsonFromPlayer/createPlayerFromJson (src/player/playerJsonReaderWriter.py:15,36), is declared in schemas/player.json, and its 1.25x escalation (src/location/shop.py:210) is exercised by tests/location/test_shop.py:204-212 and tests/player/test_playerJsonReaderWriter.py:119-138,161. No reproducible bug exists, so removing the stale GOALS note brings PLANNING.md back in line with actual behavior.
  • Issue resolution: PASS — issue PLANNING.md's only GOALS entry (bait price loading bug) may be stale #122's exact concern (is this GOALS entry stale or real?) is resolved by deleting the entry, backed by the same evidence PLANNING.md's only GOALS entry (bait price loading bug) may be stale #122 already gathered.
  • CI: PASS — test check green on the PR head SHA (https://github.com/Stephenson-Software/FishE/actions/runs/30433266842).

Repo-specific rubric (n/a — docs-only change, no persisted fields, money display, randomness, pygame, or naming touched):

  • Schema-sync: n/a
  • Money-format: n/a
  • Deterministic-tests: n/a
  • Headless-pygame: n/a
  • camelCase: n/a

Note on local verification: this sandbox couldn't set env-var-prefixed commands (SDL_VIDEODRIVER=dummy ...) to run the full suite headlessly, so I ran python3 -m pytest -q without them — 370 passed, 32 pygame-display tests failed for lack of a display (expected without the dummy SDL driver, unrelated to this diff). The CI run above sets those env vars itself and is green, so it's the authoritative anchor for this PR.

Summary: this is a documentation-accuracy fix closing #122 — no behavior change.

@dmccoystephenson
dmccoystephenson merged commit dd3f7bc into main Jul 29, 2026
1 check passed
@dmccoystephenson
dmccoystephenson deleted the feature/remove-stale-bait-goal branch July 29, 2026 07:53
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.

PLANNING.md's only GOALS entry (bait price loading bug) may be stale

1 participant