#+TITLE: Session Context - Active Session #+DATE: 2026-01-24 * Session: Friday 2026-01-23 @ 14:08 CST (continued 2026-01-24) ** Key Decisions This Session *** Project Rename: archangel - Decided to rename project from "archzfs" to "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-2.6: 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] GRUB + grub-btrfs configuration with serial console - [X] Snapper firstboot service (configures on first boot) *** Phase 2.7: Basic Btrfs Testing (COMPLETE @ 05:23 CST) - [X] VM boots from installed btrfs disk - [X] GRUB menu shows and auto-boots - [X] All 10 subvolumes mount correctly - [X] Snapper works when configured - [X] Genesis snapshot can be created - [X] grub-btrfs detects snapshots *** Phase 2.8: LUKS Encryption (IMPLEMENTED @ 05:36 CST) - [X] LUKS functions in btrfs.sh (create, open, close containers) - [X] crypttab configuration - [X] encrypt hook for mkinitcpio - [X] GRUB cryptdevice parameter - [X] Encryption prompts in archangel - [X] LUKS_PASSPHRASE config variable - [X] btrfs-luks.conf test config - [ ] VM test pending ** Commits This Session - a49f4b1: Phase 2.1: Implement btrfs support - 35a661c: Fix btrfs bugs from VM testing - bd0616c: Fix btrfs GRUB boot and snapper firstboot - 4a7b6c3: Update session context: Phase 2.7 complete - (pending): Phase 2.8: Add LUKS encryption for btrfs ** Next Steps 1. VM test LUKS btrfs installation 2. Rebuild ISO with all fixes 3. Full end-to-end automated test 4. Phase 3: Multi-disk support ** Notes - Craig on remote console: 30 lines tall, ~145 columns wide - Testing approach: syntax first, then full VM test - Snapper requires D-Bus - can't configure in chroot, needs firstboot