Skip to content

docs: record Third Roll first-release scope and rights basis - #97

Merged
HemSoft merged 2 commits into
mainfrom
docs/39-release-scope
Nov 2, 2026
Merged

HemSoft merged 2 commits into
mainfrom
docs/39-release-scope

Conversation

@HemSoft

@HemSoft HemSoft commented Nov 2, 2026

Copy link
Copy Markdown
Collaborator

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:

  • git diff --check passed.
  • One run of all 174 Node release/asset/native-tool/capture/workflow tests passed. A repeated run passed 173 and failed the five-second sampler-child exit test under local load; this failure is retained, not counted as a pass.
  • Draft release-record checker ran successfully and correctly reports an incomplete unreleased candidate.
  • Frozen dependency installation exceeded its time budget. A bounded copyfile retry reported EPERM linking sprintf-js. Local typecheck, lint, unit suite, web/desktop/mobile builds and security gates were attempted; missing dependencies and unit timeouts prevented a local full pass. Logs retained under reports/marketing-gates in the writer worktree.
  • Full GitHub CI and exact-head SFL PASS are required before normal merge. Main protection requires quality-gate and dependency-audit, up-to-date source and resolved conversations; formal approving-review count is zero.

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.

Copilot AI lite review requested due to automatic review settings November 2, 2026 22:27
@HemSoft

HemSoft commented Nov 2, 2026

Copy link
Copy Markdown
Collaborator Author

@sfl review

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 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

Comment thread docs/mobile-release-brief.md Resolved
@HemSoft

HemSoft commented Nov 2, 2026

Copy link
Copy Markdown
Collaborator Author

@sfl review

@hemsoft-sfl-reviewer

Copy link
Copy Markdown

SFL review stopped: head moved; post a fresh request.

@hemsoft-sfl-reviewer hemsoft-sfl-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ 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.md
    • PRODUCT.md
    • docs/mobile-release-brief.md
  • Context read:
    • AGENTS.md
    • LICENSE
    • packages/game-engine/src/scoring.ts
    • packages/game-engine/src/game.ts
    • packages/game-engine/src/session.ts
    • packages/game-engine/src/presentation.ts
    • packages/game-engine/tests/scoring.test.ts
    • packages/game-engine/tests/suggestions.test.ts
    • packages/game-engine/tests/nativePersistence.test.ts
    • packages/game-engine/tests/nativeSqlite.test.ts
    • apps/mobile/app.json
    • apps/mobile/package.json
    • apps/mobile/app/_layout.tsx
    • apps/mobile/src/local/LocalProvider.tsx
    • apps/mobile/src/local/store.ts
    • apps/mobile/src/local/save.ts
    • apps/mobile/src/local/sqliteStorage.ts
    • apps/mobile/src/local/platformStorage.native.ts
    • apps/mobile/src/screens/Setup.tsx
    • apps/mobile/src/screens/NativeGameScreen.tsx
    • apps/mobile/src/screens/NativeScorecard.tsx
    • apps/mobile/src/screens/History.tsx
    • apps/mobile/src/screens/Results.tsx
    • apps/mobile/src/screens/Play.tsx
    • apps/mobile/src/screens/Dice.tsx
    • apps/mobile/src/ui/controls.tsx
    • apps/mobile/assets/README.md
    • apps/mobile/assets/provenance.json
    • apps/mobile/assets/icon-source.svg
    • apps/mobile/APP-STORE.md
    • apps/mobile/native/README.md
    • apps/mobile/release/candidate.json
    • packages/ui/src/assets/README.md
    • packages/ui/src/assets/OFL.txt
    • site/pages.mjs
    • site/build.mjs
    • .github/workflows/quality.yml
  • Verified:
    • Compare base_commit.sha matches 0b01666a84152bfca16dfe3f9e5f80a9bbf32ffe; its final commit matches 7f2735a383645d9fc4bc27e54ef518a052fba481.
    • 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 getUpperBonusThreshold and getUpperBonusValue.
    • Accuracy: Full Straight, distinct-face Castle, whole-hand matching and category replacement match scoring.ts and 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 match save.ts and 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.
  • 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

@HemSoft
HemSoft merged commit 74d09ab into main Nov 2, 2026
10 checks passed
@HemSoft
HemSoft deleted the docs/39-release-scope branch November 2, 2026 23:32
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.

[iOS 1.0] Confirm first-release scope, public name, and brand rights

2 participants