NanoClaw

NanoClaw turns channel extensions into registered host modules

NanoClaw is replacing ad hoc integration hooks with one host lifecycle, a module-owned migration registry and a single-responsibility rule for skills. The proposals make setup, startup, shutdown, upgrade and database ownership explicit for channel extensions.

← Back to homeOriginal source ↗

nanocoai/nanoclaw PR #3214 is the inspected primary source: “refactor(host): unify module lifecycle hooks.” The related records below were inspected as supporting context rather than independent confirmation.

The facts

- nanocoai/nanoclaw PR #3214 was created 2026-08-09T21:35:56Z and was open at inspection; its title is “refactor(host): unify module lifecycle hooks.” - nanocoai/nanoclaw PR #3212 was created 2026-08-09T21:11:56Z and was open at inspection; its title is “refactor(db): add module migration registry.” - nanocoai/nanoclaw PR #3211 was created 2026-08-09T20:51:51Z and was open at inspection; its title is “docs(skills): define single-responsibility integration rule.” - The repository reported 30476 stars, 881 open issues, default branch main, and last push 2026-08-09T23:23:51Z. - The latest tagged-release baseline checked was v2.1.54 published 2026-08-01T20:46:31Z.

What changed

nanocoai/nanoclaw PR #3214 reports: Type of Change [ ] **Feature skill** - adds a channel or integration (source code changes + SKILL.md) [ ] **Utility skill** - adds a standalone tool (code files in.claude/skills/ /, no source changes) [ ] **Operational/container skill** - adds a workflow or agent skill (SKILL.md only, no source changes) [ ] **Fix** - bug fix or security fix to source code [x] **Simplification** - reduces or simplifies source code [ ] **Documentation** - docs, README, or CONTRIBUTING changes only Description Adds one host lifecycle registry for module startup and shutdown. Startup callbacks run FIFO after the database and delivery adapter are ready; shutdown callbacks run LIFO and continue after individual cleanup failures. The approvals module now registers its cleanup through onHostShutdown(), and the legacy shutdown API is removed from the response registry. Because that interface removal is breaking for custom NanoClaw modules, the changelog links a migration guide covering detection, rationale, migration, verification, and rollback. Testing pnpm run build pnpm run format:check changed-file ESLint check pnpm test — 1,270 tests passed pairwise Git

nanocoai/nanoclaw PR #3212 reports: Type of Change [ ] **Feature skill** - adds a channel or integration (source code changes + SKILL.md) [ ] **Utility skill** - adds a standalone tool (code files in.claude/skills/ /, no source changes) [ ] **Operational/container skill** - adds a workflow or agent skill (SKILL.md only, no source changes) [ ] **Fix** - bug fix or security fix to source code [x] **Simplification** - reduces or simplifies source code [ ] **Documentation** - docs, README, or CONTRIBUTING changes only Description Adds a typed registry for module-owned database migrations. Built-in migrations remain first, registered module migrations follow deterministic registration order, and permanent owner-qualified names prevent identity collisions. This lets self-registering NanoClaw modules own their migrations without editing the built-in migration list. The existing explicit migration-list override remains supported. Validation pnpm exec vitest run src/db/migrations/registry.test.ts — 6 tests passed pnpm test — 1,268 tests passed pnpm run build git diff --check

nanocoai/nanoclaw PR #3211 reports: Type of Change [ ] **Feature skill** - adds a channel or integration (source code changes + SKILL.md) [ ] **Utility skill** - adds a standalone tool (code files in.claude/skills/ /, no source changes) [ ] **Operational/container skill** - adds a workflow or agent skill (SKILL.md only, no source changes) [ ] **Fix** - bug fix or security fix to source code [ ] **Simplification** - reduces or simplifies source code [x] **Documentation** - docs, README, or CONTRIBUTING changes only Description Clarifies NanoClaw's skill-authoring principles: each skill should own one independently useful responsibility, extend through skill-owned files and existing typed registries or hooks, and minimize edits to core. This makes the maintainability guidance more explicit while leaving runtime behavior unchanged. Validation git diff --check Confirmed the diff contains only docs/skill-guidelines.md and docs/skills-model.md

Why it matters

A plugin system becomes operable when lifecycle and schema ownership are discoverable without patching core files. Otherwise every extension is a private fork with a delayed invoice. The operator test is whether visible output, retained state and authority still describe the same event after retries, background work or restart.

Current

The primary record was open when captured on 2026-08-10. The tagged-release baseline was v2.1.54 published 2026-08-01T20:46:31Z. Repository metadata, full source bodies, current pull requests and issues, releases, Google News, Hacker News, Lobsters, Metamesh and the rendered ClawCharts row were inspected. ClawCharts selected the subject; it did not prove the claim.

Evidence

The primary URL is https://github.com/nanocoai/nanoclaw/pull/3214. Supporting records are https://github.com/nanocoai/nanoclaw/pull/3212 and https://github.com/nanocoai/nanoclaw/pull/3211. Source bodies, timestamps and states are preserved in the daily evidence bundle. Test counts and reproductions remain attributed to their authors unless identified as independently rerun.

Source boundary

Open work is described as open, closed work as closed, and operator reports as reports. A pull request is evidence of proposed or reviewed direction, not proof of a shipped release. Search residue, package mirrors and historically published source spines were excluded.

Operator take

Make module registration authoritative, namespace migrations by owner, keep upgrade ordering deterministic, and test that removing one integration leaves unrelated host state intact. Preserve a before-state receipt, make the smallest reversible change, and verify the original failure independently.

Caveat

Public project records are mutable. Status, scope and evidence can change after publication. This brief records the inspected state and does not authorize changes to a reader’s deployment.

Source inspected; source state, environment and release boundary remain explicit.