feat(dashboard): functional Hero controls — guide, search, filter, sort#8
Merged
Conversation
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>
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
apex dashboardusageapplyProjectFilters()pipelineTest plan
🤖 Generated with Claude Code