Skip to content

Add the Audiozentrale v2 object model - #45

Merged
alexdermohr merged 1 commit into
mainfrom
feat/audiozentrale-v2-object-model-v1-r2
Aug 2, 2026
Merged

Add the Audiozentrale v2 object model#45
alexdermohr merged 1 commit into
mainfrom
feat/audiozentrale-v2-object-model-v1-r2

Conversation

@alexdermohr

Copy link
Copy Markdown
Contributor

Summary

Implements Bureau task AUDIO-CONTROL-PLANE-V1-T019 against the approved Audiozentrale v2 plan.

  • adds a versioned product model for setups, typed signal lanes, internal modules, modulation links, scenes and immutable takes
  • binds the approved plan, both JSON Schemas and the existing profile catalog by exact path and SHA-256
  • maps the shipped five UI areas onto Jetzt, Setups, Bibliothek and System
  • keeps the four truth layers orthogonal to the three display depths
  • enforces at most one active setup and rejects free graphs, arbitrary ports, scripts, routing cycles, timeline, comping and clip editing
  • validates signal types through every module and requires a take to bind to an actual recorder lane
  • exposes a read-only CLI for contract checking, workspace validation and model projection

Security and correctness

The validator reads bounded regular files through a symlink-free directory chain. Each bound plan, schema and profile catalog is hashed and parsed from the same single snapshot. Duplicate JSON keys, non-finite numbers, invalid UTF-8, file changes during reads, unknown references and non-canonical product states fail closed.

The model does not add profile-apply, recording, routing, device or live-audio authority.

Revision binding

  • base: 25d790ff2fee589f725b8f96a3fd1e9d8ec34dfc
  • head: e55ce727a5db4a6321d63b3569b34e1b3642cc61
  • approved plan SHA-256: 61979e0e4182291b460274153bee4ce2c770225a5d6c7940ee52bdc4785e47ae
  • product model SHA-256: 87a36ce5cae399069adae5ad7b7b4fd015e2df5f71ed117dd950286d284e6d6f
  • binary diff SHA-256: 0ef461b7a7971fccb3546842e7849f3afc4ba436930530da5e2afd7434a3b0bd

Validation

  • focused product-model tests: 13/13 PASS, including 21 generated semantic negative cases
  • JSON Schema Draft 2020-12 validation: PASS for model and workspace
  • Ruff check and format: PASS
  • git diff --check: PASS
  • exact-head just check: PASS
  • full repository tests: 532/532 PASS
  • durable job receipt SHA-256: 706b357df8556b30ace94e18f290898443250b4bfd4b9a89d832d176997481d4
  • durable payload SHA-256: ac9e5da91a9cb575ed199f29764041098abbcd09e3b23756afd969f7bc0f7f9c

This branch supersedes PR #44 without rewriting its published history. No force-push was used.

No physical playback, recording, service start, PipeWire routing change or device mutation was performed.

@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.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@alexdermohr

Copy link
Copy Markdown
Contributor Author

Exact-head self-review — e55ce727a5db4a6321d63b3569b34e1b3642cc61

Methodically separate review after implementation and final deduplication.

Verified:

  • the approved plan, both JSON Schemas and the profile catalog are path- and SHA-256-bound;
  • each bound artifact is read once, then hashed and parsed from the same byte snapshot;
  • JSON parsing rejects duplicate keys, non-finite numbers, invalid UTF-8, symlinked path components, oversized files and mid-read mutation;
  • the workspace allows at most one active setup and an active setup must contain a signal lane;
  • signal types are propagated through every internal module and must match the lane target;
  • modulation cannot target recording, transport, output selection, master gain, panic/mute or safety actions;
  • scenes cannot alter routing and duplicate overrides are rejected;
  • takes are immutable, source-bound, timestamp-coherent and must reference a recorder lane;
  • free graphs, external ports/plugins, scripts, routing cycles, timeline, comping and clip editing are absent from the contract;
  • the implementation remains read-only and adds no live audio, recording, profile-apply or device authority;
  • the final test design uses one canonical workspace instead of a duplicated fixture.

Exact-head evidence:

  • binary diff SHA-256: 0ef461b7a7971fccb3546842e7849f3afc4ba436930530da5e2afd7434a3b0bd
  • product model SHA-256: 87a36ce5cae399069adae5ad7b7b4fd015e2df5f71ed117dd950286d284e6d6f
  • focused tests: 13/13 PASS with 21 semantic negative cases
  • full repository tests: 532/532 PASS
  • durable receipt SHA-256: 706b357df8556b30ace94e18f290898443250b4bfd4b9a89d832d176997481d4
  • git diff --check: PASS

No open material finding.

@alexdermohr
alexdermohr merged commit 0b150a1 into main Aug 2, 2026
1 check passed
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