Repository navigation
feat(web): add a read-only SubmitQueue web UI as a mountable module - #810
Open
behinddwalls wants to merge 1 commit into
Open
behinddwalls wants to merge 1 commit into
behinddwalls wants to merge 1 commit into
Conversation
behinddwalls
force-pushed
the
preetam/web-ui
branch
2 times, most recently
from
October 7, 2026 21:35
ff7dde6 to
ab0ebb8
Compare
behinddwalls
marked this pull request as ready for review
October 7, 2026 21:36
behinddwalls
force-pushed
the
preetam/web-ui
branch
from
October 8, 2026 01:05
ab0ebb8 to
71f747a
Compare
behinddwalls
added a commit
that referenced
this pull request
Oct 8, 2026
…oreview ## Summary ### Why? Recent sessions kept getting the same corrections in review: speculative packages and adapters, homegrown wrappers, host code in the library, framework layouts, non-Bazel tooling, re-encoded IDs, internal names in a public repo, and separate CI workflows. Autoreview also never ran its architecture or correctness lenses on TypeScript, because `.ts`/`.tsx` files classified as `other`. ### What? - `AGENTS.md`: new **Design Defaults** section, aligned with the decisions in the web UI RFC (#810), plus CI credential/workflow rules, naming and doc-concision bullets, and stack/test-plan commit guidance. - `review-scope.py`: new `web` kind (`.ts`, `.tsx`, `.js`, `.css`; `*.test.*` as tests), and `internal-reference` and `new-workflow` smells. - `review.md` / `lenses.md`: route `web` to all code lenses; treat unneeded added surface as should-fix; add checks for each design default; sweep commit messages for internal names; skip data-migration findings for OSS deployments. ## Test Plan ✅ `bazel test //.agents/skills/autoreview/scripts:all` ✅ `make fmt` leaves the tree unchanged
behinddwalls
force-pushed
the
preetam/web-ui
branch
from
October 8, 2026 02:55
71f747a to
6a64dd6
Compare
behinddwalls
added a commit
that referenced
this pull request
Oct 8, 2026
…oreview ## Summary ### Why? Recent sessions kept getting the same corrections in review: speculative packages and adapters, homegrown wrappers, host code in the library, framework layouts, non-Bazel tooling, re-encoded IDs, internal names in a public repo, and separate CI workflows. Autoreview also never ran its architecture or correctness lenses on TypeScript, because `.ts`/`.tsx` files classified as `other`. ### What? - `AGENTS.md`: new **Design Defaults** section, aligned with the decisions in the web UI RFC (#810), plus CI credential/workflow rules, naming, RFCs-describe-main, and doc-concision bullets, and stack/test-plan commit guidance. - `review-scope.py`: new `web` kind (`.ts`, `.tsx`, `.js`, `.css`; `*.test.*` as tests), and `internal-reference` and `new-workflow` smells. - `review.md` / `lenses.md`: route `web` to all code lenses; treat unneeded added surface as should-fix; add checks for each design default; sweep commit messages for internal names; skip data-migration findings for OSS deployments. ## Test Plan ✅ `bazel test //.agents/skills/autoreview/scripts:all` ✅ `make fmt` leaves the tree unchanged
behinddwalls
added a commit
that referenced
this pull request
Oct 8, 2026
…n's design ## Summary ### Why? Recent sessions kept getting the same review corrections: speculative packages and adapters, homegrown wrappers, host code in the library, framework layouts, non-Bazel tooling, re-encoded IDs, internal names in a public repo, separate CI workflows, and RFCs that describe discussion rather than main. Autoreview also never ran its architecture or correctness lenses on TypeScript, because `.ts`/`.tsx` files classified as `other`. One such RFC already exists: queue-scoped decimal IDs shipped (#770, #804), but the decision still lived in a standalone "current vs proposed" RFC. ### What? - `AGENTS.md`: new **Design Defaults** section, aligned with the web UI RFC (#810); CI credential and workflow rules; naming, RFCs-describe-main, and concise-docs bullets; ask before splitting a large change into a stack; local run steps in the Test Plan. - Autoreview `review-scope.py`: new `web` kind (`.ts`, `.tsx`, `.js`, `.css`; `*.test.*` as tests), and `internal-reference` and `new-workflow` smells. - Autoreview `review.md` / `lenses.md`: route `web` to all code lenses; treat unneeded added surface as should-fix; add checks for each design default and for RFCs that diverge from main; sweep commit messages for internal names; skip data-migration findings for OSS deployments. - RFCs: add a **Resource IDs** section to `doc/rfc/submitqueue/workflow.md`, delete `doc/rfc/scoped-resource-ids.md` and its index entry, and fix stale ID text in the history, list, and Stovepipe workflow RFCs. ## Test Plan ✅ `bazel test //.agents/skills/autoreview/scripts:all` ✅ `bazel test //tool/docsite:site_test` (strict link check) ✅ `make fmt` leaves the tree unchanged
behinddwalls
added a commit
that referenced
this pull request
Oct 8, 2026
…n's design ## Summary ### Why? Recent sessions kept getting the same review corrections: speculative packages and adapters, homegrown wrappers, host code in the library, framework layouts, non-Bazel tooling, re-encoded IDs, internal names in a public repo, separate CI workflows, and RFCs that describe discussion rather than main. Autoreview also never ran its architecture or correctness lenses on TypeScript, because `.ts`/`.tsx` files classified as `other`. One such RFC already exists: queue-scoped decimal IDs shipped (#770, #804), but the decision still lived in a standalone "current vs proposed" RFC. ### What? - `AGENTS.md`: new **Design Defaults** section, aligned with the web UI RFC (#810); CI credential and workflow rules; naming, RFCs-describe-main, and concise-docs bullets; ask before splitting a large change into a stack; local run steps in the Test Plan. - Autoreview `review-scope.py`: new `web` kind (`.ts`, `.tsx`, `.js`, `.css`; `*.test.*` as tests), and `internal-reference` and `new-workflow` smells. - Autoreview `review.md` / `lenses.md`: route `web` to all code lenses; treat unneeded added surface as should-fix; add checks for each design default and for RFCs that diverge from main; sweep commit messages for internal names; skip data-migration findings for OSS deployments. - RFCs: add a **Resource IDs** section to `doc/rfc/submitqueue/workflow.md`, delete `doc/rfc/scoped-resource-ids.md` and its index entry, fix stale ID text in the history and Stovepipe workflow RFCs, delete the superseded SubmitQueue `list-api.md` proposal (shipped as `status-list-api.md`), and describe the implemented Stovepipe List API as current rather than proposed. ## Test Plan ✅ `bazel test //.agents/skills/autoreview/scripts:all` ✅ `bazel test //tool/docsite:site_test` (strict link check) ✅ `make fmt` leaves the tree unchanged
behinddwalls
added a commit
that referenced
this pull request
Oct 8, 2026
…n's design ## Summary ### Why? Recent sessions kept getting the same review corrections: speculative packages and adapters, homegrown wrappers, host code in the library, framework layouts, non-Bazel tooling, re-encoded IDs, internal names in a public repo, separate CI workflows, and RFCs that describe discussion rather than main. Autoreview also never ran its architecture or correctness lenses on TypeScript, because `.ts`/`.tsx` files classified as `other`. One such RFC already exists: queue-scoped decimal IDs shipped (#770, #804), but the decision still lived in a standalone "current vs proposed" RFC. ### What? - `AGENTS.md`: new **Design Defaults** section, aligned with the web UI RFC (#810); CI credential and workflow rules; naming, RFCs-describe-main, and concise-docs bullets; ask before splitting a large change into a stack; local run steps in the Test Plan. - Autoreview `review-scope.py`: new `web` kind (`.ts`, `.tsx`, `.js`, `.css`; `*.test.*` as tests), and `internal-reference` and `new-workflow` smells. - Autoreview `review.md` / `lenses.md`: route `web` to all code lenses; treat unneeded added surface as should-fix; add checks for each design default and for RFCs that diverge from main; sweep commit messages for internal names; skip data-migration findings for OSS deployments. - RFCs: add a **Resource IDs** section to `doc/rfc/submitqueue/workflow.md`, delete `doc/rfc/scoped-resource-ids.md` and its index entry, fix stale ID text in the history and Stovepipe workflow RFCs, delete the superseded SubmitQueue `list-api.md` proposal (shipped as `status-list-api.md`), and describe the implemented Stovepipe List API as current rather than proposed. ## Test Plan ✅ `bazel test //.agents/skills/autoreview/scripts:all` ✅ `bazel test //tool/docsite:site_test` (strict link check) ✅ `make fmt` leaves the tree unchanged
behinddwalls
force-pushed
the
preetam/web-ui
branch
from
October 8, 2026 03:12
6a64dd6 to
f35f703
Compare
behinddwalls
added a commit
that referenced
this pull request
Oct 8, 2026
…n's design ## Summary ### Why? Recent sessions kept getting the same review corrections: speculative packages and adapters, homegrown wrappers, host code in the library, framework layouts, non-Bazel tooling, re-encoded IDs, internal names in a public repo, separate CI workflows, and RFCs that describe discussion rather than main. Autoreview also never ran its architecture or correctness lenses on TypeScript, because `.ts`/`.tsx` files classified as `other`. One such RFC already exists: queue-scoped decimal IDs shipped (#770, #804), but the decision still lived in a standalone "current vs proposed" RFC. ### What? - `AGENTS.md`: new **Design Defaults** section, aligned with the web UI RFC (#810); CI credential and workflow rules; naming, RFCs-describe-main, and concise-docs bullets; ask before splitting a large change into a stack; local run steps in the Test Plan. - Autoreview `review-scope.py`: new `web` kind (`.ts`, `.tsx`, `.js`, `.css`; `*.test.*` as tests), and `internal-reference` and `new-workflow` smells. - Autoreview dispatch: the parent runs a planner, one lens reviewer per assignment in parallel, and a consolidator, because subagents cannot start their own. Committed targets are reviewed in a clean detached worktree so local edits never skip checks, and every readable changed file must appear in some reviewer's Read list or the report marks it unreviewed. - Autoreview `review.md` / `lenses.md`: route `web` to all code lenses; treat unneeded added surface as should-fix; add checks for each design default and for RFCs that diverge from main; sweep commit messages for internal names; skip data-migration findings for OSS deployments. - RFCs: add a **Resource IDs** section to `doc/rfc/submitqueue/workflow.md`, delete `doc/rfc/scoped-resource-ids.md` and its index entry, fix stale ID text in the history and Stovepipe workflow RFCs, delete the superseded SubmitQueue `list-api.md` proposal (shipped as `status-list-api.md`), and describe the implemented Stovepipe List API as current rather than proposed. ## Test Plan ✅ `bazel test //.agents/skills/autoreview/scripts:all` ✅ `bazel test //tool/docsite:site_test` (strict link check) ✅ `make fmt` leaves the tree unchanged
behinddwalls
added a commit
that referenced
this pull request
Oct 8, 2026
…n's design ## Summary ### Why? Recent sessions kept getting the same review corrections: speculative packages and adapters, homegrown wrappers, host code in the library, framework layouts, non-Bazel tooling, re-encoded IDs, internal names in a public repo, separate CI workflows, and RFCs that describe discussion rather than main. Autoreview also never ran its architecture or correctness lenses on TypeScript, because `.ts`/`.tsx` files classified as `other`. One such RFC already exists: queue-scoped decimal IDs shipped (#770, #804), but the decision still lived in a standalone "current vs proposed" RFC. ### What? - `AGENTS.md`: new **Design Defaults** section, aligned with the web UI RFC (#810); CI credential and workflow rules; naming, RFCs-describe-main, and concise-docs bullets; ask before splitting a large change into a stack; local run steps in the Test Plan. - Autoreview `review-scope.py`: new `web` kind (`.ts`, `.tsx`, `.js`, `.css`; `*.test.*` as tests), and `internal-reference` and `new-workflow` smells. - Autoreview dispatch: the parent runs a planner, one lens reviewer per assignment in parallel, and a consolidator, because subagents cannot start their own. Committed targets are reviewed in a clean detached worktree so local edits never skip checks, and every readable changed file must appear in some reviewer's Read list or the report marks it unreviewed. - Autoreview `review.md` / `lenses.md`: route `web` to all code lenses; treat unneeded added surface as should-fix; add checks for each design default and for RFCs that diverge from main; sweep commit messages for internal names; skip data-migration findings for OSS deployments. - RFCs: add a **Resource IDs** section to `doc/rfc/submitqueue/workflow.md`, delete `doc/rfc/scoped-resource-ids.md` and its index entry, fix stale ID text in the history and Stovepipe workflow RFCs, delete the superseded SubmitQueue `list-api.md` proposal (shipped as `status-list-api.md`), and describe the implemented Stovepipe List API as current rather than proposed. ## Test Plan ✅ `bazel test //.agents/skills/autoreview/scripts:all` ✅ `bazel test //tool/docsite:site_test` (strict link check) ✅ `make fmt` leaves the tree unchanged
behinddwalls
added a commit
that referenced
this pull request
Oct 8, 2026
…n's design ## Summary ### Why? Recent sessions kept getting the same review corrections: speculative packages and adapters, homegrown wrappers, host code in the library, framework layouts, non-Bazel tooling, re-encoded IDs, internal names in a public repo, separate CI workflows, and RFCs that describe discussion rather than main. Autoreview also never ran its architecture or correctness lenses on TypeScript, because `.ts`/`.tsx` files classified as `other`. One such RFC already exists: queue-scoped decimal IDs shipped (#770, #804), but the decision still lived in a standalone "current vs proposed" RFC. ### What? - `AGENTS.md`: new **Design Defaults** section, aligned with the web UI RFC (#810); CI credential and workflow rules; naming, RFCs-describe-main, and concise-docs bullets; ask before splitting a large change into a stack; local run steps in the Test Plan. - Autoreview `review-scope.py`: new `web` kind (`.ts`, `.tsx`, `.js`, `.css`; `*.test.*` as tests), and `internal-reference` and `new-workflow` smells. - Autoreview dispatch: the parent runs a planner, one lens reviewer per assignment in parallel, and a consolidator, because subagents cannot start their own. Committed targets are reviewed in a clean detached worktree so local edits never skip checks, and every readable changed file must appear in some reviewer's Read list or the report marks it unreviewed. Coverage is counted from Read/Partial/Unread buckets rather than judged, and every finding must be re-opened at its cited line before it is admitted, with a recheck log in the report. - Autoreview `review.md` / `lenses.md`: route `web` to all code lenses; treat unneeded added surface as should-fix; add checks for each design default and for RFCs that diverge from main; sweep commit messages for internal names; skip data-migration findings for OSS deployments. - RFCs: add a **Resource IDs** section to `doc/rfc/submitqueue/workflow.md`, delete `doc/rfc/scoped-resource-ids.md` and its index entry, fix stale ID text in the history and Stovepipe workflow RFCs, delete the superseded SubmitQueue `list-api.md` proposal (shipped as `status-list-api.md`), and describe the implemented Stovepipe List API as current rather than proposed. ## Test Plan ✅ `bazel test //.agents/skills/autoreview/scripts:all` ✅ `bazel test //tool/docsite:site_test` (strict link check) ✅ `make fmt` leaves the tree unchanged
## Summary ### Why? SubmitQueue has no browser UI, and deployers need one they can mount in their own web stack without forking it. ### What? - `web/submitqueue`: the UI as one mountable package (routes, controllers, pages, styles, polling, cursor signing) behind a single `handle(path)` entry, free of generated protos, transports, and web frameworks. Change pages that scan the receipt window refresh on request instead of polling. - `web/service/submitqueue`: the Next.js reference host and its wiring, with a Bazel-built image in the local stack. - `web/api`: private generated gateway bindings for the host and the e2e test. - `doc/rfc/web-ui.md`: URL, UX, and boundary decisions. - CI: failed jobs also upload Bazel test outputs (Playwright traces, compose logs), not just `test.log`. ## Test Plan ✅ `make web-check` ✅ `make web-e2e-test` ✅ `make lint`, `make check-gazelle`, and `make check-tidy` ### Try it locally Requires Docker; Bazel brings its own Node. ```bash make local-submitqueue-start # builds and starts the full stack, then prints the web URL make demo-requests # submits a few requests to browse make local-stop # tears the stack down ``` Open the printed URL and sign in as `test` / `test`. Start at the queue directory, open a queue, then a request's Summary and History tabs, and follow a change link to its submission history. `make web-e2e-test` runs the same flows headlessly.
behinddwalls
force-pushed
the
preetam/web-ui
branch
from
October 8, 2026 04:07
f35f703 to
58f22e9
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Why?
SubmitQueue has no browser UI, and deployers need one they can mount in their own web stack without forking it.
What?
web/submitqueue: the UI as one mountable package (routes, controllers, pages, styles, polling, cursor signing) behind a singlehandle(path)entry, free of generated protos, transports, and web frameworks. Change pages that scan the receipt window refresh on request instead of polling.web/service/submitqueue: the Next.js reference host and its wiring, with a Bazel-built image in the local stack.web/api: private generated gateway bindings for the host and the e2e test.doc/rfc/web-ui.md: URL, UX, and boundary decisions.test.log.Test Plan
✅
make web-check✅
make web-e2e-test✅
make lint,make check-gazelle, andmake check-tidyTry it locally
Requires Docker; Bazel brings its own Node.
Open the printed URL and sign in as
test/test. Start at the queue directory, open a queue, then a request's Summary and History tabs, and follow a change link to its submission history.make web-e2e-testruns the same flows headlessly.🤖 Generated with Claude Code