Contributing
Workflow
- Pick next open item from
PLAN.md - Implement in small focused commits
- Add or adjust tests
- Update docs pages and release notes
Engineering Standards
- Preserve system invariants:
- object path safety
- transaction boundaries for metadata + replication intent
- legal job-state transitions
- Prefer explicit state handling over implicit side effects.
- Keep changes scoped; avoid unrelated refactors in same PR.
- Add tests proportional to risk:
- small behavior change: focused unit test
- boundary/contract change: broader suite + integration coverage
Checks
gofmt -w ./...
GOCACHE=/private/tmp/go-build go test ./...
PR Template (Recommended)
Include:
- Problem statement
- Design choice and tradeoff
- Invariants affected
- Test evidence
- Docs updated (yes/no with links)
Documentation Rule
Every merged engineering milestone updates both project docs and this website docs section.