fabro/apps/fabro-web
James Robert Somers 123e0944bd Say why a failed run stopped, above its tabs
The status popover shows the reason code ("Workflow error") and
lifecycle.error, which is empty when the failure lives in the run's
state, so a run stopped by the provider's billing refusal showed no
reason anywhere. The message is in conclusion.failure.detail, which the
run page already loads.

Show a quiet banner on failed and dead runs: the step the run stopped
at, a headline and the next thing to do, with the verbatim message and
the tail of a failed command's output in a closed <details>. The advice
comes from the failure's reason and category first (approval denied,
budget, publish, launch), then from the structured model request
message the server records (provider, kind, status, code), then from a
command's exit status. Command output is never searched for provider
or billing words. Provider names come from /providers, cancelled runs
get no banner, and a step that failed earlier but was recovered from
isn't named as the stop.
2026-10-26 08:08:58 -04:00
..
app Say why a failed run stopped, above its tabs 2026-10-26 08:08:58 -04:00
public/images Merge remote-tracking branch 'origin/main' into fix/modal-provider-catalog 2026-08-01 09:32:19 -04:00
scripts fix(web): harden build version detection 2026-07-25 15:15:25 -04:00
.dockerignore Rename Arc to Fabro in TypeScript/JavaScript 2026-03-12 11:13:18 -04:00
.gitignore Rename Arc to Fabro in TypeScript/JavaScript 2026-03-12 11:13:18 -04:00
index.template.html feat(web): tell open tabs when a new build ships 2026-07-25 14:45:26 -04:00
package.json Remove unsupported workflow playground 2026-09-03 12:04:35 -04:00
react-doctor.config.json refactor(web): improve React Doctor score (#405) 2026-05-25 22:41:37 -04:00
tsconfig.json Fix login route collision after SPA cutover 2026-04-01 21:55:30 -07:00