🎉 Thanks for your interest in contributing! PhaseBridge is a small, dependable core for lossless discrete ↔ phase ↔ discrete interchange.
Golden rule: The lossless round-trip contract is sacred:
decode(encode(x)) == xfor the declared alphabet.
-
Fork & clone
git clone https://github.com/synqratech/phasebridge.git cd phasebridge -
Set up Python 3.10+
python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate pip install -e .[dev]
-
Run tests
pytest -q
- Code — new adapters, bug fixes, performance.
- Docs — clarify, add examples, fix typos.
- Tests — expand coverage, property checks.
- Tooling — CI, packaging, developer UX.
- Integrations — connectors, bindings, demos.
- Lossless first: round-trip must be exact unless explicitly marked
processed:*. - Numeric discipline:
thetais float64, wrapped to[0, 2π). - Schema discipline:
schema.alphabet.type="uint", validM ∈ [2..2^32]. - API style: keep it small (
encode,decode,kappa,validate), clear errors, type hints.
For detailed developer guidelines, see docs/development.md.
- Branch:
feat/...,fix/...,docs/...,test/.... - Write tests for fixes and new features.
- Run tests before pushing:
pytest -q. - Commit messages: use concise imperatives, e.g.
feat: add MessagePack encoderfix: wrap theta to [0, 2π)docs: add image round-trip demo
- Open a PR with a clear description and link issues if relevant.
By contributing, you agree that your contributions will be licensed under the MIT License.
🙌 Thank you for helping make PhaseBridge reliable and useful!