mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-20 00:11:34 +00:00
Branches bypass the engine's stage.started/stage.completed lifecycle, so no SWR key invalidated the stages list while a fork ran. The new live branch rows stayed frozen at their first observed state until an incidental refetch. Map parallel.* events to the stages list, run events, and graph keys. Also: - Label branch rows with formatStageLabel so a re-entered branch renders as `review_glm@2`, matching the sidebar and waterfall. - Build branch rows in one pass and count live outcomes in one loop. - Name ParallelBranchId in the OpenAPI spec and reuse fabro_types:: ParallelBranchId, replacing two copies of an inline string format. - Hoist makeStage and textContent into lib/test-utils so widening Stage cannot leave per-file fixtures stale (tests are excluded from typecheck, so the two component-test copies had already gone stale). - Query stat tiles by data-stat instead of an exact Tailwind class. - Reuse append_scoped_stage_event's body via append_event_with_scope and add test_branch_event instead of poking envelope fields. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| fabro-cli | ||
| fabro-mcp-server | ||
| fabro-server | ||
| fabro-spa | ||