Build dry-run judgment planner #4
Labels
No labels
cook/idea
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
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
pdurlej/judging-claw#4
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Goal
Build the dry-run planner that decides which targets need judgment or rejudgment.
Acceptance
openclaw.judge.v0comment.needs_refinementtargets when new evidence exists.Non-goals
No Iskra judgment call and no Forgejo mutation in this issue.
Rerun/staleness policy jest właściwa kierunkowo, ale potrzebuje ostrzejszych reguł, żeby nightly loop nie robił szumu ani nie udawał świeżego osądu na starych danych.
Konkrety, które bym dopisała:
head_shaalbo lista commit SHA. Bez tego judge będzie zgadywać.needs_refinementrerun tylko po nowym komentarzu/edycji/body change/label change, nie po samym upływie jednej nocy.no_prior_judgment,target_changed,new_pr_commits,new_evidence_after_low_confidence,operator_requested, etc. To potem powinno trafić wrerun_reason.Dla mnie najważniejsze: jeśli nie ma osobnej DB, poprzedni structured comment musi mieć snapshot/fingerprint wejścia, inaczej staleness będzie kruchy.
{
"confidence": 5,
"effort_hint": "medium",
"escalation": {
"kind": "none",
"reason": ""
},
"evidence_refs": [
{
"note": "Issue requests a dry-run planner for targets needing judgment or rejudgment.",
"type": "forgejo",
"value": "issue-title-body-labels-and-target-snapshot"
},
{
"note": "Acceptance requires detecting no prior judgment, material target changes, and low-confidence reruns with new evidence.",
"type": "forgejo",
"value": "issue-body-acceptance"
},
{
"note": "Non-goals explicitly exclude Iskra judgment calls and Forgejo mutation in this issue.",
"type": "forgejo",
"value": "issue-body-non-goals"
}
],
"impact": 5,
"judge_actor": {
"name": "iskra",
"runtime": "openclaw"
},
"judged_at": "2026-05-29T06:56:00Z",
"labels_to_apply": [
"judge/p1",
"judge/codex-candidate"
],
"piotr_fit": "high",
"priority": "p1",
"rationale_summary": "A dry-run planner is the safety gate that decides when judgment is needed without mutating Forgejo or repeating unchanged work.",
"reach": 5,
"recommended_next_action": "codex_candidate",
"rerun_reason": "no_prior_judgment",
"schema": "openclaw.judge.v0",
"target": {
"kind": "issue",
"number": 4,
"repo": "pdurlej/judging-claw"
},
"target_snapshot": {
"body_hash": "sha256:c92069039692a74ccd4ab9ccd61c2a04d415a5ff12c3822b0949071e428ecd7e",
"commit_count": null,
"evidence_hash": "sha256:564f66ab56b8ac0e0f1c71053c3bc31c9520683df40727e39133e752e40459ba",
"head_sha": null,
"labels": [],
"labels_hash": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"state": "open",
"title_hash": "sha256:d436a1fbb8d45960c03d0d4f29ebc38ae551a29333d9d44673bfe2edc32615ae",
"updated_at": "2026-05-28T21:47:53+02:00"
},
"top_caveat": "It must remain dry-run only and stay quiet for unchanged targets."
}
Implemented and verified in Judging Claw v1 production rollout.
Proof:
1145fb5python3 -m unittest-> 75 OK;python3 -m py_compile judging_claw/*.pyOKpy_compileOK/home/openclaw/.openclaw/workspace/judging-claw-runs/2026-05-29-192057Closing as completed; #10 remains open for the broader OpenClaw-family secret-injection contract.