Add package lock for jellyfin AI api gateway - #57
Conversation
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (1)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including You can disable this status message by setting the Note 🎁 Summarized by CodeRabbit FreeYour 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 |
…age-lock.json Add package lock for jellyfin AI api gateway
…resh 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>
…resh 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>
…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>
Summary
Testing
https://chatgpt.com/codex/tasks/task_b_68d0090923208324aec03759b154d34d