design: pipeline status card and human gates UI for v0.9.0 milestone #18#648
Open
design: pipeline status card and human gates UI for v0.9.0 milestone #18#648
Conversation
Adds frontend scaffolding for the Autonomous Development Pipeline (milestone #20) ahead of the conductor agent implementation. New files: ui/src/types/pipeline.ts PipelineStatus, PipelineQueueItem, PipelineGate data types. PIPELINE_GATES constant documents all 4 always-human and 3 configurable gates from the v0.10.0 spec (issue #611). ui/src/hooks/usePipelineStatus.ts Stub hook returning null/not-loading. Includes a TODO comment pointing to the memory service query pattern that will replace it once the conductor starts writing pipeline digests (#603/#604). ui/src/components/dashboard/PipelineStatusCard.tsx Dashboard widget with three states: empty — "Conductor not yet active" with deploy hint loading — CardSkeleton placeholder populated — merge queue (stack-indented, approval dot, CI icon) + active stack count / stale count stats row ui/src/components/settings/PipelineGates.tsx Read-only reference section showing all 7 human interaction gates grouped by kind (always-human / configurable). Uses Lock + Settings2 icons and semantic colour coding (red = always, green/gray = default). Wired into: DashboardPage — PipelineStatusCard replaces the first Coming Soon stub SettingsPage — Pipeline Gates section inserted before About Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The conductor agent (issue #620) and pipeline infrastructure (issues #640, #643) are all in milestone #18 (v0.9.0), not v0.10.0. Update the module docstring and gate issue references accordingly. Add PipelineStage union type modelling the 7-stage label-driven state machine from issue #640: issue-created → triage → enrich → implement → review → merge → document. Exports PIPELINE_STAGE_LABELS (display strings) and PIPELINE_STAGE_ORDER (canonical progression array) for use in future PipelineStatusCard enhancements. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #648 +/- ##
==========================================
- Coverage 55.40% 55.39% -0.02%
==========================================
Files 126 126
Lines 13518 13518
==========================================
- Hits 7490 7488 -2
- Misses 6028 6030 +2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
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
Frontend scaffolding for the v0.10.0 Autonomous Development Pipeline ahead of the Conductor agent implementation. All components are production-quality with correct loading/empty/error states — they just need the backend to start returning data.
PipelineStatusCard— new dashboard widget replacing the first "Coming Soon" stub. Three states: empty (conductor not yet deployed), loading (skeleton), populated (stack-indented merge queue + stats). Merge queue items show stack depth via└prefix, an approval dot, and a CI indicator (running/passing/failing).PipelineGates— new Settings section that documents all 7 human interaction gates from the v0.10.0 spec (Define human interaction gates and tool policies for autonomous operation #611), grouped as always-human (4, locked) and configurable (3, with defaults). Read-only for now; becomes interactive once the conductor exposes a runtime settings endpoint.usePipelineStatushook — stub returningnullso the card renders its empty state. Contains aTODOcomment with the exact memory service query pattern to replace it once the conductor (Create.agentd/agents/conductor.yml#603) starts writing pipeline digests.pipeline.tstypes —PipelineStatus,PipelineQueueItem,PipelineGate, and thePIPELINE_GATESconstant matching the v0.10.0 spec.Design decisions
Stack depth rendering — queue items use
└tree characters (font-mono, muted) rather than indented boxes. Keeps the card compact on a narrow dashboard column while still conveying the stacking relationship visually.Empty state copy — "Conductor not yet active / Deploy
conductor.ymlto activate the autonomous pipeline" — actionable and links the visual gap directly to the work needed (#603).Gates as read-only reference — the configurable gates cannot be toggled in the UI yet because their runtime value comes from YAML, not a settings API. Displaying them statically is better than hiding them; operators should know what the system will do autonomously before deploying.
No new design tokens — all colours use existing semantic Tailwind classes (rose for always-human, green for autonomous-by-default, gray for human-by-default), consistent with
StatusBadgeandAgentRoleBadgepatterns.Depends on
design/agent-role-badges) for theconductorrole badge — independent merge order, no code conflict.Follow-up (not in this PR)
usePipelineStatusto the memory service once the conductor writes pipeline digests (issues Create.agentd/agents/conductor.yml#603 / Create.agentd/workflows/conductor-sync.yml#604).gates:static list with a live fetch from the conductor settings endpoint when that lands./pipelinedetail page for deep stack inspection (dependency graph view, per-PR drill-down).Test plan
PipelineStatusCardshows "Conductor not yet active" empty statetsc --noEmit)animate-spinis suppressed bymotion-reduce:animate-none🤖 Generated with Claude Code