#+TITLE: Session Context - Active Session #+DATE: 2026-01-23 * Session: Friday 2026-01-23 @ 14:08 CST (ongoing) ** Key Decisions This Session *** Project Rename: archangel - Decided to rename project from "archzfs" to "archangel" - Script name will be just "archangel" (not install-archangel) *** Btrfs Implementation Approach - Phase 2: Single-disk btrfs, no encryption (test first) - Phase 2.7: Test basic btrfs before adding encryption - Phase 2.8: LUKS encryption after basic btrfs works - Phase 3: Multi-disk (stripe, mirror, raidX) + encrypted/unencrypted ** Work Completed *** Phase 1: Refactor (COMPLETE) - [X] lib/common.sh, config.sh, disk.sh, zfs.sh created - [X] Filesystem selection prompt - [X] Renamed to archangel - [X] VM test passed *** Phase 2.1: Btrfs Support (COMPLETE) - [X] Created lib/btrfs.sh with full implementation - [X] 10 subvolumes matching ZFS dataset layout - [X] Mount functions with proper options - [X] fstab generation (subvol= NOT subvolid!) - [X] Snapper configuration (manual config - no D-Bus needed in chroot) - [X] GRUB + grub-btrfs configuration - [X] Genesis snapshot via btrfs (not snapper, avoids D-Bus) - [X] VM TEST PASSED @ 23:57 CST **** Bugs Fixed During Testing 1. GRUB_BTRFS_GRUB_DIRNAME was wrong (/efi/grub -> /boot/grub) 2. snapper create-config needs D-Bus - switched to manual config 3. snapper create needs D-Bus - create genesis snapshot with btrfs command 4. test-install.sh now copies lib/ directory for testing ** Commits This Session - a49f4b1: Phase 2.1: Implement btrfs support - (pending): Fix btrfs bugs from VM testing ** Next Steps 1. Commit bug fixes 2. Test btrfs reboot and actual boot from installed system 3. Phase 2.7: Full reboot/snapshot testing 4. Phase 2.8: LUKS encryption ** Notes - Craig on remote console: 30 lines tall, ~145 columns wide - Testing approach: syntax first, then full VM test