The forge subsystem page documents ctx.forge.writeReview, its write
and result types, and the panel's changeRequestReviewWrite; the package
READMEs describe the GitHub mutations and their measured behavior, the
thread actions, and the pending review flow. A new Agent Note records
moving pull request comment drafts to the code host's pending review,
and the forge panel note links it. The Web e2e replies to, edits,
deletes, and resolves threads, and starts, submits, and discards a
pending review through the scripted gh double.
The unresolved count on a file header opened the whole thread list scrolled to that file, which covered the code in
a narrow view and did not tell the file's threads apart. Each click now goes to the file's next unresolved thread in
the order its section shows them: threads on the whole file, threads on lines by the row of their last line,
outdated threads, then threads the chosen commits do not hold; after the last it starts again from the first. The
thread list orders each file's threads the same way, and the Threads toolbar button alone opens it.
The thread list chooses Unresolved, Resolved, or All in the segmented radio group the lens uses, and drops the
Outdated and Awaiting my reply filters with the Awaiting my reply tag. Its footer keeps only View on GitHub, after a
note when the read was truncated, and each file group names the file before its directory.
The list's width rules queried the changes view's container by name, which CSS Modules rename per file, so they never
applied and a narrow view squeezed the files beside a 320px list. The rules now query the nearest container: a view
at least 1040px wide docks the list; a narrower one floats it over the files with a scrim, moves the focus into it,
and closes it before opening a thread; below 480px it takes the files' whole width with Back to changes. Escape, the
scrim, and the close actions return the focus to the Threads button. Below 480px a file header shows the unresolved
count alone and thread cards keep 6px margins.
The forge subsystem page documents ctx.forge.readReview, its thread
types, and the panel's changeRequestReview cache; the package READMEs
describe the GitHub thread mapping, the overlay and thread list, and the
new panel Config fields. An upgrade guide covers the unsupported
ForgeFailure code. The Web e2e overlays scripted threads, opens them from
the thread list, and sends a quoted thread through a replayed turn.
The changes view gains a lens of All, Interface, Implementation, and Tests
that spans the file tree above it, a switch that hides test files from the
tree and the diff, and a viewed checkbox on each file header that collapses
the file. The toolbar counts viewed files and V toggles the file being read.
Marks are kept per Session, source, path, and change digest in browser
storage, so a file that changes again reads as changed since viewed. All
commits beside Submit review, and beside the base branch of the Branch scope,
shows one commit or a Shift run of commits.
- Reveal the selected file again when files arrive or reorder around it,
so a navigation that selects a file before the diff loads still scrolls
the wide pane; a changed filter shows its results from the top.
- Compare quote summaries in draft change detection, so restoring a draft
that only adds or changes a summary updates the snapshot and storage.
- Read the full path and range instead of the short label to assistive
technology; the Web snapshot now records src/<file>.
- Type the stored summary schema against QuoteSummary, test the stored
round trip, and document why revealRow does not use scrollIntoView.
The forge-panel Web snapshot recorded the composer showing the whole
model-facing User Comment reference. The composer now shows the file name,
side and lines, and comment; review-message.expected.md, the text the model
receives, stays unchanged.