Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
117 commits
Select commit Hold shift + click to select a range
6885cd9
fix: keep Anthropic BYOK notes from failing conversation processing
Git-on-my-level Oct 10, 2026
c480f88
fix: keep conversation notes when the model leaves quotes unescaped
Git-on-my-level Oct 10, 2026
7133904
fix: stop reporting rejected chat files as server errors
Git-on-my-level Oct 12, 2026
af1f5bb
fix: let isolated file-tool tests catch provider file rejections
Git-on-my-level Oct 12, 2026
2c6f61b
fix: preserve full PCM span ends for live owner matching
Git-on-my-level Oct 13, 2026
078999b
fix(monitoring): reconcile the Grafana dead-man after the Helm rollou…
Git-on-my-level Oct 13, 2026
321e76d
harden(mobile): validate storefront actions and legacy upsell eligibi…
Git-on-my-level Oct 13, 2026
6e979f3
feat(mobile): add flagged contextual storefront sheet and upsell moments
Git-on-my-level Oct 13, 2026
1683f7f
test(mobile): capture storefront and contextual upsell UI states
Git-on-my-level Oct 13, 2026
5aadd12
harden(mobile): declare storefront gates with registry conventions
Git-on-my-level Oct 13, 2026
b0d2436
test(mobile): make storefront actions and evidence independent of tes…
Git-on-my-level Oct 13, 2026
da3e3e4
test(mobile): scroll management action fully into the test viewport
Git-on-my-level Oct 13, 2026
40ca013
perf(monitoring): trim unused kubelet series and successful probe log…
Git-on-my-level Oct 13, 2026
ab835c9
feat(monitoring): make Telegram pages actionable and batch warnings (…
Git-on-my-level Oct 13, 2026
4508432
feat(mobile): apply paywall design review and compact budget nudge
Git-on-my-level Oct 13, 2026
9906aa1
feat(mobile): group legacy comparisons using backend presentation ide…
Git-on-my-level Oct 13, 2026
f876d1c
Fix false short PCM windows in live speaker matching (#21353)
Git-on-my-level Oct 13, 2026
e6e4584
refactor(queues): retire unused projection-repair and automatic chat-…
Git-on-my-level Oct 13, 2026
69554b6
test(mobile): verify paywall fold in the real draggable sheet
Git-on-my-level Oct 13, 2026
0148427
feat(monitoring): gate alert admission with historical backtests (#21…
Git-on-my-level Oct 13, 2026
764a0ac
test(billing): audit and characterize Stripe entitlement ingestion (#…
Git-on-my-level Oct 13, 2026
ecfee05
feat: dark reset recovery for already-locked content (#21375)
Git-on-my-level Oct 13, 2026
b0f249b
fix(monitoring): pair dashboard links with panels so Grafana accepts …
Git-on-my-level Oct 13, 2026
b447ab6
fix(mobile): protect legacy prices and desktop entitlements in storef…
Git-on-my-level Oct 13, 2026
4b10f95
Merge origin/main into lane/sub-w6-mobile-storefront
Git-on-my-level Oct 13, 2026
ad9a917
feat(billing): fixture-only ladder Stripe price proposal (#21356)
Git-on-my-level Oct 13, 2026
1b977fb
feat(subscription): add dark at-cap choice foundation (W4) (#21361)
Git-on-my-level Oct 13, 2026
ce6834b
refactor(billing): extract the legacy Stripe entitlement state machin…
Git-on-my-level Oct 13, 2026
1af2ecb
feat(billing): add read-only subscription drift reconciliation (#21371)
Git-on-my-level Oct 13, 2026
e3b0c50
feat(billing): shadow entitlement versions with legacy golden contrac…
Git-on-my-level Oct 13, 2026
57a9026
fix(mobile): keep storefront checkout on the upward ladder
Git-on-my-level Oct 13, 2026
193b9f0
Merge origin/main into lane/sub-w6-mobile-storefront
Git-on-my-level Oct 13, 2026
d717fed
chore: consolidate changelog for v0.12.478
github-actions[bot] Oct 13, 2026
bf41fa3
Update desktop changelog for v0.12.478 [skip ci] (#21382)
omi-ci-bot[bot] Oct 13, 2026
a1a6354
fix(mobile): don't open the required language picker over unfinished …
Itaxh1 Oct 13, 2026
7d128e5
feat(billing): pin loaded input rate card v1 in shadow (#21352)
Git-on-my-level Oct 13, 2026
0080466
fix(mobile): pendant tutorial summary rows reopen a working step and …
Itaxh1 Oct 13, 2026
e0cba08
feat(mobile): render the plans sheet from storefront schema v2
Git-on-my-level Oct 13, 2026
61e1100
feat(billing): dark unified storefront presentation contract (#21367)
Git-on-my-level Oct 13, 2026
135b0e9
fix(mobile): a tutorial question sent by the 15 s timeout moves the t…
Itaxh1 Oct 13, 2026
ad8649f
fix(pairing): retain found device row and notify error on connection …
Aj2280 Oct 13, 2026
2fd52dd
fix(billing): bind public PostHog project token for billing events (#…
Git-on-my-level Oct 13, 2026
6c69a6c
fix(monitoring): admit seven held alerts from prod replay evidence (#…
Git-on-my-level Oct 13, 2026
bfe56de
fix(mobile): apply the plans-sheet polish from the copy deck
Git-on-my-level Oct 13, 2026
5de94bc
feat(dream): add allowlisted full context mode (#21384)
Git-on-my-level Oct 13, 2026
fd07a1b
Merge origin/main into lane/sub-w6-mobile-storefront
Git-on-my-level Oct 13, 2026
e5a6eb4
fix(onboarding): retain voice controller across navigation and suppor…
Dragonire9 Oct 13, 2026
fd3f41e
fix(onboarding): lock submitted memory answers and dedupe retries (#2…
Dragonire9 Oct 13, 2026
f39275e
chore: consolidate changelog for v0.12.479
github-actions[bot] Oct 13, 2026
96d9cd7
Update desktop changelog for v0.12.479 [skip ci] (#21388)
omi-ci-bot[bot] Oct 13, 2026
cc04175
fix(monitoring): stop alert screenshots that stall Grafana (#21389)
Git-on-my-level Oct 13, 2026
914a410
fix: streamline macOS Second Brain onboarding (#21383)
Git-on-my-level Oct 13, 2026
fdce4e4
chore(monitoring): hold the sync-intake alert until it has a bounded …
Git-on-my-level Oct 13, 2026
3da7a5e
feat: defer owner identity batches during saturated admission (#21377)
Git-on-my-level Oct 13, 2026
91dd07a
Merge origin/main into lane/sub-w6-mobile-storefront
Git-on-my-level Oct 13, 2026
479c8b9
feat(usage): add shadow unit ledger with zero additional writes (#21369)
Git-on-my-level Oct 13, 2026
26b49d3
fix(mobile): offer only Resubscribe while a cancellation is scheduled
Git-on-my-level Oct 13, 2026
cb81331
fix(billing): make failed schedule entitlement updates retryable behi…
Git-on-my-level Oct 13, 2026
4bcdeef
Merge origin/main into lane/sub-w6-mobile-storefront
Git-on-my-level Oct 13, 2026
110b318
chore: consolidate changelog for v0.12.480
github-actions[bot] Oct 13, 2026
c0bcc18
Update desktop changelog for v0.12.480 [skip ci] (#21395)
omi-ci-bot[bot] Oct 13, 2026
eb25d14
Merge branch 'main' into fix/errfix-1010-gcp-json-py-91-langchain-cor…
Git-on-my-level Oct 13, 2026
e6e88ba
Merge branch 'main' into fix/errfix-1012-gcp-chat-file-py-150-utils-o…
Git-on-my-level Oct 13, 2026
3f4bf35
fix: keep request-shape provider 400s error-level in search_files_tool
Git-on-my-level Oct 13, 2026
e27974b
Merge origin/main into lane/sub-w6-mobile-storefront
Git-on-my-level Oct 13, 2026
a0c233d
fix(mobile): follow storefront resubscribe and off-ladder gates
Git-on-my-level Oct 13, 2026
546e125
fix: make shaped notes transport importable under test isolation
Git-on-my-level Oct 13, 2026
576f7d4
fix: classify gateway-normalized request-shape 400s in search_files_tool
Git-on-my-level Oct 13, 2026
1e10235
fix: import OutputParserException lazily for test isolation
Git-on-my-level Oct 13, 2026
80788c0
fix: stop reporting rejected chat files as server errors (#21316)
Git-on-my-level Oct 13, 2026
2c1c5fd
fix: keep nested attachment and injected-option gateway rejections cl…
Git-on-my-level Oct 13, 2026
fae345a
fix: tolerate a stubbed langchain_core when loading shaped notes tran…
Git-on-my-level Oct 13, 2026
e593a94
Dream rung 1.1: self-describing output and response recovery (#21399)
Git-on-my-level Oct 13, 2026
23dec8e
fix(billing): keep paid access until period end after immediate cance…
axAilotl Oct 12, 2026
8766c20
fix(onboarding): recover guided voice answers and show a grounded pay…
Git-on-my-level Oct 13, 2026
846aa07
harden: fence reset recovery writes and repair partial-pass caches (#…
Git-on-my-level Oct 13, 2026
6c2f131
fix(app): recover Android browser auth and integration connection sta…
aryanorastar Oct 13, 2026
2d77690
fix(settings): stabilize Settings search header height and alignment …
Dragonire9 Oct 13, 2026
3067e67
fix(phone-calls): prevent infinite reconnect loop and log WebSocket c…
Dragonire9 Oct 13, 2026
8c2909e
fix(settings): scale AI app generator suggestion strip height with te…
Dragonire9 Oct 13, 2026
46104c8
fix(backend): restore the released 204 contract for conversation dele…
aryanorastar Oct 13, 2026
f5e89a6
fix(desktop): preserve system audio through silent microphone recover…
aryanorastar Oct 13, 2026
70dd7c8
fix(sync): stop reconcile polling loop on rate limit and clear upload…
PINYOPATTANAWASANPORN Oct 13, 2026
e0379b1
avo: suite green; tests+16 fc=True docs=True debt+0 (#21376)
omiagent[bot] Oct 13, 2026
68d1bf0
fix(app): bound sync upload batches by audio seconds, not file count …
aryanorastar Oct 13, 2026
b3f061a
fix(onboarding): fit knowledge graph bounds into viewport on initial …
Dragonire9 Oct 13, 2026
ac1b866
fix(apps): derive category row and title height from text size (#1923…
Dragonire9 Oct 13, 2026
a7fc001
fix(capture): finish with nothing heard stays on Home without process…
Dragonire9 Oct 13, 2026
ce3826d
fix(devices): preserve connection and transport on launch timeout for…
Dragonire9 Oct 13, 2026
636f220
fix(sync): retain explicitly processed phone recordings (#21322)
aryanorastar Oct 13, 2026
b783fab
fix(backend): keep custom STT transcripts when raw audio is not forwa…
avaldini Oct 13, 2026
092fd9b
feat(monitoring): journey SLO burn-rate alerts for live, chat, and pu…
Git-on-my-level Oct 13, 2026
59276ad
fix(python-sdk): bound Parakeet finalize send on cancellation (#21280)
talibot-agent Oct 13, 2026
01c660f
feat(mobile): explain empty recordings and instrument onboarding funn…
Git-on-my-level Oct 13, 2026
4bd676e
Merge origin/main into lane/sub-w6-mobile-storefront
Git-on-my-level Oct 13, 2026
508226f
fix(billing): keep paid access until period end after immediate cance…
Git-on-my-level Oct 13, 2026
72d7f4a
fix(sync): stop safety-WAL dual writes (duplicate transcript + audio)…
Git-on-my-level Oct 13, 2026
9a45359
feat(mobile): render storefront copy from the backend goldens
Git-on-my-level Oct 13, 2026
56b67f1
chore: consolidate changelog for v0.12.481
github-actions[bot] Oct 13, 2026
026fc3d
Update desktop changelog for v0.12.481 [skip ci] (#21411)
omi-ci-bot[bot] Oct 13, 2026
383cd24
fix: keep nested attachment and injected-option gateway rejections cl…
Git-on-my-level Oct 13, 2026
f899bca
fix: keep conversation notes when the model leaves quotes unescaped (…
Git-on-my-level Oct 13, 2026
38a7c22
fix: keep Anthropic BYOK notes from failing conversation processing (…
Git-on-my-level Oct 13, 2026
7e3f4d7
fix(monitoring): rename custom-metric API aggregates back to their pl…
Git-on-my-level Oct 13, 2026
9b84110
Merge origin/main into lane/sub-w6-mobile-storefront
Git-on-my-level Oct 13, 2026
b1d7951
feat(dream): add full-context consensus and segment citations (rung 1…
Git-on-my-level Oct 13, 2026
bb941f3
feat(app): end onboarding with a first capture (#21396)
Git-on-my-level Oct 13, 2026
6d96b88
Merge origin/main into lane/sub-w6-mobile-storefront
Git-on-my-level Oct 13, 2026
8541a87
feat(mobile): honor the yearly-switch and cancel storefront goldens
Git-on-my-level Oct 13, 2026
11f317f
fix(dream): settle actual spend per user (#21416)
Git-on-my-level Oct 13, 2026
7741a1a
feat(task-intelligence): retry failed candidate integration exports w…
Git-on-my-level Oct 13, 2026
8d0efe6
Merge remote-tracking branch 'origin/main' into lane/sub-w6-mobile-st…
Git-on-my-level Oct 13, 2026
ebc8045
chore(scheduler): activate the candidate integration sweep in prod (#…
Git-on-my-level Oct 13, 2026
1f511de
fix(dream): sequence full samples and honor segment targets (#21423)
Git-on-my-level Oct 13, 2026
09772f9
fix(app): restore green Flutter tests on main (#21302 #21340 #21341 #…
Git-on-my-level Oct 13, 2026
e2edc7c
fix(onboarding): Watch instructions layout, specific pairing errors, …
Git-on-my-level Oct 13, 2026
18e148c
Merge remote-tracking branch 'origin/main' into lane/sub-w6-mobile-st…
Git-on-my-level Oct 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"version": 1,
"images": [
{
"file": "001-mobile-android-referral-retry.png",
"platform": "mobile-android",
"description": "Production Flutter widget with synthetic browser/status responses and Android theme. Headless layout only; some platform-default text uses test glyphs. No device OAuth completion.",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "002-mobile-android-referral-browser.png",
"platform": "mobile-android",
"description": "Production Flutter widget with synthetic browser/status responses and Android theme. Headless layout only; some platform-default text uses test glyphs. No device OAuth completion.",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "003-mobile-android-integration-retry.png",
"platform": "mobile-android",
"description": "Production Flutter widget with synthetic browser/status responses and Android theme. Headless layout only; some platform-default text uses test glyphs. No device OAuth completion.",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "004-mobile-android-integration-auth-pending.png",
"platform": "mobile-android",
"description": "Production Flutter widget with synthetic browser/status responses and Android theme. Headless layout only; some platform-default text uses test glyphs. No device OAuth completion.",
"captured_by": "agent",
"source": "visual-audit"
}
]
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"version": 1,
"images": [
{
"file": "001-mobile-ios-empty-recording.png",
"platform": "mobile-ios",
"description": "Light Home empty state after a short phone recording produced no conversation",
"captured_by": "agent",
"source": "manual"
},
{
"file": "002-mobile-android-empty-recording.png",
"platform": "mobile-android",
"description": "Light Home empty state after a short phone recording produced no conversation",
"captured_by": "agent",
"source": "manual"
},
{
"file": "003-mobile-ios-discarded-only.png",
"platform": "mobile-ios",
"description": "Light Home empty state when the only conversation was discarded",
"captured_by": "agent",
"source": "manual"
},
{
"file": "004-mobile-android-discarded-only.png",
"platform": "mobile-android",
"description": "Light Home empty state when the only conversation was discarded",
"captured_by": "agent",
"source": "manual"
}
]
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
179 changes: 179 additions & 0 deletions .agent-artifacts/ui-evidence/onb-m-firstcapture/evidence.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
{
"lane": "onb-m-firstcapture",
"viewport_logical": [
393,
852
],
"pixel_ratio": 3,
"theme": "light",
"fonts": "Real SF Pro Display and SDK Roboto; explicit themed controls",
"source": "app/test/widgets/first_capture_test.dart",
"command": "FIRST_CAPTURE_RENDER=1 flutter test --no-pub test/widgets/first_capture_test.dart",
"fixtures": "Hermetic phone IO; real ConnectDevicePage with inert BLE providers; synthetic conversation",
"limits": "Widget rendering; no physical-device, production API, BLE, or Watch end-to-end acceptance.",
"version": 1,
"images": [
{
"file": "001-mobile-ios-first-capture-choice.png",
"platform": "mobile-ios",
"description": "iOS first capture: choice",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "002-mobile-ios-first-capture-recording-5s.png",
"platform": "mobile-ios",
"description": "iOS first capture: recording-5s",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "003-mobile-ios-first-capture-recording-30s.png",
"platform": "mobile-ios",
"description": "iOS first capture: recording-30s",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "004-mobile-ios-first-capture-processing.png",
"platform": "mobile-ios",
"description": "iOS first capture: processing",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "005-mobile-ios-first-capture-result.png",
"platform": "mobile-ios",
"description": "iOS first capture: result",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "006-mobile-ios-first-capture-empty.png",
"platform": "mobile-ios",
"description": "iOS first capture: empty",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "007-mobile-ios-first-capture-omi-handoff.png",
"platform": "mobile-ios",
"description": "iOS first capture: omi-handoff",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "008-mobile-ios-first-capture-watch-instructions.png",
"platform": "mobile-ios",
"description": "iOS first capture: watch-instructions",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "009-mobile-android-first-capture-choice.png",
"platform": "mobile-android",
"description": "android first capture: choice",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "010-mobile-android-first-capture-recording-5s.png",
"platform": "mobile-android",
"description": "android first capture: recording-5s",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "011-mobile-android-first-capture-recording-30s.png",
"platform": "mobile-android",
"description": "android first capture: recording-30s",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "012-mobile-android-first-capture-processing.png",
"platform": "mobile-android",
"description": "android first capture: processing",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "013-mobile-android-first-capture-result.png",
"platform": "mobile-android",
"description": "android first capture: result",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "014-mobile-android-first-capture-empty.png",
"platform": "mobile-android",
"description": "android first capture: empty",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "015-mobile-android-first-capture-omi-handoff.png",
"platform": "mobile-android",
"description": "android first capture: omi-handoff",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "016-mobile-ios-first-capture-delayed.png",
"platform": "mobile-ios",
"description": "016-mobile-ios-first-capture-delayed",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "017-mobile-android-first-capture-delayed.png",
"platform": "mobile-android",
"description": "017-mobile-android-first-capture-delayed",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "018-mobile-ios-first-capture-short-warning.png",
"platform": "mobile-ios",
"description": "018-mobile-ios-first-capture-short-warning",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "019-mobile-android-first-capture-short-warning.png",
"platform": "mobile-android",
"description": "019-mobile-android-first-capture-short-warning",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "020-mobile-ios-first-capture-back-confirmation.png",
"platform": "mobile-ios",
"description": "020-mobile-ios-first-capture-back-confirmation",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "021-mobile-android-first-capture-back-confirmation.png",
"platform": "mobile-android",
"description": "021-mobile-android-first-capture-back-confirmation",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "022-mobile-ios-first-capture-omi-failure.png",
"platform": "mobile-ios",
"description": "ios pairing failure retains Connect and How to Pair",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "023-mobile-android-first-capture-omi-failure.png",
"platform": "mobile-android",
"description": "android pairing failure retains Connect and How to Pair",
"captured_by": "agent",
"source": "visual-audit"
}
],
"review_revision": "Thumb-zone actions; terminal-only empty explanation; iOS App Shortcuts tip on result"
}
145 changes: 145 additions & 0 deletions .agent-artifacts/ui-evidence/onb-m-voice/evidence.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
{
"version": 1,
"images": [
{
"file": "001-mobile-ios-idle.png",
"platform": "mobile-ios",
"description": "idle; light theme, 393x852 @3x, real fonts, synthetic local I/O",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "002-mobile-ios-recording.png",
"platform": "mobile-ios",
"description": "recording; light theme, 393x852 @3x, real fonts, synthetic local I/O; varying-amplitude PCM",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "003-mobile-ios-transcribing.png",
"platform": "mobile-ios",
"description": "transcribing; light theme, 393x852 @3x, real fonts, synthetic local I/O",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "004-mobile-ios-confirmation.png",
"platform": "mobile-ios",
"description": "confirmation; light theme, 393x852 @3x, real fonts, synthetic local I/O",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "005-mobile-ios-failed.png",
"platform": "mobile-ios",
"description": "failed; light theme, 393x852 @3x, real fonts, synthetic local I/O",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "006-mobile-ios-typing.png",
"platform": "mobile-ios",
"description": "typing; light theme, 393x852 @3x, real fonts, synthetic local I/O",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "007-mobile-ios-review.png",
"platform": "mobile-ios",
"description": "review; light theme, 393x852 @3x, real fonts, synthetic local I/O",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "008-mobile-ios-payoff-chat.png",
"platform": "mobile-ios",
"description": "payoff-chat; light theme, 393x852 @3x, real fonts, synthetic local I/O",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "009-mobile-ios-payoff-fallback.png",
"platform": "mobile-ios",
"description": "payoff-fallback; light theme, 393x852 @3x, real fonts, synthetic local I/O",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "010-mobile-android-idle.png",
"platform": "mobile-android",
"description": "idle; light theme, 393x852 @3x, real fonts, synthetic local I/O",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "011-mobile-android-recording.png",
"platform": "mobile-android",
"description": "recording; light theme, 393x852 @3x, real fonts, synthetic local I/O; varying-amplitude PCM",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "012-mobile-android-transcribing.png",
"platform": "mobile-android",
"description": "transcribing; light theme, 393x852 @3x, real fonts, synthetic local I/O",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "013-mobile-android-confirmation.png",
"platform": "mobile-android",
"description": "confirmation; light theme, 393x852 @3x, real fonts, synthetic local I/O",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "014-mobile-android-failed.png",
"platform": "mobile-android",
"description": "failed; light theme, 393x852 @3x, real fonts, synthetic local I/O",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "015-mobile-android-typing.png",
"platform": "mobile-android",
"description": "typing; light theme, 393x852 @3x, real fonts, synthetic local I/O",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "016-mobile-android-review.png",
"platform": "mobile-android",
"description": "review; light theme, 393x852 @3x, real fonts, synthetic local I/O",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "017-mobile-android-payoff-chat.png",
"platform": "mobile-android",
"description": "payoff-chat; light theme, 393x852 @3x, real fonts, synthetic local I/O",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "018-mobile-android-payoff-fallback.png",
"platform": "mobile-android",
"description": "payoff-fallback; light theme, 393x852 @3x, real fonts, synthetic local I/O",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "019-mobile-ios-paused.png",
"platform": "mobile-ios",
"description": "paused; light theme, 393x852 @3x, real fonts, synthetic local I/O",
"captured_by": "agent",
"source": "visual-audit"
},
{
"file": "020-mobile-android-paused.png",
"platform": "mobile-android",
"description": "paused; light theme, 393x852 @3x, real fonts, synthetic local I/O",
"captured_by": "agent",
"source": "visual-audit"
}
]
}
Loading
Loading