SHA256
Replace current wrapper claims with native architecture/security/build evidence, preserve historical documents, track all thirty pages and explicit release gates, correct brand attribution and provide the twelve-section delivery report without claiming completion. Native signing remains paused and Apple application/device validation outstanding.
82 lines
3.5 KiB
Markdown
82 lines
3.5 KiB
Markdown
# YUVOMI MOBILE – FINAL DELIVERY REPORT
|
||
|
||
**Delivery status: incomplete native preview, not final product acceptance.**
|
||
This report closes the initial native rebuild slice, not the requested complete
|
||
1:1 replacement. No module has accepted functional and visual parity.
|
||
|
||
## 1. Outcome
|
||
|
||
The rejected embedded-browser application has been replaced by genuine native
|
||
shipping entry points. Missing modules do not fall back to a WebView.
|
||
|
||
## 2. Upstream reference
|
||
|
||
Unmodified Yuvomi 2.78.0, commit
|
||
`10bfef7686ed7303b4c74c7fcc55a5eb16356c9d`. No upstream change or push.
|
||
|
||
## 3. Android
|
||
|
||
Kotlin/Compose onboarding, setup/password/TOTP interfaces, basic dashboard,
|
||
tasks/notes/shopping and session management. Version `0.2.0-native-preview`,
|
||
code 2. This is a tested initial slice, not full module coverage.
|
||
|
||
## 4. iOS
|
||
|
||
SwiftUI equivalents, native API models/transport and Keychain storage implemented.
|
||
Sixteen portable tests pass; Apple SDK application/UI/Keychain validation remains
|
||
unverified locally. No installable IPA or App Store-ready archive is claimed.
|
||
|
||
## 5. Design parity
|
||
|
||
Upstream colors, spacing/radii and brand geometry guide native controls. One real
|
||
synthetic Android dashboard screenshot was inspected. No side-by-side full PWA
|
||
visual acceptance, complete adaptive-layout or accessibility approval yet.
|
||
|
||
## 6. API and architecture
|
||
|
||
Direct same-origin HTTPS/JSON, native controls and state; server-owned business
|
||
logic and authorization. Superseded browser code/tests are preserved in `legacy/`
|
||
but excluded from shipping builds and native test counts.
|
||
|
||
## 7. Security
|
||
|
||
System TLS, redirect refusal, bounded reads, upstream CSRF and protected native
|
||
cookies. AndroidKeyStore/AES-GCM and iOS Keychain/private URLSession storage; no
|
||
stored passwords, test CA in ordinary builds or hidden browser session import.
|
||
Human security review and additional device/role/error-path coverage remain open.
|
||
|
||
## 8. Executed validation
|
||
|
||
10 JVM tests, 6 native API-35 UI tests, the 7-test real-server suite (including
|
||
those same 6), both Android lint variants and package builds pass. Swift has 16
|
||
portable passes plus strict formatting/parsing. 23 script regressions, repository
|
||
checks, workflow lint and the 266-coordinate OSV scan pass. See
|
||
[validation](validation.md) for evidence, failures corrected and exact limitations.
|
||
|
||
## 9. Artifacts
|
||
|
||
The local collector replaces old wrapper outputs in ignored `artifacts/android/`
|
||
with native debug APK and unsigned release APK/AAB, checksums and manifest/network/
|
||
signature inspection. `build-info.json` records exact source identity and dirty
|
||
state. Only the development-signed debug APK is installable as provided.
|
||
|
||
## 10. Gitea CI
|
||
|
||
The Android workflow offers `android-native-debug-apk`; the Mac workflow bootstraps
|
||
verified ARM64 Node before checkout. Actual artifact publication and Apple build
|
||
results require remote-run inspection. Remote Ubuntu emulator jobs need KVM access;
|
||
local emulator success is not a substitute for a passing remote matrix.
|
||
|
||
## 11. Signing and publication
|
||
|
||
Initial owner-authorized signing material/secrets are preserved privately; signing
|
||
workflow changes remain parked in the named stash. No production-signed native
|
||
release, store submission or claim of completed product delivery.
|
||
|
||
## 12. Remaining work
|
||
|
||
Native SSO/recovery/invitations, advanced first-slice controls, the remaining
|
||
modules/settings, files, offline, notifications, Apple/device validation and 1:1
|
||
visual/behavior acceptance remain substantial work. The complete page inventory
|
||
and acceptance criteria are in [native parity](native-parity.md).
|