Network callbacks / new hello / generation / authoritative DONE / Voice interruption / stale operation PASS (host)
Raw GPIO / 30ms debounce / >600ms Hold A / Settings Back / no Voice or trailing CLICK PASS (host)
TAP version 13
# (node:1031558) ExperimentalWarning: The MockTimers API is an experimental feature and might change at any time
# (Use `node --trace-warnings ...` to show where the warning was created)
# Subtest: archived inspection grammar; mutations, composition and unknown tools need approval
ok 1 - archived inspection grammar; mutations, composition and unknown tools need approval
  ---
  duration_ms: 1.855313
  type: 'test'
  ...
# Subtest: production Pi pager never registers synthetic tool-call approval
ok 2 - production Pi pager never registers synthetic tool-call approval
  ---
  duration_ms: 0.461366
  type: 'test'
  ...
# Subtest: archived approval channel waits past the old limit using a controlled clock
ok 3 - archived approval channel waits past the old limit using a controlled clock
  ---
  duration_ms: 17.30302
  type: 'test'
  ...
# Subtest: a session has one owner and an existing runtime receives input
ok 4 - a session has one owner and an existing runtime receives input
  ---
  duration_ms: 19.98741
  type: 'test'
  ...
# Subtest: text activity batches by character threshold without splitting Unicode
ok 5 - text activity batches by character threshold without splitting Unicode
  ---
  duration_ms: 3.901585
  type: 'test'
  ...
# Subtest: text activity flushes on the throttle timer
ok 6 - text activity flushes on the throttle timer
  ---
  duration_ms: 30.506095
  type: 'test'
  ...
# Subtest: plain text removes noisy markdown and redacts credentials
ok 7 - plain text removes noisy markdown and redacts credentials
  ---
  duration_ms: 0.313026
  type: 'test'
  ...
# Subtest: tool summaries keep only a short safe action
ok 8 - tool summaries keep only a short safe action
  ---
  duration_ms: 0.50066
  type: 'test'
  ...
# Subtest: final reply excludes commentary, tools and prior assistant messages
ok 9 - final reply excludes commentary, tools and prior assistant messages
  ---
  duration_ms: 0.355827
  type: 'test'
  ...
# Subtest: registered Pi handlers emit live activity and settled final independently
ok 10 - registered Pi handlers emit live activity and settled final independently
  ---
  duration_ms: 438.104658
  type: 'test'
  ...
# Subtest: existing-session snapshot restores native final/recent text after overlay restart
ok 11 - existing-session snapshot restores native final/recent text after overlay restart
  ---
  duration_ms: 0.563307
  type: 'test'
  ...
# Subtest: target polling preserves focused select and open options
ok 12 - target polling preserves focused select and open options
  ---
  duration_ms: 5.392973
  type: 'test'
  ...
# Subtest: pending target request is not overwritten by a stale poll
ok 13 - pending target request is not overwritten by a stale poll
  ---
  duration_ms: 1.57682
  type: 'test'
  ...
# Subtest: approval polling preserves buttons, focus and in-flight decisions
ok 14 - approval polling preserves buttons, focus and in-flight decisions
  ---
  duration_ms: 1.889798
  type: 'test'
  ...
# Subtest: approval buttons submit their own ID and binary decision
ok 15 - approval buttons submit their own ID and binary decision
  ---
  duration_ms: 4.010108
  type: 'test'
  ...
# Subtest: unified target selector includes Pi and Codex
ok 16 - unified target selector includes Pi and Codex
  ---
  duration_ms: 2.527495
  type: 'test'
  ...
# Subtest: effort options follow selected model metadata and hide for Pi
ok 17 - effort options follow selected model metadata and hide for Pi
  ---
  duration_ms: 1.442718
  type: 'test'
  ...
# Subtest: an old pending approval stays actionable without a human decision
ok 18 - an old pending approval stays actionable without a human decision
  ---
  duration_ms: 2.4508
  type: 'test'
  ...
# Subtest: speech mode binds the selected device target and test has no arbitrary text
ok 19 - speech mode binds the selected device target and test has no arbitrary text
  ---
  duration_ms: 2.866742
  type: 'test'
  ...
# Subtest: native approval buttons preserve all offered decisions and labels
ok 20 - native approval buttons preserve all offered decisions and labels
  ---
  duration_ms: 1.744746
  type: 'test'
  ...
1..20
# tests 20
# suites 0
# pass 20
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 706.028874
........................................................................ [ 81%]
................                                                         [100%]
=============================== warnings summary ===============================
.venv/lib64/python3.11/site-packages/starlette/testclient.py:51
  /home/lighthouse/esp32-dev/.cache/agent-navigator-0.6b/server/.venv/lib64/python3.11/site-packages/starlette/testclient.py:51: DeprecationWarning: The anyio.abc.BlockingPortal alias is deprecated, use anyio.from_thread.BlockingPortal instead.
    _PortalFactoryType = Callable[[], AbstractContextManager[anyio.abc.BlockingPortal]]

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
88 passed, 1 warning in 3.59s
Production Navigator JSON/Project/New Session/all Efforts/native choice/free Voice/secret/old Gateway PASS
