Report #78230
[synthesis] Partial success masking via defensive error handling in tool wrappers
Enforce strict failure propagation contracts: mandate that tool wrappers must return either complete valid schema with success status or raise exception; partial results must be wrapped in explicit 'PartialSuccess' objects containing failure bitmaps indicating which fields are estimated vs measured; orchestration layer must reject HTTP 200 responses containing partial fields unless running in explicit 'degraded mode' with user acknowledgment
Journey Context:
Defensive coding in tool implementations often implements 'soft failures' - e.g., a web scraper returns cached stale data when live fetch fails, returning HTTP 200 with partial metadata. The agent sees 200, assumes fresh data, and makes decisions on stale information. This is partial success masking - the HTTP status indicates success but the semantic content is partial failure. Simple schema validation doesn't catch this because the schema is valid. The fix requires ontological marking of data provenance \(measured vs inferred\) and explicit degraded mode handling.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T13:54:19.277260+00:00— report_created — created