Open Food Facts

openfoodfacts/openfoodfacts-ios

Generated 2026-08-10T10:25 UTC · CLI v0.4 · static + captured-layout pass · 218 Swift files

C0
Fold-Ready score
C · Passing

Open Food Facts scores 50/C. 5 of 7 checks sit under the 70% bar; the plan below closes them.

Riskmedium
Est. port86h
Findings3

Check breakdown

7 checks · weighted

Adaptive

w 0.22
98

98% adaptive coverage

ParallelView

w 0.08
100

Parallel View not blocked

Sidebar

w 0.25
50

50% sidebar readiness

Scene

w 0.15
20

scene lifecycle needs work

Adaptive geometry

w 0.12
20

20% fold-state coverage

State

w 0.08
30

30% state preservation

SwiftUI

w 0.10
0

0% SwiftUI

Findings

sample · 2 of 3 rows
Blocking1Minor1Leading checkSwiftUI · 0
SeverityCheckFindingLocation
MajorNavigationNavigationStack without NavigationSplitView: the list/detail panes will not gain a sidebar on the inner display.app-wide
MinorFold stateNo fold-state or adaptive geometry handling; the app will run via Parallel View without a fold posture opinion.app-wide

Remediation roadmap

ordered by effort · total 86h
01

Parallel View verification

Capture inner-display layouts and confirm the opt-in holds.

8hcum 8h
02

Adaptive navigation

Adopt NavigationSplitView and the sidebar opt-in for the list/detail flows.

39hcum 47h
03

Layout + state pass

Resolve hardcoded geometry and add scene restoration.

26hcum 73h

Port plan

generated by the FoldReady CLI · dry run

Ready-to-review changes that move this app toward the foldable contract: scene lifecycle, Parallel View opt-in, sidebar navigation. Review each diff, download a patch, or apply them locally with the CLI.

REVIEWMigrate to UIScene lifecycle · 2 filesPatch ↓
REVIEWReplace UIScreen.main.bounds · 0 filesguidance
REVIEWRoot NavigationStack → NavigationSplitView · 0 filesguidance
MANUALState preservation across fold transitions · 0 filesguidance
MANUALDe-hardcode fixed frames · 0 filesguidance
git clone https://github.com/openfoodfacts/openfoodfacts-ios && foldready port openfoodfacts-ios --apply --tiers r

Clones the repo and runs the safe + review transforms, then re-scores.

Fixed these? Re-run the audit.

The CLI re-scans your source tree and re-scores in minutes — the roadmap above is the exact checklist.