Skip to content

Advertised "rebuilds itself nightly / never goes stale" isn't delivered to end users — nightly LaunchAgent is author-only, and releases/latest is 5 days stale #4

Description

@sparkling

Filing as appreciative downstream-consumer feedback — the grounding-hook idea is great and the brain is genuinely useful. This is a gap between the pitch deck's "nightly / never stale" promise and the shipped behavior, plus a concrete staleness symptom on a normal install.

What's advertised

The deck (https://deck-six-liart.vercel.app/) has a dedicated currency section (quoted verbatim):

  • "Always current · rebuilds itself nightly"
  • "Every night a LaunchAgent checks rUv's repos, rebuilds only what changed, re-verifies, and re-stamps — automatically."
  • "rUv is prolific. So the Brain never goes stale." / "A static one would rot in weeks."
  • "Bundle status · CURRENT · last rebuild · last night · 3:15 AM"
  • "Honest: nightly, changed-repos-only (safe scope); brand-new repos are added under supervision."
  • "Your instruction manual updates while you sleep."

The installer reinforces it — bin/install.mjs prints: "…auto-updating nightly)? Just tell Claude once it's on — the brain is smart enough to reconfigure itself."

(For contrast, the README and the main site are more measured — README: "Only moves when the underlying knowledge base is rebuilt"; site: "When he ships more, the Brain updates." The deck is the surface making the hard nightly/never-stale guarantee.)

What actually ships

1. The nightly LaunchAgent is author-only, by design. deploy/com.ruvnet.brain-nightly.plist:

  • header comment: "NOT auto-installed (system schedulers require explicit owner approval)."
  • ProgramArguments: cd /Users/stuartkerr/Code/ruvnet-brain && node scripts/self-update.mjs --apply --publish …

The absolute home path + --publish make this the maintainer's personal rebuild-and-publish job — a downstream user can't run it (wrong path; it would publish to your release). scripts/self-update.mjs says the same: "Designed to be invoked by deploy/com.ruvnet.brain-nightly.plist (LaunchAgent — NOT auto-installed)."

2. No end-user mechanism enables a per-user nightly. bin/install.mjs never installs a LaunchAgent — the "auto-updating nightly" line just defers to "Just tell Claude." package.json scripts is {} and the only bin is the installer. So a user who accepts the offered "auto-updating nightly" gets nothing scheduled.

3. Even the upstream publish isn't nightly. releases/latest = v0.5.0-dev, published 2026-07-01; prior v0.4.0-dev, 2026-06-29. As of 2026-07-06 that's 5 days with no new release, despite active main commits in between (e.g. the 2026-07-05 "brain-stamp … closes the freshness loop", and the plugin badge advancing to 1.9.1-dev while the KB bundle is still v0.5.0-dev). So the deck's live-looking "CURRENT · last rebuild · last night · 3:15 AM" status doesn't match the actual release cadence.

Concrete staleness symptom

Fresh macOS install; nothing in launchctl list (expected — the plist isn't auto-installed). The KB content (*.passages.jsonl, primers, *.meta.json) is frozen at 2026-07-01 03:31, matching the v0.5.0-dev bundle publish time. So the brain answers from a July-1 snapshot and misses recent rUv work — e.g. it never surfaces ruvnet/metaharness ADR-202 (agenticow ⇄ agentic-jujutsu COW dual-state bridge, dated 2026-06-28) or anything after; that repo is now at 218 ADRs, HEAD 2026-07-06. In practice, every "does X exist upstream?" answer had to be re-checked against live GitHub because the KB lagged.

Suggested directions (either / both)

  • Deliver it: ship a user-facing enable step (e.g. ruvnet-brain --enable-nightly) that templates the plist to the user's install path, points at a non-publishing local self-update (or just pulls the latest Release bundle), and launchctl loads it — with an easy disable. Then "updates while you sleep" becomes true for end users too.
  • Or align the claim: soften the deck to match the README/site (e.g. "refreshes when a new bundle is published"), make the "CURRENT / last rebuild" indicator a real live read, and/or fix the upstream nightly so releases/latest actually advances daily.

Environment

  • macOS; plugin at ~/.claude/plugins/cache/ruvnet-brain/ruvnet-brain/0.5.0-dev
  • KB bundle v0.5.0-dev (2026-07-01); KB content mtime 2026-07-01 03:31
  • No com.ruvnet.brain-nightly in launchctl list

Thanks again — the enforced-grounding approach is a genuinely good idea. This is just about making the deck's "nightly / never stale" surface true for people who aren't running it from /Users/stuartkerr/….

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions