Review: Spike: Mobile framework decision

review-1698-2026-07-02 Review

review ready

Verdict: READY

Template Completeness

Validated against template-issue-spike.
  • [x] Type — Spike
  • [x] Lineage — Related to ldraney/kalshi-assistant #6 (parent issue). Decision gate for all mobile app work in sprint 4.
  • [x] Repo — ldraney/kalshi-assistant
  • [x] Question — Main question with 5 sub-questions covering Rails+Turbo Native+Capacitor, PWA, React Native/Flutter, secure storage, and developer velocity
  • [x] Deliverables — 3 deliverables: ADR doc, follow-up ticket updates, decision record
  • [x] Time-box — 1 session, with escalation path
  • [x] Related — Project and parent issue linked

Traceability

  • [x] story:app-experience label — App Experience
  • [x] story note verified — story-kalshi-assistant-app-experience found in project-kalshi-assistant user-stories section
  • [x] arch:frontend label — Frontend
  • [x] arch note verified — arch-frontend note exists in pal-e-docs (title: "Frontend: kalshi-assistant", status: active)
  • [x] Forgejo issue — ldraney/kalshi-assistant #13, open

File Targets

  • [x] docs/architecture/mobile-framework-adr.md — target deliverable. Directory docs/architecture/ does not exist yet; will be created as part of the spike. Parent docs/ exists. Appropriate for a spike that produces docs.

Repo Placement

OK. Issue filed on ldraney/kalshi-assistant, matches ### Repo field. Single-repo investigation.

Dependencies

  • Parent: #1691 (issue #6) "Mobile app — API key connection and strategy dashboard" (backlog, sprint 4, 8pts) — documented in Lineage
  • Downstream sprint 4 frontend items blocked by this decision:
  • No items in in_progress block this spike
  • Dependencies documented in issue Lineage section: "Decision gate for all mobile app work in sprint 4"

Acceptance Criteria

Spike uses Deliverables instead of Acceptance Criteria (per template). Assessment:
  • docs/architecture/mobile-framework-adr.md created — verifiable by file existence and ADR content check
  • Follow-up ticket file targets updated — verifiable by checking issue #6 children for revised file paths
  • Team decision recorded with rationale — verifiable by ADR content inspection (somewhat redundant with deliverable 1, but acceptable)
All deliverables are agent-verifiable.

Blast Radius

  • Decision affects all 5 sprint 4 frontend items (all currently in backlog)
  • No existing code in the repo (docs only) — no breaking changes possible
  • Note: arch-frontend already documents "Turbo Native iOS shell wrapping Rails views with Capacitor native bridge". This spike may confirm or revise that assumption. No conflict — spikes are intended for exactly this kind of validation.
  • No sibling services or downstream consumers affected

Decomposition Assessment

No decomposition needed.
  • File targets: 1 docs file
  • Deliverables: 3 (all part of single investigation)
  • Repos: 1
  • Estimated work: 1 session (within time-box)

Recommendation

No action needed.