Ctrl K
ComunidadGuías…

GOVERNANCE.md

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# Minddy governance

This governance applies to the public core distributed under AGPL-3.0-only. She
does not govern the operation of the managed service or commercial contracts,
separated in accordance with [docs/licensing.md](docs/licensing.md).

## Roles

- **Contributor**: any person who reports, documents, reviews or proposes a
change. This role does not give any writing rights.
- **Reviewer**: regular contributor to whom a maintainer entrusts the review and
sorting on a domain. It recommends a decision but does not merge without
  explicit permission.
- **Maintainer**: person with sorting and merging rights. She
guarantees the scope, quality, security, licensing and consistency of
decisions. Maintainers own the code through
  [`.github/CODEOWNERS`](.github/CODEOWNERS).
- **Main maintainer**: responsible for the deposit and final arbiter when a
consensus is impossible. This role is currently held by
  [@mangue-dev](https://github.com/mangue-dev).

A maintainer can promote a reviewer or a maintainer after
sustained contributions, reliable reviews and demonstrated adherence to
project policies. The decision is announced publicly. The role can be
removed after six months of inactivity, at the request of the person, or for reasons
safety or conduct, with a public record when confidentiality requires it.
when confidentiality requires it.

## Propose and decide

1. Bugs and improvements go through the issue forms. A change
important (architecture, data, API, license, security or compatibility)
must be discussed and accepted before its implementation.
2. Ordinary decisions seek **lazy consensus**: in
the absence of a reasoned objection for three working days, a maintainer may
accept. A structuring decision remains open for at least seven days
calendars and records options, constraints and consequences.
3. An objection must propose a verifiable risk or alternative. THE
responsible maintainer summarizes the decision in the issue or the pull
request. In the event of persistent disagreement, the main maintainer decides and
   explains why.
4. A security emergency can be handled privately and merged without delay.
The decision and the publishable elements are recorded after the correction.

A person recuses himself when he has a direct financial interest, a conflict
personal or alone produced the disputed change. No author approves
its own pull request. Changes in license, commercial boundary or
of this governance require a dedicated outcome and the explicit agreement of the
main maintainer.

## Review and merge

Any external contribution arrives by pull request from a branch or a
fork. The maintainer starts by reading the diff, especially the scripts,
workflows, manifests and lockfiles, before authorizing CI execution. THE
Safety instructions are detailed in [CONTRIBUTING.md](CONTRIBUTING.md).

A pull request must have a coherent scope, an accepted outcome when the
change is not trivial, tests proportionate to the risk, a
up-to-date documentation, DCO-compliant commits and all green checks.
Owner code approval is required. An approval becomes invalid
after another significant push. The merger is done by **squash merge**; THE
title and body of the final commit must retain context and sign-off
COD. A maintainer can close a correct but out-of-strategy proposal or
impossible to maintain.

## GitHub branches and settings

`main` is the integration branch and `production` is the release branch.
Both refuse direct pushes and force-pushes. The expected rules
are versioned in [`.github/REPOSITORY_SETTINGS.md`](.github/REPOSITORY_SETTINGS.md).
They require in particular a pull request, a code owner review, resolution
conversations and these checks:

- `CI / Tests & typecheck` ;
- `CI / Dependency audit`;
- `DCO / Developer Certificate of Origin`.

Administrators follow the same rules, excluding emergency intervention
documented. Branches are deleted after merge and only squash merge
is permitted.

## Labels and sorting

Forms ask `bug` or `enhancement`. `documentation`, `dependencies`
and `security` describe the domain; `needs reproduction` indicates that a bug does not
cannot yet be confirmed; `breaking change` indicates an incompatibility;
`status: blocked` makes a dependency explicit. `good first issue` and
`help wanted` are only set if the scope and acceptance criteria
are sufficiently precise for external contribution.

## Dependencies

Dependabot offers npm updates for web applications every week and
desktop, and each month those of GitHub Actions. A dependency is not added
only if its necessity, maintenance, provenance and license are
compatible with [docs/licensing.md](docs/licensing.md). Updates
majors are never merged automatically. Any update goes through
the CI and the high/critical audit of the three lockfiles; an actionable alert is
prioritized according to its real impact and can follow the private security channel.