Skip to content

The adjudicator looks before it asks - #475

Merged
WaylandYang merged 1 commit into
devfrom
feat/the-adjudicator-looks-before-it-asks
Sep 8, 2026
Merged

WaylandYang merged 1 commit into
devfrom
feat/the-adjudicator-looks-before-it-asks

Conversation

@WaylandYang

Copy link
Copy Markdown
Contributor

Closes #358. Stacked on #474 (0027) and #473 (0026); rebases onto dev as those merge.

Record: new 0028 · The adjudicator looks before it asks; the status lines of 0025 and the open questions of 0026 now point at it (and at 0027).

What the issue asked, and what this does

#358 asked for an adjudicator that can go and look, and said to build it only once a number said which kind of miss the adjudicator makes. The record is honest about that number: 0025 decision 10 measured the governed path (96.9% agreement, four wrong merges, eleven left for people on 589 pairs) and found the remaining misses are judgment and precedent-following, not evidence nobody read; this PR does not claim the loop raises agreement on that corpus. What it fixes is narrower and cheap because the loop already exists:

  • With governance off there was no second look at all. The batch adjudicator now sends the pairs it cannot settle (no verdict, or below AUTO_CONF), that a hard rule would not hold anyway (type families, version tails, phrases) and that carry no revert, through the governor's loop via look_again — same tools, same LOOP_DAILY_CALLS. The loop's verdict replaces the batch's in the cache and lands through the same apply_verdict (0026's sample and 0027's gate still apply), with via: investigated in the ledger. A deferred pair is escalated as proposed, so its card carries the chip and the question.
  • Every look is a row in agent_decisions, applied or proposed, with trace, calls and question — so the daily budget counts it and the Agent queue shows it whether or not governance is on. The switch turns the governor on, not the queue.
  • The loop can see the boundary before it decides. New consequences tool (no arguments): Impact::describe() from 0027's gate — one-value relations where the sides hold different values, derived facts resting on either side, chat answers that named either side — plus whether the two types share a family. The prompt says a merge that would touch anything outside the graph is held whatever the confidence, so prefer to defer with the question that would settle it.
  • Nothing else moves: the batch prompt, the confident verdicts, the governor's own rule and both bars are unchanged.

Verified

  • cargo check, clippy and fmt clean on extract, store and server; extract's governor unit tests (tool list, step reader) updated and green; Impact::describe unit-tested; the four store DB tests (0026 rationale, ledger precedents, batch decisions, 0027 gate) green on the real database.
  • The loop itself needs a model; not exercised end to end here. The number that measures it is the one 0026's sample collects, split by via.

🤖 Generated with Claude Code

WaylandYang added a commit that referenced this pull request Sep 8, 2026
Three records were written as 0026-0028 on three branches on the same day. By the order the pull requests were opened, the adjudication stack (#473-#475) keeps 0026-0028, the rules stack (#484, #485) becomes 0029 and 0030, and the event record (#487) becomes 0031.

Signed-off-by: WaylandYang <wayland0916@gmail.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Base automatically changed from feat/an-automatic-merge-is-gated to dev September 8, 2026 05:01
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Signed-off-by: WaylandYang <wayland0916@gmail.com>
@WaylandYang
WaylandYang force-pushed the feat/the-adjudicator-looks-before-it-asks branch from e7bbf6b to 43014c5 Compare September 8, 2026 05:01
@WaylandYang
WaylandYang merged commit 0c98e7d into dev Sep 8, 2026
4 checks passed
@WaylandYang
WaylandYang deleted the feat/the-adjudicator-looks-before-it-asks branch September 8, 2026 05:08
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.

A resolution decision is made in one shot, with no way to investigate

1 participant