2026-09-23·by Sijie Wang#node#standmeet#architecture

monitor

Pillar 4 · Monitor (the thinnest pillar)

Parent: key-designs

Call-time telemetry of the running system: the host's second cross-cutting controller, distinct in timing from ACL — ACL acts at session establishment (via "not discovered", ErrHidden in capreg); the monitor acts at call time. Only the monitor and secret-scan sit inline on the call path (the secret-scan the design doc names has no runtime implementation under backend/ as of 2026-09-07 — only the repo's build-time gitleaks gate exists: .gitleaks.toml, infra/scripts/check-secrets.sh). Scope: system health (the admin/system panel — a mini-Zabbix: health/CPU/mem/disk/uptime) + the activity ticker. Conversations/dashboard are product features, not host telemetry.

Why "monitor", not "observer": nothing here is observed in any meaningful sense — no behavior or state is watched for inference; it's resource and liveness telemetry. (the design doc's own text says "observer"; the name is corrected here.)

Status (2026-09-07, 36789537d): shipped, real values. The stats module is backend/internal/stats/ (entity/repo/ops/facade); its owner ops are instance.status / instance.activity / instance.corpus_growth / instance.corpus_graph / instance.inference_usage / instance.jobs / instance.upgrade / instance.upgrade_check (golden: e2e/test/norm-outward-toolset.spec.ts), served to the admin as GET /api/admin/system + /stats/{growth,graph,activity,jobs} (routes/admin/instance.go). Version/uptime/go runtime and the dependency health pings are real (cmd/server/port/sysinfo.go, gopsutil for host disk/mem/load); per-service CPU/memory comes from each container's own cgroup v2 — no docker socket — since 2026-09-04 (e3af33a1c, internal/infra/selfstat/selfstat.go, app/src/app/api/selfstat/route.ts), and the cluster/resources panels live-refresh ~1×/s since 2026-09-05 (4a082689a + 7ca16a50c silent refresh, app/src/lib/admin/use-system-info.ts). The panel (app/src/components/admin/sections/SystemSection.tsx) holds Upgrade · Deployment · Resources · Cluster · Sessions · background Jobs · Health · Inference usage (inference_usage table, stats/repo/inference_usage_repo.go) · Sandbox. The "activity ticker" is the corpus-pulse sparkline (admin/chrome/SystemPulse.tsx over /stats/growth) plus instance.activity. e2e: admin-system*.spec.ts, inference-usage.spec.ts, dashboard-corpus-pulse.spec.ts. No children pages yet.

In flight, not shipped: first-party visitor traffic analytics (settings → traffic; time windows, 90-day retention, every browser event emitted) lives on branch worktree-traffic-analytics — 0993efbc8, c72d15b7d; 18 commits unmerged as of 2026-09-07.

about this entry

One of sijie's wiki entries. The AI on this site is grounded in the same corpus and answers in sijie's voice, with citations back to entries like this one — answering costs sijie money, so it waits behind a code: enter an access code →