Skip to content

Commit eee3962

Browse files
committed
docs: FHS-categorize all operator docs; move agent contract to usr/share/mios/ai/
Project invariant per user direction: regular documentation is categorized and stored according to OpenAI-API-style topical groupings under usr/share/doc/mios/{concepts,guides,reference,audits}/ (FHS 3.0 canonical doc path). The agent-facing architectural-laws contract and audit-mode prompt live under usr/share/mios/ai/ alongside system.md. Moves (git mv preserves history): - INDEX.md -> usr/share/mios/ai/INDEX.md - CLAUDE.AUDIT.md -> usr/share/mios/ai/audit-prompt.md - ARCHITECTURE.md -> usr/share/doc/mios/concepts/architecture.md - ENGINEERING.md -> usr/share/doc/mios/guides/engineering.md - DEPLOY.md -> usr/share/doc/mios/guides/deploy.md - SELF-BUILD.md -> usr/share/doc/mios/guides/self-build.md - SECURITY.md -> usr/share/doc/mios/guides/security.md - INSTALL.md -> usr/share/doc/mios/guides/install.md - API.md -> usr/share/doc/mios/reference/api.md - SOURCES.md -> usr/share/doc/mios/reference/sources.md - CREDITS.md -> usr/share/doc/mios/reference/credits.md - LICENSES.md -> usr/share/doc/mios/reference/licenses.md - TREE.md -> usr/share/doc/mios/reference/tree.md - MiOS-Engineering-Reference.md -> usr/share/doc/mios/reference/engineering-reference.md - MiOS-Build-Scripts.md -> usr/share/doc/mios/reference/build-scripts.md - AUDIT-FINDINGS-20260505.md -> usr/share/doc/mios/audits/AUDIT-FINDINGS-20260505.md Removed: 10 obsolete numbered summaries under usr/share/doc/mios/ (00-overview.md through 90-deploy.md) -- they were derivations of the root-level docs that are now the canonical FHS-located source. Kept at root (GitHub conventions / tool discovery): - README.md, LICENSE, CONTRIBUTING.md, SECURITY.md (now a 5-line pointer to the canonical guide), AGREEMENTS.md, VERSION - AGENTS.md, CLAUDE.md, GEMINI.md, system-prompt.md (thin redirectors per the OpenAI-API-vendor-neutral discovery convention) - llms.txt, llms-full.txt, manifest.json, MiOS-SBOM.csv - .gitignore, .gitattributes, .editorconfig, .cursorrules, .clinerules - All build orchestration scripts (Containerfile, Justfile, *.ps1, *.sh) Cross-references updated across 51 files (README, llms.txt, llms-full, CONTRIBUTING, AGREEMENTS, agent system prompts, Quadlet headers, automation banners, push-to-github, tools manifests, docs that cite each other) via a python regex pass that only rewrites bare-filename citations -- already-correct paths under usr/share/doc/ or usr/share/mios/ai/ are not touched. .gitignore whitelist trimmed to only the 16 files that remain at root; new files under usr/share/doc/mios/ and usr/share/mios/ai/ are automatically tracked via the existing cascade rules in sections 2b/9.
1 parent cc6aeec commit eee3962

68 files changed

Lines changed: 424 additions & 1481 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/ai-instructions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# 'MiOS' -- GitHub Copilot entry point.
22
# Canonical prompt: usr/share/mios/ai/system.md (deployed from mios-bootstrap).
3-
# Architectural laws and contribution rules: INDEX.md.
3+
# Architectural laws and contribution rules: usr/share/mios/ai/INDEX.md.
44

55
## Quick actions
66

.gitignore

Lines changed: 12 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -32,43 +32,30 @@
3232
# GHCR-side CI.
3333
!/.forgejo/
3434
!/.forgejo/**
35+
# Repo-root files. After the 2026-05-05 FHS-consolidation pass:
36+
# - operator-facing docs (architecture, engineering, deploy, security,
37+
# api, sources, credits, licenses, tree, audits, ...) moved to
38+
# usr/share/doc/mios/{concepts,guides,reference,audits}/
39+
# - the agent-facing INDEX.md and CLAUDE.AUDIT.md moved to
40+
# usr/share/mios/ai/{INDEX.md,audit-prompt.md}
41+
# - GitHub-convention files (README, LICENSE, CONTRIBUTING, SECURITY,
42+
# AGREEMENTS) and agent-tool discovery redirectors stay at root.
3543
!/AGENTS.md
3644
!/AGREEMENTS.md
37-
!/AI.md
38-
!/API.md
3945
!/CLAUDE.md
40-
!/CREDITS.md
41-
!/GEMINI.md
42-
!/system-prompt.md
43-
!/ARCHITECTURE.md
4446
!/CONTRIBUTING.md
4547
!/Containerfile
46-
!/DEPLOY.md
47-
!/ENGINEERING.md
48-
!/INDEX.md
48+
!/GEMINI.md
4949
!/Justfile
5050
!/LICENSE
51-
!/LICENSES.md
51+
!/MiOS-SBOM.csv
5252
!/README.md
53-
!/INSTALL.md
54-
!/SOURCES.md
55-
!/manifest.json
5653
!/SECURITY.md
57-
!/SELF-BUILD.md
58-
!/TREE.md
5954
!/VERSION
6055
!/llms-full.txt
6156
!/llms.txt
62-
!/MiOS-Engineering-Reference.md
63-
!/MiOS-SBOM.csv
64-
!/MiOS-Build-Scripts.md
65-
!/CLAUDE.AUDIT.md
66-
# Audit findings reports. Recurring class -- one file per audit pass,
67-
# named AUDIT-FINDINGS-YYYYMMDD.md per the format defined in
68-
# CLAUDE.AUDIT.md. Always tracked so a fresh clone restores full
69-
# audit history alongside the rest of the repo (per project
70-
# invariant: pulling the latest must reconstitute context).
71-
!/AUDIT-FINDINGS-*.md
57+
!/manifest.json
58+
!/system-prompt.md
7259
!/image-versions.yml
7360
!/install.sh
7461
!/install-mios-agents.sh

AGREEMENTS.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ that is the expected mode of contribution.
5050

5151
Every upstream project, specification, vendor, and community whose
5252
work 'MiOS' depends on or refers to is listed -- with a link to its
53-
canonical home -- in [`CREDITS.md`](./CREDITS.md). License terms for
54-
each component are inventoried in [`LICENSES.md`](./LICENSES.md). The
53+
canonical home -- in [`usr/share/doc/mios/reference/credits.md`](usr/share/doc/mios/reference/credits.md). License terms for
54+
each component are inventoried in [`usr/share/doc/mios/reference/licenses.md`](usr/share/doc/mios/reference/licenses.md). The
5555
'MiOS'-owned source of this repository is licensed under
5656
[`LICENSE`](./LICENSE) (Apache-2.0).
5757

@@ -69,8 +69,8 @@ by, or partnered with OpenAI.
6969
Invoking any of the following entry points is treated as
7070
acknowledgment of this document, the Apache-2.0 license at
7171
[`LICENSE`](./LICENSE), the bundled-component licenses inventoried in
72-
[`LICENSES.md`](./LICENSES.md), and the attribution registry in
73-
[`CREDITS.md`](./CREDITS.md). Each entry point displays a banner
72+
[`usr/share/doc/mios/reference/licenses.md`](usr/share/doc/mios/reference/licenses.md), and the attribution registry in
73+
[`usr/share/doc/mios/reference/credits.md`](usr/share/doc/mios/reference/credits.md). Each entry point displays a banner
7474
referencing this file when it starts.
7575

7676
| Entry point | Repo | Purpose |
@@ -88,17 +88,17 @@ referencing this file when it starts.
8888
| `bootc upgrade`, `bootc switch ghcr.io/mios-dev/mios` | deployed image | OS lifecycle commands operating on a 'MiOS' image |
8989

9090
If you do not agree with the terms inventoried in `LICENSE`,
91-
`LICENSES.md`, or `CREDITS.md`, do not invoke these entry points.
91+
`usr/share/doc/mios/reference/licenses.md`, or `usr/share/doc/mios/reference/credits.md`, do not invoke these entry points.
9292

9393
## 5. Runtime agreements that apply implicitly
9494

9595
By using a deployed 'MiOS' image you also accept any third-party
9696
agreements that govern bundled vendor components. The notable ones
97-
are listed verbatim in `LICENSES.md`; non-exhaustive highlights:
97+
are listed verbatim in `usr/share/doc/mios/reference/licenses.md`; non-exhaustive highlights:
9898

9999
- **NVIDIA** -- proprietary GPU drivers and CUDA libraries are
100100
governed by the NVIDIA Software License.
101-
[`LICENSES.md`](./LICENSES.md) carries the link.
101+
[`usr/share/doc/mios/reference/licenses.md`](usr/share/doc/mios/reference/licenses.md) carries the link.
102102
- **Steam** -- if installed, the Steam Subscriber Agreement applies
103103
on first launch.
104104
- **Microsoft Windows VM guests** -- bring-your-own valid licenses
@@ -144,8 +144,8 @@ canonical form is:
144144

145145
```
146146
[mios] By invoking this entry point you acknowledge AGREEMENTS.md
147-
(Apache-2.0 main + bundled-component licenses in LICENSES.md +
148-
attribution in CREDITS.md). MiOS is a research project.
147+
(Apache-2.0 main + bundled-component licenses in usr/share/doc/mios/reference/licenses.md +
148+
attribution in usr/share/doc/mios/reference/credits.md). MiOS is a research project.
149149
```
150150

151151
The banner is informational; there is no interactive y/n prompt by
@@ -190,8 +190,8 @@ re-source `tools/lib/userenv.sh` in your shell).
190190
## 9. Pointers
191191

192192
- [`LICENSE`](./LICENSE) -- Apache-2.0 main license
193-
- [`LICENSES.md`](./LICENSES.md) -- bundled-component license inventory
194-
- [`CREDITS.md`](./CREDITS.md) -- attribution registry (every
193+
- [`usr/share/doc/mios/reference/licenses.md`](usr/share/doc/mios/reference/licenses.md) -- bundled-component license inventory
194+
- [`usr/share/doc/mios/reference/credits.md`](usr/share/doc/mios/reference/credits.md) -- attribution registry (every
195195
upstream project, dependency, application, repo, file, and pattern)
196196
- [`SECURITY.md`](./SECURITY.md) -- security posture and hardening
197197
- [`CONTRIBUTING.md`](./CONTRIBUTING.md) -- contributor conventions

CONTRIBUTING.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
## Project rules
44

5-
- **Single source of truth: `INDEX.md` + `usr/share/mios/PACKAGES.md`.**
5+
- **Single source of truth: `usr/share/mios/ai/INDEX.md` + `usr/share/mios/PACKAGES.md`.**
66
Every package belongs in `PACKAGES.md`, every architectural rule in
7-
`INDEX.md`. Other docs cite, never duplicate.
7+
`usr/share/mios/ai/INDEX.md`. Other docs cite, never duplicate.
88
- **USR-OVER-ETC, NO-MKDIR-IN-VAR, BOUND-IMAGES, BOOTC-CONTAINER-LINT,
9-
UNIFIED-AI-REDIRECTS, UNPRIVILEGED-QUADLETS** -- see `INDEX.md` §3.
9+
UNIFIED-AI-REDIRECTS, UNPRIVILEGED-QUADLETS** -- see `usr/share/mios/ai/INDEX.md` §3.
1010
Violating any of the six is a build/audit fail.
1111
- **Pure build-up.** Only the ~25 GNOME packages required for the desktop
1212
ship. No `dnf remove` bloat blocks. User-facing apps are Flatpaks; RPMs

README.md

Lines changed: 33 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
> (`just <target>`, `install.sh`, `install.ps1`, `bootstrap.{sh,ps1}`,
1515
> the deployed `mios` CLIs, `bootc upgrade` against a 'MiOS' image, ...),
1616
> you acknowledge [`AGREEMENTS.md`](./AGREEMENTS.md) -- Apache-2.0 main
17-
> license, bundled-component licenses ([`LICENSES.md`](./LICENSES.md)),
18-
> and attribution ([`CREDITS.md`](./CREDITS.md)). All upstream projects
17+
> license, bundled-component licenses ([`usr/share/doc/mios/reference/licenses.md`](usr/share/doc/mios/reference/licenses.md)),
18+
> and attribution ([`usr/share/doc/mios/reference/credits.md`](usr/share/doc/mios/reference/credits.md)). All upstream projects
1919
> and standards referenced here are the property of their respective
2020
> owners; 'MiOS' integrates with them but claims no affiliation with
2121
> them.
@@ -200,31 +200,47 @@ build-time lint and by `automation/99-postcheck.sh`:
200200
`Delegate=yes`. Documented exceptions: `mios-ceph` and `mios-k3s`
201201
(rationale in their headers).
202202

203-
If you want the deeper dive: [`INDEX.md`](INDEX.md) is the architectural
204-
contract, [`ARCHITECTURE.md`](ARCHITECTURE.md) is the layout, and
205-
[`ENGINEERING.md`](ENGINEERING.md) is the build-pipeline rules.
203+
If you want the deeper dive: [`usr/share/mios/ai/INDEX.md`](usr/share/mios/ai/INDEX.md)
204+
is the architectural contract (agent-facing),
205+
[`usr/share/doc/mios/concepts/architecture.md`](usr/share/doc/mios/concepts/architecture.md)
206+
is the layout, and
207+
[`usr/share/doc/mios/guides/engineering.md`](usr/share/doc/mios/guides/engineering.md)
208+
is the build-pipeline rules.
206209

207210
---
208211

209212
## Where things live
210213

214+
Documentation follows the FHS doc layout (`/usr/share/doc/<pkg>/`) with an
215+
OpenAI-style topical split: `concepts/`, `guides/`, `reference/`, `audits/`.
216+
The agent-facing contract lives under `/usr/share/mios/ai/`.
217+
211218
| Document | What's in it |
212219
|---|---|
213-
| [`INDEX.md`](INDEX.md) | Architectural laws + API surface (the contract). |
214-
| [`ARCHITECTURE.md`](ARCHITECTURE.md) | Filesystem and hardware layout. |
215-
| [`ENGINEERING.md`](ENGINEERING.md) | Build pipeline + shell conventions. |
216-
| [`SECURITY.md`](SECURITY.md) | Hardening kargs and posture. |
217-
| [`SELF-BUILD.md`](SELF-BUILD.md) | Build modes (CI, Linux, Windows, self-build). |
218-
| [`DEPLOY.md`](DEPLOY.md) | bootc + Day-2 lifecycle. |
219-
| [`CONTRIBUTING.md`](CONTRIBUTING.md) | Contribution conventions. |
220-
| [`API.md`](API.md) | OpenAI-compatible AI surface. |
221-
| [`SOURCES.md`](SOURCES.md) | Every external reference, every upstream link. |
220+
| [`usr/share/mios/ai/INDEX.md`](usr/share/mios/ai/INDEX.md) | Architectural laws + OpenAI-compatible API surface (agent contract). |
221+
| [`usr/share/mios/ai/system.md`](usr/share/mios/ai/system.md) | Canonical agent system prompt. |
222+
| [`usr/share/mios/ai/audit-prompt.md`](usr/share/mios/ai/audit-prompt.md) | Read-only audit-mode prompt for any OpenAI-API-compatible agent. |
223+
| [`usr/share/mios/ai/v1/`](usr/share/mios/ai/v1/) | `models.json`, `mcp.json`, etc. -- per-OpenAI-v1-surface manifests. |
224+
| [`usr/share/doc/mios/concepts/architecture.md`](usr/share/doc/mios/concepts/architecture.md) | Filesystem and hardware layout. |
225+
| [`usr/share/doc/mios/guides/engineering.md`](usr/share/doc/mios/guides/engineering.md) | Build pipeline + shell conventions. |
226+
| [`usr/share/doc/mios/guides/security.md`](usr/share/doc/mios/guides/security.md) | Hardening kargs and posture. |
227+
| [`usr/share/doc/mios/guides/self-build.md`](usr/share/doc/mios/guides/self-build.md) | Build modes (CI, Linux, Windows, self-build). |
228+
| [`usr/share/doc/mios/guides/deploy.md`](usr/share/doc/mios/guides/deploy.md) | bootc + Day-2 lifecycle. |
229+
| [`usr/share/doc/mios/guides/install.md`](usr/share/doc/mios/guides/install.md) | KB ingest recipes (OpenAI-shaped). |
230+
| [`CONTRIBUTING.md`](CONTRIBUTING.md) | Contribution conventions (root by GitHub convention). |
231+
| [`usr/share/doc/mios/reference/api.md`](usr/share/doc/mios/reference/api.md) | OpenAI-compatible AI surface (full spec). |
232+
| [`usr/share/doc/mios/reference/sources.md`](usr/share/doc/mios/reference/sources.md) | Every external reference, every upstream link. |
233+
| [`usr/share/doc/mios/reference/credits.md`](usr/share/doc/mios/reference/credits.md) | Attribution registry. |
234+
| [`usr/share/doc/mios/reference/licenses.md`](usr/share/doc/mios/reference/licenses.md) | Component licenses. |
235+
| [`usr/share/doc/mios/reference/tree.md`](usr/share/doc/mios/reference/tree.md) | Annotated FHS tree. |
236+
| [`usr/share/doc/mios/audits/`](usr/share/doc/mios/audits/) | Audit reports. |
222237

223238
For LLMs and AI agents arriving at the repo:
224239
[`llms.txt`](llms.txt) and [`llms-full.txt`](llms-full.txt) are the
225240
machine-readable index. [`AGENTS.md`](AGENTS.md), [`CLAUDE.md`](CLAUDE.md),
226-
and [`GEMINI.md`](GEMINI.md) are the per-tool entry points. They all
227-
ultimately defer to `/usr/share/mios/ai/system.md` once the OS is running.
241+
and [`GEMINI.md`](GEMINI.md) are the per-tool entry-point redirectors at
242+
repo root for tool discovery -- they all defer to
243+
`/usr/share/mios/ai/system.md` (canonical) once the OS is running.
228244

229245
---
230246

@@ -244,7 +260,7 @@ Open issues + roadmap live on the GitHub side. PRs welcome -- read
244260
## License
245261

246262
Apache-2.0. Component licenses for every shipped piece are catalogued in
247-
[`LICENSES.md`](LICENSES.md).
263+
[`usr/share/doc/mios/reference/licenses.md`](usr/share/doc/mios/reference/licenses.md).
248264

249265
The `'MiOS'` name (capitalized) is a project mark; lowercase `mios` (used in
250266
file paths, package names, env-var prefixes, etc.) is the technical

0 commit comments

Comments
 (0)