Skip to content

feat: overhaul agent pipeline with architect, corrected models, and golf pace utility#124

Open
CxxxxDxxxF wants to merge 2 commits into
ItsWendell:mainfrom
CxxxxDxxxF:main
Open

feat: overhaul agent pipeline with architect, corrected models, and golf pace utility#124
CxxxxDxxxF wants to merge 2 commits into
ItsWendell:mainfrom
CxxxxDxxxF:main

Conversation

@CxxxxDxxxF

Copy link
Copy Markdown

Summary

  • Rewrites the lead agent with a PRE-FLIGHT REPORT, user confirmation gate, and structured FINAL REPORT
  • Adds a new architect agent (deepseek-r1) as the planning stage, replacing spec-writer in the main pipeline (Architect → Builder → Reviewer)
  • Rewrites builder and reviewer with budget-mode awareness (normal/frugal/emergency) and structured output formats
  • Fixes all OpenRouter model IDs to valid slugs (deepseek-chat-v3.1, deepseek-r1, gemini-2.5-flash-preview-09-2025)
  • Adds golf-pace-analyzer.ts utility + 10-test suite generated by the new pipeline as a smoke test

Test plan

  • Open an OpenCode session with lead-agent and verify PRE-FLIGHT REPORT appears before any agents are spawned
  • Confirm YES and verify agents run in order: Architect → Builder → Reviewer
  • Verify FINAL REPORT includes PASS/FAIL verdict and cost estimate
  • Run bun test packages/configconv/src/utils/golf-pace-analyzer.test.ts — all 10 tests should pass

🤖 Generated with Claude Code

CxxxxDxxxF and others added 2 commits May 12, 2026 16:30
…r panel, and cost tracker

- Add lead-agent, spec-writer, builder, reviewer agent definitions in .opencode/agents/
- Configure OpenRouter/DeepSeek as default model with per-agent overrides in opencode.json
- Add sub-agents atom family (childSessionsFamily) for live sub-agent status/cost per session
- Add cost-tracking atom aggregating spend across all sessions
- Add MultiAgentPanel sidebar section showing real-time sub-agent status and token/cost data
- Add CostTracker footer widget with per-agent cost breakdown popover
- Ignore .omc/ OMC state directory in git

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat: overhaul agent pipeline with architect, corrected models, and golf pace utility

- Rewrite lead-agent with PRE-FLIGHT REPORT, user confirmation gate, and FINAL REPORT
- Add architect agent (deepseek-r1) replacing spec-writer in main pipeline
- Rewrite builder and reviewer with budget-mode awareness and structured output
- Update all model IDs to valid OpenRouter slugs (deepseek-chat-v3.1, deepseek-r1, gemini-2.5-flash-preview-09-2025)
- Add golf pace analyzer utility and 10-test suite generated by the new pipeline

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore: remove golf pace test files

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat: overhaul project management UX with custom modal, context menus, and pin/hide

- Replace raw file picker with two-option modal (Open Existing / Create New Project)
  - Create New Project: types a name, picks parent location, folder created via fs.mkdir
  - Re-adding a hidden project automatically removes it from the hidden set
- Add right-click context menu on each project: Rename, Pin to top/Unpin,
  Open in Finder, Copy path, Remove from list
- Inline rename stored in projectDisplayNamesAtom (localStorage, survives reloads)
- Pin/hide state persisted via pinnedProjectsAtom / hiddenProjectsAtom (localStorage)
- Pinned projects sort above all tiers in the project list
- Add folder icon and parent-directory path hint to each project row
- Active indicator on selected project row
- Search auto-shows when >5 projects; searches display name overrides too
- Add dialog:create-directory and shell:show-in-finder IPC handlers

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat(sidebar): move Projects section above Recent

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(add-project-modal): navigate into new session after adding project

Instead of landing on the home route, create a session in the new
project directory and navigate directly to it.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat(new-chat): dynamic time-based greeting, remove wordmark from hero

Replaces "Build what's next" with a personalized greeting that updates
every minute based on the hour. Removes the palot. wordmark from the
welcome hero area, and drops an unused import from sidebar-layout.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat: add skills system with manager UI, IPC layer, and lead agent integration

Creates ~/.config/opencode/skills/ as the skills directory. Adds IPC
handlers, preload bridge, and backend service for listing, writing, and
deleting skill .md files. Adds a /skills route with a full Skills Manager
page (list, create/edit modal, delete with confirm) wired into the sidebar
above Settings. Updates the Lead Agent to load matching skills before
spawning sub-agents. Includes 3 starter skills: react-patterns,
typescript-strict, and tailwind-conventions.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat(agent-display): add budget badge to chat status bar, fix agent card summary format, suppress allow-state policy banner

- StatusBar now shows live spend + NORMAL/FRUGAL/EMERGENCY mode label
  color-coded green/amber/red using sessionMetricsFamily + getBudgetDisplay
- SubAgentCard completedSummary changed from "✓ X completed · 847 tokens · …"
  to "✓ X · 847 tok · $0.02 · 1m 23s" to match spec
- MultiAgentPanel policy banner now only renders when decision !== "allow",
  eliminating noisy always-visible allow-state card

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore: remove verbose multi-paragraph docstrings (slop cleanup)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(agent): audit fixes — execution order persistence, listAllSkills, watchdog tests

- task-graph-service: fix executionOrder always returning [] on load; add
  executionOrderFromMarkdown() parser that restores groups from the
  "## Execution Order" markdown section saved by graphToMarkdown()
- task-graph-service.test: add round-trip test covering save→load cycle
  with non-empty executionOrder
- backend: add listAllSkills() wrapper (skills:list-all) to match the
  pattern used by every other IPC call; was previously called directly
  as window.palot.skills.listAll() only from use-slash-command-handler
- skills-page: switch from listSkills() to listAllSkills() so external
  skills from ~/.opencode/skills/<repo>/ appear in the management UI
- use-session-watchdog: extract summarizeTurns() as a named pure
  function so the ChatTurn→TurnSummary mapping is independently testable
- use-session-watchdog.test: 10 tests covering part classification,
  file-edit/command tool sets, WINDOW_SIZE sliding window, multi-message
  turn concatenation, and sequential index assignment

All 162 tests pass, 0 TypeScript errors.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat(agent-overhaul): cost routing, supervisor state, context snapshots, live agent visualization

- ModelRoutingService: classifies prompt/task complexity → routes low/medium/high to Haiku/Sonnet/Opus
- SupervisorStateService: persists milestones, active task IDs, and subagent outputs via ProjectBrain
- Context compaction: saves brain snapshot before summarize(), restores goals on next message send
- Supervisor IPC + preload bridge: load/save/append-output/set-milestone/mark-task-active
- Brain IPC: projectPath scoping, delete, search, contextSummary handlers
- SubAgentEntry: adds toolCallCount + errorCount fields threaded from sessionMetricsFamily
- MultiAgentPanel / SubAgentRow: renders duration, tool call count, and error count per agent
- 184/184 tests passing (up from 162)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat(agent-overhaul): knowledge graph, research agent utilities, supervisor auto-tracking

- KnowledgeGraphService: typed entries (goal/decision/lesson/file-relationship) stored
  as brain Markdown files with YAML frontmatter; add/get/query/remove/getContext API
- IPC handlers + preload bridge for knowledge:add/query/remove/context
- renderer backend wrappers: addKnowledge, queryKnowledge, removeKnowledge, getKnowledgeContext
- useSubAgentCompletion hook: auto-records child session completions to supervisor state
  when status transitions running → idle/completed (Feature 7 full integration)
- research-agent.ts: makeResearchPrompt, mergeResearchOutputs, extractResearchSummary
  utilities for Feature 4 parallel read-only research agents
- MultiAgentPanel: wired useSubAgentCompletion for automatic supervisor tracking
- 201/201 tests passing, 0 TypeScript errors

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Clean up agent overhaul integration

- Add project brain, handoff docs, and architecture/API documentation for the agent orchestration work
- Split chat input/sidebar surfaces into focused components and wire Hive Mind, supervision, skills, and watchdog helpers
- Add service-layer tests for project brain, indexing, skills, automation reliability, supervision, slash commands, and chat send prep
- Fix stale AGENTS.md guidance, OpenCode SDK v2 usage in research orchestration, and SupervisorState test assumptions
- Ignore local Launch Palot.command helpers so machine-specific launch scripts stay out of git

Verification:
- bun run check-types
- bun run lint
- git diff --check
- bun test apps/desktop/src/main/*.test.ts apps/desktop/src/main/automation/*.test.ts apps/desktop/src/renderer/lib/*.test.ts apps/desktop/src/renderer/atoms/*.test.ts apps/desktop/src/renderer/components/chat/*.test.ts apps/desktop/src/renderer/components/*.test.tsx

* Harden agent handoff reliability

- Raise supervision budget and child-agent limits so normal workflows do not stop at six child sessions
- Add explicit handoff-ready and blocked markers plus retry guidance to Lead, Architect, Builder, and Reviewer agents
- Surface SDK session.error state as failed child-agent rows in Hive Mind
- Sync updated agent configs to the runtime OpenCode agent directory
- Document remaining manual recovery and threshold limitations

Verification:
- bun run check-types
- bun run lint
- git diff --check
- bun test apps/desktop/src/main/*.test.ts apps/desktop/src/main/automation/*.test.ts apps/desktop/src/renderer/lib/*.test.ts apps/desktop/src/renderer/atoms/*.test.ts apps/desktop/src/renderer/components/chat/*.test.ts apps/desktop/src/renderer/components/*.test.tsx

* Add trust-based agent permissions

* Make lead agent fan out parallel work

* Add 144 builtin agents, hive-mind MCP memory server, and builtin agent system

- Bundle 144 specialist agents (VoltAgent collection) into src/main/builtin-agents/,
  converted to palot schema with model/color mapping per category; 25 reasoning-heavy
  agents (architects, security auditors, orchestrators) routed to deepseek-r1
- Add copyBuiltinAgents() Vite plugin to copy agent files into out/main/ at build time
- Add loadBuiltinAgents() in IPC handlers (async fs, path-traversal safe); agents:list
  now merges builtins with user-created agents — user agents take precedence by filename
- Add scripts/palot-mcp-server.ts: zero-dependency stdio MCP server exposing brain_list,
  brain_read, brain_write, brain_search, mem9_store, mem9_recall as MCP tools; all
  OpenCode agents now share hive-mind memory via .palot/brain/ and optional mem9
- Register palot-brain MCP server in opencode.json (type: local, bun transport)
- Add scripts/generate-builtin-agents.ts: re-runnable fetch+convert script from GitHub
- Security: safeBrainPath() guards against slug path traversal in MCP server

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Organize agents into 9 teams with leaders, org chart UI, and team-aware pipeline

- Run assign-agent-teams.ts to stamp all 144 builtin agents with team/team-role
  frontmatter and inject structured reporting protocol into each team leader's
  system prompt (📊 REPORT block, ⚠️ ESCALATING prefix, delegation instructions)
- agents-page.tsx: add Org Chart view — Boss card → 9 color-coded team cards
  each showing leader (crown badge) + expandable member list; List view adds
  team badge and crown to each row; inspect any agent via dialog
- team-roster.tsx: group agents by team in collapsible sections, leaders shown
  first with crown badge, each section color-coded by team
- pipeline-progress.tsx: add Active Teams row below the pipeline stages when
  knownAgents metadata is available — shows pulsing team dots with leader crown
- multi-agent-panel.tsx: load agent metadata and pass as knownAgents to pipeline

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Add agent performance tracking and memory cleanup

* Harden brain storage and surface brain errors

* Wire hive agents to brain tools and skills

* Surface hive context failures

* Harden hive memory and run tracking

* Add performance analytics dashboard and upgrade team leaders to deepseek-r1

Performance tracking (auto-recorded on every agent run):
- AgentPerformanceLedger stored in .palot/brain/agent-performance.md
- Score formula: start 100 for completion, penalize errors/retries/cost/time
- needsAttention flag when success rate <75% or avg score <70 after 2+ runs
- agents-page.tsx: new "Perf" tab — summary cards, agent leaderboard with
  sortable columns (score/success/runs/time/cost), needs-attention panel,
  team breakdown, model comparison; clicking any row opens agent detail
- Team leaders now all run on deepseek-r1 (upgraded 5 that were on chat)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Fix audit findings: MCP race condition, perf write TOCTOU, stale closure, stage missing files

- palot-mcp-server.ts: fix race condition where concurrent requests (write
  then read) could process out of order. Serialize all requests through a
  queue; increment pending synchronously on line arrival before queuing so
  checkExit() cannot fire while requests are still pending in the queue
- ipc-handlers.ts: fix TOCTOU race in agent-performance:record — concurrent
  completions from parallel sub-agents would both read the same stale ledger
  and the second write would silently drop the first record. Added per-project
  perfWriteQueues map that chains each write onto the previous promise
- use-agent-recovery.ts: fix stale closure — dep array had config.enabled but
  body used full config object; changed to depend on config to pick up changes
  to maxRestartsPerChild and restartCooldownMs at runtime
- Stage previously untracked files that are imported by committed code:
  mem9-service.ts, brain-page.tsx, knowledge-page.tsx, use-mem9-memory.ts,
  mem9-api.md — a fresh checkout would fail to compile without these

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Register Brain MCP globally and add knowledge relevance scoring

- brain-mcp-registrar: auto-writes palot-brain to ~/.config/opencode/opencode.json
  on app start and removes it on quit, so every project gets the MCP tools without
  needing project-local opencode.json entries
- knowledge-scorer: relevance scoring for knowledge sources against agent profiles;
  sources with score ≥ 3 are pre-selected in the spawn dialog
- electron-builder: bundle palot-mcp-server.mjs as an extra resource so packaged
  builds can locate the script via process.resourcesPath
- Remove project-local mcp.palot-brain from opencode.json (superseded by global reg)
- Wire unregisterBrainMcpServer to before-quit for clean teardown

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Add prompt size budget to hive spawn to prevent context overflow

Knowledge sources can be arbitrarily large (obsidian-api.md is 81KB).
Without caps the spawn prompt blows past model context limits on a single
agent spawn.

- memories: capped at 3 000 chars with truncation notice
- per knowledge section: capped at 12 000 chars
- total knowledge budget: 24 000 chars; sections beyond the budget are omitted
- 3 new regression tests covering each cap

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Hive Mind UX overhaul: agent dashboard, delegation upgrade, knowledge docs

**Agent Dashboard — now accessible**
- Add /agents route and AgentsPage to router.tsx
- Add "Agents" sidebar nav link (LayoutDashboardIcon, above Skills)

**Lead Agent delegation upgrade**
- Rewrite lead-agent.md with hard delegation threshold table covering 9 task types
- Add RECOMMENDED AGENTS block: Lead can name Palot builtin agents for user to spawn
- List all 144 builtin agents by team in the prompt so Lead knows they exist
- Upgrade Lead Agent model: deepseek-chat-v3.1 → deepseek-r1 (reasoning model
  reliably follows complex orchestration instructions; chat model was ignoring them)

**Always-accessible team roster**
- Replace hidden <details> "Spawn More Agents" with a [+] button in the Hive Mind label
- Button toggles inline TeamRoster panel; roster closes automatically after a spawn
- XIcon / PlusIcon toggle gives clear affordance for add-agent action

**Knowledge docs added (5 new)**
- nextjs-patterns.md: App Router structure, data fetching, Server Actions, anti-patterns
- react-ui-patterns.md: shadcn/Tailwind conventions, Jotai state, a11y checklist
- electron-ipc-security.md: preload bridge, path safety, CSP, security checklist
- mcp-server-design.md: Palot stdio template, tool design, registration, smoke testing
- multi-agent-workflow.md: decomposition, handoff protocol, budget modes, failure modes

**Skills added (4 new, global)**
- audit-codebase.md: 4-phase audit workflow with severity-rated report format
- create-mcp-server.md: 8-step MCP server creation playbook
- write-tests.md: Bun test patterns, assertion reference, priority order
- production-hardening.md: 8-phase pre-ship checklist

All types clean, lint clean (88 files), 278 tests pass.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Fix ReferenceError: __dirname not defined in ipc-handlers.ts

loadBuiltinAgents() used __dirname directly, but ipc-handlers.ts is
an ES module (electron-vite serves main process as ESM in dev). Unlike
index.ts which already declared the ESM shim, ipc-handlers.ts had no
such declaration, crashing agents:list on every call.

Fix: add fileURLToPath shim at the top of ipc-handlers.ts — identical
to the pattern already used in index.ts. In dev, import.meta.url
resolves to src/main/ipc-handlers.ts so __dirname → src/main/, giving
the correct path to src/main/builtin-agents/. In packaged builds,
copyBuiltinAgents() already copies that directory to out/main/ and
__dirname resolves there correctly too.

This unblocks the Agents page (was showing 0 agents / 0 teams).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat(ui): agent org scrolling, analytics, skills toggle, and modal polish

- Fix Agents Org page scrolling: overflow-auto + min-h-0 on flex parents,
  OrgChartView switches from 3-col grid to horizontal flex with min-w-max
  so all 9 team columns are reachable via trackpad/mouse scroll
- Agent Details modal: add min-h-0 to flex container so content scrolls,
  bump to max-h-[90vh], extract SystemPromptSection with copy + char count,
  fix metadata grid to grid-cols-[100px_1fr] with break-words on badges
- Hive Mind analytics card: show N agents spawned with running/done/failed
  status pills alongside existing cost + token counters
- Skills toggle in spawn dialog: all skills pre-selected, click to exclude;
  count shown as "N/total skills selected"; selected set passed through
  SpawnDialog → TeamRoster → handleSpawn, which filters allSkills by the
  passed filenames so deselected skills are not injected into agent context

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat(agents): end-to-end audit, agent parser tests, and pending-spawn queue

- Add 28 new tests: parseAgentDocument (frontmatter parsing, all fields,
  fallback modes), agents:list merge (user overrides builtin by filename),
  pending-spawn queue (parser, approval, buildSpawnRequestMarkdown)
- Implement pending-spawn queue so Lead Agent can request specialist spawns
  via brain/spawn-requests.md; Hive Mind panel shows one-click Approve
- Update lead-agent.md with exact REQUEST: format and brain_append instructions
- Fix skills guard: empty selectedSkills now falls back to all skills (not zero)

Audit findings documented inline. Gates: 607/0 tests, types clean, build clean.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat(spawn): implement palot.spawn_request JSON protocol for lead agent auto-spawn

Lead Agent can now trigger agent spawns by emitting a structured JSON block
in its chat output. Palot detects these blocks in real-time via
parseSpawnRequestsFromText() and shows pending spawn requests in the Hive
Mind panel with one-click Approve / Approve All. Brain file polling remains
as a backup detection path.

- pending-spawn-queue: add parseSpawnRequestsFromText() — scans fenced JSON
  blocks for palot.spawn_request payloads, extracts agent name/task/reason
- pending-spawn-queue.test: 7 new tests covering all parseSpawnRequestsFromText
  edge cases (614 pass total)
- multi-agent-panel: live message watching via messagesFamily + partsFamily
  atoms; dedup via seenBlockKeysRef; Approve All button for batch approval;
  merge brain-file and message spawns into allPendingSpawns
- lead-agent prompt: document primary (JSON block) and backup (brain_append)
  spawn request methods with exact format, rules, and agent library reference

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat(pages): add Brain, Knowledge, and Mem9 pages with missing IPC handlers

- brain-page: browse .palot/brain/ files with search and Mem9 memory tab
- knowledge-page: browse .agents/knowledge/ sources with Mem9 memory tab
- use-mem9-memory hook: auto-records completed agent sessions to Mem9
- mem9-service: HTTP client for Mem9 REST API (v1alpha2) with graceful
  degradation when not configured
- ipc-handlers: add missing knowledge-src:list and knowledge-src:get handlers
  that wire KnowledgeService.list()/get() to the preload/renderer — without
  these the KnowledgePage rendered an empty list silently

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* test(mem9): add Mem9Service unit tests, move from wrong package location

Tests cover unconfigured no-op paths, graceful network failure, embedding
flag behavior, state management, and edge cases (24 tests, 35 assertions).
File was in packages/configconv/test/ — moved to apps/desktop/src/main/.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(security): path traversal in KnowledgeService, SSRF in fetch proxy, dead code cleanup

Addressed findings from Phase 4 security and code-quality validators:

- knowledge-service: add path containment guard to get() — validate filename
  with /^[A-Za-z0-9_.-]+$/ and verify resolved path starts with knowledge
  directory root; blocks ../traversal and path separator injection (HIGH)
- ipc-handlers: restrict fetch proxy to OpenCode server origin — compares
  requested.origin against getServerUrl() origin; blocks SSRF to cloud
  metadata endpoints and localhost services (CRITICAL)
- pending-spawn-queue: remove unused SECTION_RE and FIELD_RE constants that
  were dead code from a prior implementation (MEDIUM)
- multi-agent-panel: serialize Approve All with sequential await to prevent
  brain-file write race when multiple brain-sourced spawns exist (MEDIUM)
- knowledge-service.test: 9 tests covering path traversal guard (3 attack
  vectors), valid reads, and parseKnowledgeDocument field parsing

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(spawn): inject agent system prompt into hive spawn messages

Previously _agentPrompt was received in handleSpawn but never passed to
buildHiveSpawnPrompt — spawned agents ran as generic LLMs with only brain
context, losing their specialist expertise entirely.

- hive-spawn-prompt: add agentSystemPrompt field to HiveSpawnPromptInput;
  prepend the agent's .md system prompt before Hive protocol when provided,
  fall back to generic identity header when absent or empty
- multi-agent-panel: pass _agentPrompt (from agent definition) as
  agentSystemPrompt into buildHiveSpawnPrompt — team-roster already passed
  agent.prompt down the chain, it was being silently dropped here
- hive-spawn-prompt.test: 3 new tests for agentSystemPrompt injection,
  fallback on empty string, fallback when omitted (9 pass total)
- lead-agent prompt: expand delegation routing table with specific specialist
  mappings (react-specialist, typescript-pro, electron-pro, mcp-developer,
  application-security-reviewer, platform-engineer, multi-agent-coordinator)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(delegation): wire spawn detection timing, task/reason separation, stronger lead-agent mandate

- multi-agent-panel: add parentEntry?.status.type to detection effect deps
  so JSON blocks are caught when streaming completes (not just on message-add)
- multi-agent-panel: use request.task (not request.reason) as customInstruction
  when spawning approved agents, so the agent gets the actual work description
- multi-agent-panel: show task and reason separately in the pending-spawn UI
- pending-spawn-queue: add task field to SpawnRequest; parseSpawnRequestsFromText
  now extracts task (what to do) and reason (why this agent) independently
- pending-spawn-queue tests: updated assertions for task/reason separation
- lead-agent.md: MANDATORY language for JSON block emission; clarify block goes
  at end of PRE-FLIGHT REPORT; ban narrative delegation without the block

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat(delegation): mandate brain HANDOFF_READY notes and add Lead Agent synthesis step

- hive-spawn-prompt: add step 6 requiring agents to write HANDOFF_READY
  to brain run-history on completion (status, summary, files, blockers)
- lead-agent.md: add Step 6 (Synthesize Sub-Agent Results) that reads
  HANDOFF_READY notes from brain before writing the FINAL REPORT;
  includes recovery path for missing/blocked handoffs
- hive-spawn-prompt.test: add test verifying HANDOFF instruction appears
  in every spawn prompt (Phase 5 Hive Mind verification gate)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat(orchestration): add team templates and command center safeguards

* feat(branding): rename app to Nexus Builder and add agent spec features

- Rename all user-facing strings from Palot to Nexus Builder across main
  process, renderer, preload, onboarding, tray, compatibility, and skill
  importer; internal package scopes (@palot/*) and window.palot IPC bridge
  are preserved to avoid breaking changes
- Replace app icons, wordmark SVG, and tray assets with Nexus Builder identity
- Rename CLI binary from palot/palot.cmd to nexus-builder/nexus-builder.cmd
- Add AgentActivityTimeline component to MultiAgentPanel: collapsible last-5
  tool calls per agent with running/error/completed state indicators
- Add brain:context-summary IPC handler for session-aware memory injection
- Add tasks:route-model IPC handler backed by ModelRoutingService (heuristic
  complexity routing: low->haiku, medium->sonnet, high->opus)
- Add supervisor:load/save/append-output IPC handlers backed by
  SupervisorStateService for cross-session milestone persistence
- Wire compaction snapshot to brain before context compaction and restore
  goal context after compaction completes in use-chat-send
- Add NexusBuilderAPI type alias replacing PalotAPI in preload type definitions
- Add agents route to browser-mode server

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs: overhaul documentation for Nexus Builder

- Rewrite README.md: Nexus Builder branding throughout, no emojis, adds
  Hive Mind/Brain/supervision/model-routing to feature list, adds note
  clarifying @palot/* package scope naming, links to new doc files
- Create docs/DESIGN_SYSTEM.md: Tailwind v4 color tokens, typography scale,
  component patterns (sidebar rows, badges, banners, progress bars, tooltips,
  settings rows, empty states), icon sizing rules, animation conventions,
  and accessibility requirements
- Create docs/AI_CONTINUATION.md: guide for AI model contributors covering
  runtime boundary rules, file organization, IPC conventions, atom naming,
  React patterns, TypeScript conventions, known gaps with priorities, commit
  conventions, and hot path file reference table
- Update all existing docs (ARCHITECTURE, DEVELOPMENT_GUIDE, CODEX_HANDOFF,
  ENGINEERING_AUDIT, API_REFERENCE, DATABASE_SCHEMA, swarm-ui-validation,
  worktrees, AGENTS.md): replace Palot -> Nexus Builder throughout
- Update lead-agent.md and brain state files to Nexus Builder naming

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
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