Pod

Yes, this is on purpose. Pod is built for agents, so the default page is plain HTML.
Human? View the normal website.
Agent? You probably prefer /mcp/gerrit-code-review/issues.md or /mcp/gerrit-code-review/issues.json, or Pod over MCP.

Reported issues for Gerrit Code Review

Pod holds 21 of 37 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to Gerrit Code Review.

Most discussed

Publish MCP registry entry

Context

Discoverability through the official MCP registry. Frame Phase 5.

What to do

Acceptance criteria

Read the thread · 2026-07-10 · closed · 3 comments

Verify transitions on a sandbox change

Context

Frame Phase 4 verification gate.

What to do

Acceptance criteria

Estimate: ~0.5h Artifact: confirmation notes

Read the thread · 2026-07-10 · closed · 2 comments

Validate cold-start setup from README

Context

Frame Phase 5 verification gate — the five-minute test.

What to do

Acceptance criteria

Estimate: ~1h Artifact: validation notes +

Read the thread · 2026-07-10 · closed · 1 comment

Verify comment flow against live Gerrit

Context

Frame Phase 3 verification gate.

What to do

Acceptance criteria

Estimate: ~0.5h Artifact: confirmatio

Read the thread · 2026-07-10 · closed · 1 comment

Verify read group and scoping against live Gerrit

Context

Frame Phase 2 verification gate.

What to do

Acceptance criteria

Estimate: ~0.5h Artifact: confirmation notes; follow-up issues if any

References

Read the thread · 2026-07-10 · closed · 1 comment

Verify tracer bullet against live Gerrit

Context

Frame Phase 1 verification gate — proof the full stack holds before depth is added.

What to do

Acceptance criteria

Read the thread · 2026-07-10 · closed · 1 comment

Document review notifications in the README

Context

Operators learn the feature exists, how to enable it, and its research-preview caveats from the README. Frame Phase 4.

What to do

Read the thread · 2026-07-13 · closed · 0 comments

Harden the poller: failures, lost access, shutdown

Context

The poller is the codebase's first long-lived concurrent component; its failure behavior is part of the feature's contract. Frame Phase 4.

What to do

Read the thread · 2026-07-13 · closed · 0 comments

Most recent

Finalize model-facing prompts for subscriptions

Context

The feature's behavior is prompt-driven: the model subscribes because the instructions and tool descriptions tell it when and why. Frame Phase 3, following the first-contact prompt work.

What to do

Read the thread · 2026-07-13 · closed · 0 comments

Apply the filter chain to extracted activity

Context

Filters run between extraction and rendering so excluded activity never reaches the model. Frame Phase 3, ADR 2.2.

What to do

Acceptance criteria

Read the thread · 2026-07-13 · closed · 0 comments

Add filter configuration: include-own, account and pattern exclusions

Context

Noise control is operator configuration, not server heuristics: own activity is skipped by default, and exclusions name accounts or content patterns. Frame Phase 3, ADR 2.2.

What to do

Read the thread · 2026-07-13 · closed · 0 comments

End subscriptions automatically on terminal states

Context

A merged or abandoned change almost never needs further watching; the model must learn the subscription ended rather than infer it from silence. Frame Phase 2, ADR 2.2.

What to do

Read the thread · 2026-07-13 · closed · 0 comments

Add unsubscribe_change and render self-sufficient payloads

Context

Notifications must be self-sufficient: the payload carries the activity itself in the vocabulary the model already reads, so nothing needs fetching afterwards. Frame Phase 2, ADR 2.1.

What to do

Read the thread · 2026-07-13 · closed · 0 comments

Extract per-kind activity deltas with cursors

Context

The bare updated-movement event becomes real review activity: which messages, votes, comment threads, and status transitions are new since the last tick. Frame Phase 2, ADR 2.2.

What to do

Read the thread · 2026-07-13 · closed · 0 comments

Add subscribe_change tool and conditional channel wiring

Context

With the feature enabled the server declares the claude/channel capability, registers the subscription tools, and teaches the model when to subscribe; disabled, the server is byte-identical to today. Frame Phase 1, ADR 2.1, glossary entries Review notifications and Channel.

What to do

Read the thread · 2026-07-13 · closed · 0 comments

Build wrapping transport and channel emission seam

Context

The pinned Go SDK has no public generic notification sender, so channel events are written as ID-less JSON-RPC notifications through a transport wrapper that captures the connection (Connection.Write is documented concurrency-safe). Frame Phase 1, ADR 2.1.

What to do

Read the thread · 2026-07-13 · closed · 0 comments

Build subscription store and polling loop

Context

Subscriptions are per-session, in-memory, and trail-free; the poller is the codebase's first background goroutine. Frame Phase 1, ADR 2.2, glossary entry Subscription.

What to do

Read the thread · 2026-07-13 · closed · 0 comments

Add review-notifications enable and poll-interval configuration

Context

The feature is gated by a dedicated flag family with environment mirrors — deliberately not a capability group. Frame Phase 1, glossary entry Review notifications.

What to do

Read the thread · 2026-07-13 · closed · 0 comments

Write learning tests for SDK capability override and raw notification write

Context

The channels contract rests on two SDK assumptions research could not fully verify: overriding ServerOptions.Capabilities with an Experimental entry must not lose the inferred tools capability, and an ID-less jsonrpc.Request written through a wrapped mcp.Connection must be framed correctly alongside concurrent SDK traffic. Frame Phase 1, ADR 2.1.

What to do

Read the thread · 2026-07-13 · closed · 0 comments

thread states must match the change screen, which shatters threads on range/order quirks

get_change_comments reconstructs threads per Gerrit's server-side CommentThreads semantics (change-wide id pooling, chronological tails). The change screen — the thing users actually look at — computes different threads via polygerrit's comment-util.ts, and three of its quirks interact:

  1. sanitiseRanges copies a parent's range onto rangeless replies in payload array order; replies that precede their parent in the array stay rangeless,
  2. the comment sort orders rangeless before range

Read the thread · 2026-07-13 · closed · 0 comments

get_change_comments is blind to the caller's draft comments

On a change where the calling account has unpublished draft comments, the thread states reported by get_change_comments diverge from what that user sees in the Gerrit UI: polygerrit merges the viewer's own drafts into thread state client-side (an unresolved draft reply reopens a thread; a new draft starts an unresolved thread), while the REST /comments endpoint returns published comments only.

Observed in the field as an agent reporting "0 unresolved threads — nothing awaiting response" whi

Read the thread · 2026-07-13 · closed · 0 comments

The remaining reports are on the project's issue tracker.