Skip to content

Commit d0e21d6

Browse files
Record in-app validation + verify-on-real-instance fallback fix
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent 9610ee0 commit d0e21d6

1 file changed

Lines changed: 24 additions & 0 deletions

File tree

notes.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -406,6 +406,30 @@ IN-APP caveat (couldn't run real leasing app — needs secrets/DB): measured pro
406406
leasing venv (it still has the editable branch, now redundant — and the monkeypatch would
407407
otherwise wrap the branch), run from the worktree, confirm with PROFILE=1.
408408

409+
## ipywidgets cache monkeypatch: in-app validated + fallback fixed (2026-06-15)
410+
411+
Leasing agent validated the monkeypatch in the real app (stock ipywidgets 8.1.8 + worktree):
412+
- get_state per call 254->148us (-42%); total/load 98.5->52.7ms (-46%); yappi construction path
413+
(Widget.open->get_state) 0.665->0.369s (-45%). Three independent measures agree ~-42 to -46%.
414+
- 35/35 offline byte-identical tests pass; page renders + interacts correctly; zero verify exceptions.
415+
- Render-cycle CPU only -13% (vs branch -28%) but that was a measurement-substrate issue: staging
416+
auto-routed to a live call, so the clean construction-dominated home dashboard wasn't reachable;
417+
the get_state numbers are the trustworthy ones.
418+
- ONE fallback: VuetifyTemplate (the get_state-heavy @component_vue widget type) — explained the
419+
-42% vs branch -55% gap.
420+
421+
FALLBACK ROOT-CAUSED + FIXED (commit a7f84c42a): not a byte mismatch — the guard's probe `cls()`
422+
can't default-construct VuetifyTemplate (its `template` trait is required), so it raised and the
423+
class got disabled. Rewrote the guard to verify on the FIRST REAL INSTANCE instead of a probe:
424+
works regardless of required ctor args, keeps sub-widget model ids identical, exercises the
425+
unmaterialized fast paths. Confirmed a VuetifyTemplate subclass now verifies; 35/35 still pass.
426+
Expect the in-app win to move from -42% toward -55% now that the heavy widgets are included
427+
-> needs a re-measure by the leasing agent on a construction-dominated page.
428+
429+
Deployment state: leasing .venv is now on STOCK ipywidgets 8.1.8 (editable perf fork swapped out
430+
by the agent — correct state for the monkeypatch). Worktree solara_app.py back to committed
431+
(install unconditional). Verdict: monkeypatch replaces the editable ipywidgets fork, default-on.
432+
409433
## Stash (possible bugs / questionable behavior found along the way)
410434

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

0 commit comments

Comments
 (0)