S11 — The Play permissions dry run #31

Closed
opened 2026-09-05 16:20:15 +00:00 by dtourolle · 2 comments
Owner

Spike S11 — the Play Store permissions dry run. Never run.

What it settles

requirements.md §4.8 observes that publishing on Play is what turns SAF from a preference into a constraint. distribution.md §6 argues the coupling runs the other way for this project — F-Droid asks nothing that ARCH §6.9 does not already require, and Play is explicitly not a v1 channel.

That argument is currently reasoned rather than confirmed. S11 is what confirms it.

Why it is cheap and worth doing anyway

It is a policy read, not an engineering task, and it either removes a constraint from #25 or hardens it. Doing it before SAF is built is worth more than doing it after.

Blocked on

Nothing.

Related

  • #25 — SAF.
  • #30 — NFR-COMPAT-1, which shares the "stated, not confirmed" problem.
  • NFR-COMPAT-2 is met as written: distribution.md §1 names five channels and their state, and stating them is all that requirement asks. Two of the five exist as decisions rather than recipes (AppImage, F-Droid), which is a gap in the plan, not in the requirement.

See docs/outstanding.md §5.

**Spike S11 — the Play Store permissions dry run.** Never run. ## What it settles `requirements.md` §4.8 observes that **publishing on Play is what turns SAF from a preference into a constraint**. `distribution.md` §6 argues the coupling runs the other way for this project — F-Droid asks nothing that ARCH §6.9 does not already require, and Play is explicitly **not** a v1 channel. That argument is currently **reasoned rather than confirmed**. S11 is what confirms it. ## Why it is cheap and worth doing anyway It is a policy read, not an engineering task, and it either removes a constraint from #25 or hardens it. Doing it before SAF is built is worth more than doing it after. ## Blocked on Nothing. ## Related - #25 — SAF. - #30 — NFR-COMPAT-1, which shares the "stated, not confirmed" problem. - NFR-COMPAT-2 is **met** as written: `distribution.md` §1 names five channels and their state, and stating them is all that requirement asks. Two of the five exist as decisions rather than recipes (AppImage, F-Droid), which is a gap in the *plan*, not in the requirement. See `docs/outstanding.md` §5.
dtourolle added the size:Sandroidspike labels 2026-09-05 16:20:15 +00:00
Author
Owner

Informs #25 — whether SAF is a preference or a constraint.
NFR-COMPAT-2 is met as written; see the body.

**Informs** #25 — whether SAF is a preference or a constraint. NFR-COMPAT-2 is met as written; see the body.
Author
Owner

Closing as deferred, not done. NFR-COMPAT-2 (decided 2026-09-19, requirements.md) makes every channel self-distribution — the APK is sideloaded, not Play or F-Droid — because of the D13 face-weight licence. The register now treats S11 as "a pre-publication step rather than a Tier-1 spike: there is nothing to submit until D13 is closed." Reopen if a store channel comes back into scope.

Closing as deferred, not done. NFR-COMPAT-2 (decided 2026-09-19, requirements.md) makes every channel self-distribution — the APK is sideloaded, not Play or F-Droid — because of the D13 face-weight licence. The register now treats S11 as "a pre-publication step rather than a Tier-1 spike: there is nothing to submit until D13 is closed." Reopen if a store channel comes back into scope.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dtourolle/DarkRoom#31