Skip to content

fix(web): four retro-review findings on #2063, #2067 and #2072 (TASK-3599) - #2078

Merged
xarmian merged 1 commit into
mainfrom
wren/task-3599-retro-fixes
Oct 12, 2026
Merged

xarmian merged 1 commit into
mainfrom
wren/task-3599-retro-fixes

Conversation

@xarmian

@xarmian xarmian commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator

TASK-3599: findings from the lead's retroactive Codex rounds on #2063, #2067 and #2072. Each claim was reproduced first, with a test that fails on the original code and passes on the fix.

  1. fix(web): a palette search that fails says so, with Retry, instead of "No results" (TASK-3587) #2063, command palette: a load-more that failed after the query or workspace changed showed "Couldn't load more" on the new query. The failure now takes the same scope check (scopeMoved) as the success path.
  2. feat(web): quick capture keeps your place (TASK-3590) #2067, quick-capture sheet: clearing compared trimmed text, so the same text typed again while the create was in flight was cleared. An input version bumped by every keystroke now decides.
  3. feat(web): quick capture keeps your place (TASK-3590) #2067, sheet and sidebar: the item was created in the workspace captured before the await, but the toast link used the reactive prefix after it, so a workspace switch mid-create pointed the link elsewhere. The prefix is captured with the slug. The sidebar mirrors the sheet; its test mocks the workspace store with a static object, so the sheet's test carries this one.
  4. feat(web): a filtered collection view says it is filtered (TASK-3592) #2072, collection filter summary: relation values resolved with an unrestricted id-or-slug lookup, so a legacy slug or a same-id row in another collection could be named as the value. relationSummaryLabel now uses the filter chip's own resolver (relationChipFor + narrowRelationRow).
  5. test(e2e): record the geometry when a board-card click fails (BUG-3553 probe) #2049: the 12s click cap stays as designed. Deriving it from the remaining budget means threading testInfo through every call site, and the lead's disposition was "only if trivial".

Evidence:

  • Repros on the original code: 1 fail (palette), 2 fails (sheet), 2 fails (relation label). All pass on the fix.
  • QuickCaptureSheet and Sidebar: 33 tests pass. filterSummary: 10 pass. Palette searchFailed: 6 pass.
  • Codex: CLEAN at e9596ff (gpt-6-luna, round 1).
  • The local full gate is still queued on the heavy lock past the 30-minute rule, so CI is the gate.

https://claude.ai/code/session_01FAVXA5mJ5BNhKmv95jxQkQ

xarmian added a commit that referenced this pull request Oct 11, 2026
…UG-3602) (#2081)

#2078's Go (PostgreSQL) job failed before any test ran: pulling
public.ecr.aws/docker/library/postgres:17-alpine answered
"toomanyrequests: Data limit exceeded". AWS's public mirror replaced
Docker Hub on day 90 for the same reason (#1989), and now meters too.
Every PR's PG job is exposed.

The service image is now Google's Docker Hub mirror, pinned to
postgres:17-alpine's multi-arch index digest
(sha256:b0f9560a...552b24). That digest is the same on mirror.gcr.io and
public.ecr.aws today, so it is the image CI already ran, and a moved tag
cannot change it mid-flight.

Claude-Session: https://claude.ai/code/session_01FAVXA5mJ5BNhKmv95jxQkQ
…3599)

From the lead's retroactive Codex rounds. Each was reproduced with a test
that fails on the original code before it was fixed.

1. #2063, command palette: a load-more that failed after the query or
   workspace changed set "Couldn't load more" on the new query. The
   failure now takes the same scope check as the success path.
2. #2067, quick-capture sheet: clearing compared trimmed text, so the
   same text typed again while the create was in flight was cleared. An
   input version bumped by every keystroke now decides.
3. #2067, sheet and sidebar: the item was created in the workspace
   captured before the await, but the toast link used the reactive
   prefix after it, so a switch mid-create pointed the link elsewhere.
   The prefix is captured with the slug.
4. #2072, collection filter summary: relation values resolved with an
   unrestricted id-or-slug lookup, so a legacy slug or a same-id row in
   another collection could be named as the value. relationSummaryLabel
   uses the filter chip's own resolver (relationChipFor +
   narrowRelationRow).

budget would mean threading testInfo through every call site, and the
lead's disposition was "only if trivial".

Claude-Session: https://claude.ai/code/session_01FAVXA5mJ5BNhKmv95jxQkQ
@xarmian
xarmian force-pushed the wren/task-3599-retro-fixes branch from e9596ff to 23e38df Compare October 11, 2026 23:14
@xarmian
xarmian merged commit 999c4c8 into main Oct 12, 2026
12 checks passed
@xarmian
xarmian deleted the wren/task-3599-retro-fixes branch October 12, 2026 00:04
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