Repository navigation
feat(mcp): get_judgment_requests; pending on summary rows - #670
Open
mlieberman85 wants to merge 4 commits into
Open
mlieberman85 wants to merge 4 commits into
mlieberman85 wants to merge 4 commits into
Conversation
7 of 8 tasks
mlieberman85
force-pushed
the
feat/judgment-requests
branch
2 times, most recently
from
October 25, 2026 23:45
466481b to
566c2b5
Compare
Marc-cn
previously approved these changes
Oct 29, 2026
Marc-cn
left a comment
Collaborator
There was a problem hiding this comment.
Reviewed its own three commits. Right answer to the 1 MB audit JSON: shared files map keyed by path (#n on digest collisions), per request only what submit_judgment checks citations against, 40 KB pages with remaining fed back as control_ids so later pages are subset audits, summary rows carrying pending.kind, and structured_output=False so the size counted is the size sent. One note: a PENDING llm_judgment control without an llm_consultation is dropped silently (neither in requests nor remaining); #671's 'list the controls skipped' commit looks like it covers that, so fine in the stack. Good to merge in order.
A coding agent gets what it judges from get_judgment_requests: each control's prompt, hints, and files, with one shared files map holding exactly the content submit_judgment checks citations against, paged under 40,000 bytes. Summary rows of a PENDING control carry pending.kind and a candidate summary (5.4). Assisted-by: Claude:claude-opus-5-5 Signed-off-by: Michael Lieberman <mlieberman85@gmail.com>
The json audit output is about 1 MB, because every control waiting on a judgment carries its own copy of its files and all of its evidence. An MCP client refuses a tool result that large, so the comply flow spilled it to a file and parsed it with shell tools. get_judgment_requests audits the checkout the same way submit_judgment does and returns only the prompt, hints, evidence digest, and file keys per control, with each file once in a shared map. Pages stay under 40,000 bytes; 'remaining' names the controls for the next call. Controls with a stored PASS candidate are skipped unless include_judged is set. It records nothing. Summary rows of a PENDING control now carry pending.kind, and a candidate's model, reasoning, and number of cited excerpts, so a client can tell a judgment request from a candidate without the json output. Refs darnitdevorg#644. Assisted-by: Claude:claude-opus-5-5 Signed-off-by: Michael Lieberman <mlieberman85@gmail.com>
…tput darnit-audit and darnit-comply read summary rows, then page through get_judgment_requests and cite from its files. The '~164K' size claims in the skills and the audit tool description are gone. Refs darnitdevorg#644. Assisted-by: Claude:claude-opus-5-5 Signed-off-by: Michael Lieberman <mlieberman85@gmail.com>
…erver darnitdevorg#630 removed create_server_from_dict. The two tests that check the get_judgment_requests registration now write a minimal framework TOML and call create_server, as darnitdevorg#630 did for its own tests. Assisted-by: Claude:claude-opus-5-5 Signed-off-by: Michael Lieberman <mlieberman85@gmail.com>
mlieberman85
force-pushed
the
feat/judgment-requests
branch
from
November 1, 2026 15:59
566c2b5 to
1412a1b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The json audit output is about 1 MB on wtf-frontend, because every control waiting on a judgment carries its own copy of its files and all of its evidence. Claude Code refuses a tool result that large, so the comply flow saved it to a file and parsed it with shell tools (#644).
get_judgment_requestsaudits the checkout the waysubmit_judgmentdoes. Per control, it returns only the prompt, hints, evidence digest and file keys, with each file once in a sharedfilesmap: exactly the contentsubmit_judgmentchecks citations against.remainingnames the controls for the next call.include_judgedis set.pending.kind, and for a candidate its model, reasoning and number of cited excerpts. A client can tell a judgment request from a candidate without the json output.get_judgment_requests. The "~164K" size claims are removed.tests/integration/test_mcp_server.pynow expects 23 tools.Refs #644.
Type of Change
Framework Changes Checklist
docs/architecture/framework-design.md, 5.4)uv run python scripts/validate_sync.py --verboseand it passesTesting
uv run pytest tests/on the whole rebased stack (18bd63e): 5286 passed, 18 skippeduv run ruff check .End-to-end
darnit-e2e: headless/darnit:darnit-audit openssf-baselinethrough Claude Code. Confirm tools are disallowed and the repository is named in the prompt.get_judgment_requestswas larger than Claude Code's tool-result limit and was saved to a file. The agent's attempt to read it with Bash was denied. This is the oversized single-request follow-up.AI assistance
Claude Code (Claude Opus) wrote the change, tests and this description; I reviewed them and ran the e2e.
Drafted with AI assistance (Claude), reviewed and filed by me. Measurements quoted were executed and verified.