# Contributing to dsh-model-jury Thank you for improving structured cross-model peer review for DeepSeek Harness. ## Before opening a change - Keep provider credentials outside the repository, fixtures, logs, and artifacts. - Preserve Round 1 blindness and Round 2 anonymity. - Keep aggregation deterministic. A model must not become a permanent chairman or silently replace quorum, vote, dissent, or critical-risk policy. - Keep Model Jury deliberation-only. Do not add automatic code changes, commits, pushes, deployments, or mutation tools to the protocol. - Use public DSH APIs and provider-neutral routes where available. ## Development Use Node.js `^22.19.0` or `>=24` and pnpm `10.28.2` or a compatible release: ```sh pnpm install --frozen-lockfile pnpm test pnpm typecheck pnpm build pnpm pack ``` Tests must use fake seats unless a change specifically requires an opt-in real-provider validation. Never put API keys into test fixtures. Real-provider transcripts must contain only visible structured responses and safe metadata. ## Pull requests Explain the user-visible problem, the resulting behavior, and how you verified it. Keep protocol changes separate from provider or documentation changes when practical. Add a regression test when a bug could confuse anonymous labels, leak provider identity, change quorum behavior, drop dissent, or alter critical-risk handling. By contributing, you agree that your contribution is licensed under the MIT License.