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.

NetNewsWire

Ranchero-Software/NetNewsWire

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

B0
Fold-Ready score
B · source score band

NetNewsWire: 73/100 (B), contract v5, over 124 UI files. This is a versioned source summary. 0 potential lifecycle signal(s) require build confirmation. Runtime compatibility and human priority are unassessed.

Heuristic risklow
Unvalidated estimate42.5h
Findings72

Check breakdown

6 displayed checks · see CLI for full coverage

Standard navigation

source heuristic
100

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

Adaptive layout

source heuristic
100

0 of 124 UI file(s) use fixed geometry · 9 icon-sized frame(s) not scored. Share of UI files free of fixed screen geometry. Icon-sized frames, previews and tests are not scored.

Adaptive geometry

source heuristic
40

1 of 124 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 45 stateful view file(s) preserve state. Share of stateful view files with detected restoration signals; behavior is untested.

Interface idiom

source heuristic
89

110 of 124 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 72 rows
Major signals0Minor14Leading checkState preservation · 0
SeverityCheckSignal and confidenceLocation
minorbuild-toolchainXcode 27.1 or later is required to use all of the available screen space on iPhone Duo; below it the app does not extend under the status bar and camera. LastUpgradeCheck reads 2700, which records the last Xcode upgrade and can be stale: confirm the toolchain that actually builds the app.

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

NetNewsWire.xcodeproj/project.pbxproj
minoridiomLayout branching on the device idiom; a resizable scene is described by its size class, not by whether it is a phone or a tablet.

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

Shared/AccountType+Helpers.swift:78
minoridiomLayout branching on the device idiom; a resizable scene is described by its size class, not by whether it is a phone or a tablet.

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

Shared/Assets.swift:140
minoridiomLayout branching on the device idiom; a resizable scene is described by its size class, not by whether it is a phone or a tablet.

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

iOS/Article/ImageViewController.swift:93
minoridiomLayout branching on the device idiom; a resizable scene is described by its size class, not by whether it is a phone or a tablet.

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

iOS/Article/WebViewController.swift:45
minoridiomLayout branching on the device idiom; a resizable scene is described by its size class, not by whether it is a phone or a tablet.

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

iOS/MainFeed/Collection View Cells/MainFeedCollectionHeaderReusableView.swift:96
minoridiomLayout branching on the device idiom; a resizable scene is described by its size class, not by whether it is a phone or a tablet.

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

iOS/MainFeed/Collection View Cells/MainFeedCollectionViewCell.swift:89
minoridiomLayout branching on the device idiom; a resizable scene is described by its size class, not by whether it is a phone or a tablet.

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

iOS/MainFeed/Collection View Cells/MainFeedCollectionViewCell.swift:95
minoridiomLayout branching on the device idiom; a resizable scene is described by its size class, not by whether it is a phone or a tablet.

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

iOS/MainFeed/Collection View Cells/MainFeedCollectionViewCell.swift:108
minoridiomLayout branching on the device idiom; a resizable scene is described by its size class, not by whether it is a phone or a tablet.

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

iOS/MainFeed/Collection View Cells/MainFeedCollectionViewFolderCell.swift:141
minoridiomLayout branching on the device idiom; a resizable scene is described by its size class, not by whether it is a phone or a tablet.

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

iOS/MainFeed/Collection View Cells/MainFeedCollectionViewFolderCell.swift:147
minoridiomLayout branching on the device idiom; a resizable scene is described by its size class, not by whether it is a phone or a tablet.

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

iOS/MainFeed/MainFeedCollectionViewController.swift:128
minoridiomLayout branching on the device idiom; a resizable scene is described by its size class, not by whether it is a phone or a tablet.

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

iOS/MainFeed/MainFeedCollectionViewController.swift:159
minoridiomLayout branching on the device idiom; a resizable scene is described by its size class, not by whether it is a phone or a tablet.

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

iOS/MainFeed/MainFeedCollectionViewController.swift:196

Proposed review order

human priority not assessed
01

Size classes over device checks

Check whether the affected layout follows scene size. Standard containers may already adapt without explicit geometry reads.

02

Inspect idiom and orientation assumptions

Confirm target membership and branch intent, then exercise the affected journey across scene sizes and rotation.

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.