docs(v0): record D20 hybrid review authority boundary (closes #36) #43

Merged
pdurlej merged 1 commit from claude/patchwarden-hybrid-review-authority into main 2026-05-26 14:36:13 +02:00
Collaborator

Summary

Records the merge-safety authority boundary across Patchwarden / reviewer lanes / Iskra / Platform / Operator before reviewer-lane implementation (#37 cloud_review field + #28-#30 reviewer orchestration trio) lands. Per Oracle consult patchwarde-auditlm-boundary (2026-05-26) + platform W6d/W8.1 dogfood evidence (pdurlej/platform#500, #503, #504).

Closes #36.

What changed (2 files, +61/-0)

docs/decisions.md — adds D20 + summary table row:

  • One-line summary: "Patchwarden decides. LLM reviewers suspect. Iskra contextualizes. Platform executes. Operator arbitrates."
  • Explicitly states LLM output cannot approve or merge
  • Lists hard manual classes (secrets, workflows, runtime/deploy, branch protection/auth, Patchwarden governance, large/stale/unparseable)
  • Cites platform dogfood evidence (#500, #503, #504) + Oracle consult
  • Names risk if wrong: reviewer-lane drift into model-owned merge authority would collapse Patchwarden into "smart commenter" category (CodeRabbit/Bugbot territory) and break D2 patent-grant rationale + D6/D7 cloud-allowed-but-policy-bounded discipline
  • Names mitigation: PR review checklist for #28/#29/#30/#37 includes "does any code path post Forgejo APPROVED reviews or call merge endpoints from a reviewer-lane code path?" → MUST be no
  • Architectural enforcement (not just convention) — review_run.py never imports merge helpers, forgejo_client.py has no merge endpoints in reviewer-lane scope

docs/architecture.md — adds new "Hybrid review authority boundary" section between "The Patchwarden ↔ Iskra boundary" and "Repo strategy":

  • 5-row authority matrix (Patchwarden / reviewer lanes / Iskra / Platform / Operator) with what each CAN and CANNOT do
  • Hard manual classes restated
  • Architectural enforcement details (code paths that prevent drift)
  • AuditLM note: inspiration only, not dependency/fork (AGPL + dead project signals)

What did NOT change

  • No code (per issue spec — "No implementation code changes in this issue")
  • No policy schema (that's #37 work)
  • No platform workflow changes
  • No AuditLM import/fork
  • No Ollama integration (#37 onwards)
  • docs/risks.md left untouched (R1/R2 already cover Patchwarden ↔ Iskra collapse risk; this PR adds the positive version of the boundary, not new risks)

Why now

Issue #36 was created by codex 2026-05-26 after Oracle consult + platform W6d/W8.1 evidence converged on a single insight: reviewer-lane implementation (#37 + #28-#30) needs the authority boundary recorded before code lands, not after. Otherwise drift into model-owned merge authority is a slow-bleed risk — easy to add a client.post_approved_review() call in #29 prompt rendering if nobody documented why that's forbidden.

Verification

  • grep -c "^## D" docs/decisions.md returns 20 (D1-D14 + D8b + D15-D20)
  • decisions.md summary table has 21 rows (header + 20 D-rows)
  • architecture.md has new H2 section "Hybrid review authority boundary" with 5-row authority matrix
  • No edits outside docs/decisions.md + docs/architecture.md
  • D20 cites platform PRs #500, #503, #504
  • D20 lists all 6 hard-manual classes (secrets / workflows / runtime / branch-protection / Patchwarden governance / large-stale-unparseable)

Trace

  • Oracle consult: patchwarde-auditlm-boundary, 2026-05-26 (operator → codex → claude flow)
  • Platform PRs cited: pdurlej/platform#500, #503, #504
  • Related Patchwarden issues: #37 (cloud_review field — lands next), #28 (reviewer lane config loader), #29 (prompt rendering), #30 (finding comments), #32 (platform dogfood playbook), #33 (boring PR lifecycle fixture)

Suggested status

Merge now — atomic docs-only PR, no code, no schema changes, no platform touch. Blocks #37 implementation start (the boundary must be in main before reviewer-lane code paths get written).


🤖 claude (Patchwarden dedicated thread) — per codex+Oracle task handoff 2026-05-26, F1 kill-criterion claude-as-Patchwarden-executor mandate active.

## Summary Records the merge-safety authority boundary across Patchwarden / reviewer lanes / Iskra / Platform / Operator **before** reviewer-lane implementation (#37 cloud_review field + #28-#30 reviewer orchestration trio) lands. Per Oracle consult `patchwarde-auditlm-boundary` (2026-05-26) + platform W6d/W8.1 dogfood evidence ([`pdurlej/platform#500`](https://git.pdurlej.com/pdurlej/platform/issues/500), [`#503`](https://git.pdurlej.com/pdurlej/platform/issues/503), [`#504`](https://git.pdurlej.com/pdurlej/platform/issues/504)). Closes [#36](https://git.pdurlej.com/pdurlej/patchwarden/issues/36). ## What changed (2 files, +61/-0) **`docs/decisions.md`** — adds **D20** + summary table row: - One-line summary: *"Patchwarden decides. LLM reviewers suspect. Iskra contextualizes. Platform executes. Operator arbitrates."* - Explicitly states LLM output cannot approve or merge - Lists hard manual classes (secrets, workflows, runtime/deploy, branch protection/auth, Patchwarden governance, large/stale/unparseable) - Cites platform dogfood evidence (#500, #503, #504) + Oracle consult - Names risk if wrong: reviewer-lane drift into model-owned merge authority would collapse Patchwarden into "smart commenter" category (CodeRabbit/Bugbot territory) and break D2 patent-grant rationale + D6/D7 cloud-allowed-but-policy-bounded discipline - Names mitigation: PR review checklist for #28/#29/#30/#37 includes *"does any code path post Forgejo APPROVED reviews or call merge endpoints from a reviewer-lane code path?"* → MUST be no - Architectural enforcement (not just convention) — `review_run.py` never imports merge helpers, `forgejo_client.py` has no merge endpoints in reviewer-lane scope **`docs/architecture.md`** — adds new **"Hybrid review authority boundary"** section between *"The Patchwarden ↔ Iskra boundary"* and *"Repo strategy"*: - 5-row authority matrix (Patchwarden / reviewer lanes / Iskra / Platform / Operator) with what each CAN and CANNOT do - Hard manual classes restated - Architectural enforcement details (code paths that prevent drift) - AuditLM note: inspiration only, not dependency/fork (AGPL + dead project signals) ## What did NOT change - ❌ No code (per issue spec — "No implementation code changes in this issue") - ❌ No policy schema (that's #37 work) - ❌ No platform workflow changes - ❌ No AuditLM import/fork - ❌ No Ollama integration (#37 onwards) - `docs/risks.md` left untouched (R1/R2 already cover Patchwarden ↔ Iskra collapse risk; this PR adds the *positive* version of the boundary, not new risks) ## Why now Issue #36 was created by codex 2026-05-26 after Oracle consult + platform W6d/W8.1 evidence converged on a single insight: reviewer-lane implementation (#37 + #28-#30) needs the authority boundary recorded *before* code lands, not after. Otherwise drift into model-owned merge authority is a slow-bleed risk — easy to add a `client.post_approved_review()` call in #29 prompt rendering if nobody documented why that's forbidden. ## Verification - [ ] `grep -c "^## D" docs/decisions.md` returns 20 (D1-D14 + D8b + D15-D20) - [ ] decisions.md summary table has 21 rows (header + 20 D-rows) - [ ] architecture.md has new H2 section "Hybrid review authority boundary" with 5-row authority matrix - [ ] No edits outside `docs/decisions.md` + `docs/architecture.md` - [ ] D20 cites platform PRs #500, #503, #504 - [ ] D20 lists all 6 hard-manual classes (secrets / workflows / runtime / branch-protection / Patchwarden governance / large-stale-unparseable) ## Trace - Oracle consult: `patchwarde-auditlm-boundary`, 2026-05-26 (operator → codex → claude flow) - Platform PRs cited: `pdurlej/platform#500`, `#503`, `#504` - Related Patchwarden issues: #37 (cloud_review field — lands next), #28 (reviewer lane config loader), #29 (prompt rendering), #30 (finding comments), #32 (platform dogfood playbook), #33 (boring PR lifecycle fixture) ## Suggested status **Merge now** — atomic docs-only PR, no code, no schema changes, no platform touch. Blocks #37 implementation start (the boundary must be in `main` before reviewer-lane code paths get written). --- 🤖 claude (Patchwarden dedicated thread) — per codex+Oracle task handoff 2026-05-26, F1 kill-criterion claude-as-Patchwarden-executor mandate active.
Sign in to join this conversation.
No reviewers
No labels
agent/claude-code
agent/codex
agent/gemini
agent/hermes
agent/iskra
agent/ollama
agent/patchwarden
area:business-model
area:competitive
area:discovery
area:forgejo
area:metrics
area:product-strategy
area:v0-core
cagan-grade-approved
client:platform
dependency/blocked
dependency/blocks-others
dependency/cross-repo
dependency/needs-confirmation
domain:agents
domain:ci
domain:docs
domain:forgejo
domain:infra
domain:memory
domain:runtime
domain:signal
domain:ux
flow/architecture
flow/blocked
flow/deployed
flow/done
flow/implementation
flow/intake
flow/maintained
flow/observed
flow/ready
flow/refining
flow/retired
flow/review
judge/codex-candidate
judge/hermes-candidate
judge/low-confidence
judge/needs-refinement
judge/operator-needed
judge/p0
judge/p1
judge/p2
judge/p3
judge/park
judge/patchwarden-candidate
judge/stale-priority
kind/adr
kind/bug
kind/chore
kind/feature
kind/infra
kind/ops
kind/refactor
kind/research
kind:artifact
kind:decision
kind:dogfood
kind:epic
kind:implementation
kind:research
merge/auto
merge/manual
merge/manual-dependency-conflict
merge/manual-failing-tests
merge/manual-merge-conflict
merge/manual-missing-review
merge/manual-operator-preference
merge/manual-red-zone
merge/manual-security-sensitive
merge/manual-unclear-scope
merge/manual-unknown
mode:operator-only
mode:patchwarden-iskra-approved
mode:safe-auto
observed/erroring
observed/needs-followup
observed/pending
observed/retire-candidate
observed/unused
observed/used
priority:p0
priority:p1
priority:p2
priority:p3
ready-for-agent
review:claude-reviewed
review:codex-reviewed
review:dziadek-reviewed
review:needs-human
safety:external-write
safety:no-prod-mutation
safety:prod-impact
safety:secret-touch
size/large
size/medium
size/small
size/tiny
size/unknown
source/adr
source/agent-generated
source/manual
source/operator-chat
source/voice-note
status:blocked
status:blocked-on-discovery
status:cagan-grade-review-pending
status:codex-ready
status:merged:pending-evidence
status:needs-evidence
status:needs-operator-decision
status:operator-needed
status:parked
tier:0-anchor
tier:0-platform-substrate
tier:1-core
tier:1-iskra-value-layer
tier:2-supporting
tier:2-tools-products-modules
type:bug
type:chore
type:docs
type:feat
type:policy
type:research
wave:1-foundation
wave:2-positioning
wave:3-validation
wave:4-economics
wave:5-operating
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pdurlej/patchwarden!43
No description provided.