Skip to content

Add a Code Review setting, with accessibility, budget and regression gates - #490

Merged
BunsDev merged 13 commits into
mainfrom
cr-v050
Nov 4, 2026
Merged

BunsDev merged 13 commits into
mainfrom
cr-v050

Conversation

@BunsDev

@BunsDev BunsDev commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

Val asked for this to merge on 2026-11-03 and chose v0.4.2 with Code Review hidden as the next release. So this default-on setting reaches nobody yet: the release PR turns the default off before anything ships. The matrix's Stage 2 gates (live, VoiceOver, references) stay open and block turning it on for a release.

Evidence, all synthetic

One local pass on 61e1482, the last code commit: build OK; unit 0 failed; desktop E2E 497 passed, 7 skipped; site 7 passed. The head adds only a merge of main (#488, worktree scripts and docs). An earlier pass on 370db33 also passed. An earlier candidate failed three unit tests, and the review keeps that on the record.

Not established

No live provider run, no live GitHub write, no VoiceOver or keyboard pass by a person, no reference comparison. Budgets have not yet run on a hosted runner. Val's one session lists every open row.

🤖 Generated with Claude Code

BunsDev and others added 9 commits November 2, 2026 19:34
…a11y spec (C76)

The Tab test now walks lending #73 in a split at 1440×900 and each pane at
900×600, and requires the overview, diff, review and write controls as well as
CR-3's twelve. A new contrast test measures every visible text run inside the
CR-4 to CR-7 sections and the review and merge panels in all three themes.

That measurement found a real failure: the deletion count on file headers and
tree rows was 4.02:1 in OpenCoven. Both now use the diff's text colour.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…#326, #276)

code-review-budgets.spec.ts gates opening the inbox, an overview, a 1,000-file
diff and a 3 MiB patch on the median of five launches, with headroom for hosted
runners. Each budget was shown to fail with gh slowed by 5.5 s.

A CR-7 test proves a saved draft stays hidden from the surface and from main's
status after sign-out and for another account, and returns for its own account.
A CF-3 test proves a draft and its attachment survive a question card arriving,
a refused answer and a good answer, on a turn the composer did not send. Each
went red against a mutation of the behavior it protects.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The per-home localStorage switch and feature.ts are gone. A persisted layout
setting defaults on, and Settings > General has "Show Code Review in the rail"
as the rollback; turning it off hides the surface at once and leaves main's
drafts and records alone. Someone who explicitly set the old switch to anything
but "on" stays hidden until they choose otherwise. The Store build, whose
channels answer unavailable, keeps it off.

code-review-enablement.spec.ts covers default on, rollback off across a quit,
and the migration.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…319, #327)

Updates the matrix, design page, README, status and the live procedures for the
default-on setting, and adds the candidate review and the ordered human session.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…319)

The candidate's full run found three unit failures from the default-on setting.
Two older layout tests listed exact fields without codeReview. The third was a
real gap: with storage blocked, loadLayout's old sidebar read still threw.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
One pass: build, unit, desktop and site E2E, 0 failed. The two earlier candidate
SHAs stay on the record, including the run that failed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
modex Ready Ready Preview Nov 4, 2026 1:35am UTC

Request Review

BunsDev and others added 2 commits November 2, 2026 20:18
…ection (C61)

CR-6 built Ask inline rather than as the floating composer C61 was planned
for, so clearance was never re-measured. The new test checks Ask and the last
activity item at 900x600 and 1440x900, with the review panel shut and open.
It fails under an overlay and under a panel that takes the pane's height. The
layout needed no change.

Also bring the CR-8 matrix up to date: #477 already closed C22 and D6, and
authenticated GET-only read to Val's session.

Refs #319, #323, #327.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-code-quality

github-code-quality Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

Code coverage overview

Languages: TypeScript

TypeScript / code-coverage-agent

main 68fe543 cr-v050 4077d98 +/-
66% 66% 0%

ℹ️ Calculations represent line coverage. Results may change as calculations are updated.


Updated November 04, 2026 02:16 UTC

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The contrast gate only checks first-match slices and omits several text-bearing regions, allowing regressions in untested elements to pass.

1 open issue
What changed in this PR

This pull request prepares the v0.5.0 Code Review candidate by making Code Review visible by default in desktop builds, while retaining a persisted Settings rollback and keeping it disabled in the Store build. It also adds regression, accessibility, performance-budget, and candidate-validation evidence.

Changes:

  • Replaces the modex.codeReview switch with a persisted codeReview layout preference and Settings rollback.
  • Adds coverage for accessibility, draft isolation, question-card preservation, diff controls, activity controls, and opening-performance budgets.
  • Updates release-status, design, acceptance, and candidate-validation documentation.

This pull request requires changes.

File Summary
README.md Updates Code Review product status and rollback documentation.
docs/​status.md Records the v0.5.0 candidate and related evidence. Finding: Nit (1 vote) — add the missing list marker to preserve Markdown list structure.
docs/​reviews/​2026-11-02-v0.5.0-val-session.md Documents the consolidated validation session. Finding: Nit (1 vote) — run recovery commands from a disposable, non-primary checkout.
docs/​reviews/​2026-11-02-v0.5.0-candidate.md Records candidate scope, budgets, mutation proofs, validation, and limitations.
docs/​reviews/​2026-11-01-issue-checkbox-reconciliation.md Updates remaining Code Review engineering and acceptance work.
docs/​reviews/​2026-11-01-cr8-acceptance-matrix.md Updates C76 coverage and staged enablement/rollback details.
docs/​reviews/​2026-11-01-cr7-live-canary.md Adjusts canary procedures for default-on Code Review.
docs/​reviews/​2026-11-01-cr5-diff-controls.md Adds remote diff-control evidence and validation limits.
docs/​reviews/​2026-11-01-cr-activity-controls.md Adds activity-control and comment-link evidence.
docs/​reviews/​2026-10-28-cr6-native-review.md Updates native-review smoke procedures.
docs/​reviews/​2026-10-22-cr8-voiceover/​checklist.md Updates accessibility checklist launch instructions.
docs/​design/​code-review.md Documents candidate visibility, rollback behavior, and remaining gates.
apps/​store-desktop/​src/​renderer/​main.tsx Keeps Code Review disabled in the Store client. Finding: Moderate (1 vote) — add a Store-client assertion that rail-code-review is absent.
apps/​desktop/​test/​layout.test.ts Extends layout persistence and migration coverage for codeReview.
apps/​desktop/​test/​code-review-workspace.test.ts Tests default-on behavior, legacy migration, and saved-setting precedence.
apps/​desktop/​src/​shared/​layout.ts Adds the persisted Code Review setting and legacy migration.
apps/​desktop/​src/​renderer/​components/​SettingsDialog.tsx Adds the Code Review rail visibility rollback control.
apps/​desktop/​src/​renderer/​code-review/​feature.ts Removes the obsolete feature-switch implementation.
apps/​desktop/​src/​renderer/​code-review/​code-review.css Repairs deletion-count contrast in Code Review views.
apps/​desktop/​src/​renderer/​App.tsx Applies Code Review enablement, rollback, and Store gating. Finding: Nit (1 vote) — update stale comments referring to the removed feature switch.
apps/​desktop/​e2e/​human-requests.spec.ts Covers draft and attachment preservation across native question cards.
apps/​desktop/​e2e/​code-review-support.ts Adds normal restart support and default-on test setup.
apps/​desktop/​e2e/​code-review-overview.spec.ts Adds activity-opening and comment-link behavior coverage.
apps/​desktop/​e2e/​code-review-navigation.spec.ts Adapts navigation tests to default-on Code Review.
apps/​desktop/​e2e/​code-review-ipc.spec.ts Adapts IPC coverage to default-on Code Review.
apps/​desktop/​e2e/​code-review-enablement.spec.ts Tests defaults, rollback persistence, and legacy settings.
apps/​desktop/​e2e/​code-review-diff.spec.ts Adds diff rendering, resizing, menu, and context coverage.
apps/​desktop/​e2e/​code-review-budgets.spec.ts Adds opening-path performance budgets and delay proofs.
apps/​desktop/​e2e/​code-review-actions.spec.ts Tests draft isolation across sign-out and accounts.
apps/​desktop/​e2e/​code-review-a11y.spec.ts Expands keyboard focus and contrast coverage for CR-3–CR-7. Finding: Moderate (3 votes) — enumerate all text-bearing regions or evaluate all matches so the contrast gate covers every text run.

Review effort: Lite

Comment on lines +158 to +162
const SLICE_TEXT: [string, string][] = [
["activity", '[data-testid="cr-activity"]'], ["checks", '[data-testid="cr-checks"]'], ["details", 'aside[aria-label="Pull request details"]'], ["details", 'aside[aria-label="Pull request details"]'],
["tree file", '[data-testid="cr-tree-file"]'], ["file section", '[data-testid="cr-file-section"]'],
["review section", '[data-testid="cr-agent"]'], ["composer", '[data-testid="cr-compose"]'],
];
BunsDev and others added 2 commits November 3, 2026 18:36
Review of #490 found the C76 contrast check sampled only the first match of
each selector. It now measures every match and the whole tree and diff
regions, which found Refresh files, Retry and Cancel context at 1.72:1 to
2.29:1 in all three themes, because they took the browser's button colours.

Also drop the C61 test's assertion that the window reaches the requested
height. Hosted runners cap it at their screen (677 px), which failed #491.

Refs #319, #327.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@BunsDev BunsDev changed the title v0.5.0 candidate: Code Review on by default, with a rollback Add a Code Review setting, with accessibility, budget and regression gates Nov 4, 2026
@BunsDev
BunsDev marked this pull request as ready for review November 4, 2026 01:51
@BunsDev
BunsDev enabled auto-merge November 4, 2026 01:51
@BunsDev
BunsDev added this pull request to the merge queue Nov 4, 2026
Merged via the queue into main with commit a4f2f70 Nov 4, 2026
17 of 18 checks passed
@BunsDev
BunsDev deleted the cr-v050 branch November 4, 2026 02:58

This branch was successfully deployed

1 active deployment
Preview — 4077d983 Deployed Nov 4, 2026 by vercel[bot]
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.

2 participants