Skip to content

Chore/cicd optimizations#2

Merged
hyperpolymath merged 10 commits into
mainfrom
chore/cicd-optimizations
Mar 22, 2026
Merged

Chore/cicd optimizations#2
hyperpolymath merged 10 commits into
mainfrom
chore/cicd-optimizations

Conversation

@hyperpolymath
Copy link
Copy Markdown
Owner

Summary

Changes

RSR Quality Checklist

Required

  • Tests pass (just test or equivalent)
  • Code is formatted (just fmt or equivalent)
  • Linter is clean (no new warnings or errors)
  • No banned language patterns (no TypeScript, no npm/bun, no Go/Python)
  • No unsafe blocks without // SAFETY: comments
  • No banned functions (believe_me, unsafeCoerce, Obj.magic, Admitted, sorry)
  • SPDX license headers present on all new/modified source files
  • No secrets, credentials, or .env files included

As Applicable

  • .machine_readable/STATE.a2ml updated (if project state changed)
  • .machine_readable/ECOSYSTEM.a2ml updated (if integrations changed)
  • .machine_readable/META.a2ml updated (if architectural decisions changed)
  • Documentation updated for user-facing changes
  • TOPOLOGY.md updated (if architecture changed)
  • CHANGELOG or release notes updated
  • New dependencies reviewed for license compatibility (PMPL-1.0-or-later / MPL-2.0)
  • ABI/FFI changes validated (src/interface/abi/ and src/interface/ffi/ consistent)

Testing

Screenshots

hyperpolymath and others added 9 commits March 18, 2026 17:05
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>
@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@hyperpolymath hyperpolymath merged commit 0523270 into main Mar 22, 2026
14 of 18 checks passed
@hyperpolymath hyperpolymath deleted the chore/cicd-optimizations branch March 22, 2026 10:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant