3.8 KiB
3.8 KiB
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
- a validated installed-system generation switch/rollback workflow via:
fruix system statusfruix system switchfruix system rollback
Validated boot modes still are:
freebsd-init+rc.d-shepherdshepherd-pid1
The validated Phase 18 installation work currently uses:
freebsd-init+rc.d-shepherd
Latest completed achievement
2026-04-04 — Phase 19.3 completed
Fruix now has a validated installed-system operator workflow for switching to a staged candidate generation and rolling back to the recorded previous generation.
Highlights:
- installed systems now ship an in-guest Fruix deployment helper at:
/usr/local/bin/fruix
- validated in-guest command surface:
fruix system statusfruix system switch /frx/store/...-fruix-system-...fruix system rollback
- switching now records explicit rollback state under:
/var/lib/fruix/system/rollback/var/lib/fruix/system/rollback-generation
- switching now records explicit rollback GC roots under:
/frx/var/fruix/gcroots/rollback-system
- the validated installed-system workflow now supports:
- stage candidate closure in
/frx/store - switch to generation 2
- reboot into the candidate
- rollback to generation 1
- reboot into the restored current system
- stage candidate closure in
Validation:
PASS phase19-installed-system-rollback-qemu- regression re-checks:
PASS phase19-generation-layout-qemuPASS phase18-installer-iso
Reports:
docs/system-deployment-workflow.mddocs/GUIX_DIFFERENCES.mddocs/reports/phase19-deployment-workflow-freebsd.mddocs/reports/phase19-generation-layout-freebsd.mddocs/reports/phase19-installed-system-rollback-freebsd.md
Recent major milestones
1d00907—Add Fruix bootable installer environment2517710—Add non-interactive Fruix installation flow02a02e3—Document Fruix FreeBSD source policy865012e—Boot Fruix from distinct FreeBSD source revisions8150508—Validate side-by-side FreeBSD source revisions5cbf5b9—Build native bases from materialized FreeBSD sources
Active constraints
- local
bhyveremains 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-fc6339b957437061d761-3639-4bec-87f7-2ba1af924eaa
- VM
- local QEMU/TCG validation keeps conservative default SMP settings;
QEMU_SMPremains overrideable
Next step
Per docs/PLAN_4.md, the next planned step is:
- Phase 20.1 — validate a Fruix-managed development environment for native FreeBSD base work
Phase 19.3 is now complete: Fruix validates installed-system generation switching and rollback through the intended operator-facing workflow.