mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-08-28 05:27:41 +00:00
## Summary Removes Fabro's automatic retro generation stage so workflow runs go directly from execution to finalization and optional PR creation. This drops the retro-specific crate, events, projection fields, config/API knobs, and user-facing docs in favor of the existing durable run observability surfaces. ## What Changed - Deleted the `fabro-retro` crate and the workflow `retro` pipeline phase, with finalization now consuming `Executed` state directly. - Removed retro configuration and API surface area, including `--no-retro`, `[run.execution].retros`, manifest `no_retro`, `features.retros`, and run projection `retro*` fields. - Retired typed `retro.*` events while keeping historical event logs readable by deserializing retired retro event names as `Unknown`. - Stopped appending retro sections to generated PR bodies and updated docs, marketing copy, screenshots, and navigation to point users toward observability/event-stream inspection. ## Testing Not run during PR creation; this branch already contained the implementation commit. --- [](https://github.com/EveryInc/compound-engineering-plugin) 🤖 Generated with GPT-5 (unknown context, reasoning unspecified) via [Codex](https://openai.com/codex)
111 lines
3.2 KiB
TOML
111 lines
3.2 KiB
TOML
[package]
|
|
name = "fabro-server"
|
|
edition.workspace = true
|
|
version.workspace = true
|
|
publish = false
|
|
license.workspace = true
|
|
description = "HTTP server for Fabro pipelines"
|
|
|
|
[lib]
|
|
doctest = false
|
|
|
|
[features]
|
|
test-support = []
|
|
|
|
[[test]]
|
|
name = "it"
|
|
path = "tests/it/main.rs"
|
|
required-features = ["test-support"]
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
fabro-auth = { path = "../fabro-auth" }
|
|
fabro-install = { path = "../fabro-install" }
|
|
fabro-spa = { path = "../fabro-spa" }
|
|
fabro-config = { path = "../fabro-config" }
|
|
fabro-graphviz = { path = "../fabro-graphviz" }
|
|
fabro-hooks = { path = "../fabro-hooks" }
|
|
fabro-interview = { path = "../fabro-interview" }
|
|
fabro-slack = { path = "../fabro-slack" }
|
|
fabro-workflow = { path = "../fabro-workflow" }
|
|
fabro-validate = { path = "../fabro-validate" }
|
|
fabro-sandbox = { path = "../fabro-sandbox", features = ["daytona"] }
|
|
fabro-github = { path = "../fabro-github" }
|
|
fabro-agent = { path = "../fabro-agent" }
|
|
fabro-llm = { path = "../fabro-llm" }
|
|
fabro-model = { path = "../fabro-model" }
|
|
fabro-proc = { path = "../fabro-proc" }
|
|
fabro-types = { path = "../fabro-types" }
|
|
fabro-util = { path = "../fabro-util" }
|
|
fabro-api = { path = "../fabro-api" }
|
|
fabro-store = { path = "../fabro-store" }
|
|
fabro-vault = { path = "../fabro-vault" }
|
|
fabro-http.workspace = true
|
|
fabro-redact.workspace = true
|
|
fabro-static.workspace = true
|
|
chrono.workspace = true
|
|
futures-util.workspace = true
|
|
axum.workspace = true
|
|
axum-extra.workspace = true
|
|
cookie.workspace = true
|
|
dirs.workspace = true
|
|
globset.workspace = true
|
|
tower = "0.5"
|
|
tower-http = { version = "0.6", features = ["trace"] }
|
|
tokio-stream = { workspace = true, features = ["sync"] }
|
|
tokio-util.workspace = true
|
|
base64.workspace = true
|
|
jsonwebtoken.workspace = true
|
|
hkdf.workspace = true
|
|
tokio.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
serde_yaml = "0.9"
|
|
anyhow.workspace = true
|
|
clap.workspace = true
|
|
toml.workspace = true
|
|
toml_edit.workspace = true
|
|
tracing.workspace = true
|
|
ulid.workspace = true
|
|
uuid.workspace = true
|
|
hmac.workspace = true
|
|
sha2.workspace = true
|
|
hex.workspace = true
|
|
rand.workspace = true
|
|
bytes = "1"
|
|
tempfile = "3"
|
|
object_store.workspace = true
|
|
# reqwest 0.12 is a direct dep only so `NoProxyReqwestConnector` can build a
|
|
# `reqwest::Client` of the version object_store accepts. Rest of the crate
|
|
# talks to HTTP via fabro-http (reqwest 0.13).
|
|
object_store_reqwest = { package = "reqwest", version = "0.12", default-features = false, features = ["rustls-tls-native-roots"] }
|
|
mime_guess.workspace = true
|
|
regex.workspace = true
|
|
semver.workspace = true
|
|
walkdir.workspace = true
|
|
multer = "3"
|
|
thiserror.workspace = true
|
|
ipnet = "2.11.0"
|
|
percent-encoding.workspace = true
|
|
url = "2"
|
|
zeroize.workspace = true
|
|
strum.workspace = true
|
|
|
|
[build-dependencies]
|
|
chrono = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
tokio = { workspace = true, features = ["test-util", "macros"] }
|
|
tower = "0.5"
|
|
http-body-util = "0.1"
|
|
httpmock = "0.8"
|
|
serde_yaml = "0.9"
|
|
tracing-subscriber.workspace = true
|
|
async-trait.workspace = true
|
|
tokio-util.workspace = true
|
|
fabro-macros = { path = "../fabro-macros" }
|
|
fabro-sandbox = { path = "../fabro-sandbox", features = ["test-support"] }
|
|
fabro-test = { workspace = true }
|
|
fabro-types = { path = "../fabro-types", features = ["test-support"] }
|