Skip to content

Latest commit

 

History

History
36 lines (30 loc) · 7.36 KB

g09-qualification.md

File metadata and controls

36 lines (30 loc) · 7.36 KB

G09 qualification audit

Historical goal record: the status and evidence below describe that milestone and its original tested commits. Current cumulative release status is in the implementation plan and 1.0.1 notes.

Status: Complete under the approved scope; protected delivery of this record remains gated. The operator placed all VTube Studio-specific work on hold on 2026-10-02, selecting Streamer.bot's built-in integration. That explicit scope change governs the whole plan; deferred model-specific requirements are not verified or active completion gates. Generic action dispatch remains in scope. The OBS source is added and the configured Speaker.bot alias is local english; both owned audio paths have now dispatched. The operator confirmed both audible test paths with “Yes I heard it all.” All active implementation acceptance criteria are verified; the documentation-only completion commit must pass protected checks before PR #12 merges.

Requirement Inspected evidence Remaining qualification
Platform/event filters; exact, minimum, half-open range and multiple-of AutomationConditionTests: quantity boundaries, matching currency/scale, gated recipients, unrelated events and invalid inputs No live platform payload inferred from these unit cases
Ko-fi uses Streamer.bot events and persists before automation Canonical normalization and accepted-live transactional inbox; AutomationPlanningTests and AutomationHostedTests Verified by installed Speaker.bot acknowledgment plus operator-confirmed audible speech
Configurable Speaker.bot host/port, voice and bad-word flag Existing independent connection; actual 0.1.7 connectivity on local port 7580; speech adapter uses configured alias/filter Operator supplied local english and confirmed actual audible speech after the owned persisted event; product default remains 7680
Minimum donation, template fields, maximum length, username/amount/message switches AutomationSpeechTests plus editor controls and condition evaluator Owned live speech with local english was confirmed by the operator
Anonymous/private-message safeguards; URL, punctuation, repetition and bad-word controls Speech tests cover private/unknown Ko-fi visibility, one-pass expansion, suppression, grapheme limits and sanitization Forwarded metadata limitations remain explicit; unknown privacy cannot authorize message speech
Allowed languages and manual moderation Speech and execution-store tests; explicit allowed-language resolution followed by separate moderation These decisions cannot be bypassed by missing metadata
Queue groups, order, cooldown, bounded capacity and interruption SQLite execution stores; AutomationQueueDispatchTests verify replacement interruption, independent groups and large blocked backlogs Speaker.bot owns speech already acknowledged; pending-dispatch policies do not promise external playback cancellation
Existing alert priority/duration/concurrency/interruptibility G06's delivered canvas alert scheduler owns visual-alert scheduling; G09 owns durable automation dispatch groups Do not infer visual-alert playback completion from bot acknowledgment
Local audio assets, volume, random variants, timeout and ducking metadata Real WebSocket/HTTP sound tests and browser sound player; named editor asset selection Ducking is metadata, not a promise to adjust unrelated OBS mixer channels
Actual overlay sound playback Owned live event traversed durable inbox/dispatcher/socket to a fresh Chromium audio element; exactly one sound command and completed receipt Operator confirmed the owned test tone was audible with the OBS source added; completed playback receipt corroborates the test. No standalone recording artifact is claimed
Rule CRUD, multiple actions, discovery and visible missing dependencies Editor tests, capability endpoint tests, real Chromium save/reload/edit/delete; stable action IDs and ordered actions Generic action capabilities retained; dedicated VTube Studio work is on hold
Timed toggle or separate enable/disable; Extend/Restart/Ignore/Queue AutomationTemporaryActionTests exercise all policies across service recreation, ambiguous calls, bounded repeats and queued original receipt IDs Model-specific live qualification is on hold; automated generic timer evidence is retained
Durable dedupe/restart and uncertain outcomes without blind retry Execution-store recovery, planning idempotence, persisted timer tests and adapter outcome tests Bot acknowledgment alone is not independent proof of model state or spoken audio
Safe simulation and independent financial ingestion Real HTTP preview/replay cases; Chromium compared financial ledger and execution lists before/after simulation Owned live qualification may write only to its explicitly marked temporary database
HTTP and authenticated LAN audio Foundation HTTP contracts; sound tests verify scoped temporary asset leases, wrong-source isolation, timeout/cancellation and token revocation HTTPS is not required
Windows, backend OpenCover, frontend LCOV and Sonar gate Run 36983149942 passed for 796f75a8ee38bdf6cbda28da5035bb34b3d1d5b3, including the comparator correction, full browser qualification and OpenCover/LCOV import. Backend/frontend production coverage was 95.8%/89.8%; Sonar new-code coverage 82.4%, A ratings, zero duplication and 100% reviewed hotspots Live audio acceptance is verified. Corrected head b8dc63c passes Windows run 37007511716 and the Sonar gate; subsequent documentation commits retain their normal protected checks.

Live acceptance and delivery record

  1. OBS sound — verified: the source was added, one owned event returned completed playback, and the operator confirmed audible output. The owned rule was disabled afterward.
  2. Ko-fi TTS — verified: a temporary host connected to Speaker.bot on 7580, routed an owned persisted Ko-fi donation through local english, and received acknowledgment. The operator confirmed audible output; the owned rule was disabled afterward.
  3. VTube Studio — on hold: all dedicated work and live-model qualification are deferred by operator direction. Streamer.bot's built-in integration is the intended route. Resume only on explicit instruction; no model effect is claimed as verified.
  4. Implementation qualification — verified: corrected head b8dc63c passes Windows run 37007511716 with 75 core and 329 host tests without skips, frontend tests, replay/recovery, rendered browser checks, generated contracts and OpenCover/LCOV import. Production coverage is 95.7% backend and 89.8% frontend; Sonar new-code coverage is 82.3%, with A ratings, zero duplication and all hotspots reviewed.
  5. Protected delivery: PR #12 delivers the implementation and this completion record after normal exact-head Windows/Sonar checks; no bypass is used. The final commit changes documentation only.

The owned fixture helper requires an explicit --execute-owned-live-test flag, an existing database and a g09-owned-qualification marker under a directory named tdsblive-g09-*. It rejects unmarked or missing databases without creating a file. It is not part of editor simulation, replay or normal production operation. Original captures, credentials, user data and generated reports remain excluded from Git.