source
Contributing To Ardur
Ardur is an engineering-first open source project. Contributions should
Ardur is an engineering-first open source project. Contributions should make the runtime, verifier, deployment posture, or framework support clearer and more trustworthy.
Before you open a pull request
- Make sure the change fits the public product surface.
- Update docs when behavior or support boundaries change.
- Keep claims aligned with the proof registry and verifier outputs.
- Avoid introducing internal-only language, session mechanics, or private planning material into the public surface.
Contribution priorities
We especially welcome contributions that improve:
- public docs and positioning clarity
- verifier and artifact quality
- runtime governance correctness
- framework adapters with honest support boundaries
- documentation clarity
- deployment and self-hosting guidance
- security hardening that stays proofable
Proof and honesty rules
- Do not call a capability proven unless the verifier and public artifacts back that claim.
- If a surface is design-only or foundation-scope, label it explicitly.
- Do not land docs that market a capability more strongly than the evidence allows.
No specific LLM model names in public surfaces
Public-facing artifacts in this repository must not name specific LLM products or model identifiers. This applies to docs, READMEs, comments, docstrings, commit messages, PR descriptions, recorded media metadata, and any test fixture or default-parameter literal that would surface a model id when read.
The rule exists for two reasons. First, model identifiers churn fast and hard-coded names age the public surface visibly within months. Second, benchmarks and adapters that name a specific model imply we recommend or endorse it; we don’t, and the protocol is meant to be model-agnostic.
In practice:
- Use generic phrasing: “a frontier LLM provider”, “an open-weight local model”, “the LLM under test”, “a major model family”.
- For configurable defaults, source the model id from an environment
variable (e.g.
ANTHROPIC_MODEL,OPENAI_MODEL) or require the caller to pass it explicitly. Don’t ship a hard-coded literal. - For attribution of review findings, use opaque codes (e.g. “external-review-G F6”, “external review round 2”) rather than naming the reviewing tool.
- For framework-name references, frameworks (LangChain, AutoGen, etc.) are fine — they’re libraries, not LLM models. Vendor names without a model identifier (Anthropic, OpenAI, Google) are acceptable when the context is “API provider” rather than “specific model”.
The CI secret-scan workflow includes a model-name gate that blocks
PRs containing common model-id patterns. If you have a legitimate need
to name a model in a private context (e.g. an internal benchmark log
that lives in a gitignored path), keep that material out of tracked
files entirely.
Current public repo note
This repo is opening in phases. Until the curated runtime code lands here, many contributions will be docs, media, packaging, or launch-surface changes rather than direct runtime edits. When code-bearing surfaces arrive, local check guidance should be updated to match the real public commands.
Pull request expectations
- Keep changes scoped and reviewable.
- Explain user-facing behavior changes clearly.
- Mention any security, compatibility, or proof-boundary impact.
- Link to the relevant verifier, artifacts, or limitation note when a claim is affected.
Security reports
For active vulnerabilities, use the process in SECURITY.md instead of opening
a public issue.