Skip to content

Faster screens: keep the opened sheet, cache Review's list, instant button feedback - #53

Merged
voidReq merged 2 commits into
mainfrom
faster-screens
Oct 22, 2026
Merged

voidReq merged 2 commits into
mainfrom
faster-screens

Conversation

@voidReq

@voidReq voidReq commented Oct 22, 2026

Copy link
Copy Markdown
Owner

Apply and Review were slow to open: every load re-opened the Google Sheet (three requests) and Review retrained the taste model on every load and search.

  • Sheet (sheet.py): the opened spreadsheet and its tabs are kept 5 min (sheet.OPEN), so a read is one request (~0.2 s instead of ~0.8 s). Rows are always read fresh. Opened again on a new login, an expiring access token, a refused request, or a renamed/deleted tab.
  • Apply: answered from the rows read last; opening the screen re-reads both tabs in the background. sheet_version moves only when a read finds a change, and each tab draws as soon as its own answer comes. Apply now opens in ~0.02 s.
  • Review: the list (pool, taste model, order) is kept until data/, settings or the sheet rows change (gui.review_lists). The taste model retrains only when ratings or job text change (jobs.taste_for). Lists are made ahead at start and after decisions. Review now answers in ~0.006 s (was 1.2–5 s).
  • Buttons: async buttons show busy at once and ignore double clicks; row-menu sheet changes show a working toast; switching screens shows Loading at once.

Docs: GUI.md (new SPEED section), DEPLOY.md, ARCHITECTURE.md, PIPELINE.md, CLAUDE.md.

Tests: new checks in test_sheet (the kept sheet), test_intern (retrain only on change) and test_gui (sheet_version, Review re-made after a change). The full suite passes locally. In an earlier run test_demo hung under load; it passed in every run after that. test_gui failed once in ~13 runs, cause not found.

🤖 Generated with Claude Code

voidReq and others added 2 commits October 22, 2026 17:38
…utton feedback

- sheet.py: the opened spreadsheet and its tabs are kept 5 minutes (one request per read instead of three);
  opened again on a new login, an expiring token, a refused request, a renamed or deleted tab
- Apply: answered from the rows read last; opening it re-reads both tabs in the background; sheet_version
  moves only when a read finds a change; each tab draws as soon as its answer comes
- Review: the list and the taste model are kept until data/, settings or the sheet rows change, and made
  ahead at start and after decisions
- Buttons show busy at once and ignore double clicks; row-menu sheet changes show a working toast;
  switching screens shows Loading at once

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…no second reload that closes an open menu)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@voidReq
voidReq merged commit a41e976 into main Oct 22, 2026
6 checks passed
@voidReq
voidReq deleted the faster-screens branch October 22, 2026 22:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant