fabro/lib/crates/fabro-slack
Bryan Helmkamp f5e5f9c75c
Improve Slack setup and lifecycle notifications (#391)
## Summary

This improves Slack support from setup through day-to-day operator
visibility. The server now resolves Slack credentials through the same
`process env -> server.env` path as other server secrets and logs
whether Slack is enabled or which credential variables are missing.

Run lifecycle notifications now use a structured Block Kit layout
instead of one dense markdown section. Messages get a header, workflow
summary, metadata fields, optional failure details, optional PR
metadata, and an Open in Fabro context link.

The public docs now explain local `server.env` setup, Docker/process-env
setup, expected startup logs, lifecycle smoke testing, terminal
`run.failed` semantics, and the current route-based
`[run.notifications]` format.

## Validation

- `cargo test -p fabro-slack`
- `cargo check -p fabro-server`
- `cargo +nightly-2026-04-14 fmt --check --all`
- `cargo dev docs check`
- `git diff --check`

---

[![Compound
Engineering](https://img.shields.io/badge/Compound_Engineering-6366f1)](https://github.com/EveryInc/compound-engineering-plugin)
🤖 Generated with GPT-5 via [Codex](https://openai.com/codex)
2026-05-24 16:54:25 -04:00
..
src Improve Slack setup and lifecycle notifications (#391) 2026-05-24 16:54:25 -04:00
Cargo.toml Add Slack run lifecycle notifications via [run.notifications] (#365) 2026-05-23 13:07:42 -04:00