examples/openai_realtime_brain/ -- the canonical foreign-language OpenAI Realtime brain (Python, ~150 lines, websockets lib only). Not in CI (zero-non-Rust-dev-deps dev loop per AGENTS.md). Mirrors the slice-2 echo_brain pattern and proves the protocol is language-agnostic. Hand-rolled against the spec §4.2 mapping rather than using the openai Python SDK: the SDK is unused by the wire-shape (both sides are plain WSS), so dropping it removes a dep that the plan skeleton imported but never called. session.update is sent with turn_detection=null (S4) matching the Rust brain. LEARNING.md gains 5 new pointers under a Slice 3 heading: async-trait in trait objects, the translator pure-function layer, additive protocol extension via #[serde(other)], the FOB-boundary side-channel mpsc, and the WS subprotocol handshake (openai_client.rs). README.md gains the Slice 3 dev loop section (mock mode without an OpenAI key, real-OpenAI mode, and the Python brain alternative). .gitignore learns about __pycache__/*.pyc (the Python brains aren't in CI but byte-compiled artifacts should never be tracked).
32 lines
472 B
Plaintext
32 lines
472 B
Plaintext
# Rust
|
|
/target
|
|
**/target
|
|
**/*.rs.bk
|
|
*.pdb
|
|
|
|
# Cargo.lock is committed (this is an application workspace, not a library)
|
|
|
|
# Env / secrets
|
|
.env
|
|
.env.*
|
|
*.pem
|
|
*.key
|
|
|
|
# Editor / OS
|
|
.DS_Store
|
|
*.swp
|
|
*.kate-swp
|
|
.idea/
|
|
.vscode/
|
|
|
|
# Python (examples/ Python brains are not in CI; ignore bytecode)
|
|
__pycache__/
|
|
*.pyc
|
|
|
|
# Local worktrees (per using-git-worktrees skill; isolation, not content)
|
|
.worktrees/
|
|
worktrees/
|
|
|
|
# visual-brainstorming scratch (superpowers companion)
|
|
.superpowers/
|