mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-09-15 23:32:46 +00:00
Step 0 of .ai/plans/pebble-absorbs-embedder-concerns.md. Pebble's fabro-exec-sink-max-turns branch is merged into its main (pebble 4db661c, on the embedder-concerns branch until it lands), so fabro and petri pin one line. Both prompt budgets survive the merge because they count different things. - Agent hooks use `with_max_tool_rounds`, which is what the `max_tool_rounds` setting names and what petri does: `max_tool_rounds` model turns may run, and the hook proceeds on a turn that still asks for tools, so pebble gets `max_tool_rounds - 1` rounds and `ToolRoundsExhausted` fails open. Zero rounds proceeds without an agent, as the old loop did. Agent stages set no turn budget; the stage timeout and stall watchdog bound them. - Prompt stages load project memory through pebble's `ProjectMemory`, the loader agent stages already run over `with_memory_files`, instead of a hand-rolled copy of its budget, deduplication, and truncation. - `fabro_sandbox::SecretRedactor` puts fabro's secret scanner on pebble's text seams (process output tails, failed tool messages) for agent stages, Ask Fabro, hook evaluators, and `fabro exec`. The final redaction pass over every stored `RunEvent` stays; this does not replace it. - Agent stages state their compaction policy explicitly: the 80 percent threshold and six preserved turns fabro's own agent loop applied. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| src | ||
| tests | ||
| build.rs | ||
| Cargo.toml | ||