Skip to content

Getting help with Ophamin

TL;DR: open an issue for bugs + feature requests; consult the docs site for usage; use GitHub Discussions for open-ended questions.

Where to look first

Need Channel
How do I install / get started? Documentation site
How do I write a new scenario? Scenario authoring guide
How do I plug in my own substrate? SubstrateUnderTest protocol + tutorials
What does verdict X mean? Reading a proof
What's the wire format / schema? SCHEMAS.md
What's the API stability contract? docs/STABILITY.md
Where is the project headed? ROADMAP.md
Who decides what? GOVERNANCE.md
I think I found a bug. File a bug report
I want a new feature. File a feature request
I want to discuss design before filing an RFC. GitHub Discussions (when active)
I found a security vulnerability. Email the owner per SECURITY.md — do NOT file a public issue.

Before you file an issue

A few minutes here saves the maintainer the same time many times over:

  1. Search existing issues — your question may already be tracked.
  2. Reproduce on the latest release. pip install --upgrade ophamin (once PyPI publication is wired) or check out main and reinstall.
  3. Capture the minimal reproducer. A 10-line script that fails the same way is faster to fix than a stack trace.
  4. Include environment info. python --version, pip freeze | grep ophamin, OS + arch.

What kind of response to expect

Per GOVERNANCE.md, Ophamin is a single-author project in 0.10.x. Response cadence is best-effort and capacity-limited; "reasonable window" is on the order of days for substantive PRs and hours for security reports.

If you need a faster turnaround for a commercial deployment, that conversation happens via the owner's email in CITATION.cff (or your existing direct channel).

Contributing

If you'd like to contribute code, docs, scenarios, or infrastructure: CONTRIBUTING.md. Every PR must:

  • Pass the local pre-push gates (pytest -q --cov=src/ophamin --cov-fail-under=75 + mypy --strict src/ophamin + ruff check src tests);
  • Carry a CHANGELOG entry under the appropriate section;
  • Carry stability-tier annotations for any new public symbol per docs/STABILITY.md.

PRs that don't pass these gates won't be merged; the gates exist to keep every release green on the public CI matrix.