** Governance authority**:
docs/AirymaxOS/50-engineering-standards/07-maintainers-and-governance.md** Development process**:docs/AirymaxOS/50-engineering-standards/05-development-process.md** Engineering philosophy**:docs/AirymaxOS/50-engineering-standards/04-engineering-philosophy.md** SSoT registry**:docs/AirymaxOS/50-engineering-standards/09-ssot-registry.md
Copyright (c) 2025-2026 SPHARX Ltd. All Rights Reserved.
Before contributing, ensure you understand:
- IRON-1~15 Engineering Iron Rules — defined in 04-engineering-philosophy.md. These are non-negotiable.
- OS-IRON-013: 8 submodule architecture — changes to one submodule must not break others.
- OS-IRON-014: [SC] shared contract layer — headers in
kernel/include/uapi/linux/airymax/are the single physical source; changes require dual CI validation. - SSoT Registry — all rule IDs (OS-IRON, OS-KER, OS-STD-*) are registered in
09-ssot-registry.md. Never invent new IDs.
agentrt-linux/ # This management repository (main branch only)
├── kernel/ # submodule → feature/official-hubs-01
├── services/ # submodule → feature/official-hubs-01
├── security/ # submodule → feature/official-hubs-01
├── memory/ # submodule → feature/official-hubs-01
├── cognition/ # submodule → feature/official-hubs-01
├── cloudnative/ # submodule → feature/official-hubs-01
├── system/ # submodule → feature/official-hubs-01
└── tests-linux/ # submodule → feature/official-hubs-01
- Management repo:
mainbranch only. No feature branches here. - Leaf repos: Active development on
feature/official-hubs-01.
OS-IRON-007 / OS-KER-068: All commits must include a Signed-off-by: line.
When you submit a patch, you must sign off by adding:
git commit -sThis adds:
Signed-off-by: Your Name <your.email@example.com>
By signing off, you certify that:
- The contribution was created in whole or in part by you, and you have the right to submit it under the open source license (AGPL-3.0 OR Apache-2.0) indicated in the file.
- The contribution is based upon previous work that, to the best of your knowledge, is covered under an appropriate open source license and you have the right to submit that work with modifications or additions.
- You understand that submitting the contribution does not grant any license to your contribution beyond those granted in the project's license.
The Signed-off-by: chain from author → subsystem maintainer → top maintainer forms a traceable responsibility chain. Each maintainer who forwards a patch adds their own Signed-off-by:.
OS-STD-PROD-031: All commits must use git commit -s to add DCO signature.
subsystem: short description (≤72 chars)
Detailed explanation of what and why. Wrap at 72 chars.
Fixes: <commit-sha> ("original commit description") # if fixing a bug
Closes: #<issue-number> # if closing an issue
Link: <url-to-relevant-discussion> # if referencing external context
Signed-off-by: Your Name <your.email@example.com>
| Prefix | Scope |
|---|---|
kernel: |
kernel/ submodule |
services: |
services/ submodule |
security: |
security/ submodule |
memory: |
memory/ submodule |
cognition: |
cognition/ submodule |
cloudnative: |
cloudnative/ submodule |
system: |
system/ submodule |
tests-linux: |
tests-linux/ submodule |
docs: |
Documentation changes |
ci: |
CI/CD pipeline changes |
tools: |
tools/ changes |
ssot: |
SSoT registry or validation changes |
Changes to kernel/include/uapi/linux/airymax/ ([SC] layer) require:
- Submit PR to the kernel submodule repository.
- CI validates the kernel submodule builds.
- A mirror PR is triggered on agentrt to verify cross-project compatibility.
- Both CIs must pass.
- L1 subsystem maintainer (kernel M:) reviews.
- L3 top maintainer (SPHARX Engineering) gives final approval.
- Branch:
mainonly. - No feature branches are created on the management repository.
- Submodule pointer updates are committed directly to
main.
- Development branch:
feature/official-hubs-01 - Create topic branches from
feature/official-hubs-01for your work. - Submit PRs targeting
feature/official-hubs-01.
# Clone with submodules
git clone --recurse-submodules git@atomgit.com:openairymax/agentrt-linux.git
cd agentrt-linux
# Work in a submodule
cd kernel
git checkout feature/official-hubs-01
git checkout -b my-feature-branch
# ... make changes ...
git commit -s -m "kernel: add airymax_sched_tac policy"
git push origin my-feature-branch
# Create PR targeting feature/official-hubs-01- OS-STD-FMT-001: Tab-8 indentation (enforced by
.clang-format) - OS-STD-FMT-002: 80-column line width hard limit
- Run
make format-checkbefore submitting
rustfmt.toml: 4-space indentation- Run
cargo fmtbefore submitting
- Python: PEP 8 (enforced by
ruff) - Go:
gofmt - TypeScript: Prettier with 2-space indentation
- OS-STD-TEST-*: All changes must include or update tests.
- Unit tests: alongside the code in each submodule.
- Integration tests: in
tests-linux/submodule. - Formal verification: seL4-style proofs where applicable.
- Submit PR to the appropriate leaf repository on
feature/official-hubs-01. - CI pipeline runs (SSoT validation, build, checkpatch, sparse, tests).
- Reviewers are automatically assigned via
MAINTAINERS/CODEOWNERS. - At least one maintainer approval is required.
- For [SC] changes, L3 top maintainer approval is also required.
- Squash-merge to
feature/official-hubs-01.
All PRs are validated by the SSoT validation CI:
python3 tools/validate-ssot.py docs/AirymaxOS ssot-registry.yamlThis checks that every OS-*-NNN rule ID used in documentation is registered in the SSoT YAML registry (ssot-registry.yaml at the management repo root). Unregistered IDs cause CI failure.
- Bugs: File on the relevant submodule's GitHub Issues.
- Security vulnerabilities: See SECURITY.md.
- Design discussions: Use GitHub Discussions on the management repository.