From f3c26e170b74ce418177a91e56173171d65a8203 Mon Sep 17 00:00:00 2001 From: Pengfei Hu Date: Tue, 16 Jun 2026 15:34:38 -0700 Subject: [PATCH 1/3] Deepen real-history mining: 2026-W26 over agent apps/toolkits MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Continues the verdict-accuracy evidence base by mining agent application/toolkit repos (the W25 lesson: framework cores yield ~0 decided). Run: stripe/agent-toolkit + block/goose + pydantic/pydantic-ai, 40 PRs each (120 rows). Results committed under benchmark/miner/results/2026-W26-mined.* + a blank labeling worksheet. Findings: - App/toolkit > cores, but thin: stripe/agent-toolkit gave 6 decided rows (15%); goose + pydantic-ai (a framework core) gave 0. The 6 are the first real `review_required` decided rows (cores only ever yielded IE), but they collapse to one pattern (a repeated automated skill-sync bot PR) — decided *diversity* added ≈1. Aggregate is now 9 repos / 361 PRs / 336 (93%) trigger-skip / 15 decided, and ZERO of the 15 are must_block — reconfirming must_block positives must come from the constructed stratum. - Validates the #223 tools_scanned capture fix on REAL data: every W26 decided row records the ratio denominator (W24/W25 predate the fix, still null). Pinned by test_w26_headline_numbers_reproduce_from_committed_data; noted in CALIBRATION.md. - Engine-robustness bug found (chipped, not fixed here): block/goose's OpenAPI spec crashes scan with `Config error: Duplicate action_surface action_id` (4 scan_failed) — action_id is method+path without operationId, so two ops on GET /sessions/{session_id} collide. A third-party spec must fail soft. Corpus guard: W26 headline test added; cross-run trigger-skip floor raised 241 -> 361. Files LF-only. Full suite + ruff clean; no product/schema change. Co-Authored-By: Claude Fable 5 --- benchmark/miner/CALIBRATION.md | 5 +- benchmark/miner/README.md | 43 +++++-- benchmark/miner/results/2026-W26-mined.csv | 121 ++++++++++++++++++ benchmark/miner/results/2026-W26-mined.jsonl | 120 +++++++++++++++++ .../2026-W26-mined.labels.template.csv | 11 ++ tests/test_miner_corpus.py | 21 ++- 6 files changed, 310 insertions(+), 11 deletions(-) create mode 100644 benchmark/miner/results/2026-W26-mined.csv create mode 100644 benchmark/miner/results/2026-W26-mined.jsonl create mode 100644 benchmark/miner/results/2026-W26-mined.labels.template.csv diff --git a/benchmark/miner/CALIBRATION.md b/benchmark/miner/CALIBRATION.md index ded9f52..6e94245 100644 --- a/benchmark/miner/CALIBRATION.md +++ b/benchmark/miner/CALIBRATION.md @@ -40,8 +40,9 @@ unusable for calibration even descriptively: - `tools_scanned` was captured from the wrong place (`summary`, which carries no tool count) and came back `null` on every row — the ratio denominator was missing entirely. **Fixed** in `evaluate._tool_count` (now reads - `tool_surface.total_tools`); future mines record it. The committed corpus - predates the fix and still shows `null` — re-mine to populate. + `tool_surface.total_tools`) and **validated on real data** by the 2026-W26 + run, whose decided rows all record it (W24/W25 predate the fix and still show + `null`). The denominator is now captured; the *labels* still are not. - The row schema records `evidence_gaps` (low-confidence tools **+** source warnings, combined) but not the split, so the two threshold terms can't be separated. Splitting them is a `MinedRow` schema change, which forces a full diff --git a/benchmark/miner/README.md b/benchmark/miner/README.md index 7db66de..233d735 100644 --- a/benchmark/miner/README.md +++ b/benchmark/miner/README.md @@ -81,7 +81,7 @@ python -m benchmark.miner evaluate \ metrics are in [`LABELING.md`](LABELING.md). Generate the turnkey worksheet with `python -m benchmark.miner labels`; a ready blank copy is committed alongside each run's results as `.labels.template.csv` (one per run in - the table below — currently `2026-W24-…` and `2026-W25-…`). Label the run + the table below — currently `2026-W24-…`, `2026-W25-…`, and `2026-W26-…`). Label the run you mean to score, then `python -m benchmark.miner score --results --labels ` prints the confusion matrix + headline accuracy metrics. @@ -89,11 +89,13 @@ python -m benchmark.miner evaluate \ |---|---|---|---|---| | [`2026-W24-mined.csv`](results/2026-W24-mined.csv) | 2026-06-12 | stripe/ai, openai/openai-agents-python, crewAIInc/crewAI-examples | 121 (latest 40 merged PRs each + stripe/ai#232) | Schema v0.2 (re-run with baseline-gated `verify_*` receipts; supersedes the v0.1 artifact in place). Findings below. | | [`2026-W25-mined.csv`](results/2026-W25-mined.csv) | 2026-06-12 | google/adk-samples, langchain-ai/langgraph, modelcontextprotocol/servers | 120 (latest 40 merged PRs each) | Widen run over 3 new framework families. Schema v0.2. Findings below. | +| [`2026-W26-mined.csv`](results/2026-W26-mined.csv) | 2026-06-16 | stripe/agent-toolkit, block/goose, pydantic/pydantic-ai | 120 (latest 40 merged PRs each) | Deepen run over agent **apps/toolkits**. First run with `tools_scanned` captured (#223) and first real `review_required` decided rows. Schema v0.2. Findings below. | ## Constructed-adversarial accuracy — the blocked-recall proof -Real merged PRs almost never contain a `must_block` capability change (W25: -9 decided / 241), so the accuracy benchmark's **positives** come from the +Real merged PRs almost never contain a `must_block` capability change (15 +decided / 361 across W24–W26, and **zero** of those 15 are `must_block`), so +the accuracy benchmark's **positives** come from the repo's bundled fixtures, each built to be a specific case. The labels are each fixture's **documented design intent** — external ground truth, not a post-hoc opinion about the engine's output — so scoring the engine's verdict against @@ -120,15 +122,40 @@ with `python -m benchmark.miner constructed --out … --labels-out …`; score w The live engine is re-run against these fixtures in CI (`tests/test_miner_constructed.py`), so a change that regresses a blocked verdict fails there rather than silently in the data file. The mined runs below -supply the complementary halves — the **negative control** (the 226 +supply the complementary halves — the **negative control** (the 336 trigger-skips) and the real-history **extraction-coverage** (`insufficient_evidence`) rate. +### 2026-W26 findings — deepen run over agent apps/toolkits + +- **App/toolkit repos do yield more decided rows than framework cores — but + thin and rarely `must_block`.** `stripe/agent-toolkit` produced 6 decided + rows (15% of its 40 PRs) vs **0** from `block/goose` and `pydantic/pydantic-ai` + (a framework core, the same library-internals-churn pattern as W25). All 6 + are `review_required` (the first real non-IE decided rows), but they collapse + to **one** distinct pattern — a repeated automated "sync skills from + docs.stripe.com" bot PR — so the decided *diversity* added is ≈1. +- **`tools_scanned` capture validated on real data (#223).** Every decided row + records the ratio denominator (`tools_scanned=2`); pinned by + `test_w26_headline_numbers_reproduce_from_committed_data`. This is the first + committed run where the IE-threshold ratio is computable from the data. +- **Engine-robustness bug found:** `block/goose`'s OpenAPI spec crashes `scan` + with `Config error: Duplicate action_surface action_id` (4 `scan_failed` + rows) — the OpenAPI action_id is built from method+path without the + operationId, so two operations on `GET /sessions/{session_id}` collide. A + third-party spec must never hard-crash a scan; chipped as a follow-up (same + fail-soft class as #212/#214). +- **Confirms the W25 implication:** mining agent **application/toolkit** repos + is the only real-history source of more decided rows, but it does **not** + surface `must_block` positives — those still must come from the + constructed-adversarial stratum. + ### 2026-W25 findings — diminishing returns from framework-core breadth - **The base rate of capability-changing merged PRs is low, and now quantified.** - Across both runs — **6 repos / 241 merged PRs — 226 (93%) organically - trigger-skip and only 9 are decided.** The trigger noise bound is strongly - validated on real history; but real-history mining is an *inefficient* source + Across all three runs — **9 repos / 361 merged PRs — 336 (93%) organically + trigger-skip and only 15 are decided** (none `must_block`). The trigger noise + bound is strongly validated on real history; but real-history mining is an + *inefficient* source of decided cases, especially from framework **cores**: `langgraph` and `modelcontextprotocol/servers` produced **zero** decided rows (library- internals churn and TS-MCP sources the static extractor doesn't resolve). @@ -141,7 +168,7 @@ trigger-skips) and the real-history **extraction-coverage** (`insufficient_evide real-world gap — extraction *coverage*, failing safe, not a wrong verdict. - **Implication for the accuracy corpus (P3):** do not chase decided *positives* by mining more framework cores. The labeled corpus should compose - three strata — mined-real for the **negative** control (the 226 trigger-skips) + three strata — mined-real for the **negative** control (the 336 trigger-skips) and IE/coverage cases; **constructed-adversarial** for the `must_block` positives (already seeded: `samples/_anti_patterns`, `tests/fixtures/stripe_pr232`, `tests/test_verifier_scenarios.py`, diff --git a/benchmark/miner/results/2026-W26-mined.csv b/benchmark/miner/results/2026-W26-mined.csv new file mode 100644 index 0000000..7fc4d0b --- /dev/null +++ b/benchmark/miner/results/2026-W26-mined.csv @@ -0,0 +1,121 @@ +repo,pr_number,pr_url,title,merged_at,base_sha,head_sha,files_changed,trigger_run,trigger_rationale,check_decision,check_rule_ids,init_status,head_decision,head_blockers,head_review_items,evidence_gaps,tools_scanned,cap_added,cap_removed,cap_changed,cap_broadened,verify_verdict,verify_decision,verify_can_merge,verify_trust_root_touched,verify_policy_weakened,verify_cap_added,verify_cap_modified,verify_cap_removed,status,notes,schema_version +stripe/agent-toolkit,439,https://github.com/stripe/ai/pull/439,Omit metadata.yaml files when syncing Skills,2026-06-04T20:09:32Z,e27ee0091ed20f7557f3241e00ade3d4846af9d6,4bc7b8bd9631781e5ec426f74c33a1c623736058,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,428,https://github.com/stripe/ai/pull/428,"nit: Fix issue with glob syntax, keep the .gitkeep files",2026-05-20T18:42:25Z,119545ef7fa99a0fbc6a7463d5cff7c83616323d,949615033ab4148d563f6acec4bf05bd4693f139,2,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,427,https://github.com/stripe/ai/pull/427,Improve skills-sync automation and block manual edits,2026-05-20T18:02:30Z,9b021e1afa907e64eda81d4c30e45f812177c2bb,119545ef7fa99a0fbc6a7463d5cff7c83616323d,8,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,417,https://github.com/stripe/ai/pull/417,[sync-skills workflow] skip push for empty commits,2026-05-11T14:58:15Z,b40276ed49c1db917fef6539ebbee38f8cc4e2af,1efda25b93e3e90d4c30e22747eaa54b5ee079a9,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,413,https://github.com/stripe/ai/pull/413,agent toolkit to 0.9.1,2026-05-08T14:55:23Z,ebff0df37369d722b27e801b185f4aa14d5183b3,b40276ed49c1db917fef6539ebbee38f8cc4e2af,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,412,https://github.com/stripe/ai/pull/412,Remove register-paid-tool and all related code,2026-05-08T14:50:23Z,27b4b183445f733425e30de4ad14341c09bf1c3c,ebff0df37369d722b27e801b185f4aa14d5183b3,22,False,"dry_run rule(s) matched (advisory, no manifest write): TRIGGER-FRAMEWORK-VERSION-BUMP.",,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,411,https://github.com/stripe/ai/pull/411,Update checkout step in sync-skills workflow,2026-05-07T20:46:44Z,5352c8e07a2fe5f29ffd9af06545f16a96074a9e,c7c1d1efd202f7f0f7f43df5c4924b61cba84692,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,410,https://github.com/stripe/ai/pull/410,Update git push command to push to main branch,2026-05-07T20:40:00Z,e61ddddf0a3fdc1b815833085c86198edd16cc60,5352c8e07a2fe5f29ffd9af06545f16a96074a9e,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,409,https://github.com/stripe/ai/pull/409,[skills action] test making a new branch,2026-05-07T20:32:27Z,1b36b0ac37ce583aeff6605584c87bcf8189e397,e61ddddf0a3fdc1b815833085c86198edd16cc60,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,408,https://github.com/stripe/ai/pull/408,github workflow for sync skills: add skill checking CI test before push,2026-05-07T19:44:47Z,9cb8d24eb979d59614a840bef59d0624430e3d0f,4b01d31cd61bc85855fd2b7b5c0c364a36142217,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,407,https://github.com/stripe/ai/pull/407,fix conditionals on the sync skills github workflow,2026-05-07T19:45:48Z,4b01d31cd61bc85855fd2b7b5c0c364a36142217,1b36b0ac37ce583aeff6605584c87bcf8189e397,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,406,https://github.com/stripe/ai/pull/406,Enhance sync workflow with GitHub App token and auto-fix,2026-05-07T19:33:23Z,14623416d84fdfad0aea8744d4c6f838ebc87654,9cb8d24eb979d59614a840bef59d0624430e3d0f,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,400,https://github.com/stripe/ai/pull/400,[automated] sync skills from docs.stripe.com,2026-04-30T14:42:05Z,dd6deb03137908d0102ffde97e60c90cf79bf929,f6e8ff385e15f24cee5986518221228b7dc9ac6d,6,True,1 run_shipgate rule(s) matched.,allow,,written,review_required,0,8,4,2,0,0,0,0,insufficient_evidence,insufficient_evidence,False,True,False,0,0,0,evaluated,,0.2 +stripe/agent-toolkit,394,https://github.com/stripe/ai/pull/394,fix(ci): use PAT for sync-skills workflow so downstream workflows fire,2026-05-06T18:00:36Z,f6e8ff385e15f24cee5986518221228b7dc9ac6d,14623416d84fdfad0aea8744d4c6f838ebc87654,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,386,https://github.com/stripe/ai/pull/386,bump ai sdk version,2026-04-16T16:47:02Z,149892a8077bd438c8eaf5455beffa7693eb0185,dd6deb03137908d0102ffde97e60c90cf79bf929,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,382,https://github.com/stripe/ai/pull/382,fix(ai-sdk): prevent stack overflow in file-part base64 conversion,2026-04-15T19:55:26Z,fd912693173dcba346cc9739f0f89f76ab934c78,5811e64fdc1746bd3f6ae9f3a993a57053a5e88b,5,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,366,https://github.com/stripe/ai/pull/366,Update & pin rack dependency in ruby environment + solutions,2026-04-10T15:06:55Z,980a31bc4bfec9e370719921379855571c393842,fd912693173dcba346cc9739f0f89f76ab934c78,16,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,362,https://github.com/stripe/ai/pull/362,Update dependabot.yml,2026-04-09T06:53:13Z,c0a156cdb5bc4c0864200f9fa24ec0237702002c,f6b3116e70ada1df39b10ca27c9896bd02e53d4b,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,361,https://github.com/stripe/ai/pull/361,Bump hono from 4.12.7 to 4.12.12 in /tools/typescript,2026-04-09T06:54:41Z,f6b3116e70ada1df39b10ca27c9896bd02e53d4b,9dc8c9b9201c8a019bc15fe110656b101e91c2c9,2,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,359,https://github.com/stripe/ai/pull/359,[automated] sync skills from docs.stripe.com,2026-04-16T13:38:29Z,5811e64fdc1746bd3f6ae9f3a993a57053a5e88b,149892a8077bd438c8eaf5455beffa7693eb0185,3,False,skip_shipgate rule(s) matched (beats run_shipgate): TRIGGER-DOCS-ONLY-NEGATIVE.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,353,https://github.com/stripe/ai/pull/353,[automated] sync skills from docs.stripe.com,2026-04-06T13:53:07Z,6856c6cd4dd11152e4d8d97d42abc21558dcacc8,c0a156cdb5bc4c0864200f9fa24ec0237702002c,6,True,1 run_shipgate rule(s) matched.,allow,,written,review_required,0,8,4,2,0,0,0,0,insufficient_evidence,insufficient_evidence,False,True,False,0,0,0,evaluated,,0.2 +stripe/agent-toolkit,343,https://github.com/stripe/ai/pull/343,fix(mcp): sync User-Agent version with package.json and add CLI validation tests,2026-04-09T19:49:28Z,9dc8c9b9201c8a019bc15fe110656b101e91c2c9,980a31bc4bfec9e370719921379855571c393842,7,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,341,https://github.com/stripe/ai/pull/341,fix(gemini): remove trailing slash from httpUrl to fix OAuth authentication,2026-03-30T20:53:36Z,42954a7f0946d687285c820f5b85a4bcb8357e25,6856c6cd4dd11152e4d8d97d42abc21558dcacc8,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,338,https://github.com/stripe/ai/pull/338,[automated] sync skills from docs.stripe.com,2026-03-27T01:28:29Z,6a0f515611c2254ad8a4366c6bd88dcccf07171e,42954a7f0946d687285c820f5b85a4bcb8357e25,3,True,1 run_shipgate rule(s) matched.,allow,,written,review_required,0,8,4,2,0,0,0,0,insufficient_evidence,insufficient_evidence,False,True,False,0,0,0,evaluated,,0.2 +stripe/agent-toolkit,337,https://github.com/stripe/ai/pull/337,Bump yaml from 1.10.2 to 1.10.3 in /benchmarks/furever/environment,2026-03-27T01:27:57Z,8e0101a23afc5f3a7c9a4f8f47b0b06ff2db629e,fd6bd379ad95a8f306dc1afe383272766552e3d9,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,336,https://github.com/stripe/ai/pull/336,[automated] sync skills from docs.stripe.com,2026-03-26T18:13:35Z,aa1a47b1c4bcfd19cc7b1453ed6f1eeb9343d6d8,8e0101a23afc5f3a7c9a4f8f47b0b06ff2db629e,6,True,1 run_shipgate rule(s) matched.,allow,,written,review_required,0,8,4,2,0,0,0,0,insufficient_evidence,insufficient_evidence,False,True,False,0,0,0,evaluated,,0.2 +stripe/agent-toolkit,335,https://github.com/stripe/ai/pull/335,Update exclude-paths in dependabot configuration,2026-03-27T01:28:21Z,190e06fa358034ba95fea68dcbf2dd222810d2d9,6a0f515611c2254ad8a4366c6bd88dcccf07171e,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,334,https://github.com/stripe/ai/pull/334,Bump requests from 2.32.5 to 2.33.0 in /benchmarks/card-element-to-checkout/environment/server,2026-03-26T17:24:12Z,18313f3dc653799bc0b521bdc9c15c4180bee99a,7f3895ab4cb718e809289842e9b8d371f63c16e1,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,333,https://github.com/stripe/ai/pull/333,Bump picomatch in /benchmarks/furever/environment,2026-03-27T01:28:07Z,fd6bd379ad95a8f306dc1afe383272766552e3d9,190e06fa358034ba95fea68dcbf2dd222810d2d9,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,332,https://github.com/stripe/ai/pull/332,[automated] sync skills from docs.stripe.com,2026-03-26T17:50:23Z,7f3895ab4cb718e809289842e9b8d371f63c16e1,aa1a47b1c4bcfd19cc7b1453ed6f1eeb9343d6d8,3,True,1 run_shipgate rule(s) matched.,allow,,written,review_required,0,8,4,2,0,0,0,0,insufficient_evidence,insufficient_evidence,False,True,False,0,0,0,evaluated,,0.2 +stripe/agent-toolkit,330,https://github.com/stripe/ai/pull/330,fix missing user-agent file (Bump version from 0.3.2 to 0.3.3),2026-03-24T14:22:26Z,5d09320414125ae97860718352eac2fed7601852,18313f3dc653799bc0b521bdc9c15c4180bee99a,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,327,https://github.com/stripe/ai/pull/327,Bump @stripe/mcp version,2026-03-23T20:36:31Z,e9d6a6b2cc5210adac2e75ce8226ba52917ced97,5d09320414125ae97860718352eac2fed7601852,2,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,326,https://github.com/stripe/ai/pull/326,Update dependabot.yml,2026-03-23T20:35:10Z,14a1acfb1453c9d526883d074c333a0eb25d93b7,e9d6a6b2cc5210adac2e75ce8226ba52917ced97,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,319,https://github.com/stripe/ai/pull/319,"Add Dependabot config, excluding benchmarks/ from updates",2026-03-23T20:25:29Z,a92933cac72c2d106ebb2aa04c11c115868c6314,14a1acfb1453c9d526883d074c333a0eb25d93b7,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,317,https://github.com/stripe/ai/pull/317,fix: schema_utils extra fields parsing & add test coverage,2026-03-23T17:21:05Z,2d3e3a8d957781984bc2095a3b34ba9941d93978,a92933cac72c2d106ebb2aa04c11c115868c6314,3,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,315,https://github.com/stripe/ai/pull/315,[automated] sync skills from docs.stripe.com,2026-03-23T15:13:48Z,03a9fca259edfccdf15ca9139022ac31fe253d98,93b1e2f6e80183441ae2e93151b09ff1462aefcd,12,False,skip_shipgate rule(s) matched (beats run_shipgate): TRIGGER-DOCS-ONLY-NEGATIVE.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,314,https://github.com/stripe/ai/pull/314,Fix optional parameters to also accept null values,2026-03-23T17:20:51Z,93b1e2f6e80183441ae2e93151b09ff1462aefcd,2d3e3a8d957781984bc2095a3b34ba9941d93978,2,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,312,https://github.com/stripe/ai/pull/312,Sync skills from docs.stripe.com,2026-03-20T19:35:19Z,5d4f8b2bf9749bdf8eb2350f349645e06e9dbdd1,91f8471adfe5189145aaab61879bfa13452c51eb,20,True,1 run_shipgate rule(s) matched.,allow,,written,review_required,0,8,4,2,0,0,0,0,insufficient_evidence,insufficient_evidence,False,True,False,0,0,0,evaluated,,0.2 +stripe/agent-toolkit,309,https://github.com/stripe/ai/pull/309,Bump GitHub Actions to v5 to fix Node.js 20 deprecation warnings,2026-03-18T20:05:49Z,ac8fdfa62582a788ebca4829d4d3bc2b944500ab,5d4f8b2bf9749bdf8eb2350f349645e06e9dbdd1,4,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +stripe/agent-toolkit,305,https://github.com/stripe/ai/pull/305,Update README.md,2026-03-16T19:38:23Z,45d04e508af2b650e96191fddab230690a61a8dc,6e87b979ac49774f2e728ac64afdfd8b11d1dcce,1,False,skip_shipgate rule(s) matched (beats run_shipgate): TRIGGER-DOCS-ONLY-NEGATIVE.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9829,https://github.com/aaif-goose/goose/pull/9829,fix: record OpenAI-native cached_tokens in usage metering,2026-06-16T18:37:59Z,02f27b97d5171ae3e9eb0cbacab545fb19c5edbe,4327dee7a3c70e1211bd77cd1f901648ad7c7157,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9819,https://github.com/aaif-goose/goose/pull/9819,fix: add option for overriding API Url for Moonshot provider,2026-06-16T18:23:38Z,8659c14021477f60a7eee433a0f892b25578969d,02f27b97d5171ae3e9eb0cbacab545fb19c5edbe,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9798,https://github.com/aaif-goose/goose/pull/9798,feat(session): add opt-in ACP last message snippets,2026-06-15T06:44:08Z,3063de75844d7737bdda2ee1c4a1c8c1a1f63785,b3aa4c2e13a5035350a98dda5580c2ae7b05b2a7,9,True,1 run_shipgate rule(s) matched.,allow,,written,,,,,,,,,,,,,,,,,,scan_failed,head_scan_failed_exit_2:Config error: Duplicate action_surface action_id values are not allowed: 'agent:head/CHANGE_ME:openapi:openapi_openapi:GET /sessions/{session_id}' used by get_s,0.2 +block/goose,9790,https://github.com/aaif-goose/goose/pull/9790,fix incorrect max tokens values for groq provider,2026-06-15T00:19:09Z,9d166ecee97628eced28051e7566d024f9654466,e612d8120c8dbb1458a5446703b931b12b41dd5a,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9776,https://github.com/aaif-goose/goose/pull/9776,Validate desktop i18n catalogs,2026-06-13T07:16:21Z,0629f9951f4fbed7717ebfd047e89131a55f6002,6b9360c74f6833dd355c4a5e0e0a9da35e329ce6,6,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9775,https://github.com/aaif-goose/goose/pull/9775,chore(deps): bump esbuild and tsx in /evals/open-model-gym/suite,2026-06-15T15:13:17Z,2712dd881749c8266ff2c014d087b67eec77d441,64f9d6164767e8db819079debac2af0a0c50cb78,2,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9772,https://github.com/aaif-goose/goose/pull/9772,docs: update docs for ACP clients,2026-06-13T05:31:25Z,8b5a7b8f8e40b2d4cef308e93f753def8e707950,f40d56fe09cd51f8fc33e14ae276f8c1b75e6439,1,False,skip_shipgate rule(s) matched (beats run_shipgate): TRIGGER-DOCS-ONLY-NEGATIVE.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9768,https://github.com/aaif-goose/goose/pull/9768,i18n: add Japanese locale support,2026-06-13T06:11:51Z,f40d56fe09cd51f8fc33e14ae276f8c1b75e6439,d6d99f548a22265555910bef4f61d7bddccd1f62,5,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9764,https://github.com/aaif-goose/goose/pull/9764,chore(deps): bump the cargo-minor-and-patch group with 9 updates,2026-06-15T15:25:48Z,64f9d6164767e8db819079debac2af0a0c50cb78,8494fc9bb180e580aef5d73fe514efd73d488947,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9753,https://github.com/aaif-goose/goose/pull/9753,fix: page through all Databricks AI Gateway v2 endpoints when listing models,2026-06-12T00:07:47Z,86e2f04264fea69230caced4bc66bb04828b4408,f23347fc30d50ea516d6c70444b266c30502f4c8,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9743,https://github.com/aaif-goose/goose/pull/9743,Add canonical thinking modes,2026-06-11T16:15:19Z,c6a3b5b4e17d382305fdb0e1cc2da6904784473f,86e2f04264fea69230caced4bc66bb04828b4408,9,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9735,https://github.com/aaif-goose/goose/pull/9735,fix: classify Bedrock ValidationException as ExecutionError,2026-06-13T06:57:49Z,d6d99f548a22265555910bef4f61d7bddccd1f62,0629f9951f4fbed7717ebfd047e89131a55f6002,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9733,https://github.com/aaif-goose/goose/pull/9733,feat(lang): add Hindi Desktop locale,2026-06-11T04:53:28Z,4207b7e080a4f519c424e695911b428f0e87378f,db1f0fcc631112661ea825a24ff9831935f069d5,3,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9729,https://github.com/aaif-goose/goose/pull/9729,feat: custom acp method to get session info,2026-06-11T01:53:00Z,e8d56226301618c79344d27c36961e9ccb415200,523aaee24b07412ad6f98c080e3691dba16beb76,13,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9727,https://github.com/aaif-goose/goose/pull/9727,docs: fix stale session navigation/delete docs (Session History),2026-06-11T02:25:09Z,523aaee24b07412ad6f98c080e3691dba16beb76,4207b7e080a4f519c424e695911b428f0e87378f,1,False,skip_shipgate rule(s) matched (beats run_shipgate): TRIGGER-DOCS-ONLY-NEGATIVE.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9726,https://github.com/aaif-goose/goose/pull/9726,feat(acp): support GOOSE_SERVER__SECRET_KEY at goose serve acp endpoint,2026-06-10T23:47:13Z,32722e6ef3ba7c5e7d88a32b02633b93e159718a,e8d56226301618c79344d27c36961e9ccb415200,10,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9724,https://github.com/aaif-goose/goose/pull/9724,feat: surface Anthropic stream refusals as visible errors,2026-06-10T22:48:16Z,58185fe4aeeaac6870c8417037387079a9c5e58d,32722e6ef3ba7c5e7d88a32b02633b93e159718a,7,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9723,https://github.com/aaif-goose/goose/pull/9723,Mark stream decode errors retryable,2026-06-13T12:05:11Z,6b9360c74f6833dd355c4a5e0e0a9da35e329ce6,9d166ecee97628eced28051e7566d024f9654466,9,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9717,https://github.com/aaif-goose/goose/pull/9717,feat: use acp search session in Desktop,2026-06-10T21:57:46Z,40315b5ac2c6192ff256f70bfd946e46772c3b7c,be91189afbd6ff49bc95452aac2b10c8cc510b66,15,True,1 run_shipgate rule(s) matched.,allow,,written,,,,,,,,,,,,,,,,,,scan_failed,head_scan_failed_exit_2:Config error: Duplicate action_surface action_id values are not allowed: 'agent:head/CHANGE_ME:openapi:openapi_openapi:GET /sessions/{session_id}' used by get_s,0.2 +block/goose,9713,https://github.com/aaif-goose/goose/pull/9713,feat(security): unified OTLP logging schema for cross-tool detection,2026-06-12T04:47:06Z,f23347fc30d50ea516d6c70444b266c30502f4c8,8b5a7b8f8e40b2d4cef308e93f753def8e707950,11,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9712,https://github.com/aaif-goose/goose/pull/9712,pin goose-sdk package in tui,2026-06-10T22:14:43Z,be91189afbd6ff49bc95452aac2b10c8cc510b66,58185fe4aeeaac6870c8417037387079a9c5e58d,3,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9711,https://github.com/aaif-goose/goose/pull/9711,expose ACP thinking effort config option,2026-06-10T09:34:43Z,390dfb8c7834dea8f223ce9acf78d0932c9f3e7c,10e665a9b9caf3a6bcfa6e6296002afcdef24299,12,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9709,https://github.com/aaif-goose/goose/pull/9709,chore: refresh canonical model registry,2026-06-09T23:53:57Z,f4ecdaefc08cf0f8816dca0f7293ec542c55506f,d396767be80c865a5cbc839ab88b7675186e2ca2,3,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9697,https://github.com/aaif-goose/goose/pull/9697,fix: goose-sdk release compat check with new schema,2026-06-09T14:08:50Z,0ab4b84104d502881429f9ad5c1782043c91c870,e3090836e42b515de60011333492c90eb4b7ba77,2,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9695,https://github.com/aaif-goose/goose/pull/9695,feat: acp list session with keyword and type filter,2026-06-10T10:41:32Z,10e665a9b9caf3a6bcfa6e6296002afcdef24299,d2ab78604e50f886f7b3d1ed9fae02766da83609,5,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9690,https://github.com/aaif-goose/goose/pull/9690,feat(security): Re-adjust pattern-based detection for prompt injection detection confidence scores,2026-06-10T00:57:09Z,f52d717dce0187f0146f3c5a4b731ef79ff67d67,390dfb8c7834dea8f223ce9acf78d0932c9f3e7c,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9687,https://github.com/aaif-goose/goose/pull/9687,feat: use acp list sessions and manage sessions in Desktop,2026-06-09T22:03:41Z,e3090836e42b515de60011333492c90eb4b7ba77,f4ecdaefc08cf0f8816dca0f7293ec542c55506f,9,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9685,https://github.com/aaif-goose/goose/pull/9685,chore: pause tui release,2026-06-09T07:20:56Z,8eb6cd60d677184277a8c3ea8aff085c92d932d5,0ab4b84104d502881429f9ad5c1782043c91c870,7,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9684,https://github.com/aaif-goose/goose/pull/9684,chore(release): bump version to 1.38.0 (minor),2026-06-15T16:30:19Z,cbff60c94694b18eb6c8b6d2875636a9f2422568,ca2490026ec38036f10aff60ffb6535ee4299eef,6,True,1 run_shipgate rule(s) matched.,allow,,written,,,,,,,,,,,,,,,,,,scan_failed,head_scan_failed_exit_2:Config error: Duplicate action_surface action_id values are not allowed: 'agent:head/CHANGE_ME:openapi:openapi_openapi:GET /sessions/{session_id}' used by get_s,0.2 +block/goose,9683,https://github.com/aaif-goose/goose/pull/9683,fix: compatibility of config extension acp call in TUI,2026-06-09T03:12:27Z,e5fd568e0141dfc10f6bdcf7aee1a15faa40d9cf,8eb6cd60d677184277a8c3ea8aff085c92d932d5,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9659,https://github.com/aaif-goose/goose/pull/9659,desktop: fix new chat shortcut,2026-06-15T16:21:10Z,1472e7ee8996ac844edda89a193c18cf7c77b86a,cbff60c94694b18eb6c8b6d2875636a9f2422568,2,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9653,https://github.com/aaif-goose/goose/pull/9653,"fix(ui): lead with extension description, shorten HTTP/SSE transport label",2026-06-16T20:11:27Z,ec453a39264fbc6d7a5ce2d76a68ccc9cc0b0084,e0492d1e51230db757b83191ca10e42572419024,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9643,https://github.com/aaif-goose/goose/pull/9643,fix: Mention menu icon to open the sidebar,2026-06-16T20:03:48Z,ff91f0c2b1aa855057dc5f729b5de7751da20020,ec453a39264fbc6d7a5ce2d76a68ccc9cc0b0084,1,False,skip_shipgate rule(s) matched (beats run_shipgate): TRIGGER-DOCS-ONLY-NEGATIVE.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9641,https://github.com/aaif-goose/goose/pull/9641,docs: fix typo in MCP blog post,2026-06-10T18:35:04Z,d2ab78604e50f886f7b3d1ed9fae02766da83609,9455f8a56a019fc05b5d51dd41a948bff81fa8ba,1,False,skip_shipgate rule(s) matched (beats run_shipgate): TRIGGER-DOCS-ONLY-NEGATIVE.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9639,https://github.com/aaif-goose/goose/pull/9639,fix: correctly map ollama_cloud to canonical provider and update max_…,2026-06-15T03:10:35Z,e612d8120c8dbb1458a5446703b931b12b41dd5a,3063de75844d7737bdda2ee1c4a1c8c1a1f63785,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9637,https://github.com/aaif-goose/goose/pull/9637,Improve benchmarking,2026-06-16T20:42:44Z,81a8b87a60ee06cd2f2b7860948841fb291c8e21,59521f455ff39b0455b2771ba497d6a0549efbd2,3,True,1 run_shipgate rule(s) matched.,allow,,written,,,,,,,,,,,,,,,,,,scan_failed,head_scan_failed_exit_2:Config error: Duplicate action_surface action_id values are not allowed: 'agent:head/CHANGE_ME:openapi:openapi_openapi:GET /sessions/{session_id}' used by get_s;retry_at:evals/harbor;head_scan_failed_exit_3:Input parsing error: Input file not found: /private/var/folders/_n/xw32gm0n7f957mtdq1mwfl3c0000gn/T/shipgate-miner-1xebdfot/head/evals/harbor/CHANGE_ME.yaml,0.2 +block/goose,9633,https://github.com/aaif-goose/goose/pull/9633,"move formats/openai.rs into goose-providers crate, along with several dependencies",2026-06-08T15:41:34Z,4904e3c8569a70413de86676e7a8d19fa6888640,e5fd568e0141dfc10f6bdcf7aee1a15faa40d9cf,85,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9631,https://github.com/aaif-goose/goose/pull/9631,fix(ui): dedupe React to prevent multiple instances in renderer,2026-06-16T19:56:23Z,fd7a0fef9256ae829a4288adc66ac06ed99abf2e,ff91f0c2b1aa855057dc5f729b5de7751da20020,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9630,https://github.com/aaif-goose/goose/pull/9630,chore(deps): bump dirs from 5.0.1 to 6.0.0,2026-06-15T14:20:16Z,b3aa4c2e13a5035350a98dda5580c2ae7b05b2a7,fe1475cfa074be2fc43b9fd014fd4cc72330a70a,2,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +block/goose,9629,https://github.com/aaif-goose/goose/pull/9629,chore(deps): bump lopdf from 0.40.0 to 0.41.0,2026-06-15T15:38:20Z,8494fc9bb180e580aef5d73fe514efd73d488947,d6fa46c301aee962966de40eee4a23741612ed42,2,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5943,https://github.com/pydantic/pydantic-ai/pull/5943,Cover `GoogleModel.count_tokens` Vertex native-tool path and document the intentional `AnthropicModel` divergence,2026-06-15T20:20:29Z,4c545bd62cdf96a3fd7c548ebd8f1beae2812ee7,6d79af814fc30c302f19324e79096fab978cb562,3,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5942,https://github.com/pydantic/pydantic-ai/pull/5942,Clarify `ModelResponse.usage` holds per-request usage in its docstring,2026-06-16T16:03:03Z,258efea75c15a4d4cc28df54832a538395a71559,e356f32cf20fab8fd0c50df7526a43892402b51d,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5941,https://github.com/pydantic/pydantic-ai/pull/5941,Fix CI duration report baseline collection,2026-06-15T16:59:20Z,22fd3f8b79e20b6ab69113ac388f4b3174a31395,a7d1d98ec913e72e4decd440f9005bda1f5ac158,2,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5932,https://github.com/pydantic/pydantic-ai/pull/5932,Fix `FallbackModel` declaring an unassigned `_model_name` dataclass field,2026-06-15T20:17:26Z,67856ce21f0a14fd4f9d710818eb1cbb80392d58,4c545bd62cdf96a3fd7c548ebd8f1beae2812ee7,2,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5931,https://github.com/pydantic/pydantic-ai/pull/5931,Emit Logfire metrics for CI test durations,2026-06-14T15:56:32Z,9ddf50e23c136071a9ac914d5c76a280d730c5a7,d6bd7991693f575168ee20ed0f6c98acc84a5c6b,1,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5930,https://github.com/pydantic/pydantic-ai/pull/5930,Group CI test telemetry in Logfire spans,2026-06-14T14:32:54Z,d9bb0aa2fe810a5750c77eb043e2dddc8be4466f,9ddf50e23c136071a9ac914d5c76a280d730c5a7,2,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5926,https://github.com/pydantic/pydantic-ai/pull/5926,Route `max_tokens` to `max_completion_tokens` or `max_tokens` via `OpenAIModelProfile` flag,2026-06-15T15:35:45Z,fabeacc3af417e81218fb2f4e0e8f812975c24a9,22fd3f8b79e20b6ab69113ac388f4b3174a31395,8,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5923,https://github.com/pydantic/pydantic-ai/pull/5923,Track CI duration telemetry,2026-06-14T00:55:09Z,ece1690671b3993f493f29e0466d27194d383f16,7fc423324185c3613dc272aba3fce591afed2900,5,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5922,https://github.com/pydantic/pydantic-ai/pull/5922,Forward `top_k` model setting to Bedrock `additionalModelRequestFields`,2026-06-15T17:40:55Z,a7d1d98ec913e72e4decd440f9005bda1f5ac158,67856ce21f0a14fd4f9d710818eb1cbb80392d58,7,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5921,https://github.com/pydantic/pydantic-ai/pull/5921,Document narrowest-fix-first scope discipline in `AGENTS.md`,2026-06-14T01:01:50Z,7fc423324185c3613dc272aba3fce591afed2900,d9bb0aa2fe810a5750c77eb043e2dddc8be4466f,1,False,skip_shipgate rule(s) matched (beats run_shipgate): TRIGGER-DOCS-ONLY-NEGATIVE.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5918,https://github.com/pydantic/pydantic-ai/pull/5918,Add `PromptedOutput` coverage for invalid union `kind` retry,2026-06-13T14:39:55Z,e24fea1ea612e8ea70438c8c61fc01e567dfba4a,2abaa7b6b56c8f9f1057a7fa72f1beb2c882fab3,1,False,skip_shipgate rule(s) matched (beats run_shipgate): TRIGGER-DOCS-ONLY-NEGATIVE.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5911,https://github.com/pydantic/pydantic-ai/pull/5911,"docs: backfill recent merges (OpenAI uploaded images, finite `Evaluator` scores, AG-UI `UploadedFile` sanitization, Anthropic forced tool choice)",2026-06-13T14:28:38Z,8e0dda1ec8d2dc2db0a7ee8963161bff4cdb551f,30565b5f759b20dc4fd7292384bfd7ff3406b3d9,4,False,skip_shipgate rule(s) matched (beats run_shipgate): TRIGGER-DOCS-ONLY-NEGATIVE.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5910,https://github.com/pydantic/pydantic-ai/pull/5910,Forward `additionalModelRequestFields` in Bedrock `count_tokens`,2026-06-13T15:48:40Z,58c0cb8302de1233252d24f599f97590aaee9b05,f704b0d87f02e9dd2f1dab58eae2ecf72430b341,4,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5908,https://github.com/pydantic/pydantic-ai/pull/5908,Add Kitaru durable execution docs,2026-06-13T15:13:35Z,b77df7bbfb7d81862380ec5d644b04678d05a329,58c0cb8302de1233252d24f599f97590aaee9b05,4,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5904,https://github.com/pydantic/pydantic-ai/pull/5904,Accumulate `output_audio_tokens` in `RunUsage`,2026-06-13T00:54:15Z,cb6f9c965b0ed05815d18249cbec63a3633ffe17,8e0dda1ec8d2dc2db0a7ee8963161bff4cdb551f,2,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5902,https://github.com/pydantic/pydantic-ai/pull/5902,Add agent guideline: avoid `getattr`/`setattr` over our own statically-known fields,2026-06-12T14:49:25Z,025f91f65dbc063141ea36305c0f9656c51f4f88,3c98a109cfbb522bd05dff075e3d0a7fdd5b7681,1,False,skip_shipgate rule(s) matched (beats run_shipgate): TRIGGER-DOCS-ONLY-NEGATIVE.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5891,https://github.com/pydantic/pydantic-ai/pull/5891,Replay Cerebras `zai-glm` reasoning in `` tags and bump to `zai-glm-4.7`,2026-06-12T00:28:01Z,a6b2dbd68fa46287aa061f2dc726c9fd6cb870d2,025f91f65dbc063141ea36305c0f9656c51f4f88,5,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5887,https://github.com/pydantic/pydantic-ai/pull/5887,Add `gemini-embedding-2` embedding model,2026-06-11T20:17:52Z,514e390ff8c90bd64438c88a04e31420a0b05b1c,a6b2dbd68fa46287aa061f2dc726c9fd6cb870d2,3,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5886,https://github.com/pydantic/pydantic-ai/pull/5886,Retain dropped usage fields across `GoogleModel` streaming chunks,2026-06-12T15:59:25Z,3c98a109cfbb522bd05dff075e3d0a7fdd5b7681,cb6f9c965b0ed05815d18249cbec63a3633ffe17,2,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5866,https://github.com/pydantic/pydantic-ai/pull/5866,docs: document `UploadedFile` inbound sanitization in AG-UI adapter docstrings,2026-06-10T18:02:09Z,81e1cf13f55c354bc2115960873e02b327ca89e7,13931c10403f28bba73ce4fcc04eeacf8c82479a,3,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5863,https://github.com/pydantic/pydantic-ai/pull/5863,Disallow non-finite `Evaluator` outputs,2026-06-11T09:28:12Z,a4973543ae99f66c6f534113079c3bb25cbbb62d,2b9d272a0a835991c2eb6b076a8035a63aff2eb0,3,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5860,https://github.com/pydantic/pydantic-ai/pull/5860,Validate `UploadedFile.provider_name` in tool returns and consolidate the guard into `Model._validate_uploaded_file_provider`,2026-06-11T20:17:21Z,89c4ef7681ece9364410acfd6c873052f0e6f91f,514e390ff8c90bd64438c88a04e31420a0b05b1c,6,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5856,https://github.com/pydantic/pydantic-ai/pull/5856,Uninstrument httpx between tests so doc-example instrumentation can't leak across the suite,2026-06-10T16:09:25Z,7fe66444aedf7d68e1aa6e8699360e1f4e817b81,f0c03ebf3cb2d85b346de4d3d931cdc3ca666988,1,False,skip_shipgate rule(s) matched (beats run_shipgate): TRIGGER-DOCS-ONLY-NEGATIVE.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5855,https://github.com/pydantic/pydantic-ai/pull/5855,Fix `AnthropicModel.count_tokens` divergence on `ToolSearchTool` replay history,2026-06-11T13:33:12Z,2b9d272a0a835991c2eb6b076a8035a63aff2eb0,0bfabf63584cd6cdbb14829db1247f78869ba59b,3,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5854,https://github.com/pydantic/pydantic-ai/pull/5854,Add regression test for Google thinking-model `max_tokens` empty response,2026-06-10T17:55:46Z,f0c03ebf3cb2d85b346de4d3d931cdc3ca666988,81e1cf13f55c354bc2115960873e02b327ca89e7,3,False,skip_shipgate rule(s) matched (beats run_shipgate): TRIGGER-DOCS-ONLY-NEGATIVE.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5853,https://github.com/pydantic/pydantic-ai/pull/5853,docs: clarify `stream_text()` skips `TextOutput` functions and delta validators,2026-06-11T16:29:53Z,b5aaa768cdc1d1975c39c225809f51951b87556d,5965db82c4e10012a8598c14716ea8a88fb411a9,3,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5852,https://github.com/pydantic/pydantic-ai/pull/5852,Fix flaky `test_tool_cancelled_when_agent_cancelled` under CI load,2026-06-09T22:24:48Z,b6798f7e3fe63a3a41560daa44b6cd6b4ada95d5,c5b2666d33af5735cbc98966af265692dca5caab,1,False,skip_shipgate rule(s) matched (beats run_shipgate): TRIGGER-DOCS-ONLY-NEGATIVE.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5850,https://github.com/pydantic/pydantic-ai/pull/5850,Fix unified `thinking` handling for Groq qwen3 and Cerebras `gpt-oss`,2026-06-10T19:13:33Z,cae4e37160b7fcd76ac9e60f74ab338dd51481cf,a4973543ae99f66c6f534113079c3bb25cbbb62d,20,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5849,https://github.com/pydantic/pydantic-ai/pull/5849,Add Claude Fable 5 (`claude-fable-5`) and Claude Mythos 5 (`claude-mythos-5`) support,2026-06-10T04:05:08Z,c5b2666d33af5735cbc98966af265692dca5caab,b1d7af90521e26dbf3513db13d490501d8174ada,9,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5847,https://github.com/pydantic/pydantic-ai/pull/5847,Fail on partially used VCR cassettes,2026-06-11T13:39:27Z,0bfabf63584cd6cdbb14829db1247f78869ba59b,b5aaa768cdc1d1975c39c225809f51951b87556d,105,False,skip_shipgate rule(s) matched (beats run_shipgate): TRIGGER-DOCS-ONLY-NEGATIVE.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5845,https://github.com/pydantic/pydantic-ai/pull/5845,fix(output): validate union `kind` discriminator in text output,2026-06-13T14:30:23Z,30565b5f759b20dc4fd7292384bfd7ff3406b3d9,0d2fbb47725efa9f7eecb89430b8c9e677eb2fc1,3,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5842,https://github.com/pydantic/pydantic-ai/pull/5842,Send `reasoning_content` on synthesized tool-call turns for DeepSeek thinking models,2026-06-11T17:35:19Z,5965db82c4e10012a8598c14716ea8a88fb411a9,89c4ef7681ece9364410acfd6c873052f0e6f91f,4,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5833,https://github.com/pydantic/pydantic-ai/pull/5833,fix(cohere): forward `tool_choice` from `ModelSettings` to v2 chat API,2026-06-14T15:58:09Z,d6bd7991693f575168ee20ed0f6c98acc84a5c6b,fabeacc3af417e81218fb2f4e0e8f812975c24a9,9,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5818,https://github.com/pydantic/pydantic-ai/pull/5818,fix(anthropic): guard `message=None` Bedrock start events in stream path,2026-06-09T15:32:12Z,950aed93d6191e50cadadcc53d509b56ea44ae22,26808a1d2924495dba935a82014409c36c7dfa1c,2,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5809,https://github.com/pydantic/pydantic-ai/pull/5809,fix(openai): map image `UploadedFile` parts to `input_image`,2026-06-10T18:52:11Z,13931c10403f28bba73ce4fcc04eeacf8c82479a,cae4e37160b7fcd76ac9e60f74ab338dd51481cf,8,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5805,https://github.com/pydantic/pydantic-ai/pull/5805,Document testing philosophy and `Case` parametrization pattern in `tests/AGENTS.md`,2026-06-05T20:29:23Z,1b42945de65b2816fed3cffa371671a2ac759241,837b03e3f08b4fc0f7eefc657e74ebd71645957e,1,False,skip_shipgate rule(s) matched (beats run_shipgate): TRIGGER-DOCS-ONLY-NEGATIVE.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5803,https://github.com/pydantic/pydantic-ai/pull/5803,Add `known_model_names()` to enumerate `KnownModelName` members,2026-06-08T23:17:02Z,837b03e3f08b4fc0f7eefc657e74ebd71645957e,950aed93d6191e50cadadcc53d509b56ea44ae22,6,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5791,https://github.com/pydantic/pydantic-ai/pull/5791,Don't send Gemini `function_calling_config` without function declarations,2026-06-10T15:35:48Z,b1d7af90521e26dbf3513db13d490501d8174ada,7fe66444aedf7d68e1aa6e8699360e1f4e817b81,4,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5779,https://github.com/pydantic/pydantic-ai/pull/5779,fix(messages): from_data_uri crashes on a valid non-base64 data URI,2026-06-05T00:51:26Z,78bfaaed27abffecb761973d841608ba8b1edbf6,1b42945de65b2816fed3cffa371671a2ac759241,2,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 +pydantic/pydantic-ai,5772,https://github.com/pydantic/pydantic-ai/pull/5772,Handle `UploadedFile` consistently with `FileUrl` in UI adapters,2026-06-04T22:02:30Z,49f62a386041abd6e0d960dd629c3b4fe28eac63,ed31bdd64e11ce1475916a398ee3312791ed2d38,6,False,No rules matched; nothing in this PR signals a tool-surface change.,,,,,,,,,,,,,,,,,,,,,trigger_skip,,0.2 diff --git a/benchmark/miner/results/2026-W26-mined.jsonl b/benchmark/miner/results/2026-W26-mined.jsonl new file mode 100644 index 0000000..7b5fdd9 --- /dev/null +++ b/benchmark/miner/results/2026-W26-mined.jsonl @@ -0,0 +1,120 @@ +{"base_sha": "e27ee0091ed20f7557f3241e00ade3d4846af9d6", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "4bc7b8bd9631781e5ec426f74c33a1c623736058", "init_status": "", "merged_at": "2026-06-04T20:09:32Z", "notes": "", "pr_number": 439, "pr_url": "https://github.com/stripe/ai/pull/439", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "Omit metadata.yaml files when syncing Skills", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "119545ef7fa99a0fbc6a7463d5cff7c83616323d", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 2, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "949615033ab4148d563f6acec4bf05bd4693f139", "init_status": "", "merged_at": "2026-05-20T18:42:25Z", "notes": "", "pr_number": 428, "pr_url": "https://github.com/stripe/ai/pull/428", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "nit: Fix issue with glob syntax, keep the .gitkeep files", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "9b021e1afa907e64eda81d4c30e45f812177c2bb", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 8, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "119545ef7fa99a0fbc6a7463d5cff7c83616323d", "init_status": "", "merged_at": "2026-05-20T18:02:30Z", "notes": "", "pr_number": 427, "pr_url": "https://github.com/stripe/ai/pull/427", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "Improve skills-sync automation and block manual edits", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "b40276ed49c1db917fef6539ebbee38f8cc4e2af", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "1efda25b93e3e90d4c30e22747eaa54b5ee079a9", "init_status": "", "merged_at": "2026-05-11T14:58:15Z", "notes": "", "pr_number": 417, "pr_url": "https://github.com/stripe/ai/pull/417", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "[sync-skills workflow] skip push for empty commits", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "ebff0df37369d722b27e801b185f4aa14d5183b3", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "b40276ed49c1db917fef6539ebbee38f8cc4e2af", "init_status": "", "merged_at": "2026-05-08T14:55:23Z", "notes": "", "pr_number": 413, "pr_url": "https://github.com/stripe/ai/pull/413", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "agent toolkit to 0.9.1", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "27b4b183445f733425e30de4ad14341c09bf1c3c", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 22, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "ebff0df37369d722b27e801b185f4aa14d5183b3", "init_status": "", "merged_at": "2026-05-08T14:50:23Z", "notes": "", "pr_number": 412, "pr_url": "https://github.com/stripe/ai/pull/412", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "Remove register-paid-tool and all related code", "tools_scanned": null, "trigger_rationale": "dry_run rule(s) matched (advisory, no manifest write): TRIGGER-FRAMEWORK-VERSION-BUMP.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "5352c8e07a2fe5f29ffd9af06545f16a96074a9e", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "c7c1d1efd202f7f0f7f43df5c4924b61cba84692", "init_status": "", "merged_at": "2026-05-07T20:46:44Z", "notes": "", "pr_number": 411, "pr_url": "https://github.com/stripe/ai/pull/411", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "Update checkout step in sync-skills workflow", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "e61ddddf0a3fdc1b815833085c86198edd16cc60", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "5352c8e07a2fe5f29ffd9af06545f16a96074a9e", "init_status": "", "merged_at": "2026-05-07T20:40:00Z", "notes": "", "pr_number": 410, "pr_url": "https://github.com/stripe/ai/pull/410", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "Update git push command to push to main branch", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "1b36b0ac37ce583aeff6605584c87bcf8189e397", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "e61ddddf0a3fdc1b815833085c86198edd16cc60", "init_status": "", "merged_at": "2026-05-07T20:32:27Z", "notes": "", "pr_number": 409, "pr_url": "https://github.com/stripe/ai/pull/409", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "[skills action] test making a new branch", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "9cb8d24eb979d59614a840bef59d0624430e3d0f", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "4b01d31cd61bc85855fd2b7b5c0c364a36142217", "init_status": "", "merged_at": "2026-05-07T19:44:47Z", "notes": "", "pr_number": 408, "pr_url": "https://github.com/stripe/ai/pull/408", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "github workflow for sync skills: add skill checking CI test before push", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "4b01d31cd61bc85855fd2b7b5c0c364a36142217", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "1b36b0ac37ce583aeff6605584c87bcf8189e397", "init_status": "", "merged_at": "2026-05-07T19:45:48Z", "notes": "", "pr_number": 407, "pr_url": "https://github.com/stripe/ai/pull/407", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "fix conditionals on the sync skills github workflow", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "14623416d84fdfad0aea8744d4c6f838ebc87654", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "9cb8d24eb979d59614a840bef59d0624430e3d0f", "init_status": "", "merged_at": "2026-05-07T19:33:23Z", "notes": "", "pr_number": 406, "pr_url": "https://github.com/stripe/ai/pull/406", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "Enhance sync workflow with GitHub App token and auto-fix", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "dd6deb03137908d0102ffde97e60c90cf79bf929", "cap_added": 0, "cap_broadened": 0, "cap_changed": 0, "cap_removed": 0, "check_decision": "allow", "check_rule_ids": "", "evidence_gaps": 4, "files_changed": 6, "head_blockers": 0, "head_decision": "review_required", "head_review_items": 8, "head_sha": "f6e8ff385e15f24cee5986518221228b7dc9ac6d", "init_status": "written", "merged_at": "2026-04-30T14:42:05Z", "notes": "", "pr_number": 400, "pr_url": "https://github.com/stripe/ai/pull/400", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "evaluated", "title": "[automated] sync skills from docs.stripe.com", "tools_scanned": 2, "trigger_rationale": "1 run_shipgate rule(s) matched.", "trigger_run": true, "verify_can_merge": false, "verify_cap_added": 0, "verify_cap_modified": 0, "verify_cap_removed": 0, "verify_decision": "insufficient_evidence", "verify_policy_weakened": false, "verify_trust_root_touched": true, "verify_verdict": "insufficient_evidence"} +{"base_sha": "f6e8ff385e15f24cee5986518221228b7dc9ac6d", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "14623416d84fdfad0aea8744d4c6f838ebc87654", "init_status": "", "merged_at": "2026-05-06T18:00:36Z", "notes": "", "pr_number": 394, "pr_url": "https://github.com/stripe/ai/pull/394", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "fix(ci): use PAT for sync-skills workflow so downstream workflows fire", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "149892a8077bd438c8eaf5455beffa7693eb0185", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "dd6deb03137908d0102ffde97e60c90cf79bf929", "init_status": "", "merged_at": "2026-04-16T16:47:02Z", "notes": "", "pr_number": 386, "pr_url": "https://github.com/stripe/ai/pull/386", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "bump ai sdk version", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "fd912693173dcba346cc9739f0f89f76ab934c78", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 5, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "5811e64fdc1746bd3f6ae9f3a993a57053a5e88b", "init_status": "", "merged_at": "2026-04-15T19:55:26Z", "notes": "", "pr_number": 382, "pr_url": "https://github.com/stripe/ai/pull/382", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "fix(ai-sdk): prevent stack overflow in file-part base64 conversion", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "980a31bc4bfec9e370719921379855571c393842", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 16, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "fd912693173dcba346cc9739f0f89f76ab934c78", "init_status": "", "merged_at": "2026-04-10T15:06:55Z", "notes": "", "pr_number": 366, "pr_url": "https://github.com/stripe/ai/pull/366", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "Update & pin rack dependency in ruby environment + solutions", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "c0a156cdb5bc4c0864200f9fa24ec0237702002c", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "f6b3116e70ada1df39b10ca27c9896bd02e53d4b", "init_status": "", "merged_at": "2026-04-09T06:53:13Z", "notes": "", "pr_number": 362, "pr_url": "https://github.com/stripe/ai/pull/362", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "Update dependabot.yml", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "f6b3116e70ada1df39b10ca27c9896bd02e53d4b", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 2, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "9dc8c9b9201c8a019bc15fe110656b101e91c2c9", "init_status": "", "merged_at": "2026-04-09T06:54:41Z", "notes": "", "pr_number": 361, "pr_url": "https://github.com/stripe/ai/pull/361", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "Bump hono from 4.12.7 to 4.12.12 in /tools/typescript", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "5811e64fdc1746bd3f6ae9f3a993a57053a5e88b", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 3, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "149892a8077bd438c8eaf5455beffa7693eb0185", "init_status": "", "merged_at": "2026-04-16T13:38:29Z", "notes": "", "pr_number": 359, "pr_url": "https://github.com/stripe/ai/pull/359", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "[automated] sync skills from docs.stripe.com", "tools_scanned": null, "trigger_rationale": "skip_shipgate rule(s) matched (beats run_shipgate): TRIGGER-DOCS-ONLY-NEGATIVE.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "6856c6cd4dd11152e4d8d97d42abc21558dcacc8", "cap_added": 0, "cap_broadened": 0, "cap_changed": 0, "cap_removed": 0, "check_decision": "allow", "check_rule_ids": "", "evidence_gaps": 4, "files_changed": 6, "head_blockers": 0, "head_decision": "review_required", "head_review_items": 8, "head_sha": "c0a156cdb5bc4c0864200f9fa24ec0237702002c", "init_status": "written", "merged_at": "2026-04-06T13:53:07Z", "notes": "", "pr_number": 353, "pr_url": "https://github.com/stripe/ai/pull/353", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "evaluated", "title": "[automated] sync skills from docs.stripe.com", "tools_scanned": 2, "trigger_rationale": "1 run_shipgate rule(s) matched.", "trigger_run": true, "verify_can_merge": false, "verify_cap_added": 0, "verify_cap_modified": 0, "verify_cap_removed": 0, "verify_decision": "insufficient_evidence", "verify_policy_weakened": false, "verify_trust_root_touched": true, "verify_verdict": "insufficient_evidence"} +{"base_sha": "9dc8c9b9201c8a019bc15fe110656b101e91c2c9", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 7, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "980a31bc4bfec9e370719921379855571c393842", "init_status": "", "merged_at": "2026-04-09T19:49:28Z", "notes": "", "pr_number": 343, "pr_url": "https://github.com/stripe/ai/pull/343", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "fix(mcp): sync User-Agent version with package.json and add CLI validation tests", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "42954a7f0946d687285c820f5b85a4bcb8357e25", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "6856c6cd4dd11152e4d8d97d42abc21558dcacc8", "init_status": "", "merged_at": "2026-03-30T20:53:36Z", "notes": "", "pr_number": 341, "pr_url": "https://github.com/stripe/ai/pull/341", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "fix(gemini): remove trailing slash from httpUrl to fix OAuth authentication", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "6a0f515611c2254ad8a4366c6bd88dcccf07171e", "cap_added": 0, "cap_broadened": 0, "cap_changed": 0, "cap_removed": 0, "check_decision": "allow", "check_rule_ids": "", "evidence_gaps": 4, "files_changed": 3, "head_blockers": 0, "head_decision": "review_required", "head_review_items": 8, "head_sha": "42954a7f0946d687285c820f5b85a4bcb8357e25", "init_status": "written", "merged_at": "2026-03-27T01:28:29Z", "notes": "", "pr_number": 338, "pr_url": "https://github.com/stripe/ai/pull/338", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "evaluated", "title": "[automated] sync skills from docs.stripe.com", "tools_scanned": 2, "trigger_rationale": "1 run_shipgate rule(s) matched.", "trigger_run": true, "verify_can_merge": false, "verify_cap_added": 0, "verify_cap_modified": 0, "verify_cap_removed": 0, "verify_decision": "insufficient_evidence", "verify_policy_weakened": false, "verify_trust_root_touched": true, "verify_verdict": "insufficient_evidence"} +{"base_sha": "8e0101a23afc5f3a7c9a4f8f47b0b06ff2db629e", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "fd6bd379ad95a8f306dc1afe383272766552e3d9", "init_status": "", "merged_at": "2026-03-27T01:27:57Z", "notes": "", "pr_number": 337, "pr_url": "https://github.com/stripe/ai/pull/337", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "Bump yaml from 1.10.2 to 1.10.3 in /benchmarks/furever/environment", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "aa1a47b1c4bcfd19cc7b1453ed6f1eeb9343d6d8", "cap_added": 0, "cap_broadened": 0, "cap_changed": 0, "cap_removed": 0, "check_decision": "allow", "check_rule_ids": "", "evidence_gaps": 4, "files_changed": 6, "head_blockers": 0, "head_decision": "review_required", "head_review_items": 8, "head_sha": "8e0101a23afc5f3a7c9a4f8f47b0b06ff2db629e", "init_status": "written", "merged_at": "2026-03-26T18:13:35Z", "notes": "", "pr_number": 336, "pr_url": "https://github.com/stripe/ai/pull/336", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "evaluated", "title": "[automated] sync skills from docs.stripe.com", "tools_scanned": 2, "trigger_rationale": "1 run_shipgate rule(s) matched.", "trigger_run": true, "verify_can_merge": false, "verify_cap_added": 0, "verify_cap_modified": 0, "verify_cap_removed": 0, "verify_decision": "insufficient_evidence", "verify_policy_weakened": false, "verify_trust_root_touched": true, "verify_verdict": "insufficient_evidence"} +{"base_sha": "190e06fa358034ba95fea68dcbf2dd222810d2d9", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "6a0f515611c2254ad8a4366c6bd88dcccf07171e", "init_status": "", "merged_at": "2026-03-27T01:28:21Z", "notes": "", "pr_number": 335, "pr_url": "https://github.com/stripe/ai/pull/335", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "Update exclude-paths in dependabot configuration", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "18313f3dc653799bc0b521bdc9c15c4180bee99a", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "7f3895ab4cb718e809289842e9b8d371f63c16e1", "init_status": "", "merged_at": "2026-03-26T17:24:12Z", "notes": "", "pr_number": 334, "pr_url": "https://github.com/stripe/ai/pull/334", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "Bump requests from 2.32.5 to 2.33.0 in /benchmarks/card-element-to-checkout/environment/server", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "fd6bd379ad95a8f306dc1afe383272766552e3d9", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "190e06fa358034ba95fea68dcbf2dd222810d2d9", "init_status": "", "merged_at": "2026-03-27T01:28:07Z", "notes": "", "pr_number": 333, "pr_url": "https://github.com/stripe/ai/pull/333", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "Bump picomatch in /benchmarks/furever/environment", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "7f3895ab4cb718e809289842e9b8d371f63c16e1", "cap_added": 0, "cap_broadened": 0, "cap_changed": 0, "cap_removed": 0, "check_decision": "allow", "check_rule_ids": "", "evidence_gaps": 4, "files_changed": 3, "head_blockers": 0, "head_decision": "review_required", "head_review_items": 8, "head_sha": "aa1a47b1c4bcfd19cc7b1453ed6f1eeb9343d6d8", "init_status": "written", "merged_at": "2026-03-26T17:50:23Z", "notes": "", "pr_number": 332, "pr_url": "https://github.com/stripe/ai/pull/332", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "evaluated", "title": "[automated] sync skills from docs.stripe.com", "tools_scanned": 2, "trigger_rationale": "1 run_shipgate rule(s) matched.", "trigger_run": true, "verify_can_merge": false, "verify_cap_added": 0, "verify_cap_modified": 0, "verify_cap_removed": 0, "verify_decision": "insufficient_evidence", "verify_policy_weakened": false, "verify_trust_root_touched": true, "verify_verdict": "insufficient_evidence"} +{"base_sha": "5d09320414125ae97860718352eac2fed7601852", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "18313f3dc653799bc0b521bdc9c15c4180bee99a", "init_status": "", "merged_at": "2026-03-24T14:22:26Z", "notes": "", "pr_number": 330, "pr_url": "https://github.com/stripe/ai/pull/330", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "fix missing user-agent file (Bump version from 0.3.2 to 0.3.3)", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "e9d6a6b2cc5210adac2e75ce8226ba52917ced97", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 2, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "5d09320414125ae97860718352eac2fed7601852", "init_status": "", "merged_at": "2026-03-23T20:36:31Z", "notes": "", "pr_number": 327, "pr_url": "https://github.com/stripe/ai/pull/327", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "Bump @stripe/mcp version", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "14a1acfb1453c9d526883d074c333a0eb25d93b7", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "e9d6a6b2cc5210adac2e75ce8226ba52917ced97", "init_status": "", "merged_at": "2026-03-23T20:35:10Z", "notes": "", "pr_number": 326, "pr_url": "https://github.com/stripe/ai/pull/326", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "Update dependabot.yml", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "a92933cac72c2d106ebb2aa04c11c115868c6314", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "14a1acfb1453c9d526883d074c333a0eb25d93b7", "init_status": "", "merged_at": "2026-03-23T20:25:29Z", "notes": "", "pr_number": 319, "pr_url": "https://github.com/stripe/ai/pull/319", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "Add Dependabot config, excluding benchmarks/ from updates", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "2d3e3a8d957781984bc2095a3b34ba9941d93978", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 3, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "a92933cac72c2d106ebb2aa04c11c115868c6314", "init_status": "", "merged_at": "2026-03-23T17:21:05Z", "notes": "", "pr_number": 317, "pr_url": "https://github.com/stripe/ai/pull/317", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "fix: schema_utils extra fields parsing & add test coverage", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "03a9fca259edfccdf15ca9139022ac31fe253d98", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 12, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "93b1e2f6e80183441ae2e93151b09ff1462aefcd", "init_status": "", "merged_at": "2026-03-23T15:13:48Z", "notes": "", "pr_number": 315, "pr_url": "https://github.com/stripe/ai/pull/315", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "[automated] sync skills from docs.stripe.com", "tools_scanned": null, "trigger_rationale": "skip_shipgate rule(s) matched (beats run_shipgate): TRIGGER-DOCS-ONLY-NEGATIVE.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "93b1e2f6e80183441ae2e93151b09ff1462aefcd", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 2, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "2d3e3a8d957781984bc2095a3b34ba9941d93978", "init_status": "", "merged_at": "2026-03-23T17:20:51Z", "notes": "", "pr_number": 314, "pr_url": "https://github.com/stripe/ai/pull/314", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "Fix optional parameters to also accept null values", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "5d4f8b2bf9749bdf8eb2350f349645e06e9dbdd1", "cap_added": 0, "cap_broadened": 0, "cap_changed": 0, "cap_removed": 0, "check_decision": "allow", "check_rule_ids": "", "evidence_gaps": 4, "files_changed": 20, "head_blockers": 0, "head_decision": "review_required", "head_review_items": 8, "head_sha": "91f8471adfe5189145aaab61879bfa13452c51eb", "init_status": "written", "merged_at": "2026-03-20T19:35:19Z", "notes": "", "pr_number": 312, "pr_url": "https://github.com/stripe/ai/pull/312", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "evaluated", "title": "Sync skills from docs.stripe.com", "tools_scanned": 2, "trigger_rationale": "1 run_shipgate rule(s) matched.", "trigger_run": true, "verify_can_merge": false, "verify_cap_added": 0, "verify_cap_modified": 0, "verify_cap_removed": 0, "verify_decision": "insufficient_evidence", "verify_policy_weakened": false, "verify_trust_root_touched": true, "verify_verdict": "insufficient_evidence"} +{"base_sha": "ac8fdfa62582a788ebca4829d4d3bc2b944500ab", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 4, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "5d4f8b2bf9749bdf8eb2350f349645e06e9dbdd1", "init_status": "", "merged_at": "2026-03-18T20:05:49Z", "notes": "", "pr_number": 309, "pr_url": "https://github.com/stripe/ai/pull/309", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "Bump GitHub Actions to v5 to fix Node.js 20 deprecation warnings", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "45d04e508af2b650e96191fddab230690a61a8dc", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "6e87b979ac49774f2e728ac64afdfd8b11d1dcce", "init_status": "", "merged_at": "2026-03-16T19:38:23Z", "notes": "", "pr_number": 305, "pr_url": "https://github.com/stripe/ai/pull/305", "repo": "stripe/agent-toolkit", "schema_version": "0.2", "status": "trigger_skip", "title": "Update README.md", "tools_scanned": null, "trigger_rationale": "skip_shipgate rule(s) matched (beats run_shipgate): TRIGGER-DOCS-ONLY-NEGATIVE.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "02f27b97d5171ae3e9eb0cbacab545fb19c5edbe", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "4327dee7a3c70e1211bd77cd1f901648ad7c7157", "init_status": "", "merged_at": "2026-06-16T18:37:59Z", "notes": "", "pr_number": 9829, "pr_url": "https://github.com/aaif-goose/goose/pull/9829", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "fix: record OpenAI-native cached_tokens in usage metering", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "8659c14021477f60a7eee433a0f892b25578969d", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "02f27b97d5171ae3e9eb0cbacab545fb19c5edbe", "init_status": "", "merged_at": "2026-06-16T18:23:38Z", "notes": "", "pr_number": 9819, "pr_url": "https://github.com/aaif-goose/goose/pull/9819", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "fix: add option for overriding API Url for Moonshot provider", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "3063de75844d7737bdda2ee1c4a1c8c1a1f63785", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "allow", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 9, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "b3aa4c2e13a5035350a98dda5580c2ae7b05b2a7", "init_status": "written", "merged_at": "2026-06-15T06:44:08Z", "notes": "head_scan_failed_exit_2:Config error: Duplicate action_surface action_id values are not allowed: 'agent:head/CHANGE_ME:openapi:openapi_openapi:GET /sessions/{session_id}' used by get_s", "pr_number": 9798, "pr_url": "https://github.com/aaif-goose/goose/pull/9798", "repo": "block/goose", "schema_version": "0.2", "status": "scan_failed", "title": "feat(session): add opt-in ACP last message snippets", "tools_scanned": null, "trigger_rationale": "1 run_shipgate rule(s) matched.", "trigger_run": true, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "9d166ecee97628eced28051e7566d024f9654466", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "e612d8120c8dbb1458a5446703b931b12b41dd5a", "init_status": "", "merged_at": "2026-06-15T00:19:09Z", "notes": "", "pr_number": 9790, "pr_url": "https://github.com/aaif-goose/goose/pull/9790", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "fix incorrect max tokens values for groq provider", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "0629f9951f4fbed7717ebfd047e89131a55f6002", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 6, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "6b9360c74f6833dd355c4a5e0e0a9da35e329ce6", "init_status": "", "merged_at": "2026-06-13T07:16:21Z", "notes": "", "pr_number": 9776, "pr_url": "https://github.com/aaif-goose/goose/pull/9776", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "Validate desktop i18n catalogs", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "2712dd881749c8266ff2c014d087b67eec77d441", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 2, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "64f9d6164767e8db819079debac2af0a0c50cb78", "init_status": "", "merged_at": "2026-06-15T15:13:17Z", "notes": "", "pr_number": 9775, "pr_url": "https://github.com/aaif-goose/goose/pull/9775", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "chore(deps): bump esbuild and tsx in /evals/open-model-gym/suite", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "8b5a7b8f8e40b2d4cef308e93f753def8e707950", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "f40d56fe09cd51f8fc33e14ae276f8c1b75e6439", "init_status": "", "merged_at": "2026-06-13T05:31:25Z", "notes": "", "pr_number": 9772, "pr_url": "https://github.com/aaif-goose/goose/pull/9772", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "docs: update docs for ACP clients", "tools_scanned": null, "trigger_rationale": "skip_shipgate rule(s) matched (beats run_shipgate): TRIGGER-DOCS-ONLY-NEGATIVE.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "f40d56fe09cd51f8fc33e14ae276f8c1b75e6439", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 5, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "d6d99f548a22265555910bef4f61d7bddccd1f62", "init_status": "", "merged_at": "2026-06-13T06:11:51Z", "notes": "", "pr_number": 9768, "pr_url": "https://github.com/aaif-goose/goose/pull/9768", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "i18n: add Japanese locale support", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "64f9d6164767e8db819079debac2af0a0c50cb78", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "8494fc9bb180e580aef5d73fe514efd73d488947", "init_status": "", "merged_at": "2026-06-15T15:25:48Z", "notes": "", "pr_number": 9764, "pr_url": "https://github.com/aaif-goose/goose/pull/9764", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "chore(deps): bump the cargo-minor-and-patch group with 9 updates", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "86e2f04264fea69230caced4bc66bb04828b4408", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "f23347fc30d50ea516d6c70444b266c30502f4c8", "init_status": "", "merged_at": "2026-06-12T00:07:47Z", "notes": "", "pr_number": 9753, "pr_url": "https://github.com/aaif-goose/goose/pull/9753", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "fix: page through all Databricks AI Gateway v2 endpoints when listing models", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "c6a3b5b4e17d382305fdb0e1cc2da6904784473f", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 9, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "86e2f04264fea69230caced4bc66bb04828b4408", "init_status": "", "merged_at": "2026-06-11T16:15:19Z", "notes": "", "pr_number": 9743, "pr_url": "https://github.com/aaif-goose/goose/pull/9743", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "Add canonical thinking modes", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "d6d99f548a22265555910bef4f61d7bddccd1f62", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "0629f9951f4fbed7717ebfd047e89131a55f6002", "init_status": "", "merged_at": "2026-06-13T06:57:49Z", "notes": "", "pr_number": 9735, "pr_url": "https://github.com/aaif-goose/goose/pull/9735", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "fix: classify Bedrock ValidationException as ExecutionError", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "4207b7e080a4f519c424e695911b428f0e87378f", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 3, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "db1f0fcc631112661ea825a24ff9831935f069d5", "init_status": "", "merged_at": "2026-06-11T04:53:28Z", "notes": "", "pr_number": 9733, "pr_url": "https://github.com/aaif-goose/goose/pull/9733", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "feat(lang): add Hindi Desktop locale", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "e8d56226301618c79344d27c36961e9ccb415200", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 13, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "523aaee24b07412ad6f98c080e3691dba16beb76", "init_status": "", "merged_at": "2026-06-11T01:53:00Z", "notes": "", "pr_number": 9729, "pr_url": "https://github.com/aaif-goose/goose/pull/9729", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "feat: custom acp method to get session info", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "523aaee24b07412ad6f98c080e3691dba16beb76", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "4207b7e080a4f519c424e695911b428f0e87378f", "init_status": "", "merged_at": "2026-06-11T02:25:09Z", "notes": "", "pr_number": 9727, "pr_url": "https://github.com/aaif-goose/goose/pull/9727", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "docs: fix stale session navigation/delete docs (Session History)", "tools_scanned": null, "trigger_rationale": "skip_shipgate rule(s) matched (beats run_shipgate): TRIGGER-DOCS-ONLY-NEGATIVE.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "32722e6ef3ba7c5e7d88a32b02633b93e159718a", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 10, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "e8d56226301618c79344d27c36961e9ccb415200", "init_status": "", "merged_at": "2026-06-10T23:47:13Z", "notes": "", "pr_number": 9726, "pr_url": "https://github.com/aaif-goose/goose/pull/9726", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "feat(acp): support GOOSE_SERVER__SECRET_KEY at goose serve acp endpoint", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "58185fe4aeeaac6870c8417037387079a9c5e58d", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 7, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "32722e6ef3ba7c5e7d88a32b02633b93e159718a", "init_status": "", "merged_at": "2026-06-10T22:48:16Z", "notes": "", "pr_number": 9724, "pr_url": "https://github.com/aaif-goose/goose/pull/9724", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "feat: surface Anthropic stream refusals as visible errors", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "6b9360c74f6833dd355c4a5e0e0a9da35e329ce6", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 9, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "9d166ecee97628eced28051e7566d024f9654466", "init_status": "", "merged_at": "2026-06-13T12:05:11Z", "notes": "", "pr_number": 9723, "pr_url": "https://github.com/aaif-goose/goose/pull/9723", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "Mark stream decode errors retryable", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "40315b5ac2c6192ff256f70bfd946e46772c3b7c", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "allow", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 15, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "be91189afbd6ff49bc95452aac2b10c8cc510b66", "init_status": "written", "merged_at": "2026-06-10T21:57:46Z", "notes": "head_scan_failed_exit_2:Config error: Duplicate action_surface action_id values are not allowed: 'agent:head/CHANGE_ME:openapi:openapi_openapi:GET /sessions/{session_id}' used by get_s", "pr_number": 9717, "pr_url": "https://github.com/aaif-goose/goose/pull/9717", "repo": "block/goose", "schema_version": "0.2", "status": "scan_failed", "title": "feat: use acp search session in Desktop", "tools_scanned": null, "trigger_rationale": "1 run_shipgate rule(s) matched.", "trigger_run": true, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "f23347fc30d50ea516d6c70444b266c30502f4c8", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 11, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "8b5a7b8f8e40b2d4cef308e93f753def8e707950", "init_status": "", "merged_at": "2026-06-12T04:47:06Z", "notes": "", "pr_number": 9713, "pr_url": "https://github.com/aaif-goose/goose/pull/9713", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "feat(security): unified OTLP logging schema for cross-tool detection", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "be91189afbd6ff49bc95452aac2b10c8cc510b66", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 3, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "58185fe4aeeaac6870c8417037387079a9c5e58d", "init_status": "", "merged_at": "2026-06-10T22:14:43Z", "notes": "", "pr_number": 9712, "pr_url": "https://github.com/aaif-goose/goose/pull/9712", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "pin goose-sdk package in tui", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "390dfb8c7834dea8f223ce9acf78d0932c9f3e7c", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 12, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "10e665a9b9caf3a6bcfa6e6296002afcdef24299", "init_status": "", "merged_at": "2026-06-10T09:34:43Z", "notes": "", "pr_number": 9711, "pr_url": "https://github.com/aaif-goose/goose/pull/9711", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "expose ACP thinking effort config option", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "f4ecdaefc08cf0f8816dca0f7293ec542c55506f", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 3, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "d396767be80c865a5cbc839ab88b7675186e2ca2", "init_status": "", "merged_at": "2026-06-09T23:53:57Z", "notes": "", "pr_number": 9709, "pr_url": "https://github.com/aaif-goose/goose/pull/9709", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "chore: refresh canonical model registry", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "0ab4b84104d502881429f9ad5c1782043c91c870", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 2, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "e3090836e42b515de60011333492c90eb4b7ba77", "init_status": "", "merged_at": "2026-06-09T14:08:50Z", "notes": "", "pr_number": 9697, "pr_url": "https://github.com/aaif-goose/goose/pull/9697", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "fix: goose-sdk release compat check with new schema", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "10e665a9b9caf3a6bcfa6e6296002afcdef24299", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 5, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "d2ab78604e50f886f7b3d1ed9fae02766da83609", "init_status": "", "merged_at": "2026-06-10T10:41:32Z", "notes": "", "pr_number": 9695, "pr_url": "https://github.com/aaif-goose/goose/pull/9695", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "feat: acp list session with keyword and type filter", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "f52d717dce0187f0146f3c5a4b731ef79ff67d67", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "390dfb8c7834dea8f223ce9acf78d0932c9f3e7c", "init_status": "", "merged_at": "2026-06-10T00:57:09Z", "notes": "", "pr_number": 9690, "pr_url": "https://github.com/aaif-goose/goose/pull/9690", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "feat(security): Re-adjust pattern-based detection for prompt injection detection confidence scores", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "e3090836e42b515de60011333492c90eb4b7ba77", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 9, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "f4ecdaefc08cf0f8816dca0f7293ec542c55506f", "init_status": "", "merged_at": "2026-06-09T22:03:41Z", "notes": "", "pr_number": 9687, "pr_url": "https://github.com/aaif-goose/goose/pull/9687", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "feat: use acp list sessions and manage sessions in Desktop", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "8eb6cd60d677184277a8c3ea8aff085c92d932d5", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 7, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "0ab4b84104d502881429f9ad5c1782043c91c870", "init_status": "", "merged_at": "2026-06-09T07:20:56Z", "notes": "", "pr_number": 9685, "pr_url": "https://github.com/aaif-goose/goose/pull/9685", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "chore: pause tui release", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "cbff60c94694b18eb6c8b6d2875636a9f2422568", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "allow", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 6, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "ca2490026ec38036f10aff60ffb6535ee4299eef", "init_status": "written", "merged_at": "2026-06-15T16:30:19Z", "notes": "head_scan_failed_exit_2:Config error: Duplicate action_surface action_id values are not allowed: 'agent:head/CHANGE_ME:openapi:openapi_openapi:GET /sessions/{session_id}' used by get_s", "pr_number": 9684, "pr_url": "https://github.com/aaif-goose/goose/pull/9684", "repo": "block/goose", "schema_version": "0.2", "status": "scan_failed", "title": "chore(release): bump version to 1.38.0 (minor)", "tools_scanned": null, "trigger_rationale": "1 run_shipgate rule(s) matched.", "trigger_run": true, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "e5fd568e0141dfc10f6bdcf7aee1a15faa40d9cf", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "8eb6cd60d677184277a8c3ea8aff085c92d932d5", "init_status": "", "merged_at": "2026-06-09T03:12:27Z", "notes": "", "pr_number": 9683, "pr_url": "https://github.com/aaif-goose/goose/pull/9683", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "fix: compatibility of config extension acp call in TUI", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "1472e7ee8996ac844edda89a193c18cf7c77b86a", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 2, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "cbff60c94694b18eb6c8b6d2875636a9f2422568", "init_status": "", "merged_at": "2026-06-15T16:21:10Z", "notes": "", "pr_number": 9659, "pr_url": "https://github.com/aaif-goose/goose/pull/9659", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "desktop: fix new chat shortcut", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "ec453a39264fbc6d7a5ce2d76a68ccc9cc0b0084", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "e0492d1e51230db757b83191ca10e42572419024", "init_status": "", "merged_at": "2026-06-16T20:11:27Z", "notes": "", "pr_number": 9653, "pr_url": "https://github.com/aaif-goose/goose/pull/9653", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "fix(ui): lead with extension description, shorten HTTP/SSE transport label", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "ff91f0c2b1aa855057dc5f729b5de7751da20020", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "ec453a39264fbc6d7a5ce2d76a68ccc9cc0b0084", "init_status": "", "merged_at": "2026-06-16T20:03:48Z", "notes": "", "pr_number": 9643, "pr_url": "https://github.com/aaif-goose/goose/pull/9643", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "fix: Mention menu icon to open the sidebar", "tools_scanned": null, "trigger_rationale": "skip_shipgate rule(s) matched (beats run_shipgate): TRIGGER-DOCS-ONLY-NEGATIVE.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "d2ab78604e50f886f7b3d1ed9fae02766da83609", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "9455f8a56a019fc05b5d51dd41a948bff81fa8ba", "init_status": "", "merged_at": "2026-06-10T18:35:04Z", "notes": "", "pr_number": 9641, "pr_url": "https://github.com/aaif-goose/goose/pull/9641", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "docs: fix typo in MCP blog post", "tools_scanned": null, "trigger_rationale": "skip_shipgate rule(s) matched (beats run_shipgate): TRIGGER-DOCS-ONLY-NEGATIVE.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "e612d8120c8dbb1458a5446703b931b12b41dd5a", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "3063de75844d7737bdda2ee1c4a1c8c1a1f63785", "init_status": "", "merged_at": "2026-06-15T03:10:35Z", "notes": "", "pr_number": 9639, "pr_url": "https://github.com/aaif-goose/goose/pull/9639", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "fix: correctly map ollama_cloud to canonical provider and update max_\u2026", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "81a8b87a60ee06cd2f2b7860948841fb291c8e21", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "allow", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 3, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "59521f455ff39b0455b2771ba497d6a0549efbd2", "init_status": "written", "merged_at": "2026-06-16T20:42:44Z", "notes": "head_scan_failed_exit_2:Config error: Duplicate action_surface action_id values are not allowed: 'agent:head/CHANGE_ME:openapi:openapi_openapi:GET /sessions/{session_id}' used by get_s;retry_at:evals/harbor;head_scan_failed_exit_3:Input parsing error: Input file not found: /private/var/folders/_n/xw32gm0n7f957mtdq1mwfl3c0000gn/T/shipgate-miner-1xebdfot/head/evals/harbor/CHANGE_ME.yaml", "pr_number": 9637, "pr_url": "https://github.com/aaif-goose/goose/pull/9637", "repo": "block/goose", "schema_version": "0.2", "status": "scan_failed", "title": "Improve benchmarking", "tools_scanned": null, "trigger_rationale": "1 run_shipgate rule(s) matched.", "trigger_run": true, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "4904e3c8569a70413de86676e7a8d19fa6888640", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 85, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "e5fd568e0141dfc10f6bdcf7aee1a15faa40d9cf", "init_status": "", "merged_at": "2026-06-08T15:41:34Z", "notes": "", "pr_number": 9633, "pr_url": "https://github.com/aaif-goose/goose/pull/9633", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "move formats/openai.rs into goose-providers crate, along with several dependencies", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "fd7a0fef9256ae829a4288adc66ac06ed99abf2e", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "ff91f0c2b1aa855057dc5f729b5de7751da20020", "init_status": "", "merged_at": "2026-06-16T19:56:23Z", "notes": "", "pr_number": 9631, "pr_url": "https://github.com/aaif-goose/goose/pull/9631", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "fix(ui): dedupe React to prevent multiple instances in renderer", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "b3aa4c2e13a5035350a98dda5580c2ae7b05b2a7", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 2, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "fe1475cfa074be2fc43b9fd014fd4cc72330a70a", "init_status": "", "merged_at": "2026-06-15T14:20:16Z", "notes": "", "pr_number": 9630, "pr_url": "https://github.com/aaif-goose/goose/pull/9630", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "chore(deps): bump dirs from 5.0.1 to 6.0.0", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "8494fc9bb180e580aef5d73fe514efd73d488947", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 2, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "d6fa46c301aee962966de40eee4a23741612ed42", "init_status": "", "merged_at": "2026-06-15T15:38:20Z", "notes": "", "pr_number": 9629, "pr_url": "https://github.com/aaif-goose/goose/pull/9629", "repo": "block/goose", "schema_version": "0.2", "status": "trigger_skip", "title": "chore(deps): bump lopdf from 0.40.0 to 0.41.0", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "4c545bd62cdf96a3fd7c548ebd8f1beae2812ee7", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 3, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "6d79af814fc30c302f19324e79096fab978cb562", "init_status": "", "merged_at": "2026-06-15T20:20:29Z", "notes": "", "pr_number": 5943, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5943", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "Cover `GoogleModel.count_tokens` Vertex native-tool path and document the intentional `AnthropicModel` divergence", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "258efea75c15a4d4cc28df54832a538395a71559", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "e356f32cf20fab8fd0c50df7526a43892402b51d", "init_status": "", "merged_at": "2026-06-16T16:03:03Z", "notes": "", "pr_number": 5942, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5942", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "Clarify `ModelResponse.usage` holds per-request usage in its docstring", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "22fd3f8b79e20b6ab69113ac388f4b3174a31395", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 2, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "a7d1d98ec913e72e4decd440f9005bda1f5ac158", "init_status": "", "merged_at": "2026-06-15T16:59:20Z", "notes": "", "pr_number": 5941, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5941", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "Fix CI duration report baseline collection", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "67856ce21f0a14fd4f9d710818eb1cbb80392d58", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 2, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "4c545bd62cdf96a3fd7c548ebd8f1beae2812ee7", "init_status": "", "merged_at": "2026-06-15T20:17:26Z", "notes": "", "pr_number": 5932, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5932", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "Fix `FallbackModel` declaring an unassigned `_model_name` dataclass field", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "9ddf50e23c136071a9ac914d5c76a280d730c5a7", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "d6bd7991693f575168ee20ed0f6c98acc84a5c6b", "init_status": "", "merged_at": "2026-06-14T15:56:32Z", "notes": "", "pr_number": 5931, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5931", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "Emit Logfire metrics for CI test durations", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "d9bb0aa2fe810a5750c77eb043e2dddc8be4466f", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 2, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "9ddf50e23c136071a9ac914d5c76a280d730c5a7", "init_status": "", "merged_at": "2026-06-14T14:32:54Z", "notes": "", "pr_number": 5930, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5930", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "Group CI test telemetry in Logfire spans", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "fabeacc3af417e81218fb2f4e0e8f812975c24a9", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 8, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "22fd3f8b79e20b6ab69113ac388f4b3174a31395", "init_status": "", "merged_at": "2026-06-15T15:35:45Z", "notes": "", "pr_number": 5926, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5926", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "Route `max_tokens` to `max_completion_tokens` or `max_tokens` via `OpenAIModelProfile` flag", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "ece1690671b3993f493f29e0466d27194d383f16", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 5, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "7fc423324185c3613dc272aba3fce591afed2900", "init_status": "", "merged_at": "2026-06-14T00:55:09Z", "notes": "", "pr_number": 5923, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5923", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "Track CI duration telemetry", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "a7d1d98ec913e72e4decd440f9005bda1f5ac158", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 7, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "67856ce21f0a14fd4f9d710818eb1cbb80392d58", "init_status": "", "merged_at": "2026-06-15T17:40:55Z", "notes": "", "pr_number": 5922, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5922", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "Forward `top_k` model setting to Bedrock `additionalModelRequestFields`", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "7fc423324185c3613dc272aba3fce591afed2900", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "d9bb0aa2fe810a5750c77eb043e2dddc8be4466f", "init_status": "", "merged_at": "2026-06-14T01:01:50Z", "notes": "", "pr_number": 5921, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5921", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "Document narrowest-fix-first scope discipline in `AGENTS.md`", "tools_scanned": null, "trigger_rationale": "skip_shipgate rule(s) matched (beats run_shipgate): TRIGGER-DOCS-ONLY-NEGATIVE.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "e24fea1ea612e8ea70438c8c61fc01e567dfba4a", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "2abaa7b6b56c8f9f1057a7fa72f1beb2c882fab3", "init_status": "", "merged_at": "2026-06-13T14:39:55Z", "notes": "", "pr_number": 5918, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5918", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "Add `PromptedOutput` coverage for invalid union `kind` retry", "tools_scanned": null, "trigger_rationale": "skip_shipgate rule(s) matched (beats run_shipgate): TRIGGER-DOCS-ONLY-NEGATIVE.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "8e0dda1ec8d2dc2db0a7ee8963161bff4cdb551f", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 4, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "30565b5f759b20dc4fd7292384bfd7ff3406b3d9", "init_status": "", "merged_at": "2026-06-13T14:28:38Z", "notes": "", "pr_number": 5911, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5911", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "docs: backfill recent merges (OpenAI uploaded images, finite `Evaluator` scores, AG-UI `UploadedFile` sanitization, Anthropic forced tool choice)", "tools_scanned": null, "trigger_rationale": "skip_shipgate rule(s) matched (beats run_shipgate): TRIGGER-DOCS-ONLY-NEGATIVE.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "58c0cb8302de1233252d24f599f97590aaee9b05", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 4, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "f704b0d87f02e9dd2f1dab58eae2ecf72430b341", "init_status": "", "merged_at": "2026-06-13T15:48:40Z", "notes": "", "pr_number": 5910, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5910", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "Forward `additionalModelRequestFields` in Bedrock `count_tokens`", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "b77df7bbfb7d81862380ec5d644b04678d05a329", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 4, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "58c0cb8302de1233252d24f599f97590aaee9b05", "init_status": "", "merged_at": "2026-06-13T15:13:35Z", "notes": "", "pr_number": 5908, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5908", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "Add Kitaru durable execution docs", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "cb6f9c965b0ed05815d18249cbec63a3633ffe17", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 2, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "8e0dda1ec8d2dc2db0a7ee8963161bff4cdb551f", "init_status": "", "merged_at": "2026-06-13T00:54:15Z", "notes": "", "pr_number": 5904, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5904", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "Accumulate `output_audio_tokens` in `RunUsage`", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "025f91f65dbc063141ea36305c0f9656c51f4f88", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "3c98a109cfbb522bd05dff075e3d0a7fdd5b7681", "init_status": "", "merged_at": "2026-06-12T14:49:25Z", "notes": "", "pr_number": 5902, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5902", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "Add agent guideline: avoid `getattr`/`setattr` over our own statically-known fields", "tools_scanned": null, "trigger_rationale": "skip_shipgate rule(s) matched (beats run_shipgate): TRIGGER-DOCS-ONLY-NEGATIVE.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "a6b2dbd68fa46287aa061f2dc726c9fd6cb870d2", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 5, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "025f91f65dbc063141ea36305c0f9656c51f4f88", "init_status": "", "merged_at": "2026-06-12T00:28:01Z", "notes": "", "pr_number": 5891, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5891", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "Replay Cerebras `zai-glm` reasoning in `` tags and bump to `zai-glm-4.7`", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "514e390ff8c90bd64438c88a04e31420a0b05b1c", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 3, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "a6b2dbd68fa46287aa061f2dc726c9fd6cb870d2", "init_status": "", "merged_at": "2026-06-11T20:17:52Z", "notes": "", "pr_number": 5887, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5887", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "Add `gemini-embedding-2` embedding model", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "3c98a109cfbb522bd05dff075e3d0a7fdd5b7681", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 2, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "cb6f9c965b0ed05815d18249cbec63a3633ffe17", "init_status": "", "merged_at": "2026-06-12T15:59:25Z", "notes": "", "pr_number": 5886, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5886", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "Retain dropped usage fields across `GoogleModel` streaming chunks", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "81e1cf13f55c354bc2115960873e02b327ca89e7", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 3, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "13931c10403f28bba73ce4fcc04eeacf8c82479a", "init_status": "", "merged_at": "2026-06-10T18:02:09Z", "notes": "", "pr_number": 5866, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5866", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "docs: document `UploadedFile` inbound sanitization in AG-UI adapter docstrings", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "a4973543ae99f66c6f534113079c3bb25cbbb62d", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 3, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "2b9d272a0a835991c2eb6b076a8035a63aff2eb0", "init_status": "", "merged_at": "2026-06-11T09:28:12Z", "notes": "", "pr_number": 5863, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5863", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "Disallow non-finite `Evaluator` outputs", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "89c4ef7681ece9364410acfd6c873052f0e6f91f", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 6, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "514e390ff8c90bd64438c88a04e31420a0b05b1c", "init_status": "", "merged_at": "2026-06-11T20:17:21Z", "notes": "", "pr_number": 5860, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5860", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "Validate `UploadedFile.provider_name` in tool returns and consolidate the guard into `Model._validate_uploaded_file_provider`", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "7fe66444aedf7d68e1aa6e8699360e1f4e817b81", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "f0c03ebf3cb2d85b346de4d3d931cdc3ca666988", "init_status": "", "merged_at": "2026-06-10T16:09:25Z", "notes": "", "pr_number": 5856, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5856", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "Uninstrument httpx between tests so doc-example instrumentation can't leak across the suite", "tools_scanned": null, "trigger_rationale": "skip_shipgate rule(s) matched (beats run_shipgate): TRIGGER-DOCS-ONLY-NEGATIVE.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "2b9d272a0a835991c2eb6b076a8035a63aff2eb0", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 3, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "0bfabf63584cd6cdbb14829db1247f78869ba59b", "init_status": "", "merged_at": "2026-06-11T13:33:12Z", "notes": "", "pr_number": 5855, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5855", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "Fix `AnthropicModel.count_tokens` divergence on `ToolSearchTool` replay history", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "f0c03ebf3cb2d85b346de4d3d931cdc3ca666988", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 3, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "81e1cf13f55c354bc2115960873e02b327ca89e7", "init_status": "", "merged_at": "2026-06-10T17:55:46Z", "notes": "", "pr_number": 5854, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5854", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "Add regression test for Google thinking-model `max_tokens` empty response", "tools_scanned": null, "trigger_rationale": "skip_shipgate rule(s) matched (beats run_shipgate): TRIGGER-DOCS-ONLY-NEGATIVE.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "b5aaa768cdc1d1975c39c225809f51951b87556d", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 3, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "5965db82c4e10012a8598c14716ea8a88fb411a9", "init_status": "", "merged_at": "2026-06-11T16:29:53Z", "notes": "", "pr_number": 5853, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5853", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "docs: clarify `stream_text()` skips `TextOutput` functions and delta validators", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "b6798f7e3fe63a3a41560daa44b6cd6b4ada95d5", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "c5b2666d33af5735cbc98966af265692dca5caab", "init_status": "", "merged_at": "2026-06-09T22:24:48Z", "notes": "", "pr_number": 5852, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5852", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "Fix flaky `test_tool_cancelled_when_agent_cancelled` under CI load", "tools_scanned": null, "trigger_rationale": "skip_shipgate rule(s) matched (beats run_shipgate): TRIGGER-DOCS-ONLY-NEGATIVE.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "cae4e37160b7fcd76ac9e60f74ab338dd51481cf", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 20, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "a4973543ae99f66c6f534113079c3bb25cbbb62d", "init_status": "", "merged_at": "2026-06-10T19:13:33Z", "notes": "", "pr_number": 5850, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5850", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "Fix unified `thinking` handling for Groq qwen3 and Cerebras `gpt-oss`", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "c5b2666d33af5735cbc98966af265692dca5caab", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 9, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "b1d7af90521e26dbf3513db13d490501d8174ada", "init_status": "", "merged_at": "2026-06-10T04:05:08Z", "notes": "", "pr_number": 5849, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5849", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "Add Claude Fable 5 (`claude-fable-5`) and Claude Mythos 5 (`claude-mythos-5`) support", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "0bfabf63584cd6cdbb14829db1247f78869ba59b", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 105, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "b5aaa768cdc1d1975c39c225809f51951b87556d", "init_status": "", "merged_at": "2026-06-11T13:39:27Z", "notes": "", "pr_number": 5847, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5847", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "Fail on partially used VCR cassettes", "tools_scanned": null, "trigger_rationale": "skip_shipgate rule(s) matched (beats run_shipgate): TRIGGER-DOCS-ONLY-NEGATIVE.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "30565b5f759b20dc4fd7292384bfd7ff3406b3d9", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 3, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "0d2fbb47725efa9f7eecb89430b8c9e677eb2fc1", "init_status": "", "merged_at": "2026-06-13T14:30:23Z", "notes": "", "pr_number": 5845, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5845", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "fix(output): validate union `kind` discriminator in text output", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "5965db82c4e10012a8598c14716ea8a88fb411a9", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 4, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "89c4ef7681ece9364410acfd6c873052f0e6f91f", "init_status": "", "merged_at": "2026-06-11T17:35:19Z", "notes": "", "pr_number": 5842, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5842", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "Send `reasoning_content` on synthesized tool-call turns for DeepSeek thinking models", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "d6bd7991693f575168ee20ed0f6c98acc84a5c6b", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 9, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "fabeacc3af417e81218fb2f4e0e8f812975c24a9", "init_status": "", "merged_at": "2026-06-14T15:58:09Z", "notes": "", "pr_number": 5833, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5833", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "fix(cohere): forward `tool_choice` from `ModelSettings` to v2 chat API", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "950aed93d6191e50cadadcc53d509b56ea44ae22", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 2, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "26808a1d2924495dba935a82014409c36c7dfa1c", "init_status": "", "merged_at": "2026-06-09T15:32:12Z", "notes": "", "pr_number": 5818, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5818", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "fix(anthropic): guard `message=None` Bedrock start events in stream path", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "13931c10403f28bba73ce4fcc04eeacf8c82479a", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 8, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "cae4e37160b7fcd76ac9e60f74ab338dd51481cf", "init_status": "", "merged_at": "2026-06-10T18:52:11Z", "notes": "", "pr_number": 5809, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5809", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "fix(openai): map image `UploadedFile` parts to `input_image`", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "1b42945de65b2816fed3cffa371671a2ac759241", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 1, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "837b03e3f08b4fc0f7eefc657e74ebd71645957e", "init_status": "", "merged_at": "2026-06-05T20:29:23Z", "notes": "", "pr_number": 5805, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5805", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "Document testing philosophy and `Case` parametrization pattern in `tests/AGENTS.md`", "tools_scanned": null, "trigger_rationale": "skip_shipgate rule(s) matched (beats run_shipgate): TRIGGER-DOCS-ONLY-NEGATIVE.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "837b03e3f08b4fc0f7eefc657e74ebd71645957e", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 6, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "950aed93d6191e50cadadcc53d509b56ea44ae22", "init_status": "", "merged_at": "2026-06-08T23:17:02Z", "notes": "", "pr_number": 5803, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5803", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "Add `known_model_names()` to enumerate `KnownModelName` members", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "b1d7af90521e26dbf3513db13d490501d8174ada", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 4, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "7fe66444aedf7d68e1aa6e8699360e1f4e817b81", "init_status": "", "merged_at": "2026-06-10T15:35:48Z", "notes": "", "pr_number": 5791, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5791", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "Don't send Gemini `function_calling_config` without function declarations", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "78bfaaed27abffecb761973d841608ba8b1edbf6", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 2, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "1b42945de65b2816fed3cffa371671a2ac759241", "init_status": "", "merged_at": "2026-06-05T00:51:26Z", "notes": "", "pr_number": 5779, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5779", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "fix(messages): from_data_uri crashes on a valid non-base64 data URI", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} +{"base_sha": "49f62a386041abd6e0d960dd629c3b4fe28eac63", "cap_added": null, "cap_broadened": null, "cap_changed": null, "cap_removed": null, "check_decision": "", "check_rule_ids": "", "evidence_gaps": null, "files_changed": 6, "head_blockers": null, "head_decision": "", "head_review_items": null, "head_sha": "ed31bdd64e11ce1475916a398ee3312791ed2d38", "init_status": "", "merged_at": "2026-06-04T22:02:30Z", "notes": "", "pr_number": 5772, "pr_url": "https://github.com/pydantic/pydantic-ai/pull/5772", "repo": "pydantic/pydantic-ai", "schema_version": "0.2", "status": "trigger_skip", "title": "Handle `UploadedFile` consistently with `FileUrl` in UI adapters", "tools_scanned": null, "trigger_rationale": "No rules matched; nothing in this PR signals a tool-surface change.", "trigger_run": false, "verify_can_merge": null, "verify_cap_added": null, "verify_cap_modified": null, "verify_cap_removed": null, "verify_decision": "", "verify_policy_weakened": null, "verify_trust_root_touched": null, "verify_verdict": ""} diff --git a/benchmark/miner/results/2026-W26-mined.labels.template.csv b/benchmark/miner/results/2026-W26-mined.labels.template.csv new file mode 100644 index 0000000..ff8dc4f --- /dev/null +++ b/benchmark/miner/results/2026-W26-mined.labels.template.csv @@ -0,0 +1,11 @@ +pr_url,repo,pr_number,title,status,head_decision,verify_verdict,verify_can_merge,verify_trust_root_touched,cap_added,cap_broadened,label,rationale +https://github.com/stripe/ai/pull/400,stripe/agent-toolkit,400,[automated] sync skills from docs.stripe.com,evaluated,review_required,insufficient_evidence,False,True,0,0,, +https://github.com/stripe/ai/pull/353,stripe/agent-toolkit,353,[automated] sync skills from docs.stripe.com,evaluated,review_required,insufficient_evidence,False,True,0,0,, +https://github.com/stripe/ai/pull/338,stripe/agent-toolkit,338,[automated] sync skills from docs.stripe.com,evaluated,review_required,insufficient_evidence,False,True,0,0,, +https://github.com/stripe/ai/pull/336,stripe/agent-toolkit,336,[automated] sync skills from docs.stripe.com,evaluated,review_required,insufficient_evidence,False,True,0,0,, +https://github.com/stripe/ai/pull/332,stripe/agent-toolkit,332,[automated] sync skills from docs.stripe.com,evaluated,review_required,insufficient_evidence,False,True,0,0,, +https://github.com/stripe/ai/pull/312,stripe/agent-toolkit,312,Sync skills from docs.stripe.com,evaluated,review_required,insufficient_evidence,False,True,0,0,, +https://github.com/aaif-goose/goose/pull/9798,block/goose,9798,feat(session): add opt-in ACP last message snippets,scan_failed,,,,,,,, +https://github.com/aaif-goose/goose/pull/9717,block/goose,9717,feat: use acp search session in Desktop,scan_failed,,,,,,,, +https://github.com/aaif-goose/goose/pull/9684,block/goose,9684,chore(release): bump version to 1.38.0 (minor),scan_failed,,,,,,,, +https://github.com/aaif-goose/goose/pull/9637,block/goose,9637,Improve benchmarking,scan_failed,,,,,,,, diff --git a/tests/test_miner_corpus.py b/tests/test_miner_corpus.py index 0e5dae6..579999c 100644 --- a/tests/test_miner_corpus.py +++ b/tests/test_miner_corpus.py @@ -175,6 +175,25 @@ def test_w25_headline_numbers_reproduce_from_committed_data() -> None: assert summary["by_status"][STATUS_EVALUATED] == 2 +def test_w26_headline_numbers_reproduce_from_committed_data() -> None: + """Pin the 2026-W26 deepen run (stripe/agent-toolkit + block/goose + + pydantic/pydantic-ai). Two firsts: the first run with `tools_scanned` + captured (the #223 fix, validated here on real data) and the first real + `review_required` decided rows (the framework cores only ever yielded IE). + """ + rows = read_jsonl(RESULTS_DIR / "2026-W26-mined.jsonl") + summary = summarize(rows) + assert summary["rows"] == 120 + assert summary["by_status"][STATUS_TRIGGER_SKIP] == 110 + assert summary["by_status"][STATUS_EVALUATED] == 6 + assert summary["by_status"][STATUS_SCAN_FAILED] == 4 + # Every decided row is review_required (not IE) — IE rate 0.0 on decided. + assert summary["ie_rate_on_decided"] == 0.0 + # The #223 tools_scanned fix populated the ratio denominator on real data. + evaluated = [r for r in rows if r.status == STATUS_EVALUATED] + assert evaluated and all(r.tools_scanned is not None for r in evaluated) + + def test_cross_run_trigger_skip_rate_is_high_on_real_history() -> None: """The headline cross-run claim: ~93% of real merged PRs trigger-skip. @@ -189,7 +208,7 @@ def test_cross_run_trigger_skip_rate_is_high_on_real_history() -> None: skip += 1 if row.head_decision: decided += 1 - assert total >= 241 + assert total >= 361 assert skip / total >= 0.9, f"trigger-skip rate fell to {skip}/{total}" # Decided capability-changing PRs are rare on real history — documented, # not aspirational. Guard the order of magnitude, not an exact count. From db75b8d6752c1ceaeebf71bc89c712955b2f9642 Mon Sep 17 00:00:00 2001 From: Pengfei Hu Date: Tue, 16 Jun 2026 16:35:44 -0700 Subject: [PATCH 2/3] W26 review: scored verdict is IE, not review_required (correct the framing) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Addresses the P2 review finding on PR #224. The accuracy scorer uses `labels.effective_verdict` = `verify_verdict or head_decision`, and all 6 W26 decided rows have `verify_verdict=insufficient_evidence` (only the cold-start `head_decision` is review_required). So W26 adds NO scored review_required cases — the effective verdict mix stays IE-dominated. The earlier "first real review_required / non-IE decided rows" framing was misleading. - README: table note + W26 findings now state the cold-start head_decision is review_required but the verify-effective (scored) verdict is IE for all 6, so the scored mix is unchanged; net finding = even the best app/toolkit repo's decided rows are effectively IE once verified. - test_w26_headline: assert BOTH head_decision == review_required AND effective_verdict == insufficient_evidence, so the docs can't drift back to the "non-IE" framing. No data regenerated; verdicts unchanged. Full suite + ruff clean. Co-Authored-By: Claude Fable 5 --- benchmark/miner/README.md | 20 +++++++++++++------- tests/test_miner_corpus.py | 23 ++++++++++++++++++----- 2 files changed, 31 insertions(+), 12 deletions(-) diff --git a/benchmark/miner/README.md b/benchmark/miner/README.md index 233d735..f6ed69f 100644 --- a/benchmark/miner/README.md +++ b/benchmark/miner/README.md @@ -89,7 +89,7 @@ python -m benchmark.miner evaluate \ |---|---|---|---|---| | [`2026-W24-mined.csv`](results/2026-W24-mined.csv) | 2026-06-12 | stripe/ai, openai/openai-agents-python, crewAIInc/crewAI-examples | 121 (latest 40 merged PRs each + stripe/ai#232) | Schema v0.2 (re-run with baseline-gated `verify_*` receipts; supersedes the v0.1 artifact in place). Findings below. | | [`2026-W25-mined.csv`](results/2026-W25-mined.csv) | 2026-06-12 | google/adk-samples, langchain-ai/langgraph, modelcontextprotocol/servers | 120 (latest 40 merged PRs each) | Widen run over 3 new framework families. Schema v0.2. Findings below. | -| [`2026-W26-mined.csv`](results/2026-W26-mined.csv) | 2026-06-16 | stripe/agent-toolkit, block/goose, pydantic/pydantic-ai | 120 (latest 40 merged PRs each) | Deepen run over agent **apps/toolkits**. First run with `tools_scanned` captured (#223) and first real `review_required` decided rows. Schema v0.2. Findings below. | +| [`2026-W26-mined.csv`](results/2026-W26-mined.csv) | 2026-06-16 | stripe/agent-toolkit, block/goose, pydantic/pydantic-ai | 120 (latest 40 merged PRs each) | Deepen run over agent **apps/toolkits**. First run with `tools_scanned` captured (#223); decided rows are cold-start `head_decision=review_required` but `verify`-effective `insufficient_evidence`. Schema v0.2. Findings below. | ## Constructed-adversarial accuracy — the blocked-recall proof @@ -128,12 +128,18 @@ trigger-skips) and the real-history **extraction-coverage** (`insufficient_evide ### 2026-W26 findings — deepen run over agent apps/toolkits - **App/toolkit repos do yield more decided rows than framework cores — but - thin and rarely `must_block`.** `stripe/agent-toolkit` produced 6 decided - rows (15% of its 40 PRs) vs **0** from `block/goose` and `pydantic/pydantic-ai` - (a framework core, the same library-internals-churn pattern as W25). All 6 - are `review_required` (the first real non-IE decided rows), but they collapse - to **one** distinct pattern — a repeated automated "sync skills from - docs.stripe.com" bot PR — so the decided *diversity* added is ≈1. + thin, IE-effective, and never `must_block`.** `stripe/agent-toolkit` produced + 6 decided rows (15% of its 40 PRs) vs **0** from `block/goose` and + `pydantic/pydantic-ai` (a framework core, the same library-internals-churn + pattern as W25). Their cold-start `head_decision` is `review_required`, but + the per-PR `verify` receipt — **the verdict the accuracy scorer uses** + (`labels._effective_verdict` = `verify_verdict or head_decision`) — is + `insufficient_evidence` for all 6 (the toolkit surface still isn't statically + resolvable on the base→head diff). So the *scored* verdict mix stays + IE-dominated; W26 adds **no** scored `review_required` cases. And the 6 + collapse to **one** distinct pattern (a repeated automated "sync skills from + docs.stripe.com" bot PR), so decided *diversity* added is ≈1. Net: even the + best app/toolkit repo's decided rows are effectively IE once verified. - **`tools_scanned` capture validated on real data (#223).** Every decided row records the ratio denominator (`tools_scanned=2`); pinned by `test_w26_headline_numbers_reproduce_from_committed_data`. This is the first diff --git a/tests/test_miner_corpus.py b/tests/test_miner_corpus.py index 579999c..a80da48 100644 --- a/tests/test_miner_corpus.py +++ b/tests/test_miner_corpus.py @@ -177,20 +177,33 @@ def test_w25_headline_numbers_reproduce_from_committed_data() -> None: def test_w26_headline_numbers_reproduce_from_committed_data() -> None: """Pin the 2026-W26 deepen run (stripe/agent-toolkit + block/goose + - pydantic/pydantic-ai). Two firsts: the first run with `tools_scanned` - captured (the #223 fix, validated here on real data) and the first real - `review_required` decided rows (the framework cores only ever yielded IE). + pydantic/pydantic-ai). The headline value is the first run with + `tools_scanned` captured (the #223 fix, validated here on real data). + + Verdict nuance: the decided rows' cold-start `head_decision` is + `review_required`, but the accuracy scorer uses the per-PR `verify` receipt + (`labels.effective_verdict` = `verify_verdict or head_decision`), which is + `insufficient_evidence` for all 6 — so W26 adds NO scored `review_required` + cases; the effective verdict mix stays IE-dominated. This guard asserts both + so the README/findings can't drift back to the misleading "non-IE" framing. """ + from benchmark.miner.labels import effective_verdict + rows = read_jsonl(RESULTS_DIR / "2026-W26-mined.jsonl") summary = summarize(rows) assert summary["rows"] == 120 assert summary["by_status"][STATUS_TRIGGER_SKIP] == 110 assert summary["by_status"][STATUS_EVALUATED] == 6 assert summary["by_status"][STATUS_SCAN_FAILED] == 4 - # Every decided row is review_required (not IE) — IE rate 0.0 on decided. + evaluated = [r for r in rows if r.status == STATUS_EVALUATED] + # `summarize.ie_rate_on_decided` reads head_decision; all 6 are + # review_required at cold-start, so the HEAD IE rate is 0.0. assert summary["ie_rate_on_decided"] == 0.0 + assert all(r.head_decision == "review_required" for r in evaluated) + # But the SCORED (effective) verdict is insufficient_evidence for all 6 — + # W26 contributes IE cases to the accuracy corpus, not review_required ones. + assert all(effective_verdict(r) == "insufficient_evidence" for r in evaluated) # The #223 tools_scanned fix populated the ratio denominator on real data. - evaluated = [r for r in rows if r.status == STATUS_EVALUATED] assert evaluated and all(r.tools_scanned is not None for r in evaluated) From 4510fcb8b9497ea6ea726e583b526b641ea85ac8 Mon Sep 17 00:00:00 2001 From: Pengfei Hu Date: Tue, 16 Jun 2026 20:57:41 -0700 Subject: [PATCH 3/3] W26 docs: correct helper name to labels.effective_verdict Addresses the P3 review nit on PR #224. The README referenced `labels._effective_verdict`; the actual helper (and the test) use `effective_verdict` (no leading underscore). Doc-only. Co-Authored-By: Claude Fable 5 --- benchmark/miner/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/benchmark/miner/README.md b/benchmark/miner/README.md index f6ed69f..122e2f4 100644 --- a/benchmark/miner/README.md +++ b/benchmark/miner/README.md @@ -133,7 +133,7 @@ trigger-skips) and the real-history **extraction-coverage** (`insufficient_evide `pydantic/pydantic-ai` (a framework core, the same library-internals-churn pattern as W25). Their cold-start `head_decision` is `review_required`, but the per-PR `verify` receipt — **the verdict the accuracy scorer uses** - (`labels._effective_verdict` = `verify_verdict or head_decision`) — is + (`labels.effective_verdict` = `verify_verdict or head_decision`) — is `insufficient_evidence` for all 6 (the toolkit surface still isn't statically resolvable on the base→head diff). So the *scored* verdict mix stays IE-dominated; W26 adds **no** scored `review_required` cases. And the 6