Conversation
…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
There was a problem hiding this comment.
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.
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
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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 updatesselectedAccountIdtodraft.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 settingselectedAccountIdfrom 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.
- 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.
… prevent retry spam
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.
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
wss://moltworld.io/wsstreaming events through Socket.IOmw_action prefix — all Moltworld actions namespaced to avoid collisions with MoltbookDashboard Intelligence
Genome — Cancer Predisposition Expansion
cancer_riskbucketAgent & CoS Improvements
Fixes
silentAPI optionTest plan