system: record explicit generation layout

This commit is contained in:
2026-04-04 19:41:49 +02:00
parent e86f74af97
commit b3b1ba2489
7 changed files with 740 additions and 42 deletions

View File

@@ -26,6 +26,10 @@ Fruix currently has:
- `fruix system installer`
- a bootable Fruix-managed installer ISO:
- `fruix system installer-iso`
- an explicit installed-system generation layout under:
- `/var/lib/fruix/system`
- explicit installed-system retention roots under:
- `/frx/var/fruix/gcroots`
Validated boot modes still are:
@@ -38,42 +42,38 @@ The validated Phase 18 installation work currently uses:
## Latest completed achievement
### 2026-04-04 — Phase 19.1 completed
### 2026-04-04 — Phase 19.2 completed
Fruix now has a documented canonical deployment workflow for build, image generation, installation, roll-forward, and rollback.
Fruix now records an explicit installed-system generation layout and retention-root model instead of relying mainly on harness knowledge.
Highlights:
- added canonical operator workflow documentation:
- `docs/system-deployment-workflow.md`
- added Phase 19.1 report:
- `docs/reports/phase19-deployment-workflow-freebsd.md`
- the documented command surface now explicitly centers on:
- `fruix system build`
- `fruix system rootfs`
- `fruix system image`
- `fruix system install`
- `fruix system installer`
- `fruix system installer-iso`
- the deployment story now explicitly records:
- declaration-driven roll-forward
- rollback by rebuilding/redeploying an earlier declaration
- current deployment identity via closure path and emitted provenance metadata
- current environment-specific installer target-device conventions
- added explicit installed-system generation layout under:
- `/var/lib/fruix/system`
- added explicit installed-system retention roots under:
- `/frx/var/fruix/gcroots`
- installed targets now record a first-generation deployment directory containing:
- `closure`
- `metadata.scm`
- `provenance.scm`
- `install.scm`
- `/run/current-system` remains the runtime boundary and still points directly at the active closure path
- added Guix-oriented operator notes in:
- `docs/GUIX_DIFFERENCES.md`
- updated deployment workflow documentation to reflect the new explicit generation model
Validation basis referenced by the workflow documentation:
Validation:
- `PASS phase15-base-rollback-qemu`
- `PASS phase15-base-rollback-xcpng`
- `PASS phase18-system-install`
- `PASS phase18-installer-environment`
- `PASS phase18-installer-iso`
- `PASS phase18-installer-iso-xcpng`
- `PASS phase19-generation-layout-qemu`
- regression re-check:
- `PASS phase18-installer-iso`
Reports:
- `docs/system-deployment-workflow.md`
- `docs/GUIX_DIFFERENCES.md`
- `docs/reports/phase19-deployment-workflow-freebsd.md`
- `docs/reports/phase19-generation-layout-freebsd.md`
## Recent major milestones
@@ -99,6 +99,6 @@ Reports:
Per `docs/PLAN_4.md`, the next planned step is:
- **Phase 19.2** — make the installed-system generation and rollback-root model more explicit
- **Phase 19.3** — validate installed-system rollback through the intended operator-facing workflow
Phase 19.1 is now complete: Fruix documents a coherent operator-facing deployment workflow for build, installation, roll-forward, and rollback.
Phase 19.2 is now complete: Fruix has an explicit installed-system generation layout and retention-root model on FreeBSD.