Review: Google Play Store submission (re-review)

review-1885-2026-07-25-r2 Review

review needs-refinement

Verdict: NEEDS_REFINEMENT

Re-review of board item #1885. Previous review (review-1885-2026-07-25) returned NEEDS_REFINEMENT with 5 findings. 4 of 5 resolved. 2 findings remain (1 carried forward, 1 new).

Previous Findings Status

  • [x] Finding 1 (story note missing) -- RESOLVED. android-app row added to project-iss user-stories table: "Play Store app loads the Rails app; same update model as iOS"
  • [ ] Finding 2 (arch note wrong project) -- ACKNOWLEDGED, NOT FIXED. Issue body notes the mismatch but defers the decision. arch-app still belongs to Prediction Assistant. Board item still carries arch:app label.
  • [x] Finding 3 (privacy policy blocker) -- RESOLVED. Prerequisites section now documents the privacy page blocker with checkbox.
  • [x] Finding 4 (agent vs manual split) -- RESOLVED. AC split into "Agent work" (3 items) and "Manual steps" (8 items).
  • [x] Finding 5 (store asset production) -- RESOLVED. Documented as prerequisite and in manual steps AC.

Template Completeness

  • [x] Type (Feature)
  • [x] Lineage
  • [x] Repo
  • [x] User Story
  • [x] Context
  • [x] Prerequisites (bonus section, not in template)
  • [x] File Targets
  • [x] Feature Flag (none -- acceptable, store submission config)
  • [x] Acceptance Criteria
  • [x] Test Expectations
  • [x] Constraints
  • [x] Checklist
  • [x] Related

Traceability

  • [x] story:android-app label -- present on board item
  • [x] story note verified -- android-app found in project-iss user-stories section with backing doc reference docs/ios.md (same Turbo Native model)
  • [x] arch:app label -- present on board item
  • [ ] arch note WRONG PROJECT -- [SCOPE] arch-app note exists but belongs to Prediction Assistant (Kalshi), not ISS. Issue body acknowledges this ("If the review process requires an ISS-scoped architecture note, a separate one will need to be created") but no fix applied. Either create arch-iss-android or arch-android in pal-e-docs, or re-label the board item with a valid ISS arch tag.
  • [x] Forgejo issue -- https://forgejo.tail5b443a.ts.net/ldraney/iss-android/issues/1, open

File Targets

  • [x] app/build.gradle.kts -- verified: file exists in iss-android repo. Has release buildType with minify/proguard but no signing config. Ticket correctly identifies signing config needs to be added.
  • [x] fastlane/Fastfile -- empty fastlane/ directory exists (scaffolded). No Fastfile yet. Ticket marks this as conditional ("if using Fastlane"). Acceptable.
  • [x] Store assets directory -- does not exist yet (expected for new creation).

Repo Placement

Issue filed on ldraney/iss-android, board item on board-iss. The Android app is part of the ISS ecosystem.
Cross-repo concern: Agent work AC #3 says "Privacy policy page route (/privacy) added to ISS Rails app (in ldraney/intelligentstaffingsystems)." This requires changes to a different repo than where the issue is filed. Verified: no /privacy route, controller, or view exists in the ISS Rails app currently. This work is also listed as a Prerequisite (blocker), creating a contradiction -- it cannot be both a prerequisite (done before) and an AC item (done during).

Dependencies

  • Privacy policy page -- documented in Prerequisites. No route/view/controller exists in ISS Rails app. Properly identified as a blocker, but contradicted by also appearing as an Agent work AC item.
  • Store assets -- documented in Prerequisites as manual work.
  • iOS app (#1798) -- Done. No blocking dependency.
  • Landing page rewrite (#1883/#95) -- In backlog, sprint:E. Not a direct dependency.
  • No items on board-iss currently block this ticket.

Acceptance Criteria

11 total AC (3 agent, 8 manual). The agent/manual split is now clear and well-structured. Agent work is focused: signing config, optional Fastlane, and privacy page. Manual steps cover all Play Store console operations.
The 3 agent AC items are reasonable for a single agent pass. However, AC #3 (privacy page) targets a different repo -- see Repo Placement concern.

Blast Radius

Self-contained to iss-android repo for build/signing changes. Privacy policy page touches ISS Rails app but is a separate, isolated page addition. No downstream consumers affected. No similar patterns in sibling services.

Decomposition Assessment

3 agent AC items (under 5-AC threshold). File targets span 2 repos (iss-android + intelligentstaffingsystems) but the cross-repo work is a single static page. Estimated agent work: <5 minutes total. No decomposition needed for agent scope, but the cross-repo privacy page AC should be resolved (separate ticket or remove from prerequisites).

Recommendation

  • [SCOPE] The arch-app note belongs to Prediction Assistant, not ISS. Create an ISS-scoped architecture note (e.g., arch-iss-android or arch-android) in pal-e-docs, or re-label the board item with a valid ISS arch tag. This was flagged in the first review and acknowledged but not resolved.
  • [BODY] The privacy policy page appears as both a Prerequisite (blocker) and an Agent work AC item. Pick one: (a) keep it as a prerequisite only and create a separate issue on ldraney/intelligentstaffingsystems to track the privacy page, removing AC #3 from agent work; or (b) remove it from Prerequisites and keep it as AC agent work, accepting that this issue spans two repos.