How-to: contribute¶
See the top-level CONTRIBUTING.md for the canonical workflow.
Short version¶
- Fork + branch.
feat/<name>,fix/<name>,docs/<name>. - Write the spec first (Rule 35 — SDD). For runtime changes, update
docs/reference/specs/. - Tests. At least one unit test under
tests/unit/; smoke test when crossing modules. - Run the full gate.
make all(lint + typecheck + test + audit). - Open a PR with a clear summary, why, test plan, and schema/contract impact.
Commit style¶
Conventional commits, single subject line ≤ 70 chars:
feat(pipeline): add CONTINUATION-PROTOCOL pause triggersfix(privacy): DSAR ERASURE delegates to DeletionCascadedocs(architecture): document camada 18 (cognitive)
Quality bar¶
- Reviewers ≠ producers (Rule 15)
- Strict mypy on
src.pipeline.*andsrc.privacy.* - Coverage ≥ 60% (target 85%+)
- All 5 audits CLEAN