maniator / maniator/verticopolis
[Feature]: [P3] Group the GameRules interface past ~12 methods (parked with threshold)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 5
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
Imported from the engineering backlog (
_bmad-output/implementation-artifacts/backlog.md, storyseam-grouping).
Priority P3 (do-first order) | Severity: n/a | Status: parked | Epic: sim-split party | Type: design-decision | Recorded: 2026-07-08
Problem / motivation
Parked with a threshold. If GameRules grows past roughly a dozen methods, GROUP the interface (rules.economy.*, rules.pricing.* style) instead of letting it flatten out; a ModernSimulation subclass was steelmanned and ruled OUT (polymorphic deserialize would let a forged save pick its attack surface before validation; inheritance ships Classic bugfixes into Modern silently; the modes disagree rather than stack). Provenance: sim-split party 2026-07-08, Story 1.7 in epics-classic-modern-roadmap-2026-07-08.md (the tripwire test that enforces the seam law).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with _bmad-output/implementation-artifacts/backlog.md and the referenced epics-classic-modern-roadmap-2026-07-08.md, then locate the GameRules interface and its tripwire test. Confirm whether the interface has crossed the roughly dozen-method threshold and review the recorded grouping seam decision. Done means the threshold decision is resolved and the enforcing test reflects the agreed structure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- game-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100