fabro/lib/crates/fabro-cli/tests/it/workflow
Bryan Helmkamp 02fabb7b47
fix(workflow): capture configured artifacts once (#337)
## Summary

Fixes artifact promotion for configured `[run.artifacts].include` globs
by collecting matching files after each stage regardless of mtime and
surfacing failed discovery commands as collection failures.

The workflow lifecycle now keeps a per-run ledger keyed by `(path,
content_sha256)`, rebuilt from existing `artifact.captured` events, so
unchanged files are persisted and emitted once while changed content at
the same path can still be captured again.

Fixes fabro-sh/fabro#335.

## Tests

- `cargo +nightly-2026-04-14 fmt --check --all`
- `cargo nextest run -p fabro-workflow artifact_snapshot`
- `cargo nextest run -p fabro-cli
unchanged_matching_artifact_is_captured_once_across_stages`
- `cargo nextest run -p fabro-cli
acp_artifacts_are_listed_when_touched_file_mtime_precedes_attempt_start`

---

[![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)

---------

Co-authored-by: Jess Martin <27258+jessmartin@users.noreply.github.com>
2026-05-21 10:52:22 -04:00
..
fixtures refactor(workflow): update stage outcome semantics 2026-04-30 06:06:51 -04:00
acp.rs fix(workflow): capture configured artifacts once (#337) 2026-05-21 10:52:22 -04:00
agent_linear.rs refactor(workflow): remove retro stage (#230) 2026-05-09 10:18:20 -04:00
artifacts.rs fix(workflow): capture configured artifacts once (#337) 2026-05-21 10:52:22 -04:00
command_agent_mixed.rs Add ACP backend support (#237) 2026-05-11 23:39:43 -04:00
command_pipeline.rs Add ACP backend support (#237) 2026-05-11 23:39:43 -04:00
conditional_branching.rs refactor(workflow): remove retro stage (#230) 2026-05-09 10:18:20 -04:00
dry_run_examples.rs refactor(workflow): remove local worktree mode 2026-05-09 11:04:23 -04:00
full_stack.rs Add ACP backend support (#237) 2026-05-11 23:39:43 -04:00
hooks.rs refactor(auth): split credential sources and vault schemas (#306) 2026-05-18 11:07:42 -04:00
human_gate.rs refactor(workflow): remove retro stage (#230) 2026-05-09 10:18:20 -04:00
mod.rs fix(workflow): capture configured artifacts once (#337) 2026-05-21 10:52:22 -04:00