Commit 608bfd9
AUDIT: enforce all 6 architectural laws + refine docs to purely referential form
Architectural-law fixes (INDEX.md §3):
- LAW 1 USR-OVER-ETC: relocate nvidia-container-toolkit cdi-refresh.env to
tmpfiles.d (create-if-missing); document /etc/yum.repos.d and CrowdSec
config as upstream-contract surfaces.
- LAW 2 NO-MKDIR-IN-VAR: consolidate /etc/cdi, /var/run/cdi, /var/lib/mios/gpu
into usr/lib/tmpfiles.d/mios-gpu.conf; strip redundant ExecStartPre install -d
/var/run/cdi from mios-gpu-{nvidia,amd,intel,status}.service.
- LAW 3 BOUND-IMAGES: extend automation/08-system-files-overlay.sh binder loop
to walk /etc/containers/systemd/ in addition to /usr/share; remove stale
mios-{guacamole,pxe-hub} symlinks; add cloudws-{guacamole,pxe-hub} and
mios-{ai,ceph,k3s} bound-images entries.
- LAW 4 BOOTC-CONTAINER-LINT: split bootc container lint from ostree container
commit so lint is the literal final RUN of Containerfile.
- LAW 6 UNPRIVILEGED-QUADLETS: declare User=/Group=/Delegate=yes on the six
cloudws/usr-share Quadlets with new sysusers entries
(usr/lib/sysusers.d/50-mios-services.conf); declare User=root/Group=root
explicitly on mios-ceph and mios-k3s as documented exceptions.
Build-pipeline fixes:
- Containerfile: COPY --from=ctx replaced with read-only bind-mount; security
stack moved into a new packages-base block invoked via install_packages_strict.
- PACKAGES.md: drop bare 'kernel' (replaced with 'kernel-core' for validation);
add packages-base, packages-moby, packages-uki, packages-sbom-tools,
packages-k3s-selinux-build blocks.
- Phase scripts 19/21/23/90 refactored from naked dnf install to install_packages
helpers (PACKAGES.md SSOT).
- automation/01-repos.sh: GPG-key install no longer swallows failure with
2>/dev/null; drop --best from F44 pre-upgrade.
CI workflow:
- .github/workflows/mios-ci.yml: read VERSION from file (no drift); rechunk
job gated on refs/tags/v* before push; cosign sign gated on tags only.
Justfile:
- Add 'lint' recipe so the CONTRIBUTING.md reference is no longer dead.
Repo hygiene:
- Delete tracked stray archives (mios-legacy.tar 13MB, FOUND-THE-FILES.tar,
files.zip, files1.zip), generated artifacts (root-manifest.json,
MiOS-SBOM.csv) and transient audit reports (AUDIT-FINDINGS-*, WORKFLOW-AUDIT-*).
- .gitignore: drop the corresponding stale whitelist negations; fix the
/workspaces/MiOS path comment.
- Regenerate automation/manifest.json, tools/manifest.json,
agents/research/manifest.json from current source via
tools/generate-ai-manifest.py (in-tree snapshots were 2026-04-29-stale).
Documentation refinement (purely technical + referential, sourced):
- README, INDEX, ARCHITECTURE, ENGINEERING, SECURITY, SELF-BUILD, DEPLOY,
CONTRIBUTING, LICENSES rewritten with file:line citations and upstream
spec links (kernel admin-guide, FHS 3.0, bootc, BIB, rechunk, cosign,
LocalAI, OpenAI API).
- DEPLOY.md heavy rewrite: previous version referenced a 'mios' build-CLI
that does not exist (usr/bin/mios is the OpenAI chat client).
- SELF-BUILD.md: drop duplicate 'Future Considerations: image-builder-cli'
section; drop '[NET] MiOS Artifact / Proprietor' preamble.
- MiOS-Engineering-Reference.md: remove 'Memory caveat' rows and the
'Reconciliation with prior project memory' appendix (conversational
metadata) — kept the technical content.
- CLAUDE.md: align the build.sh shell-flag claim with code reality
(set -euo pipefail with set +e/-e toggled around per-script invocation
at automation/build.sh:234-237).
- Delete SUMMARY.md (transient session log).
54 files changed, 1241 insertions, 3142 deletions.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>1 parent d5c1535 commit 608bfd9
54 files changed
Lines changed: 1241 additions & 3142 deletions
File tree
- .github/workflows
- agents/research
- automation
- etc/containers/systemd
- tools
- usr
- lib
- bootc/bound-images.d
- systemd/system
- sysusers.d
- tmpfiles.d
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
29 | 33 | | |
30 | 34 | | |
31 | 35 | | |
| |||
47 | 51 | | |
48 | 52 | | |
49 | 53 | | |
50 | | - | |
| 54 | + | |
51 | 55 | | |
52 | 56 | | |
53 | 57 | | |
| |||
64 | 68 | | |
65 | 69 | | |
66 | 70 | | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
67 | 97 | | |
68 | | - | |
| 98 | + | |
69 | 99 | | |
70 | 100 | | |
71 | 101 | | |
72 | | - | |
| 102 | + | |
73 | 103 | | |
74 | 104 | | |
75 | 105 | | |
| |||
90 | 120 | | |
91 | 121 | | |
92 | 122 | | |
93 | | - | |
| 123 | + | |
94 | 124 | | |
95 | 125 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
9 | | - | |
| 8 | + | |
| 9 | + | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| |||
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
39 | | - | |
40 | | - | |
41 | 39 | | |
42 | | - | |
43 | 40 | | |
44 | 41 | | |
45 | 42 | | |
46 | | - | |
47 | | - | |
48 | 43 | | |
49 | 44 | | |
50 | 45 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
2 | | - | |
3 | | - | |
4 | | - | |
5 | | - | |
6 | | - | |
7 | | - | |
8 | | - | |
9 | | - | |
10 | | - | |
11 | | - | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
0 commit comments