mainis the production branch. Never push directly to main.- All changes go through feature branches merged via Pull Request.
- Branch naming conventions:
feat/description— new featuresfix/description— bug fixeschore/description— maintenance, CI, docs
- Create a feature branch from
main - Make your changes and push
- Open a PR targeting
main - CI must pass (green check) before merge
- Squash-merge or rebase-merge preferred
Tests must pass before merging. CI runs automatically on every push and PR.
pip install -e ".[test]"
pytest tests/ -vConformance tests against the Proof Specification run as part of the suite. If you modify the chain hash algorithm or proof structure, update the spec and test vectors first.
- Python 3.10+, type hints where helpful
- No linter enforced yet — match existing style
- Keep functions short, no deep nesting
- No comments unless the logic is non-obvious
If you discover a security vulnerability, do not open a public issue. Email contact@arkforge.tech with details.
Releases follow semver. To create a release:
git tag v0.3.0
git push origin v0.3.0This triggers the release workflow which:
- Runs the full test suite (gate)
- Creates a GitHub Release with auto-generated changelog