Wave C: code review (docs/features/04) #10
No reviewers
Labels
No labels
actions
bug
cli
duplicate
enhancement
fork
forum
git storage
help wanted
insights
invalid
issues
moderation
oidc
ownership transfer
packages
pr/merge protection rules
projects
pull requests
question
releases
sponsorships
tags
webhooks
wiki
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
crueber/walhub!10
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/review"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Implements docs/features/04 end to end on branch feat/review (from origin/main).
New package internal/review: immutable reviews (commit_sha==head or verbatim 409, author self-approve 422, maintain-only compensating dismissal), CAS'd line-anchored threads (tid from PR header CAS, normative anchor + view-time drift), review-requests.json CAS index + review-suggest, review_summary as pure recompute-in-CAS-loop (gate never trusts it), required-reviews as one effect with two honest halves (push-time deny via policy.RequiredReviewsEffect; merge-time scan gate consulted by 03's merge task through pulls ReviewGate seam — merge logic NOT forked), 14 endpoints on both lanes with review/thread SSE frames, PR-page UI + SDK (dark and light). Registers NO task kinds. New CAS'd families join the frozen overwritable list in the same change (14 amendment).
Verification: gofmt/vet clean; internal/review 96.2% (covergate 95 pass), policy 97.3%, pulls 98.0%; go test -race clean; e2e green; node --test 142 pass; vite+esbuild builds green; live smoke (real server+git): submit/self-approve-422/stale-409 verbatim, threads/requests/suggest, gate blocks with narrated shortfall then merges after approval.
Known gaps: no browser rig in this environment (vite compile + served bundle + 142 JS tests instead — reviewer please load /, a PR page, /setup in Chromium); receive-pack enforces no policy effects yet (pre-existing: even protect passes through — push-time half registered + unit-proven, enforced where evaluation exists); collaboration SSE stream is 06's (frames publish through the seam, UI reloads via invalidate).