Components · Recovery
Recovery Panel
Current consistency, then distinct paths: reconcile, resend, compensate, restore the previous configuration, escalate. Never one “try again” for all.
Overview
This compact fixture shows the renderer inside the shared contract. The richer gallery below exercises additional states without changing the resolver’s authority.
States
Each state is live and resolved from contract fields. The indicator checks both the complete Representation Plan and the rendered DOM. Missing coverage is reported separately.
| May claim | Must not claim |
|---|---|
| Which paths are safe now. | One retry that covers every case. |
Anatomy
01 · Current consistencyUnsettled targets remain visible above the paths.
02 · Distinct remediesReconcile reads; resend writes; compensation counters effects.
03 · Configuration rollbackRestoring a rule cannot undo an already-written external value.
The live specimen above follows these regions in reading order. Change a state to inspect the same anatomy under a different work condition.
Usage and avoid
- Read back before anything else.
- Only actions depending on the unknown result wait; unrelated work continues.
Avoid
- Don’t offer “Retry” while an outcome is unknown and the request is not idempotent.
When not to use
Validation errors before execution. Those belong to the proposal.
Contract
A component without this contract may wear Lyotic’s style; it does not implement Lyotic.
| Semantic inputs | Unsettled executions; adapters’ read-back capability; proposal retry safety; role |
|---|---|
| Allowed states | Any combination of paths from the plan |
| Forbidden states | Automatic unsafe retry; a rollback presented as undoing remote writes |
| Evidence requirements | Read-back capability per adapter |
| Action scope | reconcile, retry, compensate, rollback-config, escalate |
| Meaning of authority | Each path has its own permission; disallowed paths explain why |
| External effects | Rollback changes configuration only; compensation reverses remote effects (INV-17) |
| Verification conditions | Reconciliation feeds verification |
| Failure and recovery | If read-back is impossible, escalate |
| Transitions | reconcile → verify |
| Accessibility | A list of buttons; the first safe path receives focus when the person opened it |
| Observable events | ly-action per path |
| Test conditions | INV-06, INV-17 |
Live boundary check
Use “Test a forbidden control” below the gallery. The checker receives an intentionally invalid, detached specimen and reports INV-03. No unsafe control is inserted into the live Work Case. This tests a boundary rather than teaching an unsafe success state.
In the Work Case
The same renderer below runs inside the existing anchored Work Object Shell. These are illustrative fixture states, not live business operations.
Accessibility
Keep action names, reasons, scope and state available to keyboard and assistive technology. Background updates preserve focus and control identity; reduced motion keeps the same semantic result.
Code
recoveryPanel(state, plan)