feat: Sub-Issue 13 — Living Agent Dashboard#8
Merged
kingassune merged 2 commits intomainfrom Feb 24, 2026
Merged
Conversation
… dashboard tool, config, agent loop integration) Co-authored-by: kingassune <[email protected]>
Copilot
AI
changed the title
[WIP] Implement Living Agent Dashboard for monitoring agent performance
feat: Sub-Issue 13 — Living Agent Dashboard
Feb 24, 2026
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.
📝 Description
Implements the final sub-issue of the Living Agent epic: a CLI/web dashboard that exposes the agent's internal life-state (metabolism, trading, family tree, telepathy, swarm) in real-time.
pkg/dashboard/— new packagedashboard.go: Callback-basedDashboardOptionskeeps the package import-free from heavy deps.Dashboard.GetData()aggregates all sources with full graceful degradation (nil sources → omitted sections).cli.go:FormatCLI()renders a Unicode box-drawing terminal view across all sections.web.go:RegisterHandlers()mounts:GET /dashboard— dark-themed, mobile-responsive HTML; JSsetTimeoutauto-refresh every 10sGET /dashboard/api— fullDashboardDataJSONGET /dashboard/api/{metabolism,family,telepathy,swarm}— section-scoped JSONdashboard_test.go: 11 tests — nil-source degradation, mock sources, uptime formatting, CLI output, JSON round-trip.pkg/tools/dashboard_tool.godashboardtool withsectionenum (all|metabolism|trading|family|telepathy|swarm|system); returnsFormatCLIoutput as aSilentResult.Config + integration
DashboardConfig{Enabled, WebEnabled, RefreshInterval}added toConfigstruct andconfig.example.json.registerSharedTools()inloop.goregisters the dashboard tool whencfg.Dashboard.Enabled, wiring metabolism state via the agent's existingToolRegistry.GetMetabolism().🗣️ Type of Change
🤖 AI Code Generation
🔗 Related Issue
Part of #3 — Living Agent epic, Sub-Issue 13.
📚 Technical Context (Skip for Docs)
pkg/dashboardhas zero imports from metabolism/replication/swarm — callers inloop.gobridge the types. This keeps the package testable in isolation and avoids import cycles.🧪 Test Environment
📸 Evidence (Optional)
Click to view Logs/Screenshots
☑️ Checklist
Original prompt
Parent Epic: #3 — Living Agent — GMAC Metabolism, GDEX SDK Trading, Self-Replication, Telepathy
This PR implements Sub-Issue 13: Living Agent Dashboard — the final sub-issue of the epic. This is a CLI/web dashboard showing the agent's life-state, trades, agent family tree, and telepathy activity.
Context: Sub-issues 1–12 are all merged. The codebase now has:
pkg/metabolism/—MetabolismwithGetStatus()returningMetabolismStatus{Balance, Goodwill, Generation, SurvivalMode, Abilities},GetLedger(),GetBalance(),GetGoodwill(), persistence viaSaveToFile/LoadFromFilepkg/metabolism/goodwill.go—GoodwillTrackerwithGetAbilities()pkg/replication/—ReplicatorwithListChildren()returning[]*ChildAgent,TelepathyBuswithGetHistory(limit), file-based telepathypkg/swarm/—SwarmCoordinatorwithGetMembers(),GetSignals(), consensus engine, persistencepkg/recode/—RecoderwithGetHistory()returning[]RecodeActionpkg/tools/— Full GDEX trading tool suite (gdex_buy,gdex_sell, etc.),replicate,self_recode,telepathy,swarmtoolspkg/config/config.go—MetabolismConfig,GDEXConfig,SwarmConfigpkg/agent/loop.go—AgentLoopwithGetStartupInfo(),registerSharedTools()pkg/heartbeat/service.go—HeartbeatServicewithIsRunning()pkg/gateway/with HTTP server pattern (if it exists)Sub-Issue 13: Living Agent Dashboard
Build a dashboard that exposes the agent's internal life-state — making the "living agent" concept visible and interactive. The dashboard should work both as CLI output and as a simple web UI served from the existing gateway.
1. New Package:
pkg/dashboard/File:
pkg/dashboard/dashboard.goCore dashboard data aggregator: