You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: make retry demo failure count the visible payoff (#110)
The retry page's whole point is that httpware surfaces fewer failures to the
caller, but the failed count was rendered in the muted label style, the blip
stops spotlighted the in-flight counters (while the copy said 'compare the ✗
counts'), and the 1.2s blip left httpware recovering only ~5 of ~14 — a weak
contrast.
- ✗ failed is now a prominent stat (bold number, red when >0), wrapped in a
spotlightable element, on all pages
- retry blip stops spotlight the ✗ counts (plain climbing vs httpware ~0)
- tighten the blip to 0.4s so httpware recovers all of it: plain ✗6, httpware ✗0
Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
body:'Both clients hit the same transient errors. Watch how each responds.' },
37
-
{ when: (s) =>s.now>=2.4, spot: ['ifB'], title:'httpware retries the blip',
38
-
body:'The plain client surfaces the error immediately. httpware retries with backoff — most of these recover on attempt 2 or 3, invisibly to the caller.' },
39
-
{ when: (s) =>s.now>=10.0, spot: ['ifA', 'ifB'], title:'Blip: recovered',
40
-
body:'The backend healed and so did both clients — but compare the ✗ counts: httpware surfaced far fewer failures to the caller. That is what retry buys you on a transient blip.' },
body:'Both clients are about to hit the same transient errors. Keep your eye on the ✗ failed counts — they start equal at zero.' },
37
+
{ when: (s) =>s.now>=2.4, spot: ['badWrapA', 'badWrapB'], title:'Plain surfaces every error; httpware retries',
38
+
body:'The plain client surfaces each error straight to the caller — its ✗ is climbing. httpware retries with backoff, so most of these recover on attempt 2 or 3 and its ✗ barely moves.' },
39
+
{ when: (s) =>s.now>=10.0, spot: ['badWrapA', 'badWrapB'], title:'Blip over — mind the ✗ gap',
40
+
body:'The backend healed. Compare the ✗ failed counts: the plain client surfaced far more failures than httpware. That gap is exactly what retry buys you on a transient blip.' },
summary: Make the retry demo's failure count the visible payoff — prominent ✗ stat, spotlighted at the blip stops, with a punchier recover-vs-surface contrast.
3
+
---
4
+
5
+
# Change: Make retry demo failures count obvious
6
+
7
+
**Lane:** lightweight — docs demo only, no capability contract moves.
8
+
9
+
## Goal
10
+
11
+
On the retry demo the whole point is that httpware surfaces *fewer failures* to
12
+
the caller than a plain client. But the ✗ failure count is rendered in the same
13
+
muted style as every label, the blip stops spotlight the in-flight counters
14
+
(while the copy says "compare the ✗ counts"), and the 1.2 s blip lets httpware
15
+
recover only ~5 of ~14 failures — a weak contrast. Result: the failure count,
16
+
the metric that matters, is not obvious.
17
+
18
+
## Approach
19
+
20
+
- Make the ✗ failure count a prominent stat (larger number, red when > 0),
21
+
wrapped in a spotlightable element, on all pages.
22
+
- Register the failure-stat wrappers in the engine's spotlight lookup so stops
23
+
can point at them.
24
+
- Retry blip stops spotlight the ✗ counts (plain rising vs httpware staying
25
+
low) instead of in-flight.
26
+
- Tighten the blip window so httpware recovers nearly all of it, making the
27
+
recover-vs-surface contrast dramatic (verified by trace).
28
+
29
+
## Files
30
+
31
+
-`docs/demos/engine.js` — failure-stat wrappers in the template + ELS lookup;
0 commit comments