status
This commit is contained in:
1 parent
c9c25f86eb
commit
40aaf4fea7
56 files changed
+5683
-179
No files matched your search
@@ -182,26 +182,38 @@ Web parity checklist (vs /Users/shane/dev/hope-voice-api/web/app.js):
|
||||
- [ ] Web-only: drag-to-seek on waveform (iOS uses slider — acceptable)
|
||||
- [ ] Web-only: keyboard shortcuts (N/A on iOS)
|
||||
|
||||
## Project status (final, 2026-08-30)
|
||||
## Project status (updated 2026-08-31)
|
||||
|
||||
All 10 phases complete. Full web parity achieved and verified in simulator to the extent
|
||||
the environment allows.
|
||||
All 10 phases implemented. Simulator verification covers the core paths listed below,
|
||||
but **full web parity is not yet complete** — several areas remain pending device
|
||||
qualification, server-side changes, or a separate UI redesign task.
|
||||
|
||||
**Verified in simulator:** token auth + LiveKit connect (with retry), agent_ready, state
|
||||
machine driven by remote audio, text-mode transcripts (user + agent finals), voice/model
|
||||
pickers with sync-on-join + persistence, media reconciliation/UI/Range proxy/polling/
|
||||
reporting, media search/library/delete/add-stream, background tasks panel with real
|
||||
task_events, stale-room guards, error states, accessibility labels. Zero build warnings.
|
||||
**Verified in simulator (historical + current):** token auth + LiveKit connect (with
|
||||
retry), agent_ready, state machine driven by remote audio, text-mode transcripts (user +
|
||||
agent finals), voice/model pickers with sync-on-join + persistence, media
|
||||
reconciliation/UI/Range proxy/polling/reporting, media search/library/delete/add-stream,
|
||||
background tasks panel with real task_events, stale-room guards, error states,
|
||||
accessibility labels.
|
||||
|
||||
**Device-only (see docs/DEVICE_TESTING.md):** mic capture with real speech (sim returns
|
||||
-4010), live listening/thinking/barge-in states from local audio, wake lock on physical
|
||||
screen-off, audible media playback, audio interruption behavior, mic-denied fallback UX.
|
||||
**Pending device qualification (see docs/DEVICE_TESTING.md):** mic capture with real
|
||||
speech (sim returns -4010), live listening/barge-in states from local audio, wake lock
|
||||
on physical screen-off, audible media playback, audio interruption behavior,
|
||||
mic-denied fallback UX.
|
||||
|
||||
**Open server-side items (not app bugs):**
|
||||
1. iOS-decodable media format — library tracks are webm; AVPlayer can't decode it (-11828).
|
||||
Server must serve m4a/aac/mp3 for audible playback on iOS. No client change needed.
|
||||
2. Cert pin rotation — the self-signed cert regenerates at container start, breaking the
|
||||
SHA-256 pin in TLSPinning.swift. Re-export the hash after each server restart (README).
|
||||
**Pending / blocked:**
|
||||
- UI redesign (Hope visual identity, agent visualizer bars, app icon, reduced-motion,
|
||||
transcript VoiceOver semantics) — specified in `ui-ux-spec.md`, not yet implemented.
|
||||
This is a separate scoped task, not part of the current correctness pass.
|
||||
- Supported-format media playback — library tracks are webm; AVPlayer can't decode it
|
||||
(-11828). Server must serve m4a/aac/mp3 for audible playback on iOS.
|
||||
- Cert pin rotation — the self-signed cert regenerates at container start, breaking the
|
||||
SHA-256 pin in TLSPinning.swift. Re-export the hash after each server restart (README).
|
||||
|
||||
**Correctness corrections (iteration 01–04):** transcript dedupe symmetry + time-bounding,
|
||||
terminal failure cleanup, text-mode mic invariant, media interruption pause/resume,
|
||||
HTTP 206 total length, resource loader hardening, TLS pin scoping, conversation state
|
||||
inference alignment, stale media publish guards, server config semantics, visible
|
||||
history/clear, model picker copy. See `.artifacts/` for detailed reports.
|
||||
|
||||
## Subagent notes
|
||||
- Small context model: keep prompts self-contained, point at this file + UPDATE_PATH.md
|
||||
|
||||
Reference in new issue
Block a user