Skip to content

diff --application: one finding per changed agent, the first unresolved hop, grouped uncertainty (#914) - #1000

Merged
pengfei-threemoonslab merged 1 commit into
mainfrom
claude/914-application-findings
Oct 8, 2026
Merged

pengfei-threemoonslab merged 1 commit into
mainfrom
claude/914-application-findings

Conversation

@pengfei-threemoonslab

Copy link
Copy Markdown
Contributor

Closes #914

What a reviewer gets

diff --application opens with a Findings: line and one finding per changed agent, then the rows. The JSON gains an additive top-level summary with the same content, which the text is rendered from, so #915 can print the same finding.

Presentation only

  • No row, status, direction, gap, scope or exit code moves. summary is derived from the sanitized rows and names the rows it summarizes by index; it states nothing a row does not.
  • application_comparison_schema_version stays 0.4: it is unreleased (v1.2.0 shipped 0.2), as Tool reach: name effects beyond HTTP — databases, subprocesses, files, cloud SDKs and messaging #913 did for reach.effects. summary extends it. comparison_id digests summary with the rows, so the documented recomputation still holds.
  • benchmark/application-q2/summarize.py leaves summary out of answer_id, so a hand score keeps judging the answer it read.

Evidence

Development corpus (49 PRs), origin/main at e703b41b against this branch's src/ from a snapshot worktree (benchmark/application-q2/run.py --engine <snapshot>/shipgate): every member ok; summarize.py output 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 same answer_id, status and rows.

PR text before text after before the rows
VidulaWickramasinghe/O.R.I.O.N#126 (237 rows) 11,926 lines 24 lines 21
Tiendat2703/MIS_TALENT#7 (2 rows) 59 lines 67 lines 10
jpka/attest#3 (2 rows) 23 lines 29 lines 7

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 answer tests/test_application_summary.py renders in CI; goldens.py regenerates 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 by summary, 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_id ignores summary.
  • tests/test_distribution_surface_parity.py and docs/distribution-surfaces.md: the new module and its no-claim note.
  • Full CI mirror (-n auto -m "not perf" --ignore=tests/test_adapter_static_only.py) exits 1 only on test_check_unmodelled_host_config_keys.py[local_settings_enabled_plugins-*], which fails on this machine only; tests/test_adapter_static_only.py, ruff check . and scripts/generate_schemas.py --check exit 0.

Notes for the reviewer

🤖 Generated with Claude Code

…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
pengfei-threemoonslab force-pushed the claude/914-application-findings branch from 5c3f78f to 028e7f4 Compare October 8, 2026 11:50
@pengfei-threemoonslab
pengfei-threemoonslab merged commit da1fd9e into main Oct 8, 2026
14 checks passed
@pengfei-threemoonslab
pengfei-threemoonslab deleted the claude/914-application-findings branch October 8, 2026 12:00
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.

Application diff output: one finding per changed agent, the first unresolved hop, grouped uncertainty

1 participant