Initial Commit

This commit is contained in:
2026-05-27 23:29:53 +01:00
commit fbc70f96e6
10000 changed files with 1102152 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
# Tasks — refresh-audio-queue-2026-05-23
## 1. Path migration across 13 change folders
- [ ] 1.1 Replace `packages/audio/` → `packages/media/audio/` in every `.md` file under `openspec/changes/enterprise-audio-{codecs,codec-ffmpeg-native,codec-ffmpeg-wasm,engine-server,analysis-spectrum,analysis-beat,analysis-loudness,analysis-pitch,cli,sprite-player}/`
- [ ] 1.2 Replace `packages/audio/react-audio-` → `packages/ui/react/react-audio-` in every `.md` file under `openspec/changes/enterprise-react-audio-{player,stream,fingerprint}/`
- [ ] 1.3 Re-stamp the `Date:` line in each refreshed proposal to `2026-05-23`
- [ ] 1.4 Verify no `packages/audio/` strings remain in any audio-queue change folder
## 2. Workspace catalog additions
- [ ] 2.1 Add `fluent-ffmpeg` (pinned) to `catalog.audio` in root `package.json`
- [ ] 2.2 Add `@ffmpeg-installer/ffmpeg` (pinned) to `catalog.audio`
- [ ] 2.3 Add `@types/fluent-ffmpeg` to `catalog.types`
- [ ] 2.4 Add `@ffmpeg/ffmpeg` (pinned) to `catalog.audio`
- [ ] 2.5 Add `@ffmpeg/core` (pinned) to `catalog.audio`
- [ ] 2.6 `bun install` to update lockfile
## 3. `@suaveplan/audio-core` `AnalysisOp` contract
- [ ] 3.1 Add `src/analysis/analysis-op.types.ts` declaring `AnalysisOp<TConfig, TResult>`, `AnalysisResult` base shape, `AnalysisFrame` window descriptor, `AnalysisCapabilities` flags
- [ ] 3.2 Add `src/analysis/analysis-op.ts` exposing `createAnalysisOp<TConfig, TResult>(spec): AnalysisOp<TConfig, TResult>` builder with Zod config validation, OTel instrumentation, AbortSignal handoff
- [ ] 3.3 Add sibling `analysis-op.md` (6 required sections)
- [ ] 3.4 Add `analysis-op.test.ts` covering builder happy-path, Zod rejection, OTel attribute propagation, signal handoff, error wrapping via `AUDIO_CORE.*`
- [ ] 3.5 Add `src/analysis/index.ts` barrel with explicit named re-exports
- [ ] 3.6 Wire `./analysis/analysis-op` subpath export in `package.json`
- [ ] 3.7 Add `./analysis` entry in root `src/index.ts` exports
- [ ] 3.8 Pre-publish gate green: `bunx turbo lint typecheck test --filter=@suaveplan/audio-core` + `bunx turbo test:coverage --filter=@suaveplan/audio-core` at 100/100/100/100
## 4. Engine-server upstream-contract relocation
- [ ] 4.1 In `openspec/changes/enterprise-audio-engine-server/specs/audio-engine-server/spec.md` replace every `@suaveplan/audio-plugins-fx/chain` reference with `./fx/plugin-chain` (relative to the engine-server package)
- [ ] 4.2 Add a NEW Requirement to that spec delta: "Engine-server owns its `PluginChain` + `BusRegistry` contracts" — three scenarios (chain interface shape, registry cycle detection, future-amendment seam)
- [ ] 4.3 Update `enterprise-audio-engine-server/proposal.md` workspace-deps table: remove `@suaveplan/audio-plugins-fx`, add note that contracts live in-package pending future upstream amendment
## 5. Analysis-spectrum spec clarifications
- [ ] 5.1 Add a Scenario to `enterprise-audio-analysis-spectrum/specs/audio-analysis-spectrum/spec.md` specifying the bin-reduction algorithm (log-spaced bucket means over the `frameSize/2+1` magnitude bins)
- [ ] 5.2 Confirm the window-list (Hann/Hamming/Blackman only — drop Kaiser from any task-prompt drift)
## 6. Ship the refresh
- [ ] 6.1 Fold this proposal's spec delta into `openspec/specs/audio-core/spec.md` (audio-core gains the `AnalysisOp` requirement)
- [ ] 6.2 Move this change folder to `openspec/archive/2026-05-23-refresh-audio-queue-2026-05-23/`
- [ ] 6.3 Run `bun scripts/folder-reorg/generate-manifest.ts`
- [ ] 6.4 Commit on `feat/audio-codecs` (no separate branch — this change is groundwork for all 13 downstream branches)