Repository navigation
docs: record Third Roll first-release scope and rights basis - #97
Conversation
|
@sfl review |
There was a problem hiding this comment.
🟡 Changes recommended
The release brief contains an active documentation inconsistency: it says both All of a Kind rows appear with six or more dice, while the implementation and scoring test show the standard row is replaced by maxi-yahtzee.
1 open issue
What changed in this PR
This pull request records the approved Third Roll iOS 1.0 product scope, identity, rights basis, frozen house rules, and release boundaries in versioned documentation.
Changes:
- Links the mobile release brief from
PRODUCT.md. - Records the November 2 release-scope decision in project history.
- Documents Third Roll’s identity, asset-rights basis, conflict-screen limitations, launch scope, and deferred release responsibilities.
- Defines the frozen scoring rules and category behavior.
| File | Summary | Review notes |
|---|---|---|
PRODUCT.md |
Links the versioned iOS release decision record. | — |
History/2026-11-02.md |
Records the mobile release-scope decision. | — |
docs/mobile-release-brief.md |
Defines Third Roll’s identity, rights basis, launch scope, house rules, and release boundaries. | Nit: Clarify that the standard All of a Kind row is replaced at 6+ dice, since yahtzee is removed when diceCount >= 6 and only maxi-yahtzee is exposed. |
Review effort: Lite
|
@sfl review |
|
SFL review stopped: head moved; post a fresh request. |
There was a problem hiding this comment.
✅ Verdict: PASS • Round 1
Review done by gpt-6.1-sol
The change records Third Roll's first-release identity, scope, rights limits and existing house rules, and links the brief from PRODUCT.md. Security, accuracy and quality passes found no evidenced defects within the static coverage described below; this is not proof of correctness.
🔨 Full-Spectrum Review Summary
Effort: high
Review time: 1m 40s
Token count: Unavailable
| Pass | 🔴 Critical | 🟠 High | 🟡 Medium | ⚪ Low |
|---|---|---|---|---|
| 🔒 Security | 0 | 0 | 0 | 0 |
| ✅ Accuracy | 0 | 0 | 0 | 0 |
| 🧰 Quality & Maintainability | 0 | 0 | 0 | 0 |
| Total | 0 | 0 | 0 | 0 |
Key Findings
No material defects found.
Coverage
- Files reviewed:
History/2026-11-02.mdPRODUCT.mddocs/mobile-release-brief.md
- Context read:
AGENTS.mdLICENSEpackages/game-engine/src/scoring.tspackages/game-engine/src/game.tspackages/game-engine/src/session.tspackages/game-engine/src/presentation.tspackages/game-engine/tests/scoring.test.tspackages/game-engine/tests/suggestions.test.tspackages/game-engine/tests/nativePersistence.test.tspackages/game-engine/tests/nativeSqlite.test.tsapps/mobile/app.jsonapps/mobile/package.jsonapps/mobile/app/_layout.tsxapps/mobile/src/local/LocalProvider.tsxapps/mobile/src/local/store.tsapps/mobile/src/local/save.tsapps/mobile/src/local/sqliteStorage.tsapps/mobile/src/local/platformStorage.native.tsapps/mobile/src/screens/Setup.tsxapps/mobile/src/screens/NativeGameScreen.tsxapps/mobile/src/screens/NativeScorecard.tsxapps/mobile/src/screens/History.tsxapps/mobile/src/screens/Results.tsxapps/mobile/src/screens/Play.tsxapps/mobile/src/screens/Dice.tsxapps/mobile/src/ui/controls.tsxapps/mobile/assets/README.mdapps/mobile/assets/provenance.jsonapps/mobile/assets/icon-source.svgapps/mobile/APP-STORE.mdapps/mobile/native/README.mdapps/mobile/release/candidate.jsonpackages/ui/src/assets/README.mdpackages/ui/src/assets/OFL.txtsite/pages.mjssite/build.mjs.github/workflows/quality.yml
- Verified:
- Compare
base_commit.shamatches0b01666a84152bfca16dfe3f9e5f80a9bbf32ffe; its final commit matches7f2735a383645d9fc4bc27e54ef518a052fba481. - Compare merge base equals the reserved base; inspected every patch across all three changed files.
- PR metadata still matches both reserved SHAs at final refresh.
- Read issue #39, its linked decision comment and existing inline discussion as review context.
- Security: documentation changes introduce no executable code, permissions, credentials or deployment changes.
- Accuracy: bonus targets and values match
getUpperBonusThresholdandgetUpperBonusValue. - Accuracy: Full Straight, distinct-face Castle, whole-hand matching and category replacement match
scoring.tsand corresponding assertions. - Accuracy: Chance guidance matches
pickAiCategory, including immediate bonus gain and fallback choices. - Accuracy: three-roll turns and local human with zero to three opponents match
session.ts; mobile presets matchsave.tsand setup controls. - Accuracy: acknowledged saves, exact-byte retry and visible recovery have matching store, SQLite and UI paths.
- Accuracy: name, identifier, proposed version/build, orientation, tablet support and iOS deployment target match
app.json. - Accuracy: native text controls use default fonts; website build bundles Manrope and its OFL license.
- Quality: relative document and source links resolve in the exact-head tree; launch decisions retain explicit release and legal gates.
- Compare
- Not verified:
- Historical search results and trademark clearance cannot be established from repository source or the linked decision alone.
- Original asset ownership is documented but not independently established; raster exports and font binary provenance were not validated.
- SDK minimum-OS compatibility and previously inspected simulator packages were not independently checked against vendor implementation or package artifacts.
- Physical-device rotation, multitasking, durability and release acceptance require device evidence.
- Absence of analytics and other excluded features was not established through a complete native dependency or network audit.
- Historical validation counts in History and the PR body lack independently inspected execution receipts.
- Store reservation, actual distribution status and the statement that no iOS release has shipped were not independently checked.
- Release-checker behavior linked through the existing tracker, live CI conclusions and branch-protection claims were not independently verified.
- Tests run: None. Reviewer execution is disabled.
HemSoft full-spectrum review • 3 evidence-based passes • Reviewed head 7f2735a383645d9fc4bc27e54ef518a052fba481 • SFL v0

Third Roll already replaced the old public identity in #96, but its first-release decisions lived in an issue comment. This records the scope, subtitle direction, rights basis and conflict-screen limits in a release brief linked from PRODUCT.md.
Keep Third Roll because it describes the three-roll turn, avoids the licensed game's branding and requires no paid domain or artwork. Preserve the existing Castle, whole-hand matching, bonus, category-order and Chance rules. This uses Franz's delegated product authority and the November 1 Chief decision. No app source, store account, spending or outreach changes.
Closes #39.
Validation:
Remaining store reservation, signed-device qualification, privacy/export attestations and actual store distribution are tracked separately. This conflict screen is not legal clearance. App Store Connect was not accessed.