Chore/cicd optimizations#2
Merged
Merged
Conversation
Add AI manifest, Trustfile, Dustfile, and assail recipe as part of the Floor Raise campaign to establish baseline tooling across all repos. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…iring Signal processing additions (4 new coprocessor operations): - AGC (automatic gain control) with soft clipping - Comfort noise generation (spectrally shaped) - Spectral VAD (FFT-based voice activity detection) - Perceptual weighting (A-weighting curve for noise reduction) All implemented in ElixirBackend with SmartBackend dispatch. 22 signal science tests + E2E pipeline tests passing. Transport layer: - QUIC module (0-RTT, multiplexed streams, connection migration) - RTSP module (broadcast rooms, IDApTIK CCTV feeds) - Bebop wire protocol schemas (voice_signal.bop, room_event.bop) - Port changed from 4000 to 6473 Self-test diagnostic system: - Quick/voice/full test modes - Coprocessor health, codec roundtrip, crypto, pipeline latency - Voice loopback, echo cancellation, multi-frame convergence - HTTP endpoint: GET /api/v1/diagnostics/self-test/:mode Integration wiring: - IDApTIK BurbleAdapter + VoiceBridge rewrite (port 6473, gaming profile) - PanLL BurbleModel + BurbleEngine + BurbleCmd (workspace huddles) - Competitor research report (docs/research/) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
First real-world Gossamer application — wraps the Burble ReScript web client as a native desktop app with features browsers can't provide: - main.eph: Gossamer webview shell, IPC channel registration, linear resource management for webview + audio handles - tray.eph: system tray with voice state icons and quick-access menu - hotkeys.eph: global push-to-talk (works when unfocused), Ctrl+M/D - audio_routing.eph: PipeWire direct integration, exclusive device access, latency measurement, device hot-swap - build.zig: links libgossamer, WebKitGTK, PipeWire, libnotify Architecture: one ReScript codebase, multiple shells. Web client runs in browser, Gossamer wraps the same UI with native features. ~4MB binary vs Electron's 150MB. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…deration, containers MUST items completed: - WebRTC voice pipeline wired (VoiceEngine.res — PeerConnection, signaling, getUserMedia, per-peer audio, reconnection with exponential backoff) - PTT client UI (keyboard listener, configurable key, TX indicator) - E2EE (X25519 key exchange, AES-256-GCM frame encryption, key rotation on join/leave, ratcheting for forward secrecy, WebRTC Encoded Transform) - Text chat (TextChat.res + MessageController — NNTPS threading, markdown, pagination, Phoenix channel real-time) - Container deployment (Containerfile.server multi-stage Chainguard, Containerfile.web nginx SPA, selur-compose.toml orchestration) SHOULD items completed: - Voice controls bar (mute/deafen/PTT/VAD toggle, level meter, self-test, settings, leave button, requestAnimationFrame render loop) - Room list sidebar (API fetch, participant display, click-to-join, auto-refresh, create room button) - Screen share (getDisplayMedia, SFU relay, one-per-room, moderator takeover) - Magic link email (Swoosh SMTP, rate limiting via Hammer, HTML template) - Moderation (kick/ban/mute/move/timeout, permission checks, audit log) - Mobile responsive CSS (breakpoints, safe-area, touch targets, drawer nav) - Channel routing (broadcast all/group/private/priority, server-enforced) - Instant connect (8-char codes, QR data, mutual confirmation, group invites) - Kaomoji status indicators (4 categories, animated frames, F-key shortcuts) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Voice masks (privacy-first voice transformation): - 6 built-in masks: neutral, android, cipher, whisper, chipmunk, bass - Custom mask support (user-defined parameters or uploaded profiles) - FFT-based pipeline: pitch shift, formant manipulation, spectral tilt, phase quantisation (roboticness), breathiness, vibrato removal - Strips vocal fingerprint while preserving intelligibility Channel routing (broadcast/group/private/priority): - 4 routing modes per participant, switchable at runtime - Server-enforced (SFU only forwards frames to routing scope) - Groups created dynamically, users can split/merge freely - Priority mode for moderators/announcers Instant connect (link/QR/code): - 8-char codes (no ambiguous I/O/0/1 chars) - Mutual confirmation via Avow consent - Group invites (multi-use, up to 50 joins) - Auto-expire (5 min default) - API: GET/POST /join/:code Kaomoji status indicators: - 4 categories: availability, reaction, technical, gaming - 22 built-in animated statuses with 2-4 frame animations - F-key shortcuts for critical ones (F9 = can't hear, F10 = mic issues) - Custom kaomoji support with auto-expire - Broadcast via Phoenix PubSub Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…roadmap Complete rewrite of TODO.md reflecting the 2026-03-22 marathon session. All 16 MUST and 11 SHOULD features marked complete. COULD items organised into 8 categories (privacy, accessibility, audio, transport, interop, platform, community, verification) for future sessions. Added BSL sign language avatar as accessibility COULD item. Updated dev instructions with port 6473 and PROVEN_LIB_DIR. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Changes
RSR Quality Checklist
Required
just testor equivalent)just fmtor equivalent)unsafeblocks without// SAFETY:commentsbelieve_me,unsafeCoerce,Obj.magic,Admitted,sorry).envfiles includedAs Applicable
.machine_readable/STATE.a2mlupdated (if project state changed).machine_readable/ECOSYSTEM.a2mlupdated (if integrations changed).machine_readable/META.a2mlupdated (if architectural decisions changed)TOPOLOGY.mdupdated (if architecture changed)CHANGELOGor release notes updatedsrc/interface/abi/andsrc/interface/ffi/consistent)Testing
Screenshots