Open-source review: balance the README gallery, correct platform docs, add the codeyam CI gates - #7
Merged
Merged
Conversation
Open-source review pass over the docs. - README gallery now shows both platforms. It is generated by `readme-sync`, which filled all 8 slots by a flat take of the name-sorted scenarios — so the 26 `android-*` scenarios took every slot and none of the 80 iOS ones appeared. Regenerated with the round-robin selection fix; the block is byte-identical to what `readme-sync --check` now renders. - compile SDK 34 -> 35 in README and CONTRIBUTING, matching `android/app/build.gradle.kts` (compileSdk/targetSdk = 35) and the CHANGELOG's "targets API 35". - CONTRIBUTING: the launch command was `codeyam-editor editor`, which exits 2 (that is the subcommand group, not a launcher). Now `codeyam-editor start`. - CONTRIBUTING: document `verifyPaparazziDebug`. CI runs it, so a contributor who changed a Compose component passed locally and failed CI with no warning; includes the re-record path and the caveat that re-recording makes the check pass by definition. - store/playstore/README: point at `play-release.yml` (the referenced `play-internal.yml` was retired), link the cheatsheet properly, and drop the "make the privacy policy OS-neutral" to-do, which shipped. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Rzwduyjmzj1CErQucuu2ys
`ci.yml` proved the code builds and its tests pass, but nothing in CI checked the codeyam state that travels with it. The CLI documents verify-no-deferred-finalize / verify-full-finalize / verify-completed-plans as "CI runs it on PRs to the primary branch as the authoritative backstop"; this repo relied solely on the local pre-push hook, which a fork or a --no-verify push bypasses. Adds `codeyam-protection.yml` from the upstream github-actions template, extended with verify-completed-plans. Kept separate from `ci.yml` so a metadata-debt failure is legible on its own rather than reading as a broken app. All three gates were verified green against the published npm build (which carries all three subcommands) before wiring them up. Also aligns `ci.yml` / `testflight.yml` onto the same action versions `play-release.yml` already uses (checkout v5, setup-java v5, setup-android v4), and drops the stale references to the retired `play-internal.yml` workflow. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Rzwduyjmzj1CErQucuu2ys
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Open-source review pass over the repo. Docs and CI only — no app code changes on either platform.
The headline: the README gallery was Android-only
The gallery is generated by
codeyam-editor editor readme-sync, which filled its 8-slot cap with a flat take of the name-sorted scenarios. This repo's 26android-*scenarios sort ahead of its 80 iOS ones, so Android took every slot and zero iOS screenshots appeared — in a README whose hero image is an iPhone. A repo that ships for both platforms read as Android-only.The gallery here is now 4 iOS + 4 Android, pairing the same state across both platforms.
Corrected platform facts
android/app/build.gradle.ktshascompileSdk/targetSdk= 35, and the CHANGELOG already said API 35 — the setup docs were the outlier.codeyam-editor editor, which exits 2 — that's the subcommand group, not a launcher. Nowcodeyam-editor start. (Also fixed upstream, since it shipped in every codeyam-generated README.)verifyPaparazziDebug, but CONTRIBUTING listed onlycompileDebugKotlin+testDebugUnitTest. A contributor changing a Compose component passed locally and failed CI with no warning. Now documented with therecordPaparazziDebugre-record path and the caveat that re-recording passes the check by definition.store/playstore/README.mdpointed atplay-release.yml's retired predecessorplay-internal.yml, and carried a "make the privacy policy OS-neutral" to-do that already shipped.CI: the codeyam merge-readiness gates were missing
ci.ymlproved the code builds and its tests pass, but nothing checked the codeyam state that travels with it. The CLI documentsverify-no-deferred-finalize/verify-full-finalize/verify-completed-plansas "CI runs it on PRs to the primary branch as the authoritative backstop" — this repo relied solely on the local pre-push hook, which a fork or a--no-verifypush bypasses.Adds
codeyam-protection.ymlfrom the upstream template, extended withverify-completed-plans. Kept separate fromci.ymlso a metadata-debt failure reads as metadata debt, not a broken app. All three gates were verified green against the published npm build before being wired up.Also aligns
ci.yml/testflight.ymlonto the action versionsplay-release.ymlalready used (checkout v5, setup-java v5, setup-android v4).Verification
codeyam-editor editor session-finalize— passed, marker re-stampedverify-full-finalize— exit 0 (branch is merge-ready)editor audit— 150 glossary entries, 150 tests covered, no stale/missing scenarios, screenshots, or testspresentability-scan— clean with the fixed scannerNeeds a separate decision (not in this PR)
Branch protection on
mainrequires a status check namedBuild & test, which no workflow produces — the CI jobs are namediOS · Build & testandAndroid · Build & test, renamed when the Android port landed. The required check is dangling, so it can never go green; onlyenforce_admins: falsehas been masking it. See the PR discussion for the fix.