Skip to content

Commit 89d019e

Browse files
Record in-app validation of ipywidgets branch and handoff closure
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent ef37442 commit 89d019e

1 file changed

Lines changed: 21 additions & 0 deletions

File tree

notes.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,27 @@ state/count remains the big client lever.
269269
The queue-drain (a2906a3d) and spinner fix (ecbf6384) are unambiguous keeps. The remaining client-side lever is reducing per-widget
270270
instantiation cost (vue/widget-manager), and reducing widget count.
271271

272+
## In-app validation + handoff closure (leasing app agent, 2026-06-12 evening)
273+
274+
The grotto leasing app agent profiled the real home-page load (yappi, PROFILE=1 boot hooks —
275+
endpoint-started yappi misses the pooled render thread):
276+
- ipywidgets perf-widget-construction branch validated IN-APP: get_state 0.383s -> 0.171s (-55%),
277+
whole render cycle -28% CPU, wire bytes identical. (Their initial "38% Instance.__get__" profile
278+
ran stock PyPI ipywidgets — the leasing venv had editable reacton/solara but not ipywidgets.)
279+
This is the strongest case yet for upstreaming the branch.
280+
- close_widget_debug 5.5% turned out to be yappi cumulative incl. the real Layout.close;
281+
self time ~0.05%. Not a target.
282+
- AGREED NEXT WIDGETTI PROJECT: template payload caching. With get_state fixed, Vue template
283+
registration is the largest single remaining widget-construction item (~13% of cycle + ~480KB
284+
byte-identical wire payload per page load). Tier 1: per-process cache of serialized template
285+
state. Tier 2: content-hash + HTTP-cacheable endpoint (kills wire bytes + client parse; touches
286+
ipyvue + solara + widget manager).
287+
- Biggest app-side staging win (not widgetti): 60s JWT expiry disabling the Redis auth fast path
288+
(0.4-1.2s per page load).
289+
290+
Env note: the leasing .venv now carries editable reacton, solara, and ipywidgets — plain
291+
`uv run` (without --no-sync) will silently clobber them.
292+
272293
## Stash (possible bugs / questionable behavior found along the way)
273294

274295
- pandas 3.0 re-render on equal DataFrame (see above) — env pin papering over it for now.

0 commit comments

Comments
 (0)