Skip to content

26.0.1 — Scope

Status: 🔵 draft · Target: 2026-08-15 · Scope freeze: 2026-08-11 · Type: train_monthly

The first release governed by the Release Management System. It is also the release that makes the system usable, since the deploy pipeline cannot run until the branch model is reconciled.

Scope is NOT yet agreed — this release has not passed G0

scope[] is deliberately empty. The owner asked to brainstorm candidate features before locking the list, so the date currently has no commitment behind it (risk R2). The 2026-08-11 freeze holds regardless: whatever is agreed at G0 must fit inside the remaining window, not the other way round.

Objectives

  1. Establish a governed, auditable path to production and prove it by using it.
  2. Reconcile the branch model so deploy-prod can run at all.
  3. Ship the first production build of the merchant app to Android, iOS and Web together.

Scope

Filled at G0. Every item references an existing QRS-###.

QRSItemOwnerAcceptance criteriaDepends on
pending brainstorm

Candidates identified, not yet accepted

Recorded so the brainstorm starts from evidence rather than memory. Listing is not acceptance.

CandidateState today
Google sign-inWorks; device-verified on Android
Onboarding persistence (QRS-281/282)Built; not device-verified
Vertical/archetype wiring (QRS-249)Built; not device-verified
Sign-out fixBuilt; not device-verified
profileService / settingsService / accountService realNot started — all three are stubs
Kill switch (QRS-291)Built; not device-verified, not promoted
Versioning + deploy pipelineDone
Native parity CI (QRS-295)Workflow exists, never executed; statically reviewed and hardened 2026-08-02
Feature flags (QRS-296)Not started — no mechanism exists anywhere in the codebase

Why QRS-295/296 are candidates for this release specifically

Both fall out of retiring the platform-exception path, and neither is a feature — they are what make the standard affordable to keep.

  • QRS-296 (feature flags) is arguably a precondition, not an enhancement. With no exception path and no flag, a platform blocker found after the 2026-08-11 freeze has exactly one remedy: revert merged code under release pressure. That is the situation in which gates get bypassed, and this release is the one meant to prove the gates work.
  • QRS-295 (native parity CI) is the recurring cost. Until it is green, every release — starting with this one — pays a manual three-surface pass to produce G3 evidence. It is owner-gated because it spends Actions minutes, and QRS-263 exhausted the quota once.

Neither is proposed as accepted scope here. They are on the table because deferring them has a named cost that lands inside this release, which is the only thing that distinguishes a real candidate from a wish.

Known to be out of reach for this release

ItemWhy
Public Setu Cardapps/web is 10 README files — no code, no package.json
Real dashboardNeeds the ADR-0010 analytics read model, which does not exist
RemindersService stubbed, and manage-reminder vs manage-reminders is unresolved (QRS-286)
Email OTPBlocked at the SMTP layer (QRS-285, owner track — risk R4)
Digital Menu, billingR2 scope / ADR-0002

Success criteria

Filled at G0. Must be measurable and checkable at G5.

  • [ ] pending

Milestones

DateMilestoneGate
tbdScope agreedG0
2026-08-11Scope freezeG1
tbdCode completeG2
tbdUAT / readiness reviewG3
tbdGo/no-goG4
tbdClosureG5

Scope-change log

DateRequestTriggers firedDecisionRationale

Out of scope

See the table above. Recorded explicitly so "we forgot" and "we decided not to" stay distinguishable.