Commit graph

4025 commits

Author SHA1 Message Date
Bryan Helmkamp
78718c101a
Merge remote-tracking branch 'origin/main' into fix/root-agent-todo-projection 2026-07-23 19:30:35 -04:00
Bryan Helmkamp
62c4ccaa93
Merge pull request #603 from fabro-sh/refactor/three-layer-crate-layout
Some checks are pending
Rust / Format (push) Waiting to run
Rust / Clippy (push) Waiting to run
Rust / Test (Linux) (push) Waiting to run
Rust / Test (macOS) (push) Waiting to run
TypeScript / Typecheck (push) Waiting to run
TypeScript / Test (push) Waiting to run
TypeScript / Build (push) Waiting to run
Rust / Generated Docs (push) Waiting to run
refactor: organize crates into apps, components, and foundation
2026-07-23 19:27:55 -04:00
Bryan Helmkamp
d8d1c14116
Clarify stage TODO ownership and plan guidance 2026-07-23 18:23:37 -04:00
Bryan Helmkamp
5c55b0c074
Fix stage TODO projection ownership 2026-07-23 18:05:22 -04:00
Scott Werner
47bc772f7b refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
Bryan Helmkamp
d96381c897
Merge pull request #599 from fabro-sh/fabro/run/01KY7WQ92JWT90307EBQY6P2HV
Add `output_schema` support on command (parallelogram) nodes
2026-07-23 17:36:37 -04:00
Bryan Helmkamp
7bdee5b494
Merge remote-tracking branch 'origin/main' into pr-599
# Conflicts:
#	docs/public/agents/outputs.mdx
#	docs/public/reference/dot-language.mdx
2026-07-23 17:24:33 -04:00
Bryan Helmkamp
b558af070f
Merge pull request #601 from fabro-sh/fabro/run/01KY7Y01REECZ24XXTMBZ3PPV9
Provider-scoped model catalog: `(provider, model slug)` as stable ident…
2026-07-23 17:14:51 -04:00
Bryan Helmkamp
b33a38e459
Merge pull request #600 from fabro-sh/fix/last-file-routing-fallback
fix(workflow): constrain last-file routing fallback
2026-07-23 17:13:50 -04:00
Fabro
fd48267423 fabro(01KY7Y01REECZ24XXTMBZ3PPV9): verify (succeeded)
Fabro-Run: 01KY7Y01REECZ24XXTMBZ3PPV9
Fabro-Completed: 10
Fabro-Checkpoint: cecbfc763b

⚒️ Generated with [Fabro](https://fabro.sh)
2026-07-23 20:57:21 +00:00
Fabro
000085cb52 Merge remote-tracking branch 'origin/main' into fabro/run/01KY7Y01REECZ24XXTMBZ3PPV9 2026-07-23 20:51:45 +00:00
Fabro
a58d65fd3c fabro(01KY7Y01REECZ24XXTMBZ3PPV9): fixup (succeeded)
Fabro-Run: 01KY7Y01REECZ24XXTMBZ3PPV9
Fabro-Completed: 9
Fabro-Checkpoint: 3cefb504a7

⚒️ Generated with [Fabro](https://fabro.sh)
2026-07-23 20:51:43 +00:00
Bryan Helmkamp
e736786bf2
fix(test): eliminate install and session-root races 2026-07-23 16:46:40 -04:00
Fabro
a89528caa6 fabro(01KY7Y01REECZ24XXTMBZ3PPV9): verify (failed)
Fabro-Run: 01KY7Y01REECZ24XXTMBZ3PPV9
Fabro-Completed: 8
Fabro-Checkpoint: 69abcb72b5

⚒️ Generated with [Fabro](https://fabro.sh)
2026-07-23 20:33:27 +00:00
Fabro
b3e085dc45 Merge remote-tracking branch 'origin/main' into fabro/run/01KY7Y01REECZ24XXTMBZ3PPV9 2026-07-23 20:29:21 +00:00
Fabro
9b85653a2d fabro(01KY7Y01REECZ24XXTMBZ3PPV9): simplify_sol (succeeded)
Fabro-Run: 01KY7Y01REECZ24XXTMBZ3PPV9
Fabro-Completed: 7
Fabro-Checkpoint: 334aea8fdc

⚒️ Generated with [Fabro](https://fabro.sh)
2026-07-23 20:29:19 +00:00
fabro-releases[bot]
8c37f5fae5 Bump version to 0.303.0-nightly.4 2026-07-23 20:10:14 +00:00
Bryan Helmkamp
6f8576f15c
fix(manifest): bundle output schema file references 2026-07-23 15:54:24 -04:00
Bryan Helmkamp
c9b5303128
fix(workflow): flush agent events before stage completion 2026-07-23 15:52:25 -04:00
Bryan Helmkamp
886371e474
refactor(workflow): clean up last-file routing fallback review nits
Document the contract of read_last_file_routing_json (terminal JSON
extraction only; routing validation happens downstream), extract a
shared sandbox_with_file test helper, and drop the misleading
"standalone" wording from the fallback docs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 15:47:17 -04:00
Bryan Helmkamp
02437fb18a
fix(workflow): constrain last-file routing fallback 2026-07-23 15:28:19 -04:00
Bryan Helmkamp
7ff153d222
chore: bump verify timeout to 20m 2026-07-23 15:21:56 -04:00
Fabro
fe5ed3fcec fabro(01KY7WQ92JWT90307EBQY6P2HV): verify (succeeded)
Fabro-Run: 01KY7WQ92JWT90307EBQY6P2HV
Fabro-Completed: 10

⚒️ Generated with [Fabro](https://fabro.sh)
2026-07-23 19:15:12 +00:00
Fabro
56119990be fabro(01KY7Y01REECZ24XXTMBZ3PPV9): simplify_fable (succeeded)
Fabro-Run: 01KY7Y01REECZ24XXTMBZ3PPV9
Fabro-Completed: 6
Fabro-Checkpoint: 497f92f4d9

⚒️ Generated with [Fabro](https://fabro.sh)
2026-07-23 19:10:39 +00:00
Fabro
51853779bb fabro(01KY7WQ92JWT90307EBQY6P2HV): fixup (succeeded)
Fabro-Run: 01KY7WQ92JWT90307EBQY6P2HV
Fabro-Completed: 9

⚒️ Generated with [Fabro](https://fabro.sh)
2026-07-23 19:09:17 +00:00
Fabro
bd7c51235f Merge remote-tracking branch 'origin/main' into fabro/run/01KY7WQ92JWT90307EBQY6P2HV 2026-07-23 19:02:19 +00:00
Fabro
5c7ac5da2e fabro(01KY7WQ92JWT90307EBQY6P2HV): verify (failed)
Fabro-Run: 01KY7WQ92JWT90307EBQY6P2HV
Fabro-Completed: 8

⚒️ Generated with [Fabro](https://fabro.sh)
2026-07-23 19:02:01 +00:00
Bryan Helmkamp
e75c3dcd37
fix(test): replay SSE events before asserting stage types 2026-07-23 14:58:01 -04:00
Fabro
44df6d6378 Merge remote-tracking branch 'origin/main' into fabro/run/01KY7WQ92JWT90307EBQY6P2HV 2026-07-23 18:52:01 +00:00
Fabro
3a28bc0249 fabro(01KY7WQ92JWT90307EBQY6P2HV): simplify_sol (failed)
Fabro-Run: 01KY7WQ92JWT90307EBQY6P2HV
Fabro-Completed: 7

⚒️ Generated with [Fabro](https://fabro.sh)
2026-07-23 18:51:58 +00:00
fabro-releases[bot]
5d7ecd7348 Bump version to 0.303.0-nightly.3 2026-07-23 18:35:29 +00:00
Bryan Helmkamp
187e10879a
fix(server): make generated title updates atomic 2026-07-23 14:18:04 -04:00
Bryan Helmkamp
21e84484d2
Merge pull request #598 from fabro-sh/run-session-trace-header
feat(llm): send x-session-id trace header with the run ID
2026-07-23 13:54:26 -04:00
Bryan Helmkamp
b8eadd2480
Merge pull request #597 from fabro-sh/provider-aware-model-aliases
Make model aliases provider-aware
2026-07-23 13:54:18 -04:00
Fabro
ad15da7461 fabro(01KY7WQ92JWT90307EBQY6P2HV): simplify_fable (succeeded)
Fabro-Run: 01KY7WQ92JWT90307EBQY6P2HV
Fabro-Completed: 6

⚒️ Generated with [Fabro](https://fabro.sh)
2026-07-23 17:48:44 +00:00
Fabro
1a2bd7966d fabro(01KY7Y01REECZ24XXTMBZ3PPV9): implement (succeeded)
Fabro-Run: 01KY7Y01REECZ24XXTMBZ3PPV9
Fabro-Completed: 5
Fabro-Checkpoint: 1f2ff54692

⚒️ Generated with [Fabro](https://fabro.sh)
2026-07-23 17:41:29 +00:00
Bryan Helmkamp
0432c019ee
chore: address review feedback on error mapping and test-support gating
- Return 400 (not 500) for WorkflowError::ModelReference from run
  creation, matching ModelSelection: an ambiguous model/provider token
  is user input, not a server fault.
- Gate fabro-workflow's test_support module behind
  cfg(any(test, feature = "test-support")) so the feature actually
  controls exposure, per the repo's test-support boundary guidance.
  Add the self dev-dependency so tests/it keeps compiling, and gate
  the pipeline helpers that only test_support consumed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 13:38:55 -04:00
Release Repro
e8db4e1a9b
refactor(llm): simplify session trace header plumbing 2026-07-23 13:38:18 -04:00
Release Repro
1448d996e2
feat(llm): send x-session-id trace header with the run ID
Tag every LLM request in a run with an x-session-id header carrying the
run ID, so gateways that understand session tracing (e.g. OpenRouter
broadcast) can group a run's requests into one session.

Adds ExtraHeadersCredentialSource to fabro-auth: a CredentialSource
decorator that appends fixed headers to every resolved credential,
leaving operator-configured extra_headers untouched. The run pipeline
wraps its vault/env source with it, so agent stages, prompt stages,
hooks, and PR-content generation all pick up the header through the
existing extra_headers plumbing with no fabro-llm changes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 13:26:20 -04:00
Fabro
f68187bfc6 fabro(01KY7WQ92JWT90307EBQY6P2HV): implement (succeeded)
Fabro-Run: 01KY7WQ92JWT90307EBQY6P2HV
Fabro-Completed: 5

⚒️ Generated with [Fabro](https://fabro.sh)
2026-07-23 17:16:41 +00:00
Bryan Helmkamp
712b7702a2
fix: simplify provider-pin routing after concurrent fixes merged
Both this branch and the remote qa branch fixed the same provider-pin
regression; the merge stacked the two implementations. Keep the remote's
semantics: pin the run's provider whenever it offers the model, otherwise
fall back to priority selection.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 13:16:09 -04:00
Bryan Helmkamp
05acb11ee6
Merge remote-tracking branch 'origin/provider-aware-model-aliases' into provider-aware-model-aliases 2026-07-23 13:14:22 -04:00
Bryan Helmkamp
96102854d8
chore: address review feedback
- rename resolve_route catalog-instance test to describe its actual
  id-based resolution assertion
- use EnvVars::OPENAI_API_KEY instead of a raw string in the automation
  scheduler test fixture

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 13:13:45 -04:00
Bryan Helmkamp
831b750664
fix: honor the run's provider pin during request-time routing
Merging main brought in billing tests that construct ModelRef with String
model ids and an integration test that pins an OpenRouter run via the
backend's provider id. The ModelRef sites now use ModelId conversions.

The integration test also exposed a real regression: resolve_provider_context
ignored the persisted run provider whenever the model selector resolved
globally, re-routing pinned OpenRouter runs to a higher-priority provider for
nodes without explicit model/provider attrs. Request-time routing now treats
the run's selected provider as a pin with custom-model passthrough, matching
transform-time selection semantics.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 13:13:45 -04:00
Bryan Helmkamp
6b17dc730b
Merge remote-tracking branch 'origin/main' into qa/pr-597 2026-07-23 13:12:04 -04:00
Bryan Helmkamp
4f697c527c
fix: preserve provider pins during model routing 2026-07-23 13:11:49 -04:00
Fabro
1879fe0906 fabro(01KY7Y01REECZ24XXTMBZ3PPV9): preflight_lint (succeeded)
Fabro-Run: 01KY7Y01REECZ24XXTMBZ3PPV9
Fabro-Completed: 4
Fabro-Checkpoint: bb25ac7d9f

⚒️ Generated with [Fabro](https://fabro.sh)
2026-07-23 16:52:52 +00:00
Bryan Helmkamp
32d1b1b339
Merge remote-tracking branch 'origin/main' into provider-aware-model-aliases 2026-07-23 12:50:22 -04:00
Fabro
dfddfb747b fabro(01KY7Y01REECZ24XXTMBZ3PPV9): preflight_compile (succeeded)
Fabro-Run: 01KY7Y01REECZ24XXTMBZ3PPV9
Fabro-Completed: 3
Fabro-Checkpoint: 4bc92b4b11

⚒️ Generated with [Fabro](https://fabro.sh)
2026-07-23 16:50:14 +00:00
Fabro
a2650503e8 fabro(01KY7Y01REECZ24XXTMBZ3PPV9): toolchain (succeeded)
Fabro-Run: 01KY7Y01REECZ24XXTMBZ3PPV9
Fabro-Completed: 2
Fabro-Checkpoint: 970f0d7912

⚒️ Generated with [Fabro](https://fabro.sh)
2026-07-23 16:47:50 +00:00