# 3. C++ Contribution Standards ## Baseline coding expectations - C++20 style and concepts where applicable - clear ownership semantics - no hidden communication side effects in local APIs - explicit distributed behavior in API contracts ## Public API discipline For public headers: - avoid unnecessary breaking signature changes - use descriptive parameter names - maintain consistency with specs and ADRs ## Error handling model - use `dtl::result`/`dtl::status` where expected by module conventions - do not silently swallow backend failures - preserve clear distinction between unsupported and failed operations ## Performance and correctness - avoid introducing extra copies in hot paths - maintain local-vs-remote behavioral clarity - keep collective behavior explicit and contract-based ## Review checklist for C++ changes - signatures and docs synchronized - behavior verified with tests - no ownership regressions - release notes/spec updates when externally visible