Skip to content

docs: validate store release notes before submission - #1224

Merged
piotr-iohk merged 3 commits into
masterfrom
docs/store-notes-guidelines
Nov 5, 2026
Merged

piotr-iohk merged 3 commits into
masterfrom
docs/store-notes-guidelines

Conversation

@piotr-iohk

@piotr-iohk piotr-iohk commented Nov 5, 2026 •

Copy link
Copy Markdown
Collaborator

Twin: synonymdev/bitkit-android#1791
Dependency: synonymdev/bitkit#4

/release currently drafts and translates store notes without a store-policy preflight, and its retry path can duplicate GitHub sections or leave a reused Drive document stale. Require the shared store-note method during drafting and again before each authorized App Store submission/resubmission.

Description

  • Validate the English draft and every translation, prefer platform-neutral wording, and record the method revision/policy check date.
  • Require readback of every saved store locale against the approved text before submission; generation alone leaves console verification pending.
  • Replace an existing GitHub Store Release Notes section once, preserving the changelog, and reconcile/update reused Drive notes in place.
  • Route the manual release guide through the same checks.

Design

N/A — no UI changes.

Preview

N/A — agent documentation only.

QA Notes

Setup

N/A — documentation only. The shared guide dependency must merge first so the default-branch link resolves.

Journeys

N/A — no user-visible runtime behavior change.

Manual Tests

N/A — no device testing required.

Automated Checks

  • ran git diff --check.
  • ran Markdown fence/local-reference checks and verified both commands route drafting and submission to the shared guide.

Evidence

Current official Apple/Google policy references were checked on 2026-11-05. Independent review of the shared guide and both consumers, including relocation to synonymdev/bitkit, found no actionable findings. Documentation checks passed again after relocation; the release QA method remains in E2E.

The review follow-up pins guide retrieval through gh/GitHub MCP and treats fetched policy content as reference data without action authority. Documentation/parity checks and independent review passed. Final head 3abdca54b7e2cd87c2522cce7d3476877a3ed1c1 has fresh Greptile 5/5 and approval from jvsena42. Integration passed 30 tests. SwiftFormat attempt 1 crashed (exit 139); its single retry passed. Unit attempt 1 failed only SendSheetLifecycleTests.testScannerReplacementPreservesLnurlConfirmation at the one-second dismissal cleanup assertion (3,144 app tests, one skipped, one failure; the UI suite reported 44 tests/four skipped/zero failures). The tested merge 46d08d7e4b515d44cfa86ce20e641c4c30c52105 differs from master 0e4783c only in the two documentation files. The successful master run passed that exact test with identical app/test sources. One investigated unit retry is pending; no app/test code was changed or failure waived. Talos’s current-head re-review is still pending.

Gaps

Merge the shared guide dependency before this PR. Runtime builds/tests are not applicable; no store, release branch or published tag was changed by this PR.

Models used

  • Planning/scoping: gpt-6.1-sol (reasoning: high)
  • Implementation: gpt-6.1-sol (reasoning: high)
  • Review: gpt-6.1-sol (reasoning: high)
  • Review rounds: 3

@greptile-apps

greptile-apps Bot commented Nov 5, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The reviewed changes appear safe to merge.

Summary

Adds shared store-note checks to release drafting and App Store submission.

  • Release notes are checked against store rules before they are drafted.
  • The release flow keeps GitHub and Drive notes aligned as drafts change.
  • App Store submissions now require checks of the saved release notes.

No actionable issues were found in the changes since the previous review.

Reviews (3) · Last reviewed commit: "docs: distinguish policy references from..." · Reviewed by Greptile

@jvsena42 jvsena42 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Docs-only change to the release command, reviewed against the twin. I found no issues.

  • Both twins add the same store-note check steps. They differ only where the stores do: App Store notes drop Android/competing-store references; Google Play notes do not take on Apple's rule.
  • Updating the draft body now replaces the ## Store Release Notes section instead of prepending to it, so re-running the step no longer duplicates the section.
  • The Drive reuse path now updates the doc in place and marks the sync pending when it can't, instead of only printing a warning.
  • The shared guide link 404s until synonymdev/bitkit-e2e-tests#294 merges. The PR declares that as a dependency, so I will not merge this before #294.

Device gate: N/A, documentation only.

Reviewer model: claude-opus-5-5
Reasoning effort: Unknown (not exposed in session metadata)

@talosmachina talosmachina left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

No findings. The iOS twin of synonymdev/bitkit-android#1791: /release and Docs/RELEASE.md load the shared store-note checks before drafting and before each App Store submission, and the GitHub section is replaced instead of prepended. Reviewed 4db3d48, full tier (two docs files, read whole).

What I checked, and 3 candidates I ruled out

Read in full: .agents/commands/release.md and Docs/RELEASE.md at the head, plus docs/store-release-notes.md from synonymdev/bitkit-e2e-tests#294
CI: SwiftFormat and validate green. Run Tests and Run Integration Tests still running. None of them reads these files

Ruled out

  • Twin drift: step 6 and 6b match the Android command line for line, apart from the store name, the doc title and the App Store rule on platform references, which is the one difference the guide calls for.
  • Manual guide out of step with the command: Docs/RELEASE.md step 4 now runs the same readback before submission that the command's next steps require.
  • Dangling link: it targets bitkit-e2e-tests main, the default branch, and resolves once #294 merges.

Merge confidence: 5/5, docs only, consistent with the shared guide and the Android twin.

Reviewer model: claude-opus-5-5
Reasoning effort: Not exposed (the run metadata available to this reviewer does not report it)

@piotr-iohk

Copy link
Copy Markdown
Collaborator Author

@greptileai Please review the current head c2702b1ffb295f9c4371c1a7f609cb25247a4887. The shared store-note guide now lives in synonymdev/bitkit#4, replacing the closed E2E #294 proposal. Only the store-note links/source revision wording moved; release sanity guidance stays in E2E. The dependency and merge order are updated in the PR description. Documentation checks and independent relocation review passed.

@talosmachina talosmachina left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Re-review of c2702b1 after 4db3d48. 0 earlier findings. No new findings. The only change is c2702b1: the shared store-note guide links in .agents/commands/release.md (steps 6 and the submission next step) and Docs/RELEASE.md (step 2 and step 4) now point at synonymdev/bitkit#4 instead of the closed bitkit-e2e-tests#294. Full tier, files read whole at the head.

What I checked, and 3 candidates I ruled out

Read: git diff 4db3d48 c2702b1, both files at the head, and docs/store-release-notes.md at synonymdev/bitkit#4 head 2d5f68c
CI: SwiftFormat, validate and e2e-status are green. Run Tests and Run Integration Tests are still running, and neither reads these files

Ruled out

  • Stale references to the old location: grepped the head for bitkit-e2e-tests and store-release-notes. Every store-note link now targets synonymdev/bitkit master, which is that repo's default branch. The bitkit-e2e-tests references that remain are the release-sanity skill, the release QA method and /archive-release, and #4 does not move those.
  • Guide and consumers disagree on where to load from: the command now says "one resolved bitkit default-branch revision", and docs/store-release-notes.md at #4's head (2d5f68c) gives the same instruction.
  • Dangling link: the link 404s until synonymdev/bitkit#4 merges. The body names #4 as the dependency and sets the merge order.

Merge confidence: 5/5, docs only, consistent with the relocated guide and the Android twin.

@jvsena42 jvsena42 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Re-approving at the new head. The only change since my approval moves the shared guide links from bitkit-e2e-tests/blob/main to synonymdev/bitkit/blob/master/docs/store-release-notes.md, and the Dependency line now reads synonymdev/bitkit#4.

  • master is that repo's default branch, and #4 adds exactly docs/store-release-notes.md, so the links will resolve once #4 merges.
  • Every link in the twin was updated, and no stale bitkit-e2e-tests guide link is left.
  • I will not merge this before synonymdev/bitkit#4.

Reviewer model: claude-opus-5-5
Reasoning effort: Unknown (not exposed in session metadata)

@piotr-iohk

Copy link
Copy Markdown
Collaborator Author

@greptileai Please review current head 3abdca54b7e2cd87c2522cce7d3476877a3ed1c1. The review follow-up pins guide retrieval through gh/GitHub MCP and treats external policy pages as reference data without command, credential, scope or write authority. Documentation and parity checks plus independent review passed.

@jvsena42 jvsena42 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Re-approving at the new head. The new commit pins the guide read to one resolved commit SHA. It also tells the agent to treat fetched policy pages as untrusted reference data, never as instructions, which is a sensible guard for a step that uses WebFetch. The twins match. I'm still holding the merge until synonymdev/bitkit#4 merges.

Reviewer model: claude-opus-5-5
Reasoning effort: Unknown (not exposed in session metadata)

@piotr-iohk

Copy link
Copy Markdown
Collaborator Author

@talosmachina The existing re-review request for current head 3abdca54b7e2cd87c2522cce7d3476877a3ed1c1 is still pending. Could you confirm its status, or review this revision if no run is already active? Please avoid starting a duplicate if it is queued/running.

Since your last iOS review, the only source change pins the shared-guide read through gh/GitHub MCP and treats fetched policy pages as reference data without action authority. The same follow-up is already clear in the Android twin at ca41dac59. Independent review and Greptile found no issues; the current iOS head is approved, with the investigated unit retry still running.

@talosmachina talosmachina left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Re-review of 3abdca5 after c2702b1. 0 earlier findings. No new findings. The only change is 3abdca5 in .agents/commands/release.md step 6: the guide is read through gh or the GitHub MCP at one resolved synonymdev/bitkit default-branch SHA, and fetched policy pages are treated as reference data with no authority to run commands, reveal credentials, widen scope or write. Light tier (3 added lines, 1 removed), file read whole at the head.

What I checked, and 2 candidates I ruled out

Read: git diff c2702b1 3abdca5, .agents/commands/release.md and Docs/RELEASE.md at the head, and the Android twin commit synonymdev/bitkit-android@ca41dac59
CI: SwiftFormat, Run Integration Tests and Greptile are green. Run Tests is still running and does not read these files

Ruled out

  • Twin drift: the step 6 hunk matches synonymdev/bitkit-android@ca41dac59 word for word apart from App Store in place of Google Play.
  • Manual guide disagrees with the command on how to load the guide: Docs/RELEASE.md steps 2 and 4 still say to record the guide revision and do not prescribe a fetch route, so the pinned-SHA read in the command narrows it without contradicting it.

Merge confidence: 5/5, docs only, consistent with the Android twin and the relocated guide.

Reviewer model: claude-opus-5-5
Reasoning effort: Not exposed (the run metadata available to this reviewer does not report it)

@piotr-iohk
piotr-iohk merged commit f55fb82 into master Nov 5, 2026
24 of 26 checks passed
@piotr-iohk
piotr-iohk deleted the docs/store-notes-guidelines branch November 5, 2026 20:36
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.

3 participants