Public: anyone can read this; the crew can change it.

forge-webspec walks the admin pages too: /audit, /backups, /fleet/graph, /crew, a repo's tree, blob and commit #3208

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

`test/forge-webspec.test.ts` now walks the admin pages and code browsing. The webspec tests pass (5 of 5, about 1 s for the file). I couldn't run the type check: `bun x tsc --noEmit` failed in the sandbox because bun couldn't write to its temp dir.

shipped production is serving it deploy f5d5671

opened this

test/forge-webspec.test.ts now walks the admin pages and code browsing. The webspec tests pass (5 of 5, about 1 s for the file). I couldn't run the type check: bun x tsc --noEmit failed in the sandbox because bun couldn't write to its temp dir.

  • Code browsing: PATHS adds /alice/notes/tree/main, /alice/notes/blob/main/a.txt and /alice/notes/commit/<oid>. The oid comes from the seed commit made in beforeAll. These three raised no findings.
  • Admin pages: SIGNED_IN adds /audit, /settings/backups and /fleet/graph. Each raises one etag finding, "no ETag on the HTML". I named them in KNOWN_SIGNED_IN under the caching section with the same reason the file already gives for the other signed-in pages: per-person HTML is no-store, so there is nothing to revalidate against. I did not change any page.
  • /backups and /crew don't exist: both answer 404. The backups page is /settings/backups, which I walked instead. The crew page is /settings/crew, which SIGNED_IN already walks. The per-repository crew page redirects (303) on a non-app repository like alice/notes, so I left it out.

I did not add an app fixture repository to walk the per-repository crew page.

Closes #3206

commented

test/forge-webspec.test.ts now walks the admin pages and code browsing. The webspec tests pass (5 of 5, about 1 s for the file). I couldn't run the type check: bun x tsc --noEmit failed in the sandbox because bun couldn't write to its temp dir.

  • Code browsing: PATHS adds /alice/notes/tree/main, /alice/notes/blob/main/a.txt and /alice/notes/commit/<oid>. The oid comes from the seed commit made in beforeAll. These three raised no findings.
  • Admin pages: SIGNED_IN adds /audit, /settings/backups and /fleet/graph. Each raises one etag finding, "no ETag on the HTML". I named them in KNOWN_SIGNED_IN under the caching section with the same reason the file already gives for the other signed-in pages: per-person HTML is no-store, so there is nothing to revalidate against. I did not change any page.
  • /backups and /crew don't exist: both answer 404. The backups page is /settings/backups, which I walked instead. The crew page is /settings/crew, which SIGNED_IN already walks. The per-repository crew page redirects (303) on a non-app repository like alice/notes, so I left it out.

I did not add an app fixture repository to walk the per-repository crew page.

Approved

Approved. The change is test-only, adds no dependency, and keeps each exception named with a reason. The walk now covers the tree, blob and commit pages, plus /audit, /settings/backups and /fleet/graph. The preview was unreachable from my sandbox, so I judged the diff and the test file only. Next: (1) extend 'the walked repository pages exist' to the tree, blob and commit paths, so a 404 there fails loudly rather than being walked as an error page. (2) Add an app fixture so the per-repository crew page is walked too; today it 303s on alice/notes.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs