Files
fruix/docs/PROGRESS.md

105 lines
3.4 KiB
Markdown

# Progress
This file is now intentionally compact.
Detailed chronological history through Phase 18.2 has been archived at:
- `docs/reports/progress-log-through-phase18-2-freebsd.md`
For a broader narrative summary, see:
- `docs/PROG_SUMMARY.md`
## Current status
Fruix currently has:
- declarative system modeling on FreeBSD
- content-addressed system closures under `/frx/store`
- native FreeBSD base artifacts in `/frx/store`
- declarative FreeBSD source objects and source materialization
- source-driven native base builds from materialized source snapshots
- side-by-side source revisions and boot validation
- a host-driven non-interactive install path:
- `fruix system install`
- a bootable Fruix-managed installer environment:
- `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:
- `freebsd-init+rc.d-shepherd`
- `shepherd-pid1`
The validated Phase 18 installation work currently uses:
- `freebsd-init+rc.d-shepherd`
## Latest completed achievement
### 2026-04-04 — Phase 19.2 completed
Fruix now records an explicit installed-system generation layout and retention-root model instead of relying mainly on harness knowledge.
Highlights:
- 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:
- `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
- `1d00907``Add Fruix bootable installer environment`
- `2517710``Add non-interactive Fruix installation flow`
- `02a02e3``Document Fruix FreeBSD source policy`
- `865012e``Boot Fruix from distinct FreeBSD source revisions`
- `8150508``Validate side-by-side FreeBSD source revisions`
- `5cbf5b9``Build native bases from materialized FreeBSD sources`
## Active constraints
- local `bhyve` remains blocked under Xen due to lack of nested VT-x exposure
- XO self-service creation is still not usable with the current token
- real XCP-ng validation must continue to use:
- VM `90490f2e-e8fc-4b7a-388e-5c26f0157289`
- approved A/B VDIs:
- `0f1f90d3-48ca-4fa2-91d8-fc6339b95743`
- `7061d761-3639-4bec-87f7-2ba1af924eaa`
- local QEMU/TCG validation keeps conservative default SMP settings; `QEMU_SMP` remains overrideable
## Next step
Per `docs/PLAN_4.md`, the next planned step is:
- **Phase 19.3** — validate installed-system rollback through the intended operator-facing workflow
Phase 19.2 is now complete: Fruix has an explicit installed-system generation layout and retention-root model on FreeBSD.