fabro/docs/internal
Bryan Helmkamp 234bd5663e
Add ACP backend support (#237)
## Summary
Implemented ACP support as a first-class Fabro backend alongside `api`
and `cli`. This adds a new `fabro-acp` crate using the official ACP Rust
crates, routes `backend=\"acp\"` for agent and prompt nodes, adds
sandbox stdio support for local/Docker/test-support paths, emits ACP
workflow events/projections, updates server steerability handling,
validation, documentation, and black-box CLI coverage.

## Test Plan
Passed strict non-live verification:
- `ulimit -n 4096 && cargo nextest run -p fabro-workflow --run-ignored
all --no-fail-fast` — 1162 passed, 0 skipped.
- `ulimit -n 4096 && cargo nextest run -p fabro-acp -p fabro-sandbox -p
fabro-workflow -p fabro-validate -p fabro-store -p fabro-server -p
fabro-cli --run-ignored all --no-fail-fast -E 'not
test(daytona_streaming_live_smoke)'` — 3125 passed.
- `cargo build --workspace` — passed.
- `ulimit -n 4096 && cargo nextest run --workspace --run-ignored all
--no-fail-fast -E 'not test(daytona_streaming_live_smoke)'` — 5666
passed.
- `cargo +nightly-2026-04-14 fmt --check --all` — passed.
- `cargo +nightly-2026-04-14 clippy --workspace --all-targets -- -D
warnings` — passed.

Live-environment tests skipped/excluded under explicit user override:
- `daytona_streaming_live_smoke` was excluded from final nextest runs
because it requires live Daytona infrastructure and `DAYTONA_API_KEY`.
- Confirmed with `env -u DAYTONA_API_KEY cargo test -p fabro-sandbox
--features daytona --test daytona_streaming_live
daytona_streaming_live::daytona_streaming_live_smoke -- --ignored
--exact --nocapture`: failed fast with `DAYTONA_API_KEY must be set to
run this live smoke test`.
2026-05-11 23:39:43 -04:00
..
assets/brand docs: move published docs under docs/public 2026-04-26 21:19:46 -04:00
demo chore(demo): move simplify prompt to prompts/ alongside graphs 2026-04-30 08:35:48 -04:00
licenses docs: move published docs under docs/public 2026-04-26 21:19:46 -04:00
product refactor(workflow): remove retro stage (#230) 2026-05-09 10:18:20 -04:00
cargo-target-apfs-churn-plan.md docs: commit plan 2026-04-28 09:46:52 -07:00
cli-workflow-coupling-audit.md refactor(types): remove stage status compatibility 2026-04-30 06:48:47 -04:00
error-handling-strategy.md docs: clarify chain-rendering boundary in error strategy 2026-05-04 11:28:28 -04:00
event-schema-competitive-analysis.md docs: move published docs under docs/public 2026-04-26 21:19:46 -04:00
events-strategy.md refactor(workflow): remove retro stage (#230) 2026-05-09 10:18:20 -04:00
events.md Add ACP backend support (#237) 2026-05-11 23:39:43 -04:00
fabro-event-schema-v2-concrete-shape.md Add ACP backend support (#237) 2026-05-11 23:39:43 -04:00
fabro-event-schema-v2-proposal.md docs: move published docs under docs/public 2026-04-26 21:19:46 -04:00
llm-client-resolution.md docs: move published docs under docs/public 2026-04-26 21:19:46 -04:00
logging-strategy.md feat(cli): polish foreground TTY logs 2026-05-06 15:31:25 -04:00
mcp-server-qa-test-plan.md feat(cli): add Fabro MCP server (#236) 2026-05-11 18:20:50 -04:00
plan-events-as-source-of-truth-follow-ups.md refactor(run-projection): use stage vocabulary 2026-05-01 19:56:22 -04:00
plan-events-as-source-of-truth.md Make git metadata sandbox-native 2026-04-27 21:43:15 -07:00
run-directory-keys.md refactor(workflow): remove retro stage (#230) 2026-05-09 10:18:20 -04:00
server-secrets-strategy.md docs: move published docs under docs/public 2026-04-26 21:19:46 -04:00
slow-test-opportunities-2026-04-07.md docs: move published docs under docs/public 2026-04-26 21:19:46 -04:00
testing-strategy.md docs: move published docs under docs/public 2026-04-26 21:19:46 -04:00
updating-web-screenshots.md refactor(workflow): remove retro stage (#230) 2026-05-09 10:18:20 -04:00