Repository navigation
fix(workflows): Lineage remembers Workflow choices, folds completed agents and shows models - #13
Closed
only21mil wants to merge 3 commits into
Conversation
The Lineage Workflow card and its phase headings kept their open state in component state, so a thread switch, a reload or collapsing the card reset them to the defaults. A small persisted store keyed by environment and coordinator now holds the user's choices, shared by the parent's row and the Workflow thread's own card. Without a key, the chat card keeps its phase toggles on the card, so they also survive collapsing it. Nothing is stored. Co-Authored-By: Claude Opus 5.5 <[email protected]>
An open Lineage phase listed every agent, so a phase with one live agent and many finished ones filled the small Lineage list. Completed agents now sit behind "Show N completed" in each open phase; failed and stopped agents stay listed. The choice is remembered per phase with the rest of the Workflow's Lineage view, so it holds when the phase closes and reopens and when its last live agent settles. The chat card still lists every agent. Co-Authored-By: Claude Opus 5.5 <[email protected]>
In Lineage, a Workflow agent row showed only its label; the model sat in the tooltip. Each row now has a second line with the model T3 reports, named through the same catalog-aware helper the agent tooltips use. Rows without a reported model stay one line, and the chat card shows no model line. Co-Authored-By: Claude Opus 5.5 <[email protected]>
only21mil
force-pushed
the
feat/workflow-lineage-sidebar
branch
from
October 4, 2026 23:30
0012edb to
56ddc5b
Compare
Author
|
Note 🤖 Opus 5.5 replying on behalf of Victor. Closing: this no longer applies in this form. Its base branch tracked |
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.
Problem
The Lineage phase tree from b42165b forgets what the user opened. Collapsing the card, switching threads or reloading puts the card back to collapsed and every phase back to its default. An open phase also lists every agent, so a Build phase with one live agent and five finished ones fills the 13.5rem Lineage list. The panel rows also hide which model each agent ran.
Change
Three stacked commits, each with its own tests. You can stop after any of them.
fix(workflows): Lineage remembers a Workflow's open phases. A small persisted Zustand store,apps/web/src/workflowLineageViewStore.ts, keeps the user's choices per environment and coordinator subagent. It follows thediffPanelStore.tspattern and keeps the 200 most recently changed Workflows.WorkflowCardtakes an optionallineageViewKey. Lineage passes it to both the parent's row and the Workflow thread's own card, so a choice made in one shows in the other. The chat card passes no key and stores nothing, but its phase toggles now live on the card instead of in each phase, so they also survive collapsing the card.fix(workflows): Lineage folds a phase's completed agents. In the panel variant, completed agents in an open phase sit behind "Show N completed". Failed, stopped, running and queued agents stay listed. The fold is stored per phase next to the phase toggle, so it stays as the user set it when the heading closes and reopens or when the phase's last live agent settles.fix(workflows): Lineage Workflow agents show their model. Panel rows get a second line with the reported model. It goes throughresolveSubagentMetadatawith the coordinator's provider, the helper the agent tooltips already use, so a catalog name wins over the raw slug. T3 reports no reasoning effort for Workflow agents, so the line names the model only. Rows without a reported model stay one line, and the chat card shows no model line. The line uses the muted tone of the Workflow's status line and dims with a completed agent's label, so it is never brighter than the label above it.Scope and approval
This targets pingdotgg#15559's branch, not
main, and sits on 0a9a726 with its banner rows and status marks unchanged. It changes the sharedWorkflowCardfrom b42165b and a few steps in your live/retained Lineage test. Almost all of it applies to the panel variant only. The chat card sees one side effect: its phase toggles survive collapsing the card. The commits stack, so you can keep the first, the first two or all three. There are no contract or server changes. It is web only. Desktop gets it through the web client, and mobile has no Workflow phase tree on this branch.Verification
Focused checks from
apps/webon56ddc5baf:vp test run --project unit src/workflowLineageViewStore.test.ts src/components/chat/ThreadRelationshipsControl.agents.test.tsx src/components/chat/ThreadRelationshipsControl.test.tsxpassed, 3 files and 18 tests. Commits 1 and 2 pass the same command on their own, with 15 and 17 tests.vp exec tsc --noEmitis clean.vp fmt --checkandvp lint --report-unused-disable-directiveson the five touched files are clean.knip --workspace apps/web --exportsis clean.The new tests check that the open card and phase choices survive a remount, a store rehydrate standing in for a reload, and a move to the Workflow's own thread, and that a collapsed card stays collapsed after a reload. For the fold, they check reveal and hide, that the heading closing and reopening leaves it alone, that a held-open phase stays folded when its last live agent completes, that a revealed fold survives a reload, and that the chat card still lists completed agents. For the model line, they check the catalog name, the readable slug fallback and the one-line row when no model is reported. In your live/retained test, Inspect now stays open after the card collapses, and completed members are revealed through "Show 1 completed".
Screenshots come from a local dev server on an isolated
--home-dirwith a neutralacme-webproject and a seeded running Workflow,release-check. Plan has 2 of 2 done, Build 5 of 6 with one running, Review one failed and two queued, and Verify is upcoming. Every agent reportsclaude-opus-5-5. Headless Chromium at 1280x900 and 2x, dark theme, each frame cropped to[data-thread-relationships-panel].Not checked: the light theme, the desktop shell, and the settle transition in a running app. The seeded rows are static, so settling is covered by the focused test only. Lineage keeps its 13.5rem list cap, so open phases scroll inside it in these frames. List height is a separate problem and this PR leaves it alone.
Claude Opus 5.5 (xhigh), Claude Code in T3 Code