3.4 KiB
Refresh audio queue for 3-level layout and upstream deps (2026-05-23)
Why
Thirteen audio-queue OpenSpec changes — enterprise-audio-codecs, enterprise-audio-codec-ffmpeg-{native,wasm}, enterprise-audio-engine-server, enterprise-audio-analysis-{spectrum,beat,loudness,pitch}, enterprise-audio-cli, enterprise-audio-sprite-player, and enterprise-react-audio-{player,stream,fingerprint} — were authored before the 2026-05-20 super-category restructure. They still encode the old 2-level packages/audio/<pkg>/ path and reference upstream contracts that do not exist on genesis. Four parallel implementation agents (one per package) refused to ship on 2026-05-23 because the proposals contradict CLAUDE.md and openspec/AGENTS.md §2c forbids silently rewriting spec elements during implementation.
This change ships the prerequisites those thirteen proposals depend on so they can be implemented as authored (post-refresh) with no further blockers.
What changes
-
Path migration — every audio-queue OpenSpec change's
proposal.md,tasks.md,design.md, andspecs/**/spec.mdis rewritten frompackages/audio/<pkg>/topackages/media/audio/<pkg>/(orpackages/ui/react/<pkg>/for the three react-audio changes). The closed super-category vocabulary inCLAUDE.mdis authoritative; no category is added. -
Workspace catalog: ffmpeg deps —
fluent-ffmpeg,@ffmpeg-installer/ffmpeg,@types/fluent-ffmpegadded tocatalog.audioandcatalog.types;@ffmpeg/ffmpegand@ffmpeg/coreadded tocatalog.audiofor the WASM variant. -
@suaveplan/audio-coreMODIFIED — add theAnalysisOpoperator contract and theAnalysisResultbase shape required by everyaudio-analysis-*package. These are types-only additions plus a small runtime helper (createAnalysisOp) for the four analysis packages to consume. -
enterprise-audio-engine-serverMODIFIED in place — replace the spec's hard import dependency on@suaveplan/audio-plugins-fx(which does not exist on genesis) with a locally-ownedPluginChain+BusRegistryshape defined inside the engine-server package itself. The original spec intent — per-track plugin chains with PDC recompute and a cycle-safe bus registry — is preserved verbatim; only the import location changes. When@suaveplan/audio-plugins-fxlands in a later wave, an additive OpenSpec amendment can re-route the contract to the upstream package. -
Date alignment — every refreshed proposal stamps its target archive folder as
openspec/archive/2026-05-23-<change-id>/and the proposalDate:line as2026-05-23. -
No scope changes — no Requirements are added, removed, or weakened in the refreshed change folders. Path corrections + dep additions + upstream-contract relocation only.
Impact
- Spec: 13 change folders rewritten in place (paths + dates only) plus one MODIFIED to relocate upstream contracts.
- Code:
@suaveplan/audio-coregainsAnalysisOp/AnalysisResulttypes +createAnalysisOphelper. Rootpackage.jsongains 5 catalog entries. - Downstream: the 13 implementation agents can now read their refreshed change folders and ship without further spec amendments. Each becomes an independent implementation PR.
- Risk: nil. Paths are mechanical, catalog additions are additive, the
@suaveplan/audio-coreaddition is types-only + one builder helper at 100% coverage in this change.