One repo, one issue, one PR.
Every automated or assisted change in this repository must be backed by a single open GitHub issue and delivered in a single, focused pull request.
- Issue-first. Do not start work without an open issue that explicitly describes the acceptance criteria.
- Bounded scope. Implement only what the issue acceptance criteria require. Do not add improvements, refactors, or housekeeping unless the issue asks for them.
- No cross-repo side-effects. Changes must stay inside this repository. Do not open PRs or push commits to other repositories as a side effect.
Every PR body must contain:
- The exact commands run (copy-paste, not paraphrased).
- Pass/fail output for each command (truncate long output but preserve the result line).
- Known gaps — anything not tested, deferred, or out of scope.
- Blocked items — external decisions or dependencies needed before the work can be completed.
The following paths carry elevated risk. Changes here require explicit maintainer approval before merge and must include validation evidence:
hosts/— machine-role definitions (host mutation risk)images/— image build definitionsprofiles/— NixOS profilesmodules/— shared NixOS modulesbuilders/— builder configurationflake.nix,flake.lock— flake root and dependency lockscripts/install*,scripts/enable*— install / provisioning*.service,*.timer,*.preset— systemd unitsebpf/— eBPF / kernel boundaryruntime/— runtime admission and capability checker.github/workflows/— CI/CD pipelinesconfigs/,channels/— host and channel configuration
Scripts and configs that write to /etc/ or /boot/, or that are invoked
during OS installation or recovery, must be:
- syntax-checked (
bash -norshellcheck) before the PR is opened; - smoke-tested in a non-production environment;
- documented with pass/fail evidence in the PR body.
Do not claim production readiness unless a full integration test result is included.
Nix expressions (profiles/, modules/, flake.nix) must evaluate cleanly
(nix flake check or equivalent) before the PR is opened.
Do not modify .github/workflows/ unless the issue explicitly requires it.
If a workflow change is required, state the reason in the PR body.
Changes to runtime/ or ebpf/ must include a quorum/anchor smoke-test
result demonstrating that capability checks and policy enforcement still pass.
The following are explicitly out of scope for agents operating in this repo:
- Modifying workstation implementation files beyond what the issue requires.
- Changing package manifests unless the issue requires it.
- Claiming production readiness without full integration evidence.
- Touching other repositories.