system-check
Read-only installation smoke test for skills, daemons, operational memory, cognitive runtime, nightly freshness, terminal evidence, and unique route ownership.
Files1
View on GitHubSKILL.mdskills/system-check/SKILL.md
GitHub/system-check
Run from the aigent-OS root:
bash daemons/system-check.sh
The script is read-only. It prints one line per check, a final
SUMMARY: N PASS / N FAIL / N INFO, and exits 1 when any check fails.
Path resolution
Framework code resolves from AIGENT_ROOT, defaulting to the parent directory
of daemons/system-check.sh.
Operational memory resolves in this order:
AIGENT_STATE_HOME_DIR/vault/memorywhen the state-home diversion is set.AIGENT_STATE_HOME_DIR/memoryas a compatibility fallback.AIGENT_ROOT/vault/memoryfor a normal installation.AIGENT_ROOT/memoryonly when the canonical vault path does not exist.
This is the same shape used by the nightly controller. Tests should set
AIGENT_ROOT, AIGENT_STATE_HOME_DIR, and date-sensitive environment values
explicitly so ambient state cannot change the result.
Checks
- Required top-level skills exist, including the nightly close-parity skills.
- Shell and Python daemons parse.
- Every nightly daemon exists and passes
node --check. - The memory-heat daemon parses.
- Operational state files have their required schemas, including the generic sweep log and dispatch-fitness table.
- Capsules have valid frontmatter, identity, and status.
- Canonical cognitive JSON and JSONL inputs exist and parse. Missing canonical input is a failure, not an empty-success case.
DREAM_LOG.mdfreshness comes from its newest valid dated header, never its file modification time.- The newest
NIGHTLY_LOG.mdpass is current and has complete terminal evidence. A terminalstatus: FAILremains red even when every checkpoint row is present. /nightlyresolves through the unique/nightly-close-parityroute.- The eval directory contains at least one supported file.
- The local daemon error log is surfaced as INFO when it contains entries.
Date configuration
All date-sensitive checks use one timezone and one cutoff:
export AIGENT_NIGHTLY_TIME_ZONE="America/Los_Angeles"
export AIGENT_NIGHTLY_CUTOFF_HOUR="4"
bash daemons/system-check.sh
America/Los_Angeles and hour 4 are the defaults. Tests may pin the current
instant with AIGENT_SYSTEM_CHECK_NOW.
What it does not do
- It does not repair files or resolve alerts.
- It invokes the route checker with alerts disabled.
- It invokes the watchdog in check-only mode, so
/system-checknever appends to the nightly alert ledger. - It does not inspect a message bus, task board, browser profile, or private machine configuration.