Skip to content

Latest commit

 

History

History
88 lines (61 loc) · 3.52 KB

File metadata and controls

88 lines (61 loc) · 3.52 KB

Contributing to CIRCUIT

CIRCUIT is a vendor-neutral, community-owned standard released under the Apache License 2.0. Jumpmind is its initial adopter, not its proprietor. Contributions from organizations and individuals are what turn a specification into a standard.


How Changes Are Governed

The standard uses semantic versioning (whitepaper §8.2):

Revision What changes Example Compatibility
Patch (1.x.y) Errata only. No change to the reachable CRS set, band thresholds, IMS ladder, or Ten Rules. 1.1.0 → 1.1.1 All 1.x entries remain valid
Minor (1.x) New schema fields, clarified rule wording, new tooling. Backward-compatible. 1.1 → 1.2 All prior 1.x entries valid
Major (x.0) Formula, factor domains, or band boundaries change. Reachable-score enumeration republished. 1.x → 2.0 Entries must be re-evaluated

Any change that alters the formula, the reachable CRS set, the band thresholds, the IMS ladder, or the Ten Rules is a Major revision and requires a full steering committee proposal.


Submission Process

  1. Open a Discussion first. Before filing an Issue or PR, start a GitHub Discussion. This is where the community evaluates whether a proposal belongs in CIRCUIT and whether it is Patch, Minor, or Major. Steering committee members participate here.

  2. Open a tracked Issue once Discussion reaches rough consensus. Use the appropriate issue template (Bug, Schema Change, or Tooling Integration).

  3. Submit a Pull Request against main. Reference the Issue number. PRs that skip the Discussion step will be closed and redirected there.


What Requires Steering Committee Sign-Off

The following always require steering committee review, regardless of size:

  • Any change to the CRS formula (Risk Tier × (6 − IMS) × DCW)
  • Any change to the IMS level definitions or evidence requirements
  • Any change to the Ten Rules (text, scope, or exceptions)
  • Any change to the band thresholds (12/13, 47/48, or 96/97 boundaries)
  • Any change to the category access ceilings (A→5, B→3, C→2)
  • Any change to the DCW or Risk Tier factor domains

What Does Not Require Steering Committee Sign-Off

  • Typo and errata fixes (Patch; maintainer approval sufficient)
  • New tooling in tooling/ that implements — but does not change — the formula
  • New worked examples added to templates/
  • Documentation translations

Canonical Values — Do Not Modify Without a Formal Proposal

These values are locked as of v1.1.0. Any PR modifying them without a formal Major-revision proposal will be closed.

CRS = Risk Tier × (6 − IMS) × DCW

Risk Tier:  Low=1, Moderate=2, High=3, Critical=4
DCW:        Advisory=1, Recommended=2, Automated=3, Irreversible=4, Catastrophic=5
IMS:        0–5
Ceilings:   Category A → IMS 5 max | Category B → IMS 3 max | Category C → IMS 2 max
Max CRS:    120  (4 × 6 × 5)
Bands:      Green 1–12 | Amber 13–47 | Red 48–96 | Purple 97–120
ACFR:       Integer count of P1 safety-circuit bypasses per quarter; Rule 7 trigger ≥ 1

License

By submitting a contribution you agree your contribution is licensed under the Apache License 2.0. Do not submit material under a different license without explicit discussion.

Community Standards

This repository uses GitHub Discussions for community conversation. There is no Slack or Discord channel — the target audience works asynchronously. Keep discussion professional and on-topic.