Skip to content

Install libsndfile dependencies in audio processor image - #61

Merged
POWERFULMOVES merged 2 commits into
mainfrom
codex/add-libsndfile1-to-audio-processor-dockerfile
Sep 23, 2025
Merged

POWERFULMOVES merged 2 commits into
mainfrom
codex/add-libsndfile1-to-audio-processor-dockerfile

Conversation

@POWERFULMOVES

@POWERFULMOVES POWERFULMOVES commented Sep 22, 2025

Copy link
Copy Markdown
Owner

Summary

  • add libsndfile1 and libasound2 to the audio processor Docker image dependencies so audio tooling can run

Testing

  • docker build -t jellyfin-ai-audio-processor . (fails: docker command not found in environment)

https://chatgpt.com/codex/tasks/task_b_68d0090c0d648324bfb18be93683f88a

Summary by CodeRabbit

  • Chores
    • Updated container build configuration for the audio processing service, adjusting dependency installation and build steps.
    • Ensures required audio-related system libraries are included during image build.
    • No changes to application features, settings, or workflows.
    • No impact on APIs, integrations, or compatibility.
    • No expected effect on runtime behavior or performance for end-users.

@coderabbitai

coderabbitai Bot commented Sep 22, 2025

Copy link
Copy Markdown
Contributor

Caution

Review failed

The pull request is closed.

Walkthrough

The Dockerfile now contains a duplicated, identical build-stage sequence (two consecutive FROM python:3.11-slim stages) and also adds libsndfile1 and libasound2 to the apt install list; the final image is still produced from the last stage.

Changes

Cohort / File(s) Summary
Dockerfile duplication & deps
CATACLYSM_STUDIOS_INC/PMOVES-PROVISIONS/docker-stacks/jellyfin-ai/audio-processor/Dockerfile
Introduced a second, identical build stage (duplicate FROM python:3.11-slim block) containing the same WORKDIR, apt installs (including ffmpeg, curl, libsndfile1, libasound2), requirements caching, code copy, permissions, EXPOSE and ENTRYPOINT. Redundancy may be unintended; no public API changes.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

I hop through layers, twice the view,
A twin-stage echo in Docker’s dew.
sndfile and asound join the tune,
ffmpeg hums beneath the moon.
A curious duplicate—I'll nose and chew. 🐇


📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Free

📥 Commits

Reviewing files that changed from the base of the PR and between d45c5c1 and 6485727.

📒 Files selected for processing (1)
  • CATACLYSM_STUDIOS_INC/PMOVES-PROVISIONS/docker-stacks/jellyfin-ai/audio-processor/Dockerfile (1 hunks)

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Please see the documentation for more information.

Example:

reviews:
  pre_merge_checks:
    custom_checks:
      - name: "Undocumented Breaking Changes"
        mode: "warning"
        instructions: |
          Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.


Note

🎁 Summarized by CodeRabbit Free

Your organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login.

Comment @coderabbitai help to get the list of available commands and usage tips.

@POWERFULMOVES
POWERFULMOVES merged commit 02a24f6 into main Sep 23, 2025
0 of 3 checks passed
POWERFULMOVES pushed a commit that referenced this pull request Dec 22, 2025
Addresses critical CVE in torch.load with weights_only=True.

Changes:
- torch: 2.3.1 → 2.6.0
- torchvision: 0.18.1 → 0.21.0
- torchaudio: 2.3.1 → 2.6.0
- CUDA wheels: cu121 → cu124

⚠️ Breaking: Requires CUDA 12.4 runtime (was 12.1)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
POWERFULMOVES added a commit that referenced this pull request Dec 23, 2025
Addresses critical CVE in torch.load with weights_only=True.

Changes:
- torch: 2.3.1 → 2.6.0
- torchvision: 0.18.1 → 0.21.0
- torchaudio: 2.3.1 → 2.6.0
- CUDA wheels: cu121 → cu124

⚠️ Breaking: Requires CUDA 12.4 runtime (was 12.1)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Codex Agent <codex-agent@example.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
POWERFULMOVES added a commit that referenced this pull request Jan 2, 2026
Addresses critical CVE in torch.load with weights_only=True.

Changes:
- torch: 2.3.1 → 2.6.0
- torchvision: 0.18.1 → 0.21.0
- torchaudio: 2.3.1 → 2.6.0
- CUDA wheels: cu121 → cu124

⚠️ Breaking: Requires CUDA 12.4 runtime (was 12.1)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Codex Agent <codex-agent@example.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
POWERFULMOVES added a commit that referenced this pull request Jan 18, 2026
…dio-processor-dockerfile

Install libsndfile dependencies in audio processor image
POWERFULMOVES added a commit that referenced this pull request Jan 18, 2026
Addresses critical CVE in torch.load with weights_only=True.

Changes:
- torch: 2.3.1 → 2.6.0
- torchvision: 0.18.1 → 0.21.0
- torchaudio: 2.3.1 → 2.6.0
- CUDA wheels: cu121 → cu124

⚠️ Breaking: Requires CUDA 12.4 runtime (was 12.1)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Codex Agent <codex-agent@example.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
POWERFULMOVES added a commit that referenced this pull request Jan 18, 2026
Addresses critical CVE in torch.load with weights_only=True.

Changes:
- torch: 2.3.1 → 2.6.0
- torchvision: 0.18.1 → 0.21.0
- torchaudio: 2.3.1 → 2.6.0
- CUDA wheels: cu121 → cu124

⚠️ Breaking: Requires CUDA 12.4 runtime (was 12.1)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Codex Agent <codex-agent@example.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
@POWERFULMOVES
POWERFULMOVES deleted the codex/add-libsndfile1-to-audio-processor-dockerfile branch March 7, 2026 21:40
POWERFULMOVES added a commit that referenced this pull request Jul 18, 2026
…c note

Forward bump picking up PR #61: committee-controlled eligibility roll (M-of-N
enrol/revoke) — stage 3 of the #5 governance replacement. Spec updated to state
the committee-constitution trust assumption explicitly (review).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
POWERFULMOVES added a commit that referenced this pull request Jul 18, 2026
…c note

Forward bump picking up PR #61: committee-controlled eligibility roll (M-of-N
enrol/revoke) — stage 3 of the #5 governance replacement. Spec updated to state
the committee-constitution trust assumption explicitly (review).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
POWERFULMOVES added a commit that referenced this pull request Jul 18, 2026
…ign a contested ballot (#2154)

* docs(fordham): ballot prior art + A2UI reconciliation — HMAC cannot sign a contested ballot

The pilot package plans to receipt resident votes with sign_cgp() -- symmetric
HMAC (chit_security.py:91). Whoever holds the key can forge any ballot and any
tally, and the operator holds the key. For a contested governance vote, where
the operator's neutrality is itself the question, that is disqualifying.

It also defeats the record-keeping purpose: an artifact its own custodian can
forge carries little evidentiary weight. Integrity against outsiders and
verifiability against the operator are different properties; this needs the
second one.

Fix: Ed25519 -- and we already wrote it. PMOVES-ClawZ/ui/src/ui/
device-identity.ts on @noble/ed25519 3.1.0 already does keypair +
SHA-256-fingerprint-as-id + persistence. Port that pattern; don't hand-roll
crypto. (My first draft recorded "no Ed25519 anywhere in the repo" -- a survey
result I hadn't checked. Wrong. The doc flags the error, because "we already
built this and forgot" is the failure mode it exists to stop.)

Also lands what neither lane had: voting-systems prior art. Repo-wide greps
returned Benaloh 0 files, ElectionGuard 0, "coercion resistance" 0, Ostrom 0.
Every design decision now tracks to a citation (Helios, Delaune/Kremer/Ryan,
Juels/Catalano/Jakobsson, BeleniosRF, Estonian revoting, NY BCL 602).

Findings:

- Two lanes built the same thing and contradict each other on voting basis --
  the decision this package's own README calls most consequential. The pilot
  lane is the better work; A2UI pm-ballot was built without reading it.
- Helios -- the reference system -- scopes itself to LOW-COERCION environments.
  A contested cooperative recall is not one.
- Receipt-freeness: #2153's nonce gives the voter a durable proof of their own
  vote, which a coercer can simply demand. Estonia time-limits verification
  (~30min) precisely because a durable receipt IS the coercion instrument.
- status:"superseded" defeats revoting -- the anti-coercion mechanism only works
  if the ballot count stays secret. That is the documented Estonian eID-log
  leak, reproduced by design.
- Petition and secret ballot are opposite instruments and cannot be one
  component. US labor law already encodes the split (authorization cards vs
  NLRB election). A provable ballot is a validity risk: counsel argues
  procedure, not merits.
- NY practice: the managing agent is often the inspector of election. An
  inspector drawn from the incumbent side is structurally conflicted, whatever
  the facts of a given building -- and no amount of cryptography fixes a
  conflicted tabulator.
- Research integrity: the "~500 vs ~750 tokens" collusion finding in
  articles_long.md is fabricated -- no simulation exists. The QV formula and the
  DAO constitution's quorum numbers are unsourced. Counter-example and standard
  to copy: ECONOMIC_MODEL_VALIDATION_REPORT.md (real bibliography, 34 tests,
  honest about its limits).

Corrects two lines in the existing package: "one signing key underwrites both
trust surfaces" holds for agent trails, fails for ballots; and the "ballot is
just another CGP payload" reduction is what carries the HMAC flaw.

Adds 5 items to the Legal Review Register and 3 Open Operator Decisions.

Buildable today with no election-law exposure: the bylaws corpus, on the real
pdf-ingest -> extract-worker -> Qdrant/Meili -> hi-rag-gateway-v2 chain.

Note on framing: this repo squash-merges using COMMIT_MESSAGES, so commit text
lands on main. Threats are described structurally here; no party is named.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(pr): address all CodeRabbit + Codex review comments on #2154

Review fixes:
- amd-voice.yml: reset inherited NVIDIA device reservation (Codex P2),
  use compose service DNS for Ultimate TTS URL instead of host.docker.internal
  (Codex P2)
- ballot prior-art doc: distinguish Ed25519 authentication from ballot
  secrecy, add key enrollment/revocation requirements (CR Major);
  make repo-wide grep claim reproducible with exact commands + revision
  (CR Minor); align pipeline status wording with §8 MODELED (CR Minor)
- mcp_inventory.json + test_mcp_config_generator.py: update cipher SSE
  path from /mcp/sse to /api/mcp/sse to match actual endpoint (CR)

Infrastructure fixes (session convergence):
- docker-compose.yml: cipher-api Ollama URL → host.docker.internal +
  extra_hosts for GPU passthrough
- crush-env.sh: new env resolver script for tier file ${VAR} chain resolution
- crush-pmoves: source crush-env.sh before/after bootstrap
- pmoves-mini: use .venv-pmoves Python (typer/PyYAML available)

All 17 MCP config generator tests pass.

* fix(crush-env): use BASH_SOURCE[0] directly for sourced path resolution

The ${1:-...} fallback incorrectly picked up the caller's first
positional argument when sourced. BASH_SOURCE[0] always resolves
to the script's own path, which is the correct behavior for source.

* docs(fordham): voter-identity key-custody + token-structure refresh decision records

Two decision records extending the Fordham decision-record lane (07):

08-voter-identity-key-custody.md — decides how a resident's identity/key works
for a contested ballot. An adversarial review inverted the intuitive "resident
signs their vote" design: signing a choice is a coercion receipt, WebAuthn-primary
disenfranchises an elderly electorate, and operator-run enrollment recreates
forgeability. Corrected architecture: residents authenticate eligibility (they do
not sign their choice); an election committee threshold-signs the tally (no single
party can forge); a paper ballot is a first-class equal path; the eligibility
credential is decoupled from Archon minting and the token structure. Generalizes to
a two-mode primitive (adversarial/secret vs consensual/attributable) with a
mode-separation invariant.

TOKEN_STRUCTURE_REFRESH.md — the incentive engine beneath the consensual mode.
Current structure carries a plutocratic on-chain layer (stake-locked voting power,
freely-transferable token) contradicting a fair-but-unwired off-chain attribution
layer (Dirichlet, everyone non-zero). Refresh direction: standing from real, agreed,
kept commitments — not capital held/locked/traded. Concrete diffs: sever governance
power from stake, make credit soul-bound, and wire distributeWeekly() to the
existing Dirichlet weights instead of a Gaussian draw. Anti-extractive,
anti-rent-seeking, anti-money-changing, anti-speculative by construction.

Both DRAFT, REQUIRES LEGAL REVIEW (securities question counsel-gated).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(cataclysm): crystallize token-cooperative spec into the crosslinks bridge

Refreshes the stale (2026-03-11) vision↔implementation bridge via a 9-agent
fan-out reconciling CATACLYSM_STUDIOS_INC/ (L1–L5) against built code.

Headline finding: there is no single token trinity — there are two competing
designs. The DOCUMENTED trinity ($CAT governance / $WORK reputation SBT / $CRED
spend credit) has zero code; the BUILT design is a dual-token FoodUSD+GroToken
core (the design the DAO docs claim to supersede) plus mechanics + off-chain
Dirichlet/commitment layer.

Decision (Path A): built FoodUSD+GroToken is canonical for the sim/utility layer
now; $CAT/$WORK/$CRED is the target governance-layer redesign. Adds the built⇄
documented mapping, spec⇄code gap matrix, 9 contradictions, binding boundaries,
and 10 open decisions. Records the coordinator Dirichlet wire as done (PR #55).

DRAFT — every clause touching a binding vote or token-as-investment is
counsel-gated.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* chore(submodule): bump PMOVES-ToKenism-Multi to pick up the token-refresh chain

Forward bump 84b1620 -> d41bd8e on PMOVES.AI-Edition-Hardened, landing the full
anti-extractive token-structure refresh + policy-variable weave-in:
  #53 distributeByAttribution (Dirichlet distribution)
  #54 CommitmentModel (commitment-first attribution)
  #55 coordinator wire — Gaussian retired from the sim flow
  #56 policy variables (contributionMeasure, soulbound)
  #57 scenario-sweep harness (Gini/concentration/D12 per policy)
  #58 concentration cap (maxConcentration)
  #59 FoodUSD vendor-lock (toward $CRED)

Each PR independently code-reviewed and TDD-green (390 tests). Implements the
directions in pmoves/docs/architecture/TOKEN_STRUCTURE_REFRESH.md and the open
decisions parameterized in pmoves/docs/CATACLYSM_CROSSLINKS.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(cataclysm): mark parameterized open decisions + policy-knob library

Round-2 weave-in landed (submodule #53#59, gitlink bumped): the sweepable open
decisions are now testable config knobs measured by the scenario-sweep harness,
not pre-decided. Marks #4 (soulbound), #6 (concentration cap), #7 (FoodUSD
vendor-lock) as PARAMETERIZED; adds a policy-variable table with measured Gini/
concentration effects; notes LoyaltyPoints/RewardsPool (#2) as the remaining
dedicated increment. Distribution is now commitment-first + Dirichlet (Gaussian
retired). DRAFT — counsel-gated where member-facing.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(spec): EqualWeightGovernor design (governance replacement, stage 1)

Brainstormed design for the tractable first increment of the #5 governance
replacement: an equal-weight (member/unit/share knob) governor with roll-%
quorum and a modeled M-of-N committee finalize gate (crypto stubbed behind a
pluggable TallySigner). Drop-in sim/bridge replacement for the plutocratic
CoopGovernor, which stays intact as the sweep contrast. Stages 2–5 (real
threshold crypto, voter-card credentials, secret-ballot integration, paper
parity) are sequenced as later counsel-gated lanes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(plan): EqualWeightGovernor implementation plan (5 TDD tasks)

Bite-sized, red-first plan for stage 1 of the #5 governance replacement:
roll+proposal+member-basis tally → castVote validation → basis contrast →
roll-% quorum+pass → k-of-n finalize gate + TallySigner. Full code per step,
CoopGovernor untouched, ends with PR + review + admin-merge.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* fix(ci): regenerate agents.yml overlay to clear compose drift

* chore(submodule): bump PMOVES-ToKenism-Multi — EqualWeightGovernor (#60)

Forward bump picking up PR #60: the equal-weight governor (member/unit/share
knob, roll-% quorum, k-of-n committee finalize gate) — stage 1 of the #5
governance replacement. CoopGovernor left intact as the sweep contrast.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(spec): MemberRegistry design (governance replacement, stage 3)

Committee-controlled eligibility roll: enrol/revoke each require k-of-n
committee approval (closes the enrollment chokepoint 08 flags), decoupled from
tokens, roll() feeds EqualWeightGovernor.setRoll(). Crypto stubbed behind the
same M-of-N gate pattern as stage 1. Stage 3 of the #5 arc.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(plan): MemberRegistry implementation plan (3 TDD tasks)

Enrol with k-of-n gate + config validation → revoke + active-only roll() →
integration proof (roll drives the governor). Full code per step, imports
EligibleMember from stage 1, no existing model modified.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* chore(submodule): bump — MemberRegistry (#61) + committee-genesis spec note

Forward bump picking up PR #61: committee-controlled eligibility roll (M-of-N
enrol/revoke) — stage 3 of the #5 governance replacement. Spec updated to state
the committee-constitution trust assumption explicitly (review).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(gov): stage-2 Ed25519 multisig TallySigner design spec

Real third-party-verifiable committee signature replacing MockThresholdSigner
behind the same TallySigner interface. k-of-n Ed25519 multisig (not FROST —
accountability is a feature at the tally layer); loose committee keyring;
keys injected (custody documented, not coded); float-excluded netstring
preimage shared by signer + verifier; verifyTallyAttestation is the
third-party informing surface (public keys only). Honors fordham-hill/08
('replaces single-operator HMAC') and the inform-not-decide north star.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant