feat: local dashboard, health-history, brain row, agentdb fold-in + real harvest - #32
Merged
Merged
Conversation
…eal harvest Adds four operator-facing capabilities and folds agentdb in as a first-class managed subsystem, closing the gap with (and exceeding) the ruflo-aqe-kit comparison. All new surfaces are read-only or opt-in; the learning-write path is proven live against real CLIs with no mocks. Dashboard (ak x dashboard): - Zero-dep node:http server, 127.0.0.1 only, never detaches. Serves a self-contained page (all CSS/JS inline, no external fetches) + GET /api/status reusing `ak status --json` via shell-out (no seam duplication). - Refined-instrument design: serif+mono, theme-aware (dark/light + icon toggle persisted to localStorage), grouped one-card-per-subsystem with severity triage (attention-first, healthy recessed), SVG sparklines, XSS-escaped. health-history ring: - Pure append/detectRegression over a kit.json ring; sync appends a post-heal snapshot, status flags backslides (learning shrank, native slots dropped, drift/security regressed). statusline 🧿 brain row: - Honesty-gated RuvNet-Brain segment (KB presence/size) in the activation footer. agentdb (managed subsystem): - New agentdb.mjs: presence/version + coherence guard. The global CLI is pinned to ruflo's BUNDLED agentdb so the shared cognitive store never skews on the core version (the FsyncFailed/brain.rvf corruption class). Wired into config (agentdb:true), setup (install), sync (repin), status + dashboard (live row). ak x harvest (opt-in learning-write) — no mocks: - Drives only grounded, present CLIs (ruflo hooks post-task, agentdb skill consolidate), parses their REAL output into structured evidence (skills created/updated, avg reward), skips honestly when agentdb is absent. - Default-safe: off unless kit.json harvest:true; --dry-run writes nothing. - ak x verify harvest: live end-to-end proof — seeds real episodes, consolidates a real skill, reads it back. Unit tests assert the parser against real captured output (no fake runner). Gate: typecheck 0, lint 0, 94 unit checks across 6 files, live verify harvest green.
…-row to the feature list
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ships four operator-facing capabilities and folds agentdb in as a first-class managed subsystem — closing the gap with (and going past) the
ruflo-aqe-kitcomparison. Everything new is read-only or opt-in; the learning-write path is proven live against real CLIs with no mocks.What's in it
🖥️
ak x dashboard— local web dashboardnode:http,127.0.0.1only, never detaches. Self-contained page (all CSS/JS inline, no external fetches) +GET /api/statusreusingak status --jsonvia shell-out.localStorage), grouped one-card-per-subsystem with severity triage (attention-first, healthy recessed), SVG sparklines, XSS-escaped.📈 health-history ring
append/detectRegressionover akit.jsonring;syncappends a post-heal snapshot;statusflags backslides (learning shrank, native slots dropped, drift/security regressed).🧿 statusline brain row
🧩 agentdb — folded in as a managed subsystem
agentdbCLI is pinned to ruflo's bundled agentdb so the shared cognitive store never skews on the core version (the FsyncFailed/brain.rvfcorruption class). Wired intoconfig(agentdb:true),setup(install),sync(repin),status+ dashboard (live row).🌱
ak x harvest— opt-in learning-write, no mocksruflo hooks post-task,agentdb skill consolidate), parses their real output into structured evidence (skills created/updated, avg reward), skips honestly when agentdb is absent.harvest:true;--dry-runwrites nothing.ak x verify harvest: live end-to-end proof — seeds real episodes, consolidates a real skill, reads it back. Unit tests assert the parser against real captured output (no fake runner).Verification
pnpm typecheck0 ·pnpm lint0 · 94 unit checks across 6 files passak x verify harvestgreen on real CLIs: seeded 3 episodes → created 1 skill (avg reward 0.9) → searchableNotes for the reviewer
bin/config/status/sync/setup/heal) interleave hunks from multiple features, so a file-based split would leave intermediate commits broken.agentdbglobally on firstsetup/sync(reversible:npm un -g agentdb).verify all(which now includesharvest) wasn't re-run in full this session (the other suites spawn slow ruflo/aqe trains); theharvestsuite was verified in isolation.🤖 Generated with Claude Code