---
title: "Smarter PRs, faster doctor checks, and GPT-5.5"
date: "2026-05-04"
---

## Smarter pull request titles and bodies

Fabro's auto-PR flow now asks the LLM for a structured pull request title and reviewer-sized body instead of deriving every title from the workflow goal. Titles are capped at 72 characters, bodies are validated as non-empty, and Fabro still appends the plan, retro, and run details programmatically so generated PRs stay useful without duplicating boilerplate.

The PR writer also sizes the description to the change. Small fixes get concise summaries, while larger or architectural changes can include the context, tradeoffs, and visual aids reviewers need.

## Faster, stricter LLM diagnostics

`fabro doctor` now probes configured LLM providers concurrently instead of waiting on them one by one. Provider probe failures also count as diagnostic errors, so a broken key or unreachable provider no longer looks like a successful configuration check.

Doctor output now preserves the underlying LLM error chain when a provider probe fails, which makes network failures, API errors, and provider-specific terminal errors easier to distinguish:

```bash
fabro doctor --verbose
fabro model test --provider openai
```

## GPT-5.5 and Claude Opus 4.7 defaults

The model catalog now includes `gpt-5.5` and `gpt-5.5-pro`, with `gpt-5.5` set as the OpenAI default. Anthropic's default model is now `claude-opus-4-7`.

Built-in Fabro workflows were also refreshed to use the newer defaults in their own model settings. This keeps generated plans, simplify stages, and project workflows aligned with the catalog users see through `fabro model list`.

## More

<Accordion title="CLI">
- `fabro doctor` now reports LLM provider probe failures as errors
- `fabro doctor` probes configured LLM providers concurrently
- `fabro auth status` now prints auth timestamps with seconds precision
</Accordion>

<Accordion title="Workflows">
- Auto-PR generation now uses structured `{ title, body }` output with validation and title fallback rules
- Built-in implementation workflows now use newer Claude and OpenAI defaults
- Built-in verify gates refresh generated docs before checking them
- Built-in Rust workflow checks now run clippy across all targets with the pinned nightly toolchain
</Accordion>

<Accordion title="Improvements">
- Run and board event streams are coordinated across browser tabs to reduce duplicate SSE subscriptions
- The run board now separates pre-execution runs from `Initializing` runs
- Daytona credential probes reuse HTTP clients and avoid extra proxy setup work
</Accordion>

<Accordion title="Fixes">
- Fixed OpenAI responses-stream terminal errors being hidden from agent sessions
- Fixed doctor output dropping source-chain details for failed LLM probes
- Fixed an LLM preflight probe regression
- Fixed cross-tab SSE fallback recovery and lifecycle cleanup in the web app
- Fixed the runs page briefly showing an empty-state before run data finished loading
</Accordion>
