Monitor Audio — delivery record
This record distinguishes implementation, checks, published images and runtime. Pending means no claim of successful delivery.
Source
- chat-agent:
3a420cfd77b1401bfa8d84c0436c271e6d56f4e2; pipeline 5334 (iid 951). Previous source 78b76879 passed all five checks and built four images. - voice:
c6466af369fda8c5661e44362768b4dbbc90d19f, pipeline 5321 (iid 254). - worker release owner: rag-stack
2ad3634b63d405f787f396b62aeb5ae2741b7e98, pipeline 5323 (iid 456), source SHA parameter = voice SHA above. - Extension: 1.4.0. Manifest key, permissions and host permissions equal installed 1.3.0.
Local checks
- Python: 208 passed plus 13 subtests; environment-gated integration skips remain when run without disposable services.
- Frontend: 319 passed; TypeScript, production build, runtime settings check and extension build passed. Initial actual DSP is observed on microphone acquisition, with capture epochs and explicit mismatch state.
- Disposable PostgreSQL/NATS integration: 64 tests passed without skips with pinned NATS server and disposable PostgreSQL. Dedicated archive/live-priority test passed after confirmed ingress cleanup was added.
- Voice streaming: 135 tests passed, including exact-window metadata and correlation probes.
- Scoped chat release: 26 tests, 177 assertions passed, including POSIX df conversion and reserve/device rejection.
- All five existing Ruby check suites passed locally. Pinned NATS WebSocket auth checks: 4 passed. A separate temporary replay-profile probe confirms own PCM is permitted and chat/private/foreign-stream publication is denied.
- Browser DOM: Data/Diagnostics, safe JSON, ASR/display separation and mobile stacking checked using synthetic data. Screenshot capture timed out. No physical speech acceptance performed yet.
CI and release
- Voice streaming 19753, bridge release 19754, LinTO release 19755, status release 19756: SUCCESS.
- Worker build 19759 and bridge build 19760: SUCCESS, published
audio-diagnostics-c6466af369fda8c5661e44362768b4dbbc90d19fonly. - Bridge preflight 19766: SUCCESS, existing bridge healthy and deployment access verified.
- Rag release validation 19829 and 19830: SUCCESS. Worker preflight 19831: SUCCESS, existing worker/GPU verified, new image prepared without rollout.
- Prepared worker manifest:
sha256:d4f875d4a477142d36146a355a7e2aacc17404a3447fac08534b13dc2113e9b7. This is not yet the running image. - Chat required CI checks for exact 78b76879: python 20296, browser NATS 20297, frontend 20298, Ruby 20299, dialog integration 20300: SUCCESS. Image build 20301, extension build 20303 and deployment preflight 20321 started.
- General preflight 20321: SUCCESS. Archive preflight 20348 stopped before any mutation because deployed df rejected the GNU-only output option. Corrected with POSIX df in 3a420cfd; no deployment retry of the failed source.
- Extension 20303/20353: compilation SUCCESS, artifact upload FAILED because runner DNS cannot resolve internal gitlab. Fresh local 1.4.0 build verified same key/permissions/hosts, ZIP SHA256 7844a8f5731a4284408109b4db1344b894e1ee3a8172f319fc095989846d74ec.
- Runtime delivery started after successful 5334 gates/preflights. See chronological runtime entries below; admission is held closed until the six-service sequence completes.
Stage gates
| Stage | Local | Runtime / acceptance |
|---|---|---|
| T0 contracts/access/storage mapping | PASS | protected preflight 20406 confirms PostgreSQL filesystem/metric mapping and reserve |
| T1 live characterization | PASS | existing Monitor accessible before update |
| T2 AudioStore/disk guard | PASS targeted synthetic PG/guard checks | migration/storage enable PASS: 20407, 20409 |
| T3 PCM/manifests | PASS real NATS+PG exact bytes/hash | extension capture pending |
| T4 links/settings/receipt | PASS ownership/idempotency and frontend checks | physical extension acceptance pending |
| T5 Audio Data | PASS DOM/mobile/JSON and production build | deployed empty archive/nav PASS; populated archive pending voice |
| T6 isolated replay/admission | PASS RAM, bounds, ownership and confirmed live preemption | three real backends pending |
| T7 model observations | PASS metadata/window hash/time tests | actual H100 observations pending |
| T8 delivery | five required checks PASS on 5334 and 5337 | six exact runtime revisions/digests/health verified; physical speech/replay acceptance PENDING |
Scale verification on the disposable database: 20,000 blocks / 480,000,000 PCM bytes / 5,000 audio seconds. Full manifest verification 0.267 s; overview capped at 1,000 waveform points. Synthetic zero PCM only; this does not test model accuracy.
V01-V23 are tracked by the approved specification in DOCS/monitor-audio-sdd. Local evidence is not a claim that every production-only case has passed.
Final release gates 3a420cfd / pipeline 5334: checks 20354–20358 all SUCCESS. Four-image build 20359 and general preflight 20379 started. Application and extension tree is byte-identical to 78b76879; only capacity preflight/tests changed.
5334: build 20359 and general preflight 20379 SUCCESS. Archive preflight 20406 SUCCESS: actual PostgreSQL volume mapped to /dev/vda1, free space >=25 GiB, VictoriaMetrics sample <=45 seconds, existing schema checked read-only. Drain 20391 started.
Runtime: drain 20391 SUCCESS. Gateway migration 20407 SUCCESS; running source 3a420cfd, digest sha256:aec752b2b9e4867a5632f9b4897bfa46da1cd8096320a113428c9890b8f89148, health verified, four archive tables present, archive/replay disabled. PostgreSQL service not restarted. Worker deploy 19832 started after drain.
Exact CI 5334: Python 210 passed, 65 environment-gated skips, 13 subtests; browser NATS 4 passed; frontend 319 passed across 48 files; Ruby scoped release 26 runs/177 assertions plus existing suites; dialog integration 50 tests across 13 suites, job SUCCESS. Local opt-in run supplies separate real PostgreSQL/NATS evidence (64/64).
Worker deploy 19832 and independent runtime verification 19833 SUCCESS: running c6466af3, digest sha256:d4f875d4a477142d36146a355a7e2aacc17404a3447fac08534b13dc2113e9b7; health/models/GPU verified. Bridge refresh 19767 started with CI_AUDIO_DIAGNOSTICS_RELEASE=1 (exact SHA tag).
Bridge refresh 19767 FAILED after its target rollout/health/settings checks: global post-update snapshot found map-back_mo_bootstrap changed. No automatic retry or guard change. Independent read-only verify 19768 SUCCESS: running c6466af3, digest sha256:254873aea0883a9e827ec23d1ab345e712b20464821f3ba09ad6394c8bf1bdc5, health and own settings preserved. Exact foreign change cannot be reconstructed from the job fingerprint; its cause is unknown, no foreign mutation performed by this task. Proceeding only with already authorized chat scope. Backend refresh 20408 started.
Backend refresh 20408 SUCCESS; own guard passed. Ingress running 3a420cfd / sha256:2185754e7265ea9acd31989c3b7c242f31f4899defdc9087c8a8656c05351307; Core running 3a420cfd / sha256:95be5698780e5368f7818c65a431250433b66baf8e6cb67e91aa022da59f7470. Health verified by job, independently visible 1/1 running in Insight (version label 1.0.0.951). Admission held. Gateway enable 20409 started.
Gateway enable 20409 SUCCESS: both feature flags enabled, schema present, disk reserve/freshness rechecked, Gateway health and out-of-scope chat guard verified. Frontend refresh 20410 started; this job verifies backend image identities before the Frontend update and standard Core resume.
Frontend refresh 20410 SUCCESS: running source 3a420cfd, digest sha256:1f751518c5953ab6254691b601a96324b020723aca9d54befa4aa8f0a2b5e3c9. Backend revisions verified again, standard Core resume succeeded, admission OPEN, bus ready, chat service guard passed. All six target services now updated.
Production UI: Monitor authorized; session Audio/Data/Diagnostics and ID search loaded with empty archive; no console errors. Screenshot captured successfully. Actual screenshot revealed glued session-view links; CSS-only correction 0a8d75bf prepared, 319 frontend tests/build passed, new CI pending. It will use Frontend-only delivery.
1.4.0 package placed at existing Chrome path, previous 1.3.0 package kept alongside. Physical extension reload/voice/archive/replay acceptance requested; not yet claimed passed.
Frontend-only navigation correction: 0a8d75bff81ab779cb9980ed9a788b07dd9e5694 / pipeline 5337 (iid 952); only src_front/src/monitor/monitor.css differs from delivered 3a420cfd. New mandatory gates in progress. Server functionality/Chrome package remains unchanged.
Navigation correction 5337: all five checks 20414–20418 SUCCESS. General preflight 20439 started; only Frontend build 20453 / scoped refresh 20454 will be played afterward.
Final autonomous delivery state
Frontend-only correction: preflight 20439, build 20453, refresh 20454 SUCCESS. Running Frontend 0a8d75bf / sha256:37d3ebfa9b05c0429f2e3f9eed60f01955e1ea71ec39c59535aea254a3c302b1, 1/1 running in Insight, health and admission resume verified. Production DOM/computed style and screenshot confirm separated links (20 px horizontal gap), active Audio, and working empty archive. No console errors observed. Backend remains 3a420cfd, voice c6466af3.
The five mandatory checks on 5334 and 5337 are green; do not interpret this as every manual/release job in those pipelines being green. The two infrastructure exceptions above remain recorded. The CSS-only build used the existing Frontend refresh publication path; the scoped refresh verified the exact revision and deployed by digest. No other service was updated by that correction.
Temporary local test PostgreSQL/NATS containers were removed. User primary checkout and unrelated untracked work preserved. No production fault injection or invented synthetic archive was added. Physical speech, populated archive byte checks and three real streaming replays remain pending the single requested manual Chrome/speech step.
| Service | Running source | Digest | Evidence job |
|---|---|---|---|
| chat-agent_src_api_gateway | 3a420cfd77b1401bfa8d84c0436c271e6d56f4e2 |
sha256:aec752b2b9e4867a5632f9b4897bfa46da1cd8096320a113428c9890b8f89148 |
20409 |
| chat-agent_src_core | 3a420cfd77b1401bfa8d84c0436c271e6d56f4e2 |
sha256:95be5698780e5368f7818c65a431250433b66baf8e6cb67e91aa022da59f7470 |
20410 |
| chat-agent_audio_ws_ingress | 3a420cfd77b1401bfa8d84c0436c271e6d56f4e2 |
sha256:2185754e7265ea9acd31989c3b7c242f31f4899defdc9087c8a8656c05351307 |
20408 |
| chat-agent_src_front | 0a8d75bff81ab779cb9980ed9a788b07dd9e5694 |
sha256:37d3ebfa9b05c0429f2e3f9eed60f01955e1ea71ec39c59535aea254a3c302b1 |
20454 |
| py_faster_whisper_stt_whisper_to_nats | c6466af369fda8c5661e44362768b4dbbc90d19f |
sha256:254873aea0883a9e827ec23d1ab345e712b20464821f3ba09ad6394c8bf1bdc5 |
19768 |
| webrtc-asr_streaming | c6466af369fda8c5661e44362768b4dbbc90d19f |
sha256:d4f875d4a477142d36146a355a7e2aacc17404a3447fac08534b13dc2113e9b7 |
19833 |
CI: https://git.giscloud.ru/voice-chat/webrtc-komaroff/-/pipelines/5334 ; https://git.giscloud.ru/voice-chat/webrtc-komaroff/-/pipelines/5337 ; https://git.giscloud.ru/voice-chat/py_faster_whisper/-/pipelines/5321 ; https://git.giscloud.ru/ai-assistant/deployments/rag-stack/-/pipelines/5323 .
Physical acceptance failure and correction
User installed 1.4.0 and spoke successfully. Record 82b5abdf-fc48-42a6-9847-2a0cc72a704f / session 5e7d4cbe-7755-4759-a153-0e446443ca9d / request ea5686bb-9698-5117-bfdc-d48381212ac0: 315392 bytes / 3.285 s captured then recording_metric_stale. ASR final and one answer arrived; display receipt unconfirmed. Replay correctly blocked for incomplete audio. Actual Decoder windows/queue/decode metadata are visible; saved prefix can be prepared as WAV.
VictoriaMetrics via authenticated Grafana: scrape interval 15 s; simultaneous instant queries showed default sample age 29.3 s and latency_offset=1ms/nocache=1 age -0.69 s. This confirms the default 30 s visibility delay competes with the 45 s safety limit. Fix 5749e8aa requests both value and timestamp at one explicit evaluation time without delayed/cache results, keeping 20/25 GiB and 45 s thresholds. Official source: https://docs.victoriametrics.com/victoriametrics/keyconcepts/ .
Second verified code defect: offscreen operation allowlist omitted audio_archive; receipts never reached Gateway. Fix forwards the finite receipt without widget context fields; PostgreSQL also handles ACK before final persistence. Extension patch 1.4.1, same key/permissions; package SHA256 b2e2cf567cadbffbb2764d4d6224b5cd4bbaad83c321e992ea9ff242bbe0d7b7. Local 320 frontend tests/build and real PostgreSQL targeted 12/12 pass; broader targeted Python 31 passed/1 opt-in skip. Pipeline 5338/iid 953 in progress. User confirmed all audio disconnected before correction rollout.
Correction pipeline 5338: all five checks 20471–20475 SUCCESS. Gateway build 20488, general preflight 20496, archive preflight 20523 and Frontend build 20510 SUCCESS. Narrow Gateway refresh 20517 started after user confirmed audio fully disconnected. The original incomplete WAV was actually downloaded and inspected (incomplete-wav.json); replay disabled was verified in production UI.
Gateway correction 20517 SUCCESS. Independent Insight shows 1.0.0.953 / 1/1 running / sha256:6981be8239d4acd4ae33d23ce6457e8a65d412a7ebb77556f822693fedb52761. New Grafana query sample age 12.453 s, one matching filesystem. Frontend source-link refresh 20511 in progress. Extension 1.4.1 placed at original directory, 1.4.0 backup preserved; installed Chrome reload still manual pending.
Frontend correction 20511 SUCCESS. Independent Insight shows 1.0.0.953 / 1/1 running / sha256:eae06550410d09ca7a48ca2a5cab8c384a64716234a1d24359c0a6d3ae1dff8a. Production JSON source links point to AudioStore.query L255 / private L122; Escape closes modal and returns focus to its opener. No console errors observed. Admission restored by the scoped job. No other service image changed in this correction. Owned disposable PostgreSQL container removed. Bundled manual 1.4.1 reload/voice/>60s/off/Monitor step requested; full archive and streaming acceptance still pending.
Physical 1.4.1 acceptance: user completed speech/off/Audio. Record 423a8f25-138f-4ea3-8fa2-6855b67df67d, request faa1bf47-325b-55b9-a14b-898fae3ed334: COMPLETE, 8,691,712 PCM bytes / 4,244 packets / 90.539 s, browser manifest counts match. Display receipt confirmed and matches ASR final. Six actual model calls visible; final 4.120–7.872 s, Decoder 168.3 ms. No stale metric failure. WAV preparation and real replay still in progress.
First real Turbo replay stopped explicitly at PCM buffer underflow after partial results. No full-success claim. Frontend 9e22b1b2286bfcc6fe6d05a3c8058956256275b5 / pipeline 5339 corrects the overly small prefetch: up to the agreed 2 MiB, at most two ordered reads, reservation heartbeats during preload before ingress start. Existing hash/100 ms/underflow guards unchanged. Local 324 frontend tests/build/runtime-settings PASS, including slow reads, true underflow, cancellation during preload and hash failure. Repowise risk lookup was unavailable for the isolated checkout; impact assessed from source/tests. This correction changes only Frontend; extension 1.4.1 stays installed.
Preload access follow-up afa0a18e770d560d7b6e6a74388bb3d9dd50b344 / pipeline 5340: redeem the 60-second connection ticket before slow preload and let the existing NATS access renewal run; ingress start remains after preload. Local full 324 frontend tests/build/runtime settings PASS; targeted 10/10 with connection/preload cancellation assertions. Production request_id lookup succeeded outside a 1-second interval. Saved DSP event epoch 1 records success, requested EC/NS true and actual EC/NS/AGC true. No microphone device ID is present in that saved event.
5340 / afa0a18e: five exact mandatory checks 20585–20589 SUCCESS, including real NATS/PostgreSQL archive/replay isolation integration. Fresh general preflight 20610 started. Frontend-only build/refresh will be 20624/20625. Mobile production check at 390x844: document width 390, call rows flex, comparison single column; viewport reset.
Frontend afa0a18e delivery: preflight 20610 / build 20624 / scoped refresh 20625 SUCCESS. Exact digest sha256:4a500d5d827c7de0b99a8fab5a4f4ae7b545496d957693f2bbcdfb3e02dd8854. Built-in image pull retried once before verification; deployment job itself was not retried. No other service image changed. Beginning real replay acceptance on the existing complete archive.
Before final replay acceptance, fixed since=2026-10-21T14:56:48.215474Z: changed counts audio_chunks 386, audio_phrases 1, audio_recording_events 382, audio_recordings 2, browser_command_receipts 1, nats_log 139. User session last event 15:29:33Z / cumulative 1245. Compare with the same lower bound and widened upper bound after the three runs. Generic extension listener console errors were observed in the browser (source not attributed); no claim of an entirely clean browser console.
Three full production streaming replays PASS on afa0a18e: Turbo exact-version mode, Russian and LinTO explicit comparison. Each ran the entire 90.539 s source and received final. Turbo/Russian final input hash and bounds match the original exactly; each had five real Decoder calls versus six originally. LinTO reports internal windows/Decoder time unavailable. Unconfirmed backend change was explicitly rejected before comparison. No replay payload/transcript was exported.
Read-only after-check with the same lower time bound: audio_chunks 386, audio_phrases 1, audio_recording_events 382, audio_recordings 2, browser_command_receipts 1, nats_log 139 - all unchanged. User session remains 1245 events, latest 15:29:33Z. General auth tickets are ephemeral and not audio results. Original WAV hash/manifest checks remain valid.
Presentation-only 0715937e clears old replay text, locks model controls, labels no-speech completion and preserves selected-tab hover contrast. Follow-up ff69a255 cancels an intention before reservation reply, including hide-and-return. Full local check 325 tests/build/runtime-settings PASS plus targeted 12/12 after the extra hide-and-return case. Obsolete 5341 had only check jobs active; cancellation requested because its source was superseded. Current 5342 is the required final source pipeline; no old pipeline deployment will run.
5342 checks 20699–20703, preflight 20724, build 20738 and Frontend refresh 20739 SUCCESS. Running Frontend ff69a255 / sha256:ce5dfc236a0d78d276ed008236092e5f2ab2ccd75d2eae1802a920650fff5a69. Follow-up 78120f6853199ff710b0d38a85f4e5ea78603558 ignores a rejected old status after cancellation; local full 327 tests/build/runtime-settings PASS. Pipeline 5343 is the final source gate. No other runtime image changes. Illustrated numbered guides prepared and visually inspected.
Final source 78120f68 / pipeline 5343: checks 20756–20760 all SUCCESS (327 frontend tests / 48 files). Fresh preflight 20781, build 20795 and scoped Frontend refresh 20796 SUCCESS. Running digest sha256:74966b4ed4e8feac55f78be0082c294a6fcc4dcfaacd4879e46880c9a3235741. No deployment job retry. Final browser smoke pending; all three full model paths already passed on afa0a18e with the same PCM sender.
Final functional PASS on running Frontend 78120f68 / 1.0.0.958, independently verified in Insight (1/1 running, sha256:74966b4ed4e8feac55f78be0082c294a6fcc4dcfaacd4879e46880c9a3235741). Early cancellation produced zero Decoder calls and unlocked controls. Successful full Turbo replay reached final and completed the whole source, then unlocked controls; six real calls, final input hash/bounds equal original. Selected tab hovered with rgb(22,92,164) background / white text. Real screenshot monitor-final-runtime.jpg saved as a user-requested acceptance artifact; app replay results remain RAM-only. Installed 1.4.1 key/permissions/hosts and ZIP hash rechecked unchanged.
Final idle network check: 0 replay status requests after successful completion, no truncation/missing pages in captured events. Both handout images and their HTML references verified. Final report result.md generated with all six revisions/digests and explicit delivery/evidence limits. User Monitor tab retained with completed final result.