Archived
78 lines
4.3 KiB
Markdown
78 lines
4.3 KiB
Markdown
# Verification — 2026-09-08
|
|
|
|
## Scope and implementation
|
|
|
|
The requested model migration was canceled: Qwen 2.5 remains configured.
|
|
The native redesign separates Talk, Music and Activity; simplifies the welcome
|
|
and connection controls; supports light/dark appearance and Dynamic Type;
|
|
adds recoverable error states; and gives transcript clearing explicit confirmation.
|
|
The Impeccable native-iOS guidance informed system controls, hierarchy, readable
|
|
spacing and touch targets. Settings, transcripts and task updates are observed
|
|
directly so asynchronous changes render promptly.
|
|
|
|
Music fixes include standalone control requests, current download metadata,
|
|
visible failures, pinned artwork, server-change cleanup, cached AAC delivery,
|
|
and correct AVFoundation content-type identifiers in the pinned resource loader.
|
|
|
|
## Evidence
|
|
|
|
Project: `Voice.xcodeproj`; scheme: `Voice_iOS`; simulator: iPhone 17 Pro.
|
|
|
|
- 68 unit tests passed, including standalone media controls, retry error clearing,
|
|
download metadata, transcript persistence/deduplication, session replacement,
|
|
and interruption state handling.
|
|
- Five offline UI tests passed: navigation/offline recovery, voice persistence and
|
|
URL validation, music search failure/station validation, transcript confirmation
|
|
and task details, and accessibility-size navigation.
|
|
- Two live UI tests passed together against the NAS at 17:56 UTC: real Qwen
|
|
response, background task completion, disconnect/reconnect, library playback
|
|
with advancing media time, pause, forward seek and stop.
|
|
- Backend integration run: 16 passed, 7 skipped, 2 deselected. This is not a claim
|
|
that the skipped or slow integration cases were verified.
|
|
- AAC conversion regression: one passed, checking original-file preservation,
|
|
AAC output, cache reuse and HTTP byte ranges. Deployed range request returned 206.
|
|
|
|
XcodeBuildMCP result bundles are under
|
|
`~/Library/Developer/XcodeBuildMCP/workspaces/voice-ios-9eb036fdea81/result-bundles/`:
|
|
|
|
- Unit/offline UI: `test_sim_2026-09-08T11-48-52-164Z_pid87175_79b1a610.xcresult`.
|
|
This combined run's two live cases failed after long stalls; its unit/offline
|
|
results above passed.
|
|
- Latest live pair: `test_sim_2026-09-08T17-56-51-984Z_pid30949_ec504db2.xcresult`.
|
|
- Earlier live rerun: `test_sim_2026-09-08T17-46-07-841Z_pid30949_bd804a04.xcresult`
|
|
failed agent join and advancing playback. Their intermittent cause has not
|
|
been established. The subsequent passing pair did not require a server restart.
|
|
|
|
## Not yet qualified
|
|
|
|
Passing simulator tests do not prove audible speaker/headphone output, microphone
|
|
capture, barge-in, phone/Siri interruption recovery, background audio, or network
|
|
loss recovery on hardware. Follow `DEVICE_TESTING.md` with a physical iPhone on
|
|
the LAN. Navigation at large text sizes is tested, not a complete VoiceOver audit.
|
|
Live tests use an existing library track; they do not prove new YouTube downloads
|
|
or every radio stream format.
|
|
|
|
## Repeatability follow-up — 18:04 UTC
|
|
|
|
Three consecutive Qwen/task/reconnect iterations passed. Music passed twice and
|
|
failed on the third iteration; runtime logs captured AVPlayer's request timeout
|
|
while the TLS loader buffered a whole 6 MB response. The loader now delivers
|
|
bounded 256 KB ranges to AVPlayer, retaining cancellation and EOF handling.
|
|
After that change, **all three consecutive live playback iterations passed**
|
|
in about 13 seconds each. This addresses the observed music buffering failure;
|
|
the earlier isolated agent-join failure has not been reproduced or explained.
|
|
|
|
- Reproduction bundle: `test_sim_2026-09-08T18-00-03-993Z_pid30949_49da9d2c.xcresult`.
|
|
- Post-fix playback bundle: `test_sim_2026-09-08T18-04-30-014Z_pid30949_df323119.xcresult`.
|
|
- Live tests now attach failure screenshots and UI hierarchy, and attempt to stop
|
|
test-initiated music during teardown even after an assertion failure.
|
|
|
|
The initial hardware check found an unavailable iPhone. A later USB check detected
|
|
the phone running iOS 26.6.1, explicitly marked **unpaired** by XcodeBuildMCP.
|
|
No successful device install or hardware qualification is recorded. See
|
|
`PROJECT_STATUS.md` for the current pairing blocker and next steps.
|
|
|
|
Deployment and rollback are recorded in `DEPLOYMENT.md`. The NAS image includes
|
|
the compatibility patch; the sibling backend source still requires its own commit
|
|
and safe deployment workflow. See `PROJECT_STATUS.md` for repository handoff scope.
|