mirror of
https://github.com/morluto/rea.git
synced 2026-10-22 05:42:31 -05:00
* fix(kuna): report a failed export as not retryable in its session A session never rebuilds a failed project export, yet requests that need it returned the export's raw failure. For a timeout that projected as `retryable: true` with "Try a smaller request", and every retry returned the same stored failure. Those requests now fail with a non-retryable capability error that keeps the export failure as its cause and diagnostics and names what to change (the deadline or jobs for a timeout) before reopening the target. Cancellation and unproven cleanup keep their own errors. Refs #1957 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(kuna): keep a failed export's output and name the restart it needs The capability error for a failed export dropped the export's captured Kuna output, which the MCP projection only reads from the top-level error. It also told callers to change a setting and reopen the target, but REA reads Kuna settings once at startup. The error now carries the captured output and partial observation, and its recovery text says to change the setting where REA starts and restart REA. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * fix(kuna): keep resource limits on a failed export's capability error An export larger than REA_KUNA_CACHE_MAX_BYTES, or a Kuna command at its output cap, fails with a resource constraint whose resource and reported limits the projection exposes only on the top-level error. The wrapper now copies them into its diagnostics under the same names. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * refactor(kuna): carry a failed export's whole projection on its wrapper The capability error for a failed export copied the cause's facts field by field (captured output, resource limits), and each missing field, such as an artifact change's path and boundary, dropped evidence callers could not reach through `cause`. The wrapper now carries the export failure's own projected code and details in its diagnostics, so every typed field survives in the shape its own projection gives it, and the duplicated top-level copies are removed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>