Skip to content

feel: sign-offs 2 to 4, 41 rows of navigation, the Archive, import, keys, Settings, private windows, downloads and DevTools (D48, D79) - #29

Merged
siyabendoezdemir merged 3 commits into
mainfrom
lead/signoff-2
Oct 11, 2026
Merged

siyabendoezdemir merged 3 commits into
mainfrom
lead/signoff-2

Conversation

@siyabendoezdemir

@siyabendoezdemir siyabendoezdemir commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

What this does

The lead's second, third and fourth "feels right" sign-offs (D48, D79). They mark 41 rows "feel": true: 23 of navigation, the Archive, import and keys (sign-off 2), 7 of Settings and private windows (sign-off 3), and 11 of downloads and DevTools (sign-off 4). The records, with the rows held back and their numbers, are reviews/feel-signoff-2.md, feel-signoff-3.md and feel-signoff-4.md in the project's context folder.

  • docs/feature-status.json: "feel": true on 41 rows. FEATURES.md is regenerated and counts 115 feel right.
    • Navigation: NV-01, NV-03, NV-04, NV-05, NV-11, NV-12, NV-15, NV-17, NV-19.
    • Archive: AR-01, AR-03, AR-04, AR-05, AR-07, AR-08.
    • Import: IM-04, IM-06, IM-07, IM-12, IM-13, IM-15, IM-17.
    • Keys: KS-15.
    • Settings: ST-01, ST-02, ST-04, ST-05, ST-06, ST-09.
    • Private windows: AP-05.
    • Downloads: DL-01, DL-02, DL-05, DL-14, DL-15, DL-16, DL-17 (on its tests; the Dock and taskbar unverified).
    • DevTools: DT-01, DT-02, DT-03, DT-14.
  • scripts/capture/scenarios/: nv, ar, im, st and dl. Each prints a [mark] line per step, so the frames around a step can be cut from the clip.
  • scripts/capture/record.mjs:
    • A scenario may export env for Orbit's launch, so the scenario is now imported before the launch.
    • Import searches no browser on this computer unless a scenario names its own (ORBIT_IMPORT_PLACES=[]).
    • The fixture server takes ?wait=<ms> for a page that is still loading.
    • The fixture server answers /feed.json, an update feed that a scenario sets with fx.offer({ version, summary, security }). Until a version is offered, the release is 0.0.0, older than any build. Every update check stays on this computer.
    • The fixture server answers /files/<name>, a page of download links, and /dl/<file>: a one-page PDF, a PNG, and filler for the rest, all made in memory, with a rate, an ETag and ranges. ?cut stops a file at a quarter and keeps failing until the scenario calls fx.repair(file), since the engine resumes on its own a few times.

How the rows were checked

  • Recordings: one 60 fps recording per area, read frame by frame. The clips are in the context folder's clips/: NV-06.mp4, NV-06-2.mp4, AR-02.mp4, IM-04.mp4, ST-01.mp4 and DL-01.mp4.
  • AR-04's search: timed by archive.spec.ts's perf tests, 3 rounds at load 2.4–3.6.
    • Keystroke → list: medians 15.1–17.6 ms. The worst keystroke of each round took 27.4, 52.6 and 24.3 ms.
    • Keystroke → painted: medians 32.0–38.5 ms.
    • FL-24 asks for 50 ms. The medians meet it; one keystroke in the second round was 2.6 ms over.
  • Held (D82, D83, D84):
    • NV-06 and AR-02 go to feel-fix as item 8. A view put back in the window first shows the frame it last drew.
    • AR-11 goes to finish-tabs for the folder row that comes after its tabs, and to finish-downloads (item 11) for the Library closing on Restore Data.
    • ST-17, UP-10 and UP-12 go to finish-settings as item 2a. About draws for a frame or two before it has the build's details; the update pill stays open after its click; "Important security update" is cut at the default sidebar width.
    • DL-03 goes to finish-downloads (item 12): the sidebar row drops a space from names ("Surveyreport.pdf").
    • DL-10 waits for feel-fix item 8, for the Library's see-through first frames, and goes to finish-downloads (item 12) for a preview's white card before the engine's viewer draws.

Merge gate (D42, D81)

This head's tree differs from main only in docs/, FEATURES.md and scripts/capture/. main is 1f81f83, the same tree as pages' fully gated head 6a99a04 apart from PR #28's own data. So D81's checks apply:

$ git diff --stat 6a99a04 d3d6d36 -- . ':(exclude)docs' ':(exclude)FEATURES.md' ':(exclude)scripts/capture'
(empty)
$ git diff --stat 1f81f83 d3d6d36 -- . ':(exclude)docs' ':(exclude)FEATURES.md' ':(exclude)scripts/capture'
(empty)

$ checks.sh on d3d6d36 (npm run build; npm run typecheck; npm run lint; vitest run), 17:09:51–17:10:18 UTC, load about 5–7
build 0
typecheck 0
lint 0
unit 0
 Test Files  100 passed (100)
      Tests  1029 passed (1029)

The same checks passed on sign-off 2's commit, 89dd4e6, and sign-off 3's, 027c7fd. The full e2e suite isn't run again: no e2e test reads these files.

macOS: unverified. There is no CI (D42), and the capture scripts run on Linux only.

Review

APPROVE, no must-fix (reviews/lead-signoff-2.md, on d3d6d36):

  • The marks: the 41 new marks are exactly the three records' lists, commit by commit (23, 7, 11). Each changed line only adds "feel": true. All 115 marked rows are built yes, and no held, deferred or out-of-sign-off row is marked.
  • FEATURES.md: it regenerates with no change, and both D81 diffs are empty.
  • The clips: all nine frame claims it checked hold.
  • The capture scripts:
    • Biome exits 0.
    • dl ran end to end with all 19 marks, and st with all 18. Neither left a process or a test profile behind.
    • Every page and file comes from the fixture server, and downloads land in the run's temp folder.

Follow-ups, none blocking:

  1. Sign-off 4's record had DL-02's bounce backwards. The button grows, dips under its size, and settles at frame 157, as flight.ts asks. The record is corrected; the mark stands.
  2. Sign-off 2's record listed IM-08, IM-11 and NV-22 as not built. They're out of scope (D45, D52), and the record is corrected.
  3. These go into the lead's next capture change:
    • two comment IDs (DL-14 in dl.mjs, UP-03 in st.mjs);
    • record.mjs's close() leaves pending ?wait= timers, which could hold a run up to 30 s after it saves;
    • three small hardening items in the fixture server.

🤖 Generated with Claude Code

…48, D79)

The lead's second "feels right" sign-off. The Archive's timings were re-measured at low
load (load 2.4-3.6, three rounds), and one 60 fps screen recording per area was read
frame by frame. The record, with the rows held back and their numbers, is
reviews/feel-signoff-2.md in the project's context folder.

- docs/feature-status.json: "feel": true on 23 built rows (NV 9, AR 6, IM 7, KS-15).
  FEATURES.md regenerated: 97 feel right.
- scripts/capture/scenarios: nv, ar and im, each printing a [mark] line per step so
  frames around it can be cut from the clip.
- scripts/capture/record.mjs: a scenario may export env for Orbit's launch (so it is
  imported before the launch); Import searches no browser on this computer unless a
  scenario names its own (ORBIT_IMPORT_PLACES=[]); the fixture server takes ?wait=<ms>
  for a page still loading.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@cursor

cursor Bot commented Oct 11, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: cbd80c06-ad9f-4e2e-82e6-e33c77df19b9)

Sign-off 3 checked the 10 built rows of Settings, updates and appearance
that no lane's brief still changes, from a new 60 fps capture scenario.
The record is reviews/feel-signoff-3.md in the lead's context.

- Mark ST-01, ST-02, ST-04, ST-05, ST-06, ST-09 and AP-05 as feeling
  right. FEATURES.md now counts 104.
- Hold ST-17, UP-10 and UP-12 for the finish-settings lane (D83).
- record.mjs: the fixture server answers /feed.json, an update feed that
  a scenario sets with fx.offer(). Until it offers a version, the release
  is 0.0.0, older than any build, so every check stays on this computer.
- st.mjs: the new scenario, about 60 s.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@cursor

cursor Bot commented Oct 11, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: a5aef20a-8bd1-4857-8cbc-e6873af2af04)

@siyabendoezdemir siyabendoezdemir changed the title feel: sign-off 2, 23 rows of navigation, the Archive, import and keys (D48, D79) feel: sign-offs 2 and 3, 30 rows of navigation, the Archive, import, keys, Settings and private windows (D48, D79) Oct 11, 2026
Sign-off 4: the lead read a 60 fps capture of downloads and DevTools
frame by frame. Eleven rows feel right: DL-01, DL-02, DL-05, DL-14,
DL-15, DL-16, DL-17 (on its tests), DT-01, DT-02, DT-03 and DT-14.
DL-03 and DL-10 are held (reviews/feel-signoff-4.md in the lead's
context; D84 routes them).

The capture's fixture server now serves download pages (/files/<name>)
and files (/dl/<file>): a one-page PDF, a PNG and filler, with a rate,
an ETag and ranges. ?cut stops a file at a quarter and keeps failing
until the scenario repairs it. A new scenario, dl, records the
downloads and DevTools steps.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@cursor

cursor Bot commented Oct 11, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: c32b3acb-cef3-4eee-a5ec-40072817879e)

@siyabendoezdemir siyabendoezdemir changed the title feel: sign-offs 2 and 3, 30 rows of navigation, the Archive, import, keys, Settings and private windows (D48, D79) feel: sign-offs 2 to 4, 41 rows of navigation, the Archive, import, keys, Settings, private windows, downloads and DevTools (D48, D79) Oct 11, 2026
@siyabendoezdemir
siyabendoezdemir merged commit 9a30d3d into main Oct 11, 2026
1 check passed
siyabendoezdemir added a commit that referenced this pull request Oct 11, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
siyabendoezdemir added a commit that referenced this pull request Oct 11, 2026
feature-status.json keeps this lane's built and note fields and takes
all 41 of PR #29's "feel" marks; FEATURES.md is regenerated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
siyabendoezdemir added a commit that referenced this pull request Oct 11, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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