Repository navigation
diff --application: one finding per changed agent, the first unresolved hop, grouped uncertainty (#914) - #1000
Merged
Conversation
…ed agent (#914) The comparison is exact and was long: a hundred rows share three causes, every effect read write (provisional: unknown effect), and every row asked the same question. It now opens with a reviewer-first reading of its own rows: one finding per changed agent, the first thing not read, one entry per cause shared by not_established rows, and a question specific to what changed. The JSON gains an additive summary block (same schema version, 0.4 is unreleased); the text is rendered from it. Per-row text follows under Detail up to 10 rows; above that the rows are in --json. No row, status, direction, gap or exit code moves, and summarize.py leaves the summary out of answer_id so hand scores stay valid. Six goldens (attest#3, MIS_TALENT#7, O.R.I.O.N#126 and three more) are rendered from a run of the development corpus.
pengfei-threemoonslab
force-pushed
the
claude/914-application-findings
branch
from
October 8, 2026 11:50
5c3f78f to
028e7f4
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.
Closes #914
What a reviewer gets
diff --applicationopens with aFindings:line and one finding per changed agent, then the rows. The JSON gains an additive top-levelsummarywith the same content, which the text is rendered from, so #915 can print the same finding.still reachesorchanged reach(the same call newly taking a model-controlled argument or sending a credential).partialand saysnot read beyond <place>; each tool line keeps its first unread hop and a count of the rest.comparison_statusstill speaks of bindings only, so acomparedanswer can carry apartialfinding.not_establishedrows with the same reason (names and places aside) are one line with a count and one example; effect evidence is counted once; limits no row states are one line per agent.Detail:for up to 10 rows. Above that the text says how many rows it did not print;--jsonalways carries every row, gap and reach limit. No new flag.Presentation only
summaryis derived from the sanitized rows and names the rows it summarizes by index; it states nothing a row does not.application_comparison_schema_versionstays0.4: it is unreleased (v1.2.0 shipped0.2), as Tool reach: name effects beyond HTTP — databases, subprocesses, files, cloud SDKs and messaging #913 did forreach.effects.summaryextends it.comparison_iddigestssummarywith the rows, so the documented recomputation still holds.benchmark/application-q2/summarize.pyleavessummaryout ofanswer_id, so a hand score keeps judging the answer it read.Evidence
Development corpus (49 PRs),
origin/mainate703b41bagainst this branch'ssrc/from a snapshot worktree (benchmark/application-q2/run.py --engine <snapshot>/shipgate): every memberok;summarize.pyoutput is identical (statuses, row counts by kind, sides with calls or unresolved hops, with and without the 2026-10-05 scores); 49 of 49 answers have the sameanswer_id, status androws.Small answers grow by the summary and keep their rows under
Detail:.benchmark/application-q2/goldens/holds the text of six real answers (those three, xju2/hepagent#72, buriro-ezekia/cinescout-ai#9, cianfhoghlaim/tuatha#1) and, beside each, the reduced answertests/test_application_summary.pyrenders in CI;goldens.pyregenerates and checks them from a run.Tests
tests/test_application_summary.py: findings from git fixtures (reach with credential and model-controlled argument, an unread hop, a removal, a changed argument, 24 rows sharing a cause), every summary statement traceable to the rows it names, the JSON differing only bysummary, no dependence on key order, control characters in names, the goldens and the docs quoting lines the goldens print.tests/test_application_q2_benchmark.py:answer_idignoressummary.tests/test_distribution_surface_parity.pyanddocs/distribution-surfaces.md: the new module and its no-claim note.-n auto -m "not perf" --ignore=tests/test_adapter_static_only.py) exits 1 only ontest_check_unmodelled_host_config_keys.py[local_settings_enabled_plugins-*], which fails on this machine only;tests/test_adapter_static_only.py,ruff check .andscripts/generate_schemas.py --checkexit 0.Notes for the reviewer
origin/maincontract form hot fix Tiendat2703/MIS_TALENT#7 yields 2 rows; the 2026-10-05 ledger records 3 (Finance_Agent'sload_and_validatechanged). Runs ofmainjust before Application diff: read tools bound as objects — MCP toolsets, agent-as-tool and hosted tools #910 already lack the row, so it went missing between that ledger's build and Application diff: read tools bound as objects — MCP toolsets, agent-as-tool and hosted tools #910. This PR neither causes nor changes it; the new "Also not read" line namesFinance_Agentas having unread limits.orion: the agent is built inapi_main.py,main.py,voice_main.pyandwake_main.py, each its own agent in the comparison.🤖 Generated with Claude Code