mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-08-28 05:27:41 +00:00
## Summary Follow-up to fabro-sh/fabro#447. This keeps context compaction's effective preserve boundary consistent between summary generation, history mutation, and emitted telemetry so tool-call/result pairs that remain in raw history are not also summarized. The branch also tightens the OpenAI twin support added for this regression: scripted usage is modeled as a single `TokenUsage`, SSE completion payloads reuse the canonical Responses JSON shape, and request validation now treats custom tool-call outputs as tool outputs instead of spreading raw item-type string checks. ## Verification - `cargo +nightly-2026-04-14 fmt --check --all` - `cargo nextest run -p fabro-agent compaction` - `cargo nextest run -p twin-openai` - `FABRO_TEST_MODE=twin cargo nextest run -p fabro-agent --profile e2e --run-ignored only --test it openai_twin_compaction_preserves_tool_call_pairs` - `git diff --check origin/main...HEAD` --- [](https://github.com/EveryInc/compound-engineering-plugin) 🤖 Generated with GPT-5 via [Codex](https://openai.com/codex) |
||
|---|---|---|
| .. | ||
| analysis | ||
| attractor | ||
| bin | ||
| docs | ||
| dot-compatibility | ||
| templated_inputs | ||
| templated_unbound_imported | ||
| templated_unbound_partial | ||
| templates | ||
| twin | ||
| branching.fabro | ||
| conditions.fabro | ||
| invalid.fabro | ||
| legacy_tool.fabro | ||
| parallel.fabro | ||
| simple.fabro | ||
| styled.fabro | ||
| templated_unbound.fabro | ||