mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-10-11 03:40:05 +00:00
- The store checks that captured bytes match their digest in every build, hashing on a blocking thread, and the upload handler relies on that check instead of hashing a second time. - Capture bytes travel as `Bytes` from the hooks through the client and the store, so uploads and retries share one buffer. - The artifact writer takes the run ID from the hooks, so objects are stored under the run their records name. - Concurrent captures of the same file and content wait on one another, so the file is uploaded and recorded once. - When a record append fails, the hooks re-read the run's captures and treat a record that did land as done, so a lost response does not record the capture twice. - An upload that finishes after its run was deleted removes itself, instead of leaving an object nothing references. - Listing a run's stage artifacts skips everything under `captures/`, so an unexpected object there cannot fail the listing or the ZIP. - The capture record derives its `digest` key from its source instead of storing it twice, still writing and checking it on the wire. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| commands | ||
| shared | ||
| sleep_inhibitor | ||
| args.rs | ||
| command_context.rs | ||
| gh.rs | ||
| landing.rs | ||
| local_server.rs | ||
| logging.rs | ||
| main.rs | ||
| manifest_args.rs | ||
| mcp_servers.rs | ||
| server_client.rs | ||
| server_runs.rs | ||
| user_config.rs | ||