-
cd07b52f8f
Findings: Test 4a OpenAI Realtime one-shot voice round-trip outcome
fresh-start
tes
2026-06-12 19:42:35 +00:00
-
4cfb0d4b9a
Test 4a: migrate session.update + event names to GA Realtime API
tes
2026-06-12 19:41:08 +00:00
-
ac8a3f012c
Test 4a: bin/probe-cs-4a deploy script with ~/.openai_key precondition
tes
2026-06-12 19:16:32 +00:00
-
a590c96d07
Test 4a: wire NoMoreDeltas + add UpstreamSendLoop stop-and-empty exit
tes
2026-06-12 19:15:29 +00:00
-
a1a3b5c981
Test 4a: WS plumbing + audio streams + server VAD round-trip
tes
2026-06-12 19:09:26 +00:00
-
43b3a1a0f1
Test 4a scaffold: csproj for tests/04a-realtime-oneshot-cs
tes
2026-06-12 19:00:57 +00:00
-
e96b6ffd95
Test 4a: implementation plan
tes
2026-06-12 17:34:25 +00:00
-
dea126f994
Test 4a: spec — OpenAI Realtime API one-shot voice round-trip
tes
2026-06-12 16:59:10 +00:00
-
cbb47d1465
Findings: Test 3 C# full-cycle probe outcome
tes
2026-06-12 13:56:16 +00:00
-
a7d408e903
Test 3: scale playback timeout to buffer length (was hardcoded 2 s)
tes
2026-06-12 13:54:16 +00:00
-
1d9a417cfc
Test 3: bin/probe-cs-3 deploy script
tes
2026-06-12 13:40:55 +00:00
-
070cc0767a
Test 3: per-cycle PlaybackDoneFlag + log timeout in fire-and-forget cleanup
tes
2026-06-12 13:38:09 +00:00
-
5a498e9c91
Test 3: full-cycle state machine (IDLE/BEEPING/RECORDING/PLAYBACK)
tes
2026-06-12 13:31:25 +00:00
-
222d58baeb
Test 3: copy WakewordModel + models from Test 2, add Reset()
tes
2026-06-12 13:25:40 +00:00
-
6fa2779ea1
Test 3 scaffold: csproj for tests/03-full-cycle-cs
tes
2026-06-12 13:22:23 +00:00
-
14690484de
Test 3 plan: implementation steps for full-cycle C# probe
tes
2026-06-12 13:19:18 +00:00
-
e9730c7e50
Test 3 spec: full-cycle C# probe (wakeword + record + playback)
tes
2026-06-12 13:13:59 +00:00
-
b6d9f9a1cf
WakewordModel: print shapes at startup + tidy mel-shape comment
tes
2026-06-12 12:19:59 +00:00
-
7d808e6ade
Findings: C# wakeword probe outcome
tes
2026-06-12 12:13:01 +00:00
-
9b63e298d3
Beep cleanup: start before Task.Run + Wait timeout to avoid orphaned task
tes
2026-06-12 12:06:48 +00:00
-
14e862f50a
Beep on detection: fire-and-forget OutputStream, input keeps flowing
tes
2026-06-12 12:03:14 +00:00
-
2e830eaed4
Live wakeword loop: PortAudio input + queue + threshold detection
tes
2026-06-12 11:57:54 +00:00
-
b43a1ce17f
WakewordModel: clean up stale comment, clarify ring-fill boundary case
tes
2026-06-12 11:43:28 +00:00
-
e18aed53d7
WakewordModel: port openwakeword streaming pipeline (mel→emb→cls)
tes
2026-06-12 11:37:53 +00:00
-
bea35c8f1c
Add bin/probe-cs-2: build + scp + run the C# wakeword probe on the Pi
tes
2026-06-12 11:29:22 +00:00
-
849ad47230
Scaffold C# wakeword probe: vendored ONNX models + ORT sanity spike
tes
2026-06-12 11:24:46 +00:00
-
fe15a009b3
Plan: C# probe re-implementing Test 2 (wakeword) on the Pi
tes
2026-06-12 11:19:22 +00:00
-
815389ecc2
Spec: C# probe re-implementing Test 2 (wakeword) on the Pi
tes
2026-06-12 10:55:13 +00:00
-
bfd8a05734
Add kickoff prompt for Test 2 (wakeword) C# probe
tes
2026-06-12 10:12:34 +00:00
-
8fdbedd28f
CLAUDE.md: point new sessions at findings.md
tes
2026-06-12 10:11:19 +00:00
-
7c4621b3b7
Findings: C# record-play probe outcome
tes
2026-06-12 10:11:19 +00:00
-
87a85db38d
Playback: append OutputStream playback of recorded buffer
tes
2026-06-12 10:00:59 +00:00
-
e2bd845abe
Record loop: callback InputStream + RMS meter + WAV write
tes
2026-06-12 09:54:43 +00:00
-
1d08f49204
Add WavWriter: mono PCM16 RIFF writer for the C# probe
tes
2026-06-12 09:38:55 +00:00
-
fec222b6dc
Fix bin/probe-cs file mode to executable (100755)
tes
2026-06-12 09:35:47 +00:00
-
9e8cee7a16
Add bin/probe-cs: build + scp + run the C# probe on the Pi
tes
2026-06-12 09:33:39 +00:00
-
d744a6318f
Scaffold C# record-play probe + PortAudio device-list spike
tes
2026-06-12 09:29:26 +00:00
-
7b1417e885
Plan: use scp instead of rsync in bin/probe-cs (no rsync in build env)
tes
2026-06-12 09:26:13 +00:00
-
91a1f04b44
Plan: C# probe re-implementing Test 1 (record/play) on the Pi
tes
2026-06-12 09:23:46 +00:00
-
b7fda48e91
Spec: C# probe re-implementing Test 1 (record/play) on the Pi
tes
2026-06-12 09:18:26 +00:00
-
1a36c8096d
Diagnostics: surface upstream WS close reason + break the null-spin loop
main
tes
2026-06-12 07:17:04 +00:00
-
12be767325
Trim GA session.update + add deploy marker + surface upstream silence
tes
2026-06-12 07:04:53 +00:00
-
a42038b825
Diagnostics: forward upstream events + errors to device as 'debug' envelopes
tes
2026-06-12 06:59:14 +00:00
-
8bb0ce51b1
Plan 3 fix: GA turn_detection auto-create_response + reset state on WS reconnect
tes
2026-06-12 06:50:00 +00:00
-
7294a81a9a
Realtime: migrate to OpenAI GA shape (beta API was retired)
tes
2026-06-12 06:42:21 +00:00
-
d01b78b225
Relay: log upstream events + forward error envelopes to device for diagnostics
tes
2026-06-12 06:28:58 +00:00
-
82ea164695
README: document Plan 3 Pi client surface
tes
2026-06-11 22:56:34 +00:00
-
8662dbe8a7
Plan 3: main.py composition root (audio + state + wakeword + session + playback wired)
tes
2026-06-11 22:52:01 +00:00
-
b1eeaa8af3
Plan 3: backend WS client + dispatch + tool round-trip
tes
2026-06-11 22:51:23 +00:00
-
fa245d87a5
Plan 3: playback worker + wake/sleep wav + software volume gain
tes
2026-06-11 22:50:13 +00:00
-
d0bd141082
Plan 3: openwakeword wrapper with threshold + cooldown
tes
2026-06-11 22:49:40 +00:00
-
55257b8867
Plan 3: USB device discovery + persistent audio streams
tes
2026-06-11 22:49:20 +00:00
-
d155af4b70
Plan 3: pair CLI (POST /api/pair, write config.json)
tes
2026-06-11 22:48:46 +00:00
-
781ef9377a
Plan 3: 24 kHz->16 kHz downsample helper for the wakeword feed
tes
2026-06-11 22:48:16 +00:00
-
4d83f2d9fd
Plan 3: load/save ~/assistant/state/config.json with mode 0600
tes
2026-06-11 22:47:50 +00:00
-
d75129c4f9
Plan 3: state machine (IDLE -> WAKE_PENDING -> LISTENING <-> ASSISTANT_SPEAKING -> IDLE_PENDING -> IDLE)
tes
2026-06-11 22:47:23 +00:00
-
908e3f4907
Plan 3: add client.log structured logger
tes
2026-06-11 22:46:44 +00:00
-
79d6e923a6
Plan 3: scaffold Python test harness and stub client package
tes
2026-06-11 22:46:25 +00:00
-
8380e3149e
README: document Plan 2 device-hub surface area
tes
2026-06-11 22:02:35 +00:00
-
7ba9f0cf5e
Plan 2: device hub + Realtime relay + tools registry
tes
2026-06-11 22:01:30 +00:00
-
ba709d15d5
DeviceHub: wake → session lifecycle + uplink relay + tool_result routing
tes
2026-06-11 22:00:33 +00:00
-
9023509b01
DeviceHub: /device WS with bearer auth + hello/hello_ack + ping/pong
tes
2026-06-11 21:55:33 +00:00
-
4dc48bd9fd
Add ActiveDevice + DeviceRegistry + HubEnvelopes + IDeviceClient/Channel implementations
tes
2026-06-11 21:51:25 +00:00
-
78373b0912
Add OpenAIRealtimeUpstream + RealtimeSessionFactory + DI registrations
tes
2026-06-11 21:48:21 +00:00
-
8f53f9daa9
RealtimeSession: idle-timeout watchdog (resets on speech_started)
tes
2026-06-11 21:46:16 +00:00
-
a45b25038a
Test end_session sequencing closes with reason=tool and skips response.create
tes
2026-06-11 21:42:47 +00:00
-
7dada5fdb9
RealtimeSession: execute server-side tools at response.done
tes
2026-06-11 21:38:31 +00:00
-
b078f9aa78
RealtimeSession: persist user/assistant transcripts; emit assistant_done
tes
2026-06-11 21:35:40 +00:00
-
24b8acdf60
RealtimeSession: uplink pump + downlink audio.delta forwarding
tes
2026-06-11 21:33:37 +00:00
-
a202725c39
Add RealtimeSession lifecycle (open + session.update + session_started/ended)
tes
2026-06-11 21:30:40 +00:00
-
8f197d1203
Add ScriptedRealtimeUpstream + FakeDeviceChannel test doubles
tes
2026-06-11 21:27:50 +00:00
-
35a6e8febb
Add IRealtimeUpstream + RealtimeEvents helpers for upstream JSON
tes
2026-06-11 21:25:46 +00:00
-
d3e101eb29
Add OpenAIKeyProvider + RealtimeSettings record
tes
2026-06-11 21:23:54 +00:00
-
212ce06f07
Add SetVolumeTool (validates 0..100, delegates to Pi via IDeviceChannel)
tes
2026-06-11 21:22:45 +00:00
-
ebbe23c639
Add EndSessionTool (no params, returns ok; relay closes on this tool name)
tes
2026-06-11 21:21:13 +00:00
-
9325d21f9e
Add ITool + ToolRegistry + GetCurrentTimeTool
tes
2026-06-11 21:19:23 +00:00
-
13d8773704
Add ConversationLog (start/append/end with monotonic per-convo index)
tes
2026-06-11 21:13:50 +00:00
-
99cfe60a2c
Add Conversation + Turn entities and migration
tes
2026-06-11 21:09:52 +00:00
-
58b8a446b1
Fix Dockerfile: don't copy test csproj (excluded by .dockerignore)
tes
2026-06-11 20:31:52 +00:00
-
a83e9f93de
Add UseForwardedHeaders so /install.sh + backend_ws use https/wss behind Traefik
tes
2026-06-11 20:17:46 +00:00
-
68738e486d
Add README with repo layout, local dev, smoke test, deploy commands
tes
2026-06-11 20:11:39 +00:00
-
2701b8a483
Add docker-compose.yml for Coolify deploy + gitignore deploy.json
tes
2026-06-11 20:05:58 +00:00
-
645a7e3722
Persist data-protection keys to /keys when present (Coolify volume)
tes
2026-06-11 19:05:41 +00:00
-
88339c51eb
Add multi-stage Dockerfile (backend + client tarball)
tes
2026-06-11 19:04:45 +00:00
-
a7e5e13ac8
Add Python client placeholders for bundle build (full impl in Plan 3)
tes
2026-06-11 19:04:18 +00:00
-
751030dcef
Add InstallScriptBuilder + GET /install.sh + GET /client.tar.gz
tes
2026-06-11 19:03:33 +00:00
-
e5ae228738
Add /api/devices CRUD (list, get, rename, revoke) with owner scoping
tes
2026-06-11 19:00:42 +00:00
-
b5be4c6914
Add /api/pair-code (auth) + /api/pair (public) endpoints
tes
2026-06-11 18:56:41 +00:00
-
db5c4e59a4
Add PairingService with safe alphabet and 10-min TTL
tes
2026-06-11 18:53:32 +00:00
-
720583de0a
Add PairingCode entity + migration
tes
2026-06-11 18:51:18 +00:00
-
b862bf6f0f
Add DeviceTokenService (random token, SHA-256 hash, fixed-time verify)
tes
2026-06-11 18:48:39 +00:00
-
3e9c245bb3
Fix Task 6: Device FK to AspNetUsers + SystemSettings singleton Id pin
tes
2026-06-11 18:46:42 +00:00
-
68e7e81312
Add Device, DeviceConfig, SystemSettings entities and seed defaults
tes
2026-06-11 18:41:27 +00:00
-
a1aa5023a2
Fix Task 5 review issues: per-test ApiFactory, drop dead RoleManager param + EF Core using
tes
2026-06-11 18:38:37 +00:00
-
2a208e81b2
Add /api/auth/{register,login,logout,me} with first-user-is-admin rule
tes
2026-06-11 18:34:07 +00:00
-
8a7d01ac9e
Add ASP.NET Identity (cookie auth) and role seeding
tes
2026-06-11 18:26:34 +00:00
-
824a27520d
Fix: clean up SQLite WAL/SHM sidecars in ApiFactory.Dispose
tes
2026-06-11 18:22:33 +00:00
-
f2bb2d984b
Add ApiFactory test helper + /health sanity test
tes
2026-06-11 18:17:48 +00:00
-
2c16a9485b
Add EF Core + SQLite with empty AppDbContext
tes
2026-06-11 18:12:04 +00:00
-
1eb0383834
Scaffold backend + backend.tests projects
tes
2026-06-11 18:04:42 +00:00