1.8 KiB
Colibri Scheduler / FreeBSD Store Isolation Finding
Date: 27.maj.2026
Repo: Clawdie/Colibri
Finding commit: ceaeaee — scheduler T1.3 landed
Fix commit: a48afa1 — fix: harden scheduler tests and FreeBSD store isolation
Status: Fixed and verified
Finding
After pulling ceaeaee, the Linux-side direction was good, but FreeBSD validation exposed a real test-isolation bug:
failed to open coordination store at "/var/db/colibri/colibri.sqlite":
I/O error: Permission denied (os error 13)
Root cause: daemon::tests::test_daemon_state_creation used DaemonConfig::from_env(), which on FreeBSD resolves the default production/service SQLite path:
/var/db/colibri/colibri.sqlite
Unit tests must not require production service paths or root permissions.
Fix
test_daemon_state_creation now overrides:
data_dirsocket_pathdb_path
with an isolated temp directory before constructing DaemonState.
Additional hardening
While reviewing the scheduler, the follow-up also hardened edge cases:
- cron fields accept leading-zero forms such as
00 12 01 06 01 - cron schedules fire at most once per matching minute, even with a 30s daemon tick
pick_agentno longer assigns required-capability tasks to zero-match agents- empty required-capability tasks can still select a general available agent
Verification
Commands run after the fix:
cargo fmt --check
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace
cargo build --workspace --release
Result:
89 tests passed, 0 failed
release build OK
Conclusion
T1.3 scheduler remains accepted, but a48afa1 is the correct green baseline after FreeBSD-safe test isolation and scheduler edge-case hardening.