docs: update STATUS.md and JOURNAL.md for session 4
- Add ADR-009 for script consolidation (run.sh as single entry point) - Update STATUS.md to reflect complete state (ISO built, VM framework merged) - Document lessons learned from libvirt group requirement 💘 Generated with Crush Assisted-by: GLM-4.7 via Crush <crush@charm.land>
This commit is contained in:
90
JOURNAL.md
90
JOURNAL.md
@@ -6,6 +6,96 @@
|
||||
|
||||
---
|
||||
|
||||
## Entry 2026-02-17 (Session 4): Script Consolidation
|
||||
|
||||
### Context
|
||||
Continued session focused on consolidating all top-level scripts into run.sh as the single
|
||||
entry point. Merged test-iso.sh (344 lines) and monitor-build.sh (43 lines) into run.sh.
|
||||
|
||||
### Changes Implemented
|
||||
|
||||
1. **Script Consolidation**
|
||||
- Merged test-iso.sh VM testing framework into run.sh
|
||||
- Merged monitor-build.sh build monitoring into run.sh
|
||||
- Deleted test-iso.sh and monitor-build.sh
|
||||
- run.sh now ~500+ lines, single entry point for all operations
|
||||
|
||||
2. **New run.sh Commands**
|
||||
```bash
|
||||
./run.sh monitor [secs] # Monitor build progress
|
||||
./run.sh test:iso check # Check VM testing prerequisites
|
||||
./run.sh test:iso create # Create and start test VM
|
||||
./run.sh test:iso console # Connect to VM console
|
||||
./run.sh test:iso status # Show VM status
|
||||
./run.sh test:iso destroy # Destroy VM and cleanup
|
||||
./run.sh test:iso boot-test # Run automated boot test
|
||||
./run.sh test:iso secure-boot # Test Secure Boot
|
||||
./run.sh test:iso fde-test # Test FDE passphrase prompt
|
||||
```
|
||||
|
||||
3. **Test Updates**
|
||||
- Updated tests/system/boot_test.bats to test run.sh instead of test-iso.sh
|
||||
- Updated skip messages in fde_test.bats and secureboot_test.bats
|
||||
|
||||
4. **ISO Rebuild**
|
||||
- Built successfully at 15:19 CST (449 MB)
|
||||
- Checksums verified (SHA256, MD5)
|
||||
|
||||
### Architectural Decision Records
|
||||
|
||||
#### ADR-009: Single Entry Point (run.sh)
|
||||
**Date**: 2026-02-17
|
||||
**Status**: Accepted
|
||||
|
||||
**Context**: Multiple top-level scripts (run.sh, test-iso.sh, monitor-build.sh) caused
|
||||
fragmentation and made the project harder to navigate.
|
||||
|
||||
**Decision**: Consolidate all scripts into run.sh as the single entry point.
|
||||
|
||||
**Rationale**:
|
||||
- Simpler user experience - one command to remember
|
||||
- Consistent interface for all operations
|
||||
- Easier to maintain and test
|
||||
- Follows Unix philosophy of doing one thing well
|
||||
|
||||
**Consequences**:
|
||||
- run.sh is larger (~500 lines) but well-organized
|
||||
- All functionality accessible via subcommands
|
||||
- Deleted scripts: test-iso.sh, monitor-build.sh
|
||||
|
||||
### Lessons Learned
|
||||
|
||||
1. **VM Testing Requires libvirt Group**
|
||||
- virt-install fails if user not in libvirt group
|
||||
- QEMU fallback works but virt-install preferred for libvirt integration
|
||||
- Fix: `sudo usermod -aG libvirt $USER` then logout/login
|
||||
|
||||
2. **Test Updates Required After Script Moves**
|
||||
- When moving/deleting scripts, grep for all references
|
||||
- Tests in tests/system/ referenced test-iso.sh directly
|
||||
- Updated to use run.sh test:iso commands
|
||||
|
||||
### Files Changed
|
||||
|
||||
| File | Action |
|
||||
|------|--------|
|
||||
| run.sh | Merged test-iso.sh and monitor-build.sh |
|
||||
| test-iso.sh | DELETED |
|
||||
| monitor-build.sh | DELETED |
|
||||
| tests/system/boot_test.bats | Updated to test run.sh |
|
||||
| tests/system/fde_test.bats | Updated skip message |
|
||||
| tests/system/secureboot_test.bats | Updated skip message |
|
||||
| STATUS.md | Updated status to COMPLETE |
|
||||
| JOURNAL.md | This entry |
|
||||
|
||||
### Commit
|
||||
|
||||
```
|
||||
d9f2f02 refactor: consolidate test-iso.sh and monitor-build.sh into run.sh
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Entry 2026-02-17 (Session 3): Project Re-Orientation
|
||||
|
||||
### Context
|
||||
|
||||
Reference in New Issue
Block a user