Thank you for contributing to IOSM.
- Preserve the normative meaning of the specification.
- Keep repository examples aligned with the normative spec.
- Update schemas, examples, and templates together when a structural change is introduced.
- Use explicit change rationale in pull requests.
- Avoid ambiguous wording around
MUST,SHOULD, andMAY.
If you change the normative spec, review whether the following also require updates:
README.mdIOSM_SPEC_v1.0.mdartifacts/examples/*artifacts/templates/*schemas/*.schema.jsonscripts/validate_repository.py.github/workflows/validate-spec-repo.ymlrequirements-dev.txtCHANGELOG.md
Before opening a pull request, run:
python3 -m pip install -r requirements-dev.txt
make validate- The change is consistent with the current IOSM version.
- The repository examples still match the spec.
- Any affected schema has been updated.
- Local validation passes (
make validate). - New normative requirements are explicitly stated.
- Versioning impact is described in the pull request body.
- Use patch-level repository changes for clarifications and non-breaking repository improvements.
- Use a new versioned spec file for incompatible normative changes.
- Do not silently rewrite old spec versions.
Open an issue or pull request if you find:
- inconsistent normative language;
- missing artifact coverage;
- schema/spec mismatches;
- incomplete examples;
- ambiguity in gate semantics, evidence rules, or stabilization logic.