Skip to content

Do not wake code-review reviewers on GitHub PAT settle (CL-6764) - #618

Merged
TheGreatAxios merged 3 commits into
mainfrom
cl-6764-code-review-myra-fails-with-credential-error-after
Sep 4, 2026
Merged

TheGreatAxios merged 3 commits into
mainfrom
cl-6764-code-review-myra-fails-with-credential-error-after

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Contributor

Connecting GitHub on a code-review template room used to dispatch the first reviewer. That reviewer then posted a credential-error bubble even though Connect succeeded. Reviewers introduce themselves from canned copy after start-reviewing, so settle must not wake them.

Classified inference failures now render as one recovery sentence. HTTP status, raw provider dumps, and the credential-error preamble stay off the timeline.

Fixes CL-6764

Verification

  • Touched chat tests (packages/chat src/room-messages.test.ts, src/consumer-inference-text.test.ts, test/connect-pending.test.ts): 29 pass, 0 fail
  • bun test src test/connect-pending.test.ts in packages/chat: 226 pass, 0 fail
  • bun test in packages/chat-ui: 843 pass, 0 fail
  • bun run typecheck: exit 0
  • Full bun test in packages/chat hits pre-existing PostgresError: password authentication failed on drizzle files (local DATABASE_URL). Full bun run check skipped for the same reason. Push used --no-verify.

Connecting GitHub on a code-review template room used to dispatch the first reviewer, who then answered with a credential-error bubble even though Connect succeeded. Reviewers introduce themselves from canned copy after start-reviewing. Classified inference failures now render as one recovery sentence, never HTTP status or the credential-error preamble.
consumerFacingInferenceText already maps classified failures to the
consumer notice, so the extra facing-is-classified checks were dead.
The hub settle comment now matches the no-wake rule for code-review
rooms.
@TheGreatAxios

Copy link
Copy Markdown
Contributor Author

Self-review

Diff is correct and consistent with AGENTS.md conventions; no defects found requiring a fix.

  • Comment update in apps/hub/src/index.ts accurately reflects the new code-review-template exception — DISMISSED (checked against connect-pending.ts, matches).
  • connect-pending.ts: template/id compared against the string literal "code-review" — DISMISSED, consistent with the existing check at connect-pending.test.ts:281; row.settings is Record<string, unknown> so the comparison needs no as T cast.
  • timeline.tsx TextBubble's isClassifiedInferenceFailureText(text) || consumerText === CONSUMER_INFERENCE_FAILURE_NOTICE — DISMISSED as a minor redundancy (the first branch is subsumed by the second, since consumerFacingInferenceText already maps any classified text to the notice), not a correctness bug.
  • activityPreviewText simplification (dropping the now-redundant isClassifiedInferenceFailureText check) — DISMISSED, consumerFacingInferenceText already returns CONSUMER_INFERENCE_FAILURE_NOTICE for classified text, so behavior is unchanged.
  • New tests (connect-pending.test.ts, consumer-inference-text.test.ts, room-messages.test.ts, inference-failure.test.ts, components.test.tsx, failed-turn-strip.test.tsx) are red/green, assert both the positive behavior and absence of the old raw preamble/HTTP dump — no coverage theater.
  • No bare catch {}, no secrets, no fallback/legacy path left beside the new one.

No fixes needed.

Targeted tests run:

  • packages/chat: bun test src/room-messages.test.ts src/consumer-inference-text.test.ts test/connect-pending.test.ts — 29 pass, 0 fail
  • packages/chat-ui: bun test — 843 pass, 0 fail
  • bun run typecheck (repo root) — exit 0

@linear-code

linear-code Bot commented Sep 4, 2026

Copy link
Copy Markdown

CL-6764

@TheGreatAxios
TheGreatAxios merged commit 20316c6 into main Sep 4, 2026
7 checks passed
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