Skip to content

How-to: contribute

See the top-level CONTRIBUTING.md for the canonical workflow.

Short version

  1. Fork + branch. feat/<name>, fix/<name>, docs/<name>.
  2. Write the spec first (Rule 35 — SDD). For runtime changes, update docs/reference/specs/.
  3. Tests. At least one unit test under tests/unit/; smoke test when crossing modules.
  4. Run the full gate. make all (lint + typecheck + test + audit).
  5. 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 triggers
  • fix(privacy): DSAR ERASURE delegates to DeletionCascade
  • docs(architecture): document camada 18 (cognitive)

Quality bar

  • Reviewers ≠ producers (Rule 15)
  • Strict mypy on src.pipeline.* and src.privacy.*
  • Coverage ≥ 60% (target 85%+)
  • All 5 audits CLEAN