Source audit under contract v5. It reports source signals, not runtime verdicts: no Duo build was run and compatibility is unverified. Re-run the current CLI on your own revision before making decisions.

Hours are unvalidated heuristics, not measured delivery time or a quote. This index retains only a sample of findings and partial coverage metadata; target membership and build settings are unresolved. No human priority has been validated. Scores across contracts are not comparable.

Open Food Facts

openfoodfacts/openfoodfacts-ios

FoldReady CLI · result contract v5 · 102 UI files audited, 116 excluded (tests, previews, vendored)

Before the score

source signals · require confirmation
POTENTIAL BLOCKER

UIScene lifecycle not detected in scanned source

An app built against the iOS 27 SDK without the scene lifecycle does not launch. Apps already shipped, and apps still built against the iOS 26 SDK, keep working.

Apple source
B0
Fold-Ready score
B · source score band

Open Food Facts: 76/100 (B), contract v5, over 102 UI files. This is a versioned source summary. 1 potential lifecycle signal(s) require build confirmation. Runtime compatibility and human priority are unassessed.

Heuristic riskhigh
Unvalidated estimate37h
Findings35

Check breakdown

6 displayed checks · see CLI for full coverage

Standard navigation

source heuristic
100

9 standard navigation site(s), 0 legacy site(s). Sidebar placement is optional.. Standard navigation signals; sidebar placement is optional.

Adaptive layout

source heuristic
60

2 of 102 UI file(s) use fixed geometry. Share of UI files free of fixed screen geometry. Icon-sized frames, previews and tests are not scored.

Adaptive geometry

source heuristic
100

0 of 102 UI file(s) read size classes or effective geometry. How widely the app reads size classes and scene geometry. Absence of any read is not scored zero.

State preservation

source heuristic
0

0 of 33 stateful view file(s) preserve state. Share of stateful view files with detected restoration signals; behavior is untested.

Interface idiom

source heuristic
100

102 of 102 UI file(s) free of device-idiom branching. Share of UI files free of layout branching on the device idiom.

Interface orientation

source heuristic
100

1 of 1 orientation site(s) adapt to the scene. Whether the app adapts to scene geometry rather than branching on interface orientation.

Findings

sample · 14 of 35 rows
Major signals2Minor12Leading checkState preservation · 0
SeverityCheckSignal and confidenceLocation
majoradaptive-layoutUIScreen.main.bounds is a fixed geometry read; use the view's own bounds or the window scene.

Confidence: not retained in this index; re-run CLI. Runtime: not tested.

Sources/AppDelegate.swift:41
majoradaptive-layoutUIScreen.main.bounds is a fixed geometry read; use the view's own bounds or the window scene.

Confidence: not retained in this index; re-run CLI. Runtime: not tested.

Sources/Views/Products/Search/StateViews/EmptyView.swift:22
minorstateScroll or selection state is not preserved; a scene resize can rebuild the hierarchy and lose it.

Confidence: not retained in this index; re-run CLI. Runtime: not tested.

Sources/Extensions/UITableView.swift
minorstateScroll or selection state is not preserved; a scene resize can rebuild the hierarchy and lose it.

Confidence: not retained in this index; re-run CLI. Runtime: not tested.

Sources/Extensions/UITableViewCell.swift
minorstateScroll or selection state is not preserved; a scene resize can rebuild the hierarchy and lose it.

Confidence: not retained in this index; re-run CLI. Runtime: not tested.

Sources/Models/DataManager.swift
minorstateScroll or selection state is not preserved; a scene resize can rebuild the hierarchy and lose it.

Confidence: not retained in this index; re-run CLI. Runtime: not tested.

Sources/Models/PersistenceManager.swift
minorstateScroll or selection state is not preserved; a scene resize can rebuild the hierarchy and lose it.

Confidence: not retained in this index; re-run CLI. Runtime: not tested.

Sources/Protocols/CellImageTapable.swift
minorstateScroll or selection state is not preserved; a scene resize can rebuild the hierarchy and lose it.

Confidence: not retained in this index; re-run CLI. Runtime: not tested.

Sources/ViewControllers/Products/Add/PictureTableViewCell.swift
minorstateScroll or selection state is not preserved; a scene resize can rebuild the hierarchy and lose it.

Confidence: not retained in this index; re-run CLI. Runtime: not tested.

Sources/ViewControllers/Products/Add/PictureTableViewController.swift
minorstateScroll or selection state is not preserved; a scene resize can rebuild the hierarchy and lose it.

Confidence: not retained in this index; re-run CLI. Runtime: not tested.

Sources/ViewControllers/Products/Add/ProductAddViewController.swift
minorstateScroll or selection state is not preserved; a scene resize can rebuild the hierarchy and lose it.

Confidence: not retained in this index; re-run CLI. Runtime: not tested.

Sources/ViewControllers/Products/Add/SelectAllergenViewController.swift
minorstateScroll or selection state is not preserved; a scene resize can rebuild the hierarchy and lose it.

Confidence: not retained in this index; re-run CLI. Runtime: not tested.

Sources/ViewControllers/Products/Add/SelectCategoryViewController.swift
minorstateScroll or selection state is not preserved; a scene resize can rebuild the hierarchy and lose it.

Confidence: not retained in this index; re-run CLI. Runtime: not tested.

Sources/ViewControllers/Products/Add/SelectNutrimentViewController.swift
minorstateScroll or selection state is not preserved; a scene resize can rebuild the hierarchy and lose it.

Confidence: not retained in this index; re-run CLI. Runtime: not tested.

Sources/ViewControllers/Products/Add/SelectTaxonomyViewController.swift

Proposed review order

human priority not assessed
01

Confirm scene lifecycle configuration

Confirm the reviewed target, generated declarations and linked SDK before deciding whether lifecycle migration applies. Record an actual launch separately.

02

Inspect fixed geometry

2 of 102 UI file(s) use fixed geometry. Confirm whether the fixed size is intentional and reproduce any clipping before changing it.

03

Test state across a resize

Set selection, scroll and input state, resize, then revisit the journey. Record any loss before choosing a restoration change.

Patch proposals are not generated in this report. Run the current CLI to prepare a reviewed work order.

Validate the signals with a human review.

A reviewer confirms target relevance, journey impact and the next test. Re-scanning can show changed signals; it cannot prove runtime fixes.