Skip to content

Release v0.13.x — Moltworld platform, dashboard widgets, genome expansion#13

Merged
atomantic merged 72 commits intomainfrom
dev
Feb 17, 2026
Merged

Release v0.13.x — Moltworld platform, dashboard widgets, genome expansion#13
atomantic merged 72 commits intomainfrom
dev

Conversation

@atomantic
Copy link
Owner

Summary

Major release adding Moltworld as a second platform for AI agents, expanding the genome dashboard, and adding several dashboard intelligence widgets.

Moltworld Platform Support

  • Full platform integration — agents can register, move, build, think, say, and earn SIM tokens in a shared 480x480 voxel world
  • World Tab — dedicated agent detail tab with live WebSocket feed, action controls (move, think, build, say), nearby agents panel, activity history, and action queue
  • Real-time WebSocket relay — server-side connection to wss://moltworld.io/ws streaming events through Socket.IO
  • Action queue — in-memory per-agent queue for scheduling actions from the UI, consumed by the explorer script
  • Explorer script — autonomous world wanderer with LM Studio-generated thoughts, configurable intervals, COS job integration
  • Sky maze builder — procedural maze generation using recursive backtracking DFS with rate-limit compliance and resume support
  • mw_ action prefix — all Moltworld actions namespaced to avoid collisions with Moltbook

Dashboard Intelligence

  • Upcoming Tasks widget — shows what CoS will work on next with ready/scheduled distinction and learning-adjusted indicators
  • Activity calendar — GitHub-style heatmap of last 8 weeks of CoS task completion with streak tracking
  • Goal progress widget — maps completed tasks to goal categories from COS-GOALS.md with success rate indicators

Genome — Cancer Predisposition Expansion

  • 37 new cancer SNP markers across 7 subcategories (breast/ovarian, prostate, colorectal, lung, melanoma, bladder, digestive)
  • Reorganized cancer categories with specific subcategories replacing the single cancer_risk bucket

Agent & CoS Improvements

  • Task feedback system — thumbs up/down on completed agent cards with proactive toast notifications
  • Resume for system agent tasks — Resume button now available for CoS-internal agents
  • Brain idea status tracking — mark ideas as done to prevent duplicate task generation
  • Auto-restart errored PM2 processes during health check
  • Braille spinner loading indicators across 16 UI states
  • CyberCity UX — improved colors, readability, collapsible activity log, building click navigation

Fixes

  • GitHub repo maintenance skill template reliability (Dependabot alerts, repo limits, open PR auditing)
  • Dashboard toast suppression for optional widgets via silent API option
  • PM2 standardizer timeout race condition (increased to 180s)
  • Mobile zoom-out excess space, avatar sizing, enrichment tracking

Test plan

  • Verify Moltworld registration, join, explore, build, think, say actions work end-to-end
  • Confirm World tab live feed updates via WebSocket connection
  • Test action queue add/cancel/execute flow
  • Verify explorer and maze scripts run without errors
  • Check dashboard widgets render correctly (upcoming tasks, calendar, goal progress)
  • Confirm genome cancer markers display in correct categories
  • Test agent feedback thumbs up/down and toast notifications
  • Verify system agent resume creates internal task type
  • Check brain idea status filter and mark-done button

github-actions bot and others added 30 commits February 14, 2026 01:37
…tegories

Expands cancer coverage from 2 markers to 41 with dedicated categories for breast/
ovarian (incl. BRCA Ashkenazi founder mutations), prostate (8q24 region), colorectal,
lung (CHRNA3/5 nicotinic receptor), melanoma, bladder (NAT2 acetylator), and digestive
cancer. Also adds TERT, MDM2, CHEK2 to tumor suppression and thyroid cancer markers.
Add user feedback collection for completed agent tasks to address the
COS-GOALS.md requirement for "User satisfaction feedback" tracking.

Backend:
- POST /api/cos/agents/:id/feedback - submit feedback (positive/negative/neutral)
- GET /api/cos/feedback/stats - get aggregated satisfaction metrics
- Feedback persisted in agent state with rating, comment, and timestamp

Frontend:
- ThumbsUp/ThumbsDown buttons on completed agent cards
- Optional comment input for detailed feedback
- Visual state feedback with toast notifications
- Button states reflect current feedback status
…aintenance

Two nearly identical autonomous jobs existed: job-git-maintenance (local repo checks)
and job-github-repo-maintenance (GitHub API audits). Consolidated into a single
job that covers both local and remote repository maintenance.
Activate the unified weekly GitHub repo maintenance job that audits
security alerts, stale dependencies, missing CI/README/license,
uncommitted local changes, and stale branches. Clean up the stale
job-git-maintenance data entry left from the merge in e71fa3e.
When CoS agents complete tasks, a toast notification now appears with
inline thumbs up/down buttons, prompting for immediate feedback. This
improves feedback collection by surfacing the prompt at the moment of
completion rather than requiring users to navigate to the Agents tab.

- Created useAgentFeedbackToast hook listening for cos:agent:completed
- Custom toast with task description and inline feedback buttons
- 15-second duration with dismiss button
- Prevents duplicate toasts for same agent
- Skips system agents (sys-* prefix)
- Integrates with existing feedback API and learning system
Add integration with Moltworld — a shared voxel world where AI agents
move, build structures, think out loud, communicate, and earn SIM tokens.

Server:
- New integration module (api, rateLimits, index) with agentId-based auth
- Moltworld tools route: /join, /build, /explore, /status, /balance, /rate-limits
- Platform dispatch in action executor for 5 new action types
- Validation schemas for moltworld endpoints and action types
- Platform-aware system prompt in content generator

Client:
- Platform-aware quick actions (Explore/Build for Moltworld)
- Schedule form filters action types by selected account's platform
- API methods for all Moltworld tool endpoints
…a 608dc733)

Promote dormant brain idea into concrete implementation spec defining 7 aesthetic
domains, conversational LLM-powered prompting flow, data model (taste-profile.json
v2 + aesthetics.json), and 9-step implementation plan under M42 in PLAN.md.
…180s

The CLI analysis promise could reject twice (timeout + killed child close
event). Added settled guard, timer cleanup, AbortController for API path,
and timing diagnostics for slow provider debugging.
GitHub-style contribution heatmap showing last 8 weeks of CoS activity:
- Color-coded squares by volume and success rate
- Current streak indicator with flame badge
- Interactive tooltips with day details
- Today highlighted with accent ring
- Summary stats and mini legend

New API endpoint: GET /api/cos/productivity/calendar
- Add goalProgress service that parses COS-GOALS.md and maps completed
  tasks to 5 goal categories (Codebase Quality, Self-Improvement,
  Documentation, User Engagement, System Health)
- Add API endpoints GET /api/cos/goal-progress and
  GET /api/cos/goal-progress/summary
- Create GoalProgressWidget React component with visual progress bars,
  success rate indicators, and engagement levels
- Display most active and needs-attention goals
- Integrate widget into Dashboard page below CoS status widget

Addresses COS-GOALS.md "Metrics to Track" requirement and user preference
for key performance metrics displayed prominently on dashboard
…generation

Brain ideas had no status field, so implemented ideas (like Genome Section,
Aesthetic Taste, Chronotype) stayed active and kept generating auto-tasks.
Added active/done status to ideas schema, status filter UI, quick mark-done
button for projects/ideas/admin, and updated autonomous job prompts to skip
done items.
- Add goalProgress service that parses COS-GOALS.md and maps completed
  tasks to 5 goal categories (Codebase Quality, Self-Improvement,
  Documentation, User Engagement, System Health)
- Add API endpoints GET /api/cos/goal-progress and
  GET /api/cos/goal-progress/summary
- Create GoalProgressWidget React component with visual progress bars,
  success rate indicators, and engagement levels
- Display most active and needs-attention goals
- Integrate widget into Dashboard page below CoS status widget

Addresses COS-GOALS.md "Metrics to Track" requirement and user preference
for key performance metrics displayed prominently on dashboard
Evaluate Helius, Birdeye, and pump.fun APIs for rate limits, auth
requirements, and response schemas. Includes comparison matrix and
recommended architecture with phased approach starting at $148/mo.
Health check now attempts pm2 restart for any errored process instead
of only reporting the issue. Failed restarts still surface as errors;
successful restarts surface as warnings so the dashboard reflects what
happened.
Constrain viewport width on html/body/#root with overflow-x: hidden and
max-width: 100vw to prevent horizontal overflow. Add max-w-full to main
content area and use 100dvh for proper mobile viewport height handling.
…izing

Hide full StateLabel on mobile (only show compact one in header) to
eliminate duplicate "Investigating" display. Change avatar containers
from fixed dimensions to fluid width with max-width constraints so
they fill the parent card instead of being clipped by a small box.
- Replace h-screen with h-full on CoS root so it fills parent flex
  container instead of using 100vh (which includes mobile browser chrome)
- Use overflow-hidden on Layout's main for full-width pages since those
  pages manage their own internal scrolling
- Add width constraints (w-full, max-w-full, overflow-x-hidden, min-w-0)
  to agent panel and content panel to prevent horizontal overflow
…ered

When saving list-based enrichment (movies, books, music), the code
marked categories as completed but never set questionsAnswered, causing
the UI to always show "0 questions answered" for these categories.

Now sets questionsAnswered[category] = items.length when saving lists,
and displays "items added" instead of "questions answered" for
list-based categories.
Avatar max-width was 14rem/20rem which filled or exceeded the 320px
sidebar column, causing the avatar to render cut off. Reduced to
8rem/12rem so it fits comfortably within the sidebar padding.
…d widgets

Dashboard widgets (CosDashboardWidget, GoalProgressWidget) fire API calls
for supplementary data and gracefully handle failures with .catch(() => null),
but the centralized api.request() showed error toasts before throwing. Added
silent option to api.request() so callers can suppress toasts for non-critical
requests.
…ractivity

- Stopped buildings now use red (#ef4444) with faster pulse for urgency
- Not-started buildings use violet (#8b5cf6) for better distinction
- Archived buildings use lighter slate (#64748b) for visibility
- HUD panels: increased font sizes, stronger contrast, larger touch targets
- Activity log: collapsible, colored level indicators, hover-to-expand messages
- Settings panel: section descriptions, tooltips on all toggles/sliders, sticky header
- Building click navigates to specific app page (/apps/:id)
- Holographic labels show process count and status icons
- Status legend added to HUD for color meaning
- Loading screen improved with progress bar and glow effects
- Agent bar: larger touch targets (32px min), glow on status dots
- Ground grid: larger cells, brighter section lines, better fog density
- Slider gradient now correctly accounts for min offset
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 87 out of 88 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

atomantic and others added 12 commits February 17, 2026 09:22
Add "Load Samples" button to AI Providers page that discovers new
sample providers from portos-ai-toolkit not yet in user config.
Shows provider details with Add/Add All actions. Includes
claude-code-bedrock sample provider. Updates toolkit to 0.5.0.
- Extract PM2_HOME constant from ecosystem.config.js during detection
- Handle template literals with homedir() resolution
- Update refresh-config endpoint to auto-populate pm2Home
- Use detected pm2Home when checking PM2 status during detection
The project-local PM2_HOME (.pm2/) caused confusion when running pm2
commands directly vs via npm scripts. Simplified to use global daemon.
Providers can now configure env vars (key-value pairs) passed to CLI
processes at runtime. Enables Bedrock config (CLAUDE_CODE_USE_BEDROCK,
AWS_PROFILE) and other per-provider environment overrides. Env vars
display in provider cards and carry through from sample providers.
- Simplify queue eviction with reverse iteration to avoid index shifting
- Declare timer before settle() for explicit lifecycle management
- Replace fragile regex with lastIndexOf for empty JSON array detection
@atomantic atomantic requested a review from Copilot February 17, 2026 17:38
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 91 out of 93 changed files in this pull request and generated 8 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

- Sync feedbackState from prop changes via useEffect
- Extend calendar grid to end of week with isFuture padding
- Use execFile instead of exec for PM2 restart (shell injection)
- Wrap JSON.parse in try/catch for PM2 jlist output
- Use os.homedir() instead of process.env.HOME fallback
- Upgrade ws to v8 for native ESM support
- Fix reconnect loop stopping on error (track isReconnecting flag)
- Validate Moltworld registration credentials before persisting
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 91 out of 93 changed files in this pull request and generated 3 comments.

Comments suppressed due to low confidence (1)

client/src/components/agents/tabs/ToolsTab.jsx:313

  • This draft-loading path now fetches the post using draft.accountId || selectedAccountId, but it no longer updates selectedAccountId to draft.accountId. Since the Platform Accounts service allows multiple active accounts per agent, subsequent publish/comment actions in this tab can execute under the wrong account after loading a draft tied to a different account. Either restore setting selectedAccountId from the draft (and show a selector when multiple accounts exist) or enforce a single active account per agent/platform.
      setPostContent(draft.content || '');
      if (draft.submolt) setSelectedSubmolt(draft.submolt);
      setSelectedPost(null);
      setCommentContent('');
    } else {
      setCommentContent(draft.content || '');
      setReplyToId(draft.parentId || null);
      if (draft.postId) {
        const acctId = draft.accountId || selectedAccountId;
        api.getAgentPost(acctId, draft.postId).then(details => {
          setSelectedPost(details);
          setPostComments(details.comments || []);
        }).catch(() => {});
      }

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

atomantic and others added 6 commits February 17, 2026 11:22
- Track currentPortosAgentId (for activity logging) separately from
  currentMoltworldAgentId (for WS protocol) — fixes activity being
  written under wrong folder
- Persist credentials.agentId in createAccount for Moltworld accounts
…xtraction

The regex was stopping at the first quote in nested expressions like
`${require("os").homedir()}`. Changed from .*? to [^`]+ to match
everything between backticks regardless of nested quotes.
@atomantic atomantic merged commit 0f485ae into main Feb 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Comments