2026-09-26 21:46:28 +02:00
|
|
|
|
---
|
|
|
|
|
|
title: Failure Boundary
|
|
|
|
|
|
status: draft
|
|
|
|
|
|
maturity: hypothesis
|
|
|
|
|
|
families: [quality, composition]
|
|
|
|
|
|
scales: [L5, L6]
|
|
|
|
|
|
admission: research-candidate-only
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
# Failure Boundary
|
|
|
|
|
|
|
|
|
|
|
|
Context: a failing region should not remove unrelated useful work. Continuity
|
|
|
|
|
|
competes with the cost of partial-state recovery and boundary coordination.
|
|
|
|
|
|
|
|
|
|
|
|
Proposed solution: define which failures a boundary contains, replace the affected
|
|
|
|
|
|
region with usable feedback, and give recovery an explicit reset/retry contract.
|
|
|
|
|
|
Keep required navigation and recoverable intent outside the failing subtree when
|
|
|
|
|
|
appropriate. If containment itself fails, define the next enclosing recovery path.
|
|
|
|
|
|
|
|
|
|
|
|
Result: some work can continue; shared state corruption or global runtime failure
|
|
|
|
|
|
may still cross the boundary. Resetting presentation does not undo remote effects.
|
|
|
|
|
|
Never replay a write merely because a region remounted. Distinguish expected domain
|
|
|
|
|
|
rejection and network errors from uncaught rendering faults.
|
|
|
|
|
|
|
|
|
|
|
|
Evidence: B05 locates React's rendering-error boundary and documented exclusions;
|
|
|
|
|
|
this proposal does not claim it catches every asynchronous or event-handler error.
|
|
|
|
|
|
Alternative: fail the entire task when partial continuation would mislead users.
|
|
|
|
|
|
A fallback is a product state that needs accessible controls, not just logging.
|
|
|
|
|
|
|
|
|
|
|
|
Proposed relations: [Mutation Outcome Tracking](MutationOutcomeTracking.md) handles
|
|
|
|
|
|
uncertain writes separately; [Focus Return](FocusReturn.md) applies to modal dismissal,
|
|
|
|
|
|
not automatically to every error replacement.
|
|
|
|
|
|
|
|
|
|
|
|
Next test: inject render, event-handler, network and fallback failures separately;
|
|
|
|
|
|
record which are contained and whether retry duplicates an accepted operation.
|
|
|
|
|
|
|
|
|
|
|
|
Evidence locators: [breadth review](../reviews/PatternBreadthExpansion.md).
|
|
|
|
|
|
All relations are research proposals; no canonical identity or admitted graph edges.
|
|
|
|
|
|
The next test is planned, not executed. Known uses of the complete proposed contract
|
|
|
|
|
|
have not been verified in this investigation.
|
2026-09-26 22:01:35 +02:00
|
|
|
|
|
|
|
|
|
|
## Executed partial evidence — 2026-09-26
|
|
|
|
|
|
|
|
|
|
|
|
[Boundary experiment](../reviews/BoundaryRecoveryExperiment.md) X01–X04 runs real
|
|
|
|
|
|
React 19.3.0 in a browser fixture. A render fault stays inside its region; an event
|
|
|
|
|
|
handler error does not; a handled 503 uses explicit request state; a broken fallback
|
|
|
|
|
|
reaches the enclosing boundary. These are bounded mechanism observations, not
|
|
|
|
|
|
production recurrence or evidence for mutation rollback. Retain hypothesis maturity.
|