Skip to content

feat(dashboard): functional Hero controls — guide, search, filter, sort#8

Merged
d-wwei merged 5 commits into
masterfrom
feat/hero-controls-v2
Apr 15, 2026
Merged

feat(dashboard): functional Hero controls — guide, search, filter, sort#8
d-wwei merged 5 commits into
masterfrom
feat/hero-controls-v2

Conversation

@d-wwei

@d-wwei d-wwei commented Apr 15, 2026

Copy link
Copy Markdown
Owner

Summary

  • "New Project" → "Guide" button with popover showing apex dashboard usage
  • Search input: live filter by project name/description
  • Status filter: custom dark-themed dropdown for all/running/active/archived
  • Sort: custom dropdown with Last Active/Last Created/Name/Success options
  • All filters compose via applyProjectFilters() pipeline

Test plan

  • Guide button → click shows popover, click outside closes
  • Search → type name → cards filter in real-time
  • Status dropdown → select Running → only running projects shown
  • Sort dropdown → Last Created → projects reorder by start time
  • Dropdowns visually match dark theme (no native OS chrome)
  • Language toggle → dropdown labels + search placeholder translate

🤖 Generated with Claude Code

d-wwei and others added 5 commits April 14, 2026 22:23
Reviewed 13-section spec for Plan Agent orchestration architecture.
Fixed 3 blocking issues (P0) and 4 important issues (P1):

- P0-1: Rename orchestration daemon CLI to `apex orch` (avoid collision
  with existing `apex daemon` for Dashboard launchd)
- P0-2: Define spawnUnblockedTasks — daemon spawns via `apex worker spawn`
  CLI, reads meta.json for WindowHandle tracking
- P0-3: Clarify Section 6.2 (agentStartCommand) is in-scope, narrow
  Section 13 未覆盖 list accordingly
- P1-1: Replace broken autoIntegrate shell script with temporary worktree
- P1-2: Add autoMerge definition (git merge --ff after integrate passes)
- P1-3: Fix lock file TOCTOU with atomic writeFileSync({flag:'wx'})
- P1-4: Specify daemon as M&C exit condition detector

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… + agent rules

Implement Phase 1 of the Plan Agent architecture spec:

- terminal.ts: add sendKey() to TerminalAdapter interface + CmuxAdapter + TmuxAdapter
- interrupt.ts: new module — per-agent interrupt key sequences with adapter awareness
- worker.ts: wire worker_agent_rules[category] into resolveAgent priority chain
- protocol-template.ts: add sectionDirectiveCheck for Worker directive/escalation protocol;
  make agentStartCommand async, read config.adapters first with hardcoded fallback
- cross-model.ts: update agentStartCommand call to await
- state.ts: runStructuralGate handles orchestrate:* stages with artifact checks
- event-log.ts: materializeState handles orchestration.event type
- types/state.ts: add OrchestrationEvent interface + optional field on StageState
- master.md: complete rewrite — Initiation/M&C/Closure three-phase model,
  daemon integration, directive/escalation protocol, orchestrate: stage prefix

Tests: 123 pass across 8 test files (sendKey, interrupt, directive, async agentStartCommand)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…rch CLI

Implement the orchestration daemon process (spec Section 3):

- orchestrator/daemon.ts: DaemonState, tick loop — monitors workers,
  auto-integrates/merges passing tasks, spawns unblocked tasks,
  detects crashes/escalations, checks M&C closure condition
- orchestrator/integrate.ts: autoIntegrate (tmp worktree merge+test),
  autoMerge (git merge --ff on main, race-condition handling)
- orchestrator/notify.ts: notifyPlanAgent (terminal idle check + send,
  file-based notification queue fallback), readPendingNotifications
- commands/orch.ts: apex orch start/stop/status — atomic lock (wx flag),
  PID tracking, stale lock detection, --force takeover
- cli.ts: register 'orch' subcommand

Tests: 8 new tests (integrate contract, notify queue CRUD + ordering + idempotency)
Full suite: 314/315 pass (1 pre-existing timeout)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace non-functional Hero page controls:
- "New Project" button → "Guide" with popover showing `apex dashboard` usage
- Search input: live filter by project name/description
- Status filter: dropdown for all/running/active/archived
- Sort: dropdown for recent/name/success rate

All filters compose via applyProjectFilters() pipeline.
applyLocale() now supports data-i18n-placeholder for input elements.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace native <select> with custom dark-themed dropdown menus.
Split Recent sort into Last Active and Last Created options.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@d-wwei d-wwei merged commit 638e4b4 into master Apr 15, 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