fabro/lib/crates
Bryan Helmkamp 237fb4a12f
refactor(workflow): finish StageId migration in projection and durations
Make iter_stages() and iter_stages_mut() yield in first_event_seq order so
callers don't need to re-sort. Drops boilerplate sorts in the billing handler
and the run-dump builder.

Replace extract_stage_durations_from_events with two intent-explicit
rollups built on extract_stage_durations_by_stage_id:
- total_stage_duration_by_node (sum across visits) for billing/usage
- latest_stage_duration_by_node (highest visit) for finalize/retro

The old function silently picked an arbitrary visit's duration per node;
the new helpers preserve all visit data and document the rollup choice
at the call site.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 18:54:31 -04:00
..
fabro-agent fix(openai): surface responses stream terminal errors 2026-05-04 11:12:40 -04:00
fabro-api fix(billing): render non-LLM run stages 2026-05-03 22:49:33 -04:00
fabro-auth refactor(api): unify secret metadata types 2026-04-29 20:26:13 -04:00
fabro-checkpoint Make git metadata sandbox-native 2026-04-27 21:43:15 -07:00
fabro-cli Model Test Bounded Concurrency Implementation Plan (#204) 2026-05-04 13:46:44 -04:00
fabro-client fix(cli): bound server readiness probes 2026-05-02 20:13:18 -04:00
fabro-config fix(error): preserve source chains across workspace 2026-05-01 17:30:20 -04:00
fabro-core refactor: simplify auth and actor handling 2026-05-02 11:44:17 -04:00
fabro-dev fix(docs): use MDX comment syntax for generated fences 2026-04-29 01:27:43 -04:00
fabro-devcontainer refactor(static): centralize env var names 2026-04-24 12:29:51 -04:00
fabro-dump refactor(workflow): finish StageId migration in projection and durations 2026-05-04 18:54:31 -04:00
fabro-github refactor(error): drop String error shims and DisplayContains test traits 2026-05-01 19:35:22 -04:00
fabro-graphviz refactor: simplify Rust review cleanup 2026-05-02 15:41:17 -04:00
fabro-hooks feat(command): distinguish cancelled commands from timeouts 2026-04-30 22:45:37 -04:00
fabro-http refactor(static): centralize env var names 2026-04-24 12:29:51 -04:00
fabro-install feat(install): add sandbox provider step to web install wizard 2026-04-27 14:59:17 -07:00
fabro-interview refactor: simplify auth and actor handling 2026-05-02 11:44:17 -04:00
fabro-llm refactor(server): simplify model availability probes 2026-05-04 11:47:37 -04:00
fabro-macros refactor(dev): simplify generated docs tooling 2026-04-24 18:41:00 -04:00
fabro-mcp fix(error): preserve source chains across workspace 2026-05-01 17:30:20 -04:00
fabro-model refactor(server): simplify model availability probes 2026-05-04 11:47:37 -04:00
fabro-oauth fix(error): preserve remaining error context 2026-05-02 10:51:15 -04:00
fabro-options-metadata refactor(dev): simplify generated docs tooling 2026-04-24 18:41:00 -04:00
fabro-proc refactor(static): centralize env var names 2026-04-24 12:29:51 -04:00
fabro-redact fix(redact): skip name fields to preserve sandbox identifiers 2026-05-03 19:57:55 -04:00
fabro-retro fix(error): preserve remaining error context 2026-05-02 10:51:15 -04:00
fabro-sandbox perf(sandbox): skip throwaway reqwest::Client in Daytona probe 2026-05-04 12:48:44 -04:00
fabro-server refactor(workflow): finish StageId migration in projection and durations 2026-05-04 18:54:31 -04:00
fabro-slack refactor: simplify auth and actor handling 2026-05-02 11:44:17 -04:00
fabro-spa feat(dev): gitignore embedded spa assets 2026-04-26 21:31:11 -04:00
fabro-static feat(server): validate Daytona API key scopes 2026-05-03 17:09:01 -04:00
fabro-store Merge remote-tracking branch 'origin/main' 2026-05-02 10:06:25 -04:00
fabro-telemetry refactor(static): centralize env var names 2026-04-24 12:29:51 -04:00
fabro-template refactor(async): lint std::process::Command across all targets 2026-04-12 13:35:57 -04:00
fabro-test fix(cli): bound server readiness probes 2026-05-02 20:13:18 -04:00
fabro-tracker fix(error): preserve remaining error context 2026-05-02 10:51:15 -04:00
fabro-types refactor(workflow): finish StageId migration in projection and durations 2026-05-04 18:54:31 -04:00
fabro-util refactor(error): drop String error shims and DisplayContains test traits 2026-05-01 19:35:22 -04:00
fabro-validate refactor: simplify Rust review cleanup 2026-05-02 15:41:17 -04:00
fabro-vault refactor(api): unify secret metadata types 2026-04-29 20:26:13 -04:00
fabro-workflow refactor(workflow): finish StageId migration in projection and durations 2026-05-04 18:54:31 -04:00