Memory 019e7f0e

Memory ID (Session ID): 019e7f0e-cece-7000-82ff-c0bbad2306fc
Last Updated: 2026-05-31 19:34:36

Fact Summary

MixBox Monorepo Structure

  • Type: astral-uv Python workspace monorepo
  • Runtime: Python 3.11+
  • Package manager: uv (workspace configurations)
  • Linter/Formatter: Ruff (100-char line limit)
  • Test framework: Pytest with markers (unit, smoke, integration, rotation)

Package Architecture (under packages/)

  1. audio-core (audio_core): Shared foundation - audio loading, format conversion (NumPy/Pydub), feature extraction constants. All other packages (except emotion) depend on it.
  2. dj-engine ([[projects/mixbox|MixBox]]): Primary orchestrator - mixing engine, beatgrid analyzer, UIs, review planning/websocket service.
  3. analyzer (hitscan): Deep audio feature analysis (MIR).
  4. video-gen (hitvid): Audio-reactive video generation.
  5. emotion (valaro): Valence-arousal emotion detection (standalone tensorflow).

Development Commands

  • All commands use uv run prefix
  • Ruff for formatting/linting
  • Pytest execution with markers for test categorization
  • Quality gate triggers for rotation tests

Code Patterns

  • Audio loading/conversion formats as common patterns
  • Pydantic validations throughout
  • Async handling patterns
  • WebSocket timeline messaging for interactive OpenDAW UI
  • NiceGUI for interfaces

AGENTS.md Generation Approach

  • Used parallel task agents to explore: core src, tests, configs/build, scripts/docs
  • Synthesized findings into structured markdown with 8 sections
  • Document titled ‘Repository Guidelines’ per directive
  • Written to project root /home/dev/AGENTS.md

Reference Session