fabro/lib/foundation
Scott Werner 2e500b0e2f Simplify artifact capture writer and storage helpers
- The artifact writer takes the digest the hooks already computed, so
  captured bytes are hashed once on each side, and the dead integrity
  error goes away.
- The writer is a required part of HooksSpec, not an optional field on
  RunRequest, so a run with capture globs always has a writer and the
  no-writer error goes away.
- ArtifactStore routes put/get and the capture methods through shared
  put_at/get_at helpers.
- The upload handler parses the digest with parse_blob_hash_path before
  any store reads, and builds its size-limit message from the constant.
- The default local artifact root comes from one helper used by both
  config resolution and the storage-dir override.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 13:32:13 -04:00
..
build-support refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
fabro-api Restore configured artifact storage for workflow captures 2026-09-24 13:53:46 -04:00
fabro-auth Bump lithos-llm to 43a42ac and migrate catalogs to the codecs schema 2026-09-18 22:07:00 -04:00
fabro-client Restore configured artifact storage for workflow captures 2026-09-24 13:53:46 -04:00
fabro-config Simplify artifact capture writer and storage helpers 2026-09-25 13:32:13 -04:00
fabro-db Drop the run_events table and narrow the runs row 2026-09-18 14:37:18 -04:00
fabro-dev Merge remote-tracking branch 'origin/main' into petri-integration 2026-09-19 06:37:02 -04:00
fabro-http Depend on lithos-llm and the published twin-openai crate 2026-09-09 17:26:57 -06:00
fabro-macros refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
fabro-oauth refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
fabro-options-metadata refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
fabro-proc Consolidate server Git subprocess ownership 2026-09-11 17:36:40 -06:00
fabro-redact Use pebble's sandbox-driver adapter and delete fabro-pebble-sandbox 2026-09-21 17:42:15 -04:00
fabro-static Answer steer and interrupt with the worker's acknowledgement 2026-09-18 23:54:11 -04:00
fabro-telemetry refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
fabro-template Read workflow graphs through Petri's DOT parser 2026-09-19 12:23:57 -04:00
fabro-test Merge remote-tracking branch 'origin/main' into petri-integration 2026-09-19 15:25:20 -04:00
fabro-types Simplify artifact capture writer and storage helpers 2026-09-25 13:32:13 -04:00
fabro-util Share one poison-tolerant lock helper from fabro-util 2026-09-20 14:47:46 -04:00
fabro-vault refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00