NanoClaw
NanoClaw proposes a host-health CLI that still works when its service is down
An open NanoClaw utility proposal adds ncc beside the database-focused ncl command. The standard-library Python tool inspects service, Docker, SQLite, disk, containers, deliveries and schedules directly from the host, so health and restart commands remain available during the outage they are meant to diagnose.
nanocoai/nanoclaw PR #2971 is the inspected primary source: “Add ncc utility skill: host operational and health CLI.” PR #2971 defines NanoClaw Control as an operational sibling to the existing entity-management CLI. ncc service targets launchd on macOS and user-scoped systemd on Linux, discovering the unit rather than hardcoding it. ncc health checks service state, Docker, central database integrity, disk, the OneCLI gateway, agent containers, autocompact churn, zombie processes, heartbeat freshness, permanent delivery failures and overdue scheduled tasks. A hard failure exits 2; warnings remain advisory with exit 0. Separate commands list running containers, pending ad-hoc tasks and recurring cron work, with JSON output for automation. The implementation reads SQLite directly and invokes host service or container tools, which keeps it useful when the managed service is unavailable. The author reports live macOS validation and Linux container tests, but says a live systemd host remains untested. PR #3143 preserves the body of resolved approval cards across delayed decisions and restarts. PR #3142 repairs Signal attachment forwarding through the mounted inbox.
The facts
- nanocoai/nanoclaw PR #2971 was created 2026-07-07T08:35:21Z and updated 2026-07-27T15:31:11Z; state is open. - nanocoai/nanoclaw returned 30385 GitHub stars, 856 open issues, default branch main, and last push 2026-07-27T14:57:17Z. - Latest tagged-release baseline checked: v2.1.17 published 2026-06-17T14:51:14Z. - PR #2971 defines NanoClaw Control as an operational sibling to the existing entity-management CLI. - ncc service targets launchd on macOS and user-scoped systemd on Linux, discovering the unit rather than hardcoding it. - ncc health checks service state, Docker, central database integrity, disk, the OneCLI gateway, agent containers, autocompact churn, zombie processes, heartbeat freshness, permanent delivery failures and overdue scheduled tasks. - A hard failure exits 2; warnings remain advisory with exit 0. - Separate commands list running containers, pending ad-hoc tasks and recurring cron work, with JSON output for automation.
What changed
PR #2971 defines NanoClaw Control as an operational sibling to the existing entity-management CLI. ncc service targets launchd on macOS and user-scoped systemd on Linux, discovering the unit rather than hardcoding it. ncc health checks service state, Docker, central database integrity, disk, the OneCLI gateway, agent containers, autocompact churn, zombie processes, heartbeat freshness, permanent delivery failures and overdue scheduled tasks. A hard failure exits 2; warnings remain advisory with exit 0. Separate commands list running containers, pending ad-hoc tasks and recurring cron work, with JSON output for automation. The implementation reads SQLite directly and invokes host service or container tools, which keeps it useful when the managed service is unavailable. The author reports live macOS validation and Linux container tests, but says a live systemd host remains untested. PR #3143 preserves the body of resolved approval cards across delayed decisions and restarts. PR #3142 repairs Signal attachment forwarding through the mounted inbox. The primary record was inspected with its timestamps, state, body and adjacent project records. ClawCharts supplied the assignment list; it does not establish the claim.
Why it matters
Self-hosted agents need an outside-the-runtime vantage point. A health command implemented through the same failed API is theater; direct host and database checks can still explain whether the service, scheduler or delivery path broke. The danger is that a diagnostic utility with start, stop and restart verbs also becomes an authority surface. The useful boundary is where persisted state, visible control and runtime behavior are expected to agree.
Current
The ncc utility was open and had not been tested on a real systemd host according to its own source. NanoClaw’s canonical repository is nanocoai/nanoclaw even though ClawCharts still displays qwibitai/nanoclaw. The latest tagged release remained v2.1.17 from June 17. Repository metadata, current issues and pull requests, release baseline, Hacker News discovery and the rendered ranking row were checked. Weak search residue and historically used source spines were not promoted.
Evidence
The primary URL is https://github.com/nanocoai/nanoclaw/pull/2971. Supporting links are inspected current project records that establish implementation, adjacent direction or boundary conditions. Dates, reproductions, test totals and deployment observations remain attributed to their authors unless this brief explicitly says they were independently rerun.
Source boundary
Open work is described as open, closed work as closed, and operator reports as reports. Closure can reflect a documentation decision or triage outcome; it is not silently translated into a shipped code fix. Ranking explains why the project was scanned; it does not prove correctness, adoption or package behavior.
Operator take
Separate read-only health from service mutation in both output and permissions. Run the CLI as the service owner on Linux, make JSON schemas stable, and verify every hard-fail class against a controlled fixture. A restart command should emit the pre-state, bounded action and independent post-state rather than treating systemctl exit zero as recovery. Preserve a before-state receipt and verify the narrowest invariant where state changes. Do not broaden permissions or delete state merely because the visible symptom is inconvenient.
Caveat
Public project records are mutable. Source state was captured at publication time, and later revisions may change status, scope or evidence. No source here authorizes automatic mutation of a reader’s deployment.
Source inspected; source state, environment and release boundary remain explicit.