Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
112 changes: 112 additions & 0 deletions evidence/design/review-explore-design-review.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
{
"$schema": "fleet.design-review.v1",
"version": 1,
"project": "codevetter",
"target": "Native Review and Explore",
"surfaceMode": "read",
"mode": "preserve",
"register": "product",
"context": {
"product": "PRODUCT.md",
"design": "DESIGN.md"
},
"direction": {
"references": [
"https://px0.ai/#why"
],
"probes": [],
"selected": "existing-design",
"approval": "not-required",
"before": "evidence/design/native-acceptance-2026-09-01/review-findings.png",
"library": {
"strategy": "upstream-first",
"primary": "existing-project-system",
"sources": [],
"runtime": "existing",
"customReplacement": {
"used": false,
"authorization": "not-required",
"reason": ""
}
},
"contract": {
"purpose": "CodeVetter helps developers verify agent-authored changes through reproducible execution evidence and exact source navigation.",
"purposeSource": "PRODUCT.md; owner PRD in GitHub issue #285",
"canonicalPurpose": "CodeVetter determines whether a coding agent completed a software task correctly using reproducible execution evidence.",
"purposeAlignment": "match",
"driftNote": "",
"audience": "Developers and technical owners reviewing agent changes in unfamiliar repositories",
"job": "Paste a GitHub URL, inspect exact source or diff, follow architecture and evidence locations",
"thesis": "Preserve the Evidence Bench and put pinned source at the center of a compact native workbench",
"system": "Existing true-black/light native palette, bronze focus, 12-point monospace source, hairline pane separators, compact native controls",
"signature": "Persistent commit and blob identity connect every source window to its evidence",
"risk": "A dedicated AppKit source plane trades editor features for bounded viewport rendering; keep it read-only and qualify accessibility separately"
}
},
"evidence": {
"screenshots": [
{
"width": 390,
"path": "artifacts/navigator-review/landing-390.png"
},
{
"width": 768,
"path": "artifacts/navigator-review/landing-768.png"
},
{
"width": 1440,
"path": "artifacts/navigator-review/explore-1440.png"
}
],
"projectCheck": {
"command": "pnpm navigator:test; XcodeBuildMCP swift-package test; XcodeBuildMCP macos build (Debug)",
"status": "pass"
},
"critique": {
"score": 33,
"maximum": 40
},
"audit": {
"score": 17,
"maximum": 20
},
"unresolved": {
"p0": 0,
"p1": 0
},
"detector": {
"posture": "advisory",
"findings": [
"Native window qualification uses 980, 1280 and 1440 points. 390 and 768 captures test the isolated import surface, not a supported macOS window size.",
"Impeccable is not installed; native layout critique, contrast inspection, offscreen captures and build/tests were used.",
"Foreground keyboard and VoiceOver interaction remains unqualified under repository idle-screen rules."
]
},
"comprehension": {
"status": "not-applicable",
"reviewer": "",
"answers": {
"product": "",
"audience": "",
"value": "",
"mechanism": "",
"proof": "",
"nextAction": ""
},
"purposeScore": {
"product": 0,
"audience": 0,
"value": 0,
"mechanism": 0,
"proof": 0,
"nextAction": 0,
"total": 0
},
"mismatches": []
}
},
"ownerFeedback": {
"decision": "agent-selected",
"note": "The agent selected the direction; no owner approval was required."
}
}
115 changes: 115 additions & 0 deletions evidence/design/review-scope-2026-09-15/design-review.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
{
"$schema": "fleet.design-review.v1",
"version": 1,
"project": "codevetter",
"target": "Review branch/base selection and scope-bound setup",
"surfaceMode": "operate",
"mode": "preserve",
"register": "product",
"context": {
"product": "PRODUCT.md",
"design": "DESIGN.md"
},
"direction": {
"references": [
"PRODUCT.md",
"DESIGN.md"
],
"probes": [],
"selected": "existing-native-review",
"approval": "not-required",
"before": "evidence/design/native-acceptance-2026-09-01/review-intent.png",
"library": {
"strategy": "upstream-first",
"primary": "existing-project-system",
"sources": [],
"runtime": "existing",
"customReplacement": {
"used": false,
"authorization": "not-required",
"reason": ""
}
},
"contract": {
"purpose": "CodeVetter helps developers verify agent changes using reproducible execution evidence.",
"purposeSource": "PRODUCT.md; owner-requested Review workflow repair in issue #285",
"canonicalPurpose": "CodeVetter determines whether a coding agent completed a software task correctly using reproducible execution evidence.",
"purposeAlignment": "match",
"driftNote": "Site Health has no purposeContract; its portfolio boundary agrees. Usage remains bounded side work.",
"audience": "The operator managing coding-agent usage",
"job": "Choose a branch and base, inspect the exact diff, then start an explicit scope-bound review",
"thesis": "Keep the existing source workbench and expose comparison controls directly above its diff",
"system": "Existing native pickers, compact chrome, source layout and restrained semantic colors",
"signature": "Displayed merge-base/head becomes the locked verification input",
"risk": "Do not silently substitute a stale range or execute against an unrelated checkout"
}
},
"evidence": {
"screenshots": [
{
"width": 390,
"path": "evidence/design/review-scope-2026-09-15/scope-controls-390.png"
},
{
"width": 768,
"path": "evidence/design/review-scope-2026-09-15/scope-controls-768.png"
},
{
"width": 1440,
"path": "evidence/design/review-scope-2026-09-15/scope-controls-1440.png"
}
],
"projectCheck": {
"command": "XcodeBuildMCP swift-package test (109 passing); cargo test branch_picker; cargo clippy --all-targets",
"status": "pass"
},
"critique": {
"score": 34,
"maximum": 40
},
"audit": {
"score": 17,
"maximum": 20
},
"unresolved": {
"p0": 0,
"p1": 0
},
"detector": {
"posture": "advisory",
"findings": [
"Manual native fallback review, not Impeccable output; see evidence/design/review-scope-2026-09-15/review.md.",
"Native full-window checks use 980/1280/1440 points in both appearances; 390/768 isolate the comparison control.",
"The before image is the historical verification-setup visual reference, not a pixel baseline of the pre-repair navigator.",
"No foreground interaction or end-to-end agent execution in this invocation. Uncommitted changes are browse-only for the existing committed-source verification engine.",
"First broader suite hit known Usage render variance: 51.655 ms vs unchanged 50 ms; final results recorded separately."
]
},
"comprehension": {
"status": "not-applicable",
"reviewer": "",
"answers": {
"product": "",
"audience": "",
"value": "",
"mechanism": "",
"proof": "",
"nextAction": ""
},
"purposeScore": {
"product": 0,
"audience": 0,
"value": 0,
"mechanism": 0,
"proof": 0,
"nextAction": 0,
"total": 0
},
"mismatches": []
}
},
"ownerFeedback": {
"decision": "keep",
"note": "Preserve existing design. Owner requested the specific dropdown and review-entry repair: fix thing please. No visual overhaul."
}
}
70 changes: 70 additions & 0 deletions evidence/design/review-scope-2026-09-15/review.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# Review comparison repair — 2026-09-15

Tracking: [#285](https://github.com/Codevetter/codevetter/issues/285), tasks 9–11.
Owner request: branch/base dropdowns after selecting a repository and an obvious
way to ask for a review. Implemented locally; no commit, push, installation or release.

## Design decision

Preserve lane: reuse the current native shell, source layout, compact pickers,
typography and colors. The owner supplied the specific interaction to repair;
this is not a new visual system. Historical verification-setup styling reference:
../native-acceptance-2026-09-01/review-intent.png (not a pixel baseline of the navigator).

The comparison bar now sits above the diff. Local and remote-tracking branches
are discovered read-only, bounded to 2,000 refs. Show diff pins merge-base/head
without checkout or fetch. Review change opens the existing verification setup
with that exact range locked; instructions and reviewer remain editable.
Changing a comparison disables eligibility for an old plan. Refresh retains
the applied branch/base. Repository changes clear scope and prior proof.

Local changes are explicitly worktree-vs-HEAD inspection. The existing verifier
requires committed source and a clean checkout at the selected head, and does not
silently verify another branch. Remote PR/commit context stays pinned; imported
source without a base is not falsely presented as a change comparison.
The Cancel action is shown only for an active review, not background metadata reads.

## Verification

- Final `pnpm test:native:background`: 109 Swift tests, 15 navigator Rust tests,
all five isolated performance gates, native Debug build passed. Two explicit
live-network navigator tests were skipped.
- Focused regression covers branch catalog, exact base/head handoff, pending
selection, refresh, missing refs, repository switch and old-plan eligibility.
- Rust fixture verifies divergent-branch merge-base, detached HEAD, unrelated
history rejection, invalid refs, and unchanged original HEAD/index.
- Final branch test and navigator Clippy with warnings denied passed after the
multiple-merge-base rejection refinement; navigator library rebuilt.
- Documentation and diff whitespace checks passed. Complexity gate reported
no applicable files (it does not establish Swift/Rust complexity coverage).

The first broader run failed the existing Usage hosted-render gate at
51.655 ms p95 versus the unchanged 50 ms budget. Final isolated Usage p95 was
30.054 ms; all final gates passed. Preserve this variance under #288 rather than
discarding the failed observation. No Usage performance code or threshold changed
as part of the Review repair.

## Native visual review

Screenshots are synthetic repository fixtures, not a real agent review or
verification verdict. Full-window captures cover 980, 1280 and 1440 points in
dark and light appearance. The 390/768 captures isolate the responsive comparison
bar; they are not claims of whole-app phone-sized support. The native minimum
window remains 980×640. Setup controls remain in the existing scrollable form.

The full-suite offscreen pass showed missing cached text in some screenshots;
the isolated render test was rerun and its complete renders were inspected and
retained here. This is a render-harness observation, not proven installed-app behavior.
Plan may appear disabled during fixture background initialization; eligibility
is separately tested, and no agent or executable review was started by this test.

Manual native fallback critique: **34/40** (continuity 9, hierarchy 9, scope clarity 9,
compact layout 7). Audit: **17/20** (read-only scope 4, identity/handoff 4, state
honesty 4, native label/layout inspection 3, interaction qualification 2).
No observed P0/P1 in the scoped checks. These are manual judgments, not
Impeccable output or full accessibility certification. Impeccable is unavailable.
The preserve-lane design receipt validator passed.

Foreground dropdown clicks, keyboard-to-pixel timing, and end-to-end provider
execution remain unqualified on this invocation; no fresh idle-screen approval
was inferred. No additional VoiceOver work. Existing Usage changes were preserved.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading