Repository navigation
docs: validate store release notes before submission - #1224
Conversation
[Medium impact] The reviewed changes appear safe to merge. SummaryAdds shared store-note checks to release drafting and App Store submission.
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
left a comment
There was a problem hiding this comment.
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 Notessection 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
pendingwhen 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
left a comment
There was a problem hiding this comment.
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.mdstep 4 now runs the same readback before submission that the command's next steps require. - Dangling link: it targets
bitkit-e2e-testsmain, 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)
|
@greptileai Please review the current head |
talosmachina
left a comment
There was a problem hiding this comment.
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-testsandstore-release-notes. Every store-note link now targetssynonymdev/bitkitmaster, which is that repo's default branch. Thebitkit-e2e-testsreferences 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
bitkitdefault-branch revision", anddocs/store-release-notes.mdat #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
left a comment
There was a problem hiding this comment.
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.
masteris that repo's default branch, and #4 adds exactlydocs/store-release-notes.md, so the links will resolve once #4 merges.- Every link in the twin was updated, and no stale
bitkit-e2e-testsguide 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)
|
@greptileai Please review current head |
jvsena42
left a comment
There was a problem hiding this comment.
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)
|
@talosmachina The existing re-review request for current head Since your last iOS review, the only source change pins the shared-guide read through |
talosmachina
left a comment
There was a problem hiding this comment.
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.mdsteps 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)
Twin: synonymdev/bitkit-android#1791
Dependency: synonymdev/bitkit#4
/releasecurrently 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
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
git diff --check.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 head3abdca54b7e2cd87c2522cce7d3476877a3ed1c1has fresh Greptile 5/5 and approval fromjvsena42. Integration passed 30 tests. SwiftFormat attempt 1 crashed (exit 139); its single retry passed. Unit attempt 1 failed onlySendSheetLifecycleTests.testScannerReplacementPreservesLnurlConfirmationat 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 merge46d08d7e4b515d44cfa86ce20e641c4c30c52105differs from master0e4783conly 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
gpt-6.1-sol(reasoning:high)gpt-6.1-sol(reasoning:high)gpt-6.1-sol(reasoning:high)