Release 0.5.2: EvalBench snapshots, G1 taxonomy, unified evaluators - #478
Conversation
…luators Version bump 0.5.1 -> 0.5.2 and the changelog cut for everything merged since v0.5.1 (2026-08-29), 19 commits. In the wheel: the versioned EvalBench import pipeline (#451-#453: immutable snapshots with the W0.4 failed-session contract, the version-pinned failed_sessions view, evalbench-score), the native agent_events snapshot writer (#464), the failure taxonomy frozen at G1 v0.1.0 and its span-level localisation layer with persisted span labels (#467, #470), the evaluator API unification behind PerformanceEvaluator with compatibility aliases (#123), and the canonical metric factories plus opt-in policy scorecard (#91). Repo side: skill-evolution host hooks and auditable patch provenance (#395, #477), the scheduled skill-evolution Cloud Run Job (#472), the OKF adapter example (#474), the AgentForensics Week 0 freeze and sealed preregistration (#435, #473), and the EvalBench demo and CLI-discoverability follow-ups. Entries the Unreleased section lacked are added in this cut: #91, #123 (its bullets move under Changed with the PR number), #395, #472, #474, #476.
cb1316d to
d18f8dc
Compare
Full fresh review at
|
caohy1988
left a comment
There was a problem hiding this comment.
Review: Approve
Verified the cut end to end. This is accurate and complete.
Completeness — 19/19 commits since v0.5.1 represented. git rev-list --count v0.5.1..origin/main is exactly 19 (tag = 3fb6a00, 2026-08-29, as stated). Every commit maps to a changelog bullet; the one exclusion (#456, a docs/changelog chore whose deliverable is already the #451 bullet) is justified. No bullet claims work that didn't merge; the closed-unmerged #462/#465 are cited only as docs-consolidation sources, which is worded accurately.
Accuracy spot-checks all pass. Verified against the merged code: the EvalBench pipeline (lock sentinel, (job_id, import_version) keying, W0.4 contract, evalbench_failed_sessions view, both CLI commands), the native snapshot writer with the reserved-name guard, span_taxonomy accepting only the frozen names + --span-labels-table, PerformanceEvaluator with all four compat aliases still exported, the four #91 metric factories, skill_evolution.py's __all__/error_analyst_fn/incumbent_score/patch provenance, the Cloud Run job, the OKF adapter, the #473 sealed fixture (sealed: true, clock_started: false — matches the bullet exactly), and the browserslist bump. The moved #123 sub-bullets are character-identical to the originals.
Version handling matches the 0.5.1 precedent. pyproject.toml is the only pin for the root SDK (no __version__; producers derive via importlib); the remaining "0.5.1" strings in evalbench.py are historical contract comments, correctly untouched. release.yml's version check compares pyproject vs tag-minus-v, so 0.5.2 == 0.5.2 will pass.
Release steps match the workflow. release.yml triggers on release: [published] with a v-prefix guard; tag on the squash-merge commit is the v0.5.1 pattern; the pypi environment has required reviewers (approval step is real), testpypi has none. Note: PyPI and TestPyPI publish in parallel, not TestPyPI-first — existing design, not a regression.
CI: all green across Python 3.10–3.14; BLOCKED is solely the missing approving review. Head is up to date with main.
One cosmetic nit, optional: the #395/#397 bullets describe scripts/skill_evolution.py (repo-side — the wheel ships only src/bigquery_agent_analytics + src/bigquery_ontology) but sit under plain ### Added, while the same cut created ### Deploy (repo side, not in the wheel) for #472. The highlights paragraph's "Around the wheel" phrasing mostly covers it. Not blocking.
After merge: squash → gh release create v0.5.2 --target main --generate-notes → approve the pypi environment → sanity-check the published PyPI version reads 0.5.2.
Review by @caohy1988's assistant (Kimi Code CLI).
|
Both reviews addressed at P1 — release target race. Agreed: Nit — skill-evolution bullets under |
Summary
Version bump
0.5.1 → 0.5.2plus the changelog cut for everything merged sincev0.5.1(2026-08-29), 19 commits. Two files:pyproject.tomlandCHANGELOG.md.In the wheel: the versioned EvalBench import pipeline — immutable
(job_id, import_version)snapshots with the W0.4 failed-session contract, the version-pinnedevalbench_failed_sessionsview, andbq-agent-sdk evalbench-score(#451/#452/#453); the nativeagent_eventssnapshot writer that needs no EvalBench tables (#464);failure_taxonomyfrozen at G1 v0.1.0 and the span-levelspan_taxonomylocalisation layer, persisted on the native snapshot via--span-labels-table(#467/#470); evaluator API unification behindPerformanceEvaluatorwith compatibility aliases for every existing name (#123); canonical metric factories and the opt-inpolicy_compliancescorecard (#91).Repo side (labeled sections, not in the wheel): skill-evolution host hooks and auditable patch provenance (#395/#477); the scheduled skill-evolution Cloud Run Job (#472); the OKF adapter example (#474); the AgentForensics Week 0 freeze and sealed preregistration (#435/#473) — the six-week clock has still not started; EvalBench demo, docs, and CLI-discoverability follow-ups (#454–#457, #468);
dashboard_v2browserslist bump (#476).Changelog entries added in this cut because the Unreleased section did not have them: #91, #123 (its free-standing bullets move under Changed with the PR number), #395, #472, #474, #476. Every other bullet is carried verbatim under a
## [0.5.2] - 2026-09-05header with a new Release highlights paragraph, and## [Unreleased]is left empty as in the 0.5.1 cut.Release steps after merge
main, which keeps moving and would let a later merge ride into the tag, the wheel, and the PyPI upload:release.yml(build → version check → PyPI + TestPyPI, in parallel).pypienvironment deployment when the workflow pauses on it.pip index versions bigquery-agent-analytics(or the PyPI page) shows 0.5.2.Test plan
python -m buildon this branch producesbigquery_agent_analytics-0.5.2-py3-none-any.whland the sdist;pyprojectversion equals thev0.5.2tag minus thev, which is the checkrelease.ymlperformsgit diff --check