Horizon AIOS — Tested Configurations
This document tracks harness, OS, and deployment combinations that have been verified to work with Horizon AIOS. "Tested" means: bootstrap completed, skills loaded, audit hooks fired, brain isolation verified end-to-end. Model selection is the brain author's choice and is not tracked here — AIOS is model-agnostic.
Configurations not listed here may work but have not been validated. Contributions welcome — if you test a new combination, add a row and link the relevant how-to or deployment notes.
Compatibility Matrix
| Harness | Harness Version | OS / Platform | Deployment Mode | Status | Notes / Known Gaps | How-To |
|---|---|---|---|---|---|---|
| Claude Code (desktop app) | ≥1.0 | Windows 11 | Desktop | Verified | Verified: skills via directory symlink (mklink /D), DCO commit-msg hook, statusline, sounds, memory layout user-defined. ACL enforcement verified (2026-06-22): horizon_aios_harden.py run elevated on Windows 11; horizon_aios_doctor.py passes the sbin/skills_sbin/logs ACL checks; Get-Acl confirms an explicit brains Deny on each privileged dir with SYSTEM/Administrators and inherited/infra ACLs preserved. Criterion #6 (audit log captures an event) confirmed via horizon_aios_monitor.py. Criterion #5 verified end-to-end (2026-06-22): a live brain (testbrain) was provisioned via horizon_aios_create_brain.py, and a read test running as the brain account confirmed $HORIZON_BIN is READABLE while $HORIZON_SYSTEM/sbin is DENIED; the brain was then cleanly removed via horizon_aios_remove_brain.py. All six criteria met. Primary reference implementation. |
deployment/desktop.md · ReadMeToSetupYourSystem.md |
| Claude Code (CLI) | ≥1.0 | Linux (native) | Desktop / Server | Partial | bootstrap.sh runs; symlink skills redirect implemented. Brain OS user isolation and sbin Deny ACLs not yet end-to-end tested on Linux. | deployment/desktop.md |
| Claude Code (CLI) | ≥1.0 | Linux (container) | Docker | Template only | Dockerfile and bootstrap_docker.sh written; not yet run against a full brain provisioning cycle. See gap notes below. | deployment/docker.md |
| Claude Code (desktop app) | ≥1.0 | macOS (native) | Desktop | Untested | bootstrap.sh is macOS-compatible (POSIX). ACL steps require macOS equivalents (chmod/chown, dscl for user accounts). No one has validated end-to-end. | — |
| Ollama | any | Linux / macOS / Windows | Desktop / Server | Minimal stub | No hook system, no sounds integration, no skills equivalent. Only integration: paste agents.md content into brain's Modelfile SYSTEM block. Brain OS isolation still applies. See Known Gaps by Harness below. |
$HORIZON_SYSTEM/harness_configs/ollama/Modelfile.template |
Verification Criteria
A configuration is Verified when all of the following have been exercised:
bootstrap.sh(orbootstrap.ps1) completes with zero failures.horizon_aios_doctor.pyreports all checks passed.- A skill (
/handoffor similar) executes in a live session. - An event hook fires (task complete sound plays).
- At least one brain is provisioned via
horizon_aios_create_brain.pyand the brain's OS account can read$HORIZON_BINbut cannot read$HORIZON_SYSTEM/sbin. Prove this withhorizon_aios_verify_isolation.py --live(seesecurity/brain_isolation_test.md). - The audit log captures at least one monitored file event.
Partial means steps 1–3 are known to work but steps 4–6 have gaps or have not been run.
Template only means the deployment artifacts exist but have not been executed in a real environment.
Known Gaps by Platform
Linux native (bare metal)
horizon_aios_create_brain.pygeneratesuseradd/chmodcommands — logic exists but has not been run against a real Linux machine.- Explicit Deny ACLs use
chmod 700onsbin/— correct POSIX approach, not verified.
Docker (Linux container)
- Brain isolation in Docker maps to container isolation, not OS user accounts inside the container.
horizon_aios_create_brain.pyis not yet adapted to launch sub-containers. bootstrap_docker.shruns the standard bootstrap in Docker mode; sync schedule is skipped.~/.claude/skills/symlink setup tested in bootstrap logic only, not in a running container.- See deployment/docker.md for deployment guide and known gaps.
macOS
- No one has run bootstrap on macOS. POSIX paths should work;
launchdplist would be needed for sync schedule instead of cron/systemd. horizon_aios_create_brain.pyhas a macOS-specific branch (_macos_create_userusingdscl/dseditgroup/createhomedir, the macOS equivalents ofuseradd), but it has not been validated end-to-end on a real macOS machine.
Known Gaps by Harness
Ollama
Ollama has no event hook system. The AIOS hook taxonomy (sounds on task complete, permission request, failure) does not apply — Ollama provides no mechanism to fire external commands on model events.
What works: OS-level brain isolation (separate user accounts, NTFS ACLs / POSIX permissions), brain directory scoping, OS-native credential containment via horizon_aios_brain_credential.py, audit logging via horizon_aios_monitor.py. The AIOS OS layer is fully in effect; only the harness-level integration (hooks, skills) is absent.
What does not work: sounds, statusline, /handoff skill, any skill that depends on a Claude Code session context.
To use Ollama with AIOS: provision a brain account normally via horizon_aios_create_brain.py, then add the AIOS agent instructions to the Modelfile SYSTEM block manually using $HORIZON_SYSTEM/harness_configs/ollama/Modelfile.template as a starting point.
Adding a Tested Configuration
When you validate a new combination:
- Run through all six verification criteria above.
- Add a row to the matrix with status Verified or Partial.
- Link a how-to doc if one exists; create one in
$HORIZON_DOCS/deployment/if not. - Note any known gaps or workarounds in the Notes column.
- Add an entry to
architecture_decisions.mdif the configuration required architectural changes.