aoa-doctor is the host-readiness and runtime-readiness probe for abyss-stack.
It is meant to answer a simple question before you burn time on startup errors:
is the current environment shaped enough to run the Fedora-first stack selection I am about to use?
The current doctor pass looks at things like:
- platform shape such as Linux versus non-Linux
- presence of core commands such as
podman,rsync, andcurl - availability of a compose backend
- whether
podman infoworks - whether
systemctl --userappears usable - whether
/dev/driexists when the selected preset or profile includes Intel-aware inference - whether the optional vault path appears mounted
- whether the stack root is the canonical
/srv/abyss-stack - whether the selected runtime includes internal-only layers that should later be checked with
aoa-smoke --with-internal - whether the selected runtime enables a federated advisory consumer without also selecting the localhost federation seam
- whether a current machine-fit record is missing for the deployed runtime root
- whether the current host envelope looks noisy for latency-sensitive work
aoa-doctor can now resolve the same selectors as the runtime wrappers:
--preset--profile- repeated flags
- comma-separated forms
That means the doctor output is now contextual. For example:
aoa-doctor --preset agent-fullwill not treat missing/dev/drias relevantaoa-doctor --preset intel-fullwill warn if/dev/driis missingaoa-doctor --preset agent-fullwill remind you that internal-only layers are selected and should be checked after startupaoa-doctor --profile agenticwill warn ifAOA_FEDERATED_RUN_ENABLED=trueis requested without also selecting--profile federation
Use aoa-doctor to decide whether a selected runtime is ready to start.
Use scripts/aoa-host-facts to capture durable machine-readable host facts.
Use scripts/aoa-machine-fit to capture the bounded current-machine runtime posture after host facts exist.
The two surfaces complement each other and should not absorb each other's job.
aoa-doctor remains readiness-only.
It is not a usage monitor and it is not the future cache-status console.
If a later local ops status surface exists, treat it as post-start runtime readout rather than as a replacement for the doctor pass.
See docs/LOCAL_OPS_DOCTOR_SPLIT.md for the bounded split.
The current read-only diagnostic readout is scripts/aoa-diagnose; it emits
diagnostic_session_v1 after startup without changing aoa-doctor exit
semantics.
Basic check using the default base profile:
scripts/aoa-doctorTarget a preset:
scripts/aoa-doctor --preset agent-fullTarget a specific Intel-aware path:
scripts/aoa-doctor --preset intel-fullStrict check:
scripts/aoa-doctor --strict --preset intel-fullDurable host-facts capture:
scripts/aoa-host-facts --mode public --write /tmp/reference-host.public.review.json
scripts/aoa-host-facts --mode private --write "${AOA_STACK_ROOT}/Logs/host-facts/latest.private.json"
scripts/aoa-machine-fit --mode private --write "${AOA_STACK_ROOT}/Logs/machine-fit/latest/latest.private.json"Keep docs/reference-platform/reference-host.public.json for later canonical-host refreshes, not routine local captures.
If your source checkout lives on Windows and the runtime lives in WSL, start with:
pwsh -File scripts/aoa.ps1 host-doctor
pwsh -File scripts/aoa.ps1 doctor --preset agent-fullhost-doctor checks the Windows-side and WSL-side readiness before the Linux doctor is invoked through the bridge.
okmeans the checked item looks readywarnmeans the item is not ideal or is optional in the current contextfailmeans the current environment is not ready for the expected Fedora-first runtime path
A warning does not always mean the stack is unusable. For example:
/abyssnot being mounted is a warning, not a hard failure/dev/drimatters only if the selected preset/profile includes the Intel-aware pathsystemctl --usermatters for unit-managed lifecycle, not for every manual invocation- internal-only services are not a doctor failure; they simply mean you should later use
aoa-smoke --with-internal
For a generic full bundle:
scripts/aoa-doctor --preset agent-full
scripts/aoa-first-run --strict
scripts/aoa-check-layout --strict
scripts/aoa-machine-fit --mode private --write "${AOA_STACK_ROOT}/Logs/machine-fit/latest/latest.private.json"
scripts/aoa-smoke --with-internal --preset agent-fullFor an Intel-aware full bundle:
scripts/aoa-doctor --preset intel-full
scripts/aoa-first-run --strict
scripts/aoa-check-layout --strict
scripts/aoa-machine-fit --mode private --write "${AOA_STACK_ROOT}/Logs/machine-fit/latest/latest.private.json"
scripts/aoa-smoke --with-internal --preset intel-full