Skip to content

Governance

Cratis is an open-source project, but not every decision belongs in the same channel. Small fixes can move directly through issues and pull requests. Larger design choices need discussion, context, and a durable record.

ChangePath
Small documentation fixPull request or documentation issue
Reproducible bugProduct issue, then pull request
Small featureProduct issue with motivation and expected behavior
Cross-product designDiscord discussion, then a durable GitHub issue or design note
Architectural decision later work must followA decision record in the owning repository, where it keeps one
Breaking changeDesign discussion, migration notes, release note, and documentation update
Security fixPrivate report first, public disclosure only after coordination
  1. Start with the problem, not the implementation.
  2. Discuss early in Community and help when the shape is unclear.
  3. Capture actionable work in the repository that owns the behavior.
  4. Link related docs, examples, issues, and pull requests.
  5. Update documentation and release notes when behavior changes.

Some repositories keep decision records, for example Chronicle and Arc in a top-level decisions/ folder and Components under Documentation/decisions/. Where a repository has one, a decision that later work must obey is written there and reviewed like any other change. Where it does not, the issue or pull request that settled the question is the record. Check the owning repository before assuming either.

Maintainers may ask for narrower scope, more context, tests, documentation, migration guidance, or a different product boundary. The goal is to keep Cratis coherent across Chronicle and its clients, Arc, Components, the CLI, Fundamentals, the tools, and the docs. Review happens on a best-effort basis; there is no guaranteed turnaround for issues or pull requests.

The Code of Conduct applies across repositories, Discord, issues, pull requests, and project spaces. Security reports use the private process on Security.