Releases: zsxh1990/pr-genius
Release list
v0.7.8: Release prgenius-core (first PyPI publish via Trusted Publisher)
v0.7.8 — distribution rename + first PyPI publish
This release covers the distribution rename prgenius-kb → prgenius-core
and the first successful PyPI publish via GitHub Actions Trusted Publisher.
Distribution rename
The prgenius distribution is renamed prgenius-kb → prgenius-core to
drop the awkward kb suffix and align with the misakanet-core naming
convention. CLI entry point prgenius-kb → prgenius-core; import path
prgenius.cli unchanged.
First PyPI publish (Trusted Publisher + OIDC)
prgenius-core is now live on PyPI via GitHub Actions Trusted Publisher (OIDC).
Workflow file: .github/workflows/publish-pypi.yml.
pip install prgenius-coreworks for the first time.
The Trusted Publisher configuration is:
- Owner:
zsxh1990 - Repository:
pr-genius - Workflow:
.github/workflows/publish-pypi.yml - Environment:
pypi
Quick start
pip install prgenius-core
python -m prgenius --version
# prgenius 0.7.8What's in the wheel
prgeniusCLI (python -m prgenius)prgeniusMCP server (python -m prgenius mcp serve)- Stdlib-only runtime (
mcp>=1.0optional viapip install prgenius-core[mcp]) - 12 repo profiles / 12 PR Case Studies / 11 lessons / 5 anti-patterns
v0.7.7 — P0-P2 drift fix: profiles 11/11 + version 0.7.5 align + KNOWN_ISSUES fold
What v0.7.7 ships
v0.7.7 captures the 10 commits since v0.7.6 tag (e7d9b91), of which the
anchor is the P0-P2 backlog fix on 2026-07-06:
fix(p0-p2): version drift to v0.7.5 + profile evidence 11/11 + round evidence口径一致.
What changed since v0.7.6 (10 commits)
| Commit | Area |
|---|---|
1a52ee1 |
feat: 100% round-level evidence + dynamic badges + INDEX.md sync |
e74c2ac |
docs: README badges updated to use all 9 dynamic endpoints |
a8cce68 |
fix(badges): round-evidence filter excludes check_in/bump (actionable-only) |
df79c68 |
feat(push-via-api): fetch remote commit when --base-on-remote not in local objects |
0f10125 |
fix(push-via-api): use local parent for diff even with --base-on-remote |
fcc9c9c |
feat(push-via-api): add --push-all-unpushed loop mode |
8e93908 |
chore(archive+docs): v0.7.5 final — release scripts + KNOWN_ISSUES |
74d9eb0 |
feat(1+2+3): #4 profile verified_at 92% + #7 blog + #1 helper script |
85ec679 |
chore(archive+docs): v0.7.6 release scripts + KNOWN_ISSUES |
238bf71 |
fix(p0-p2): v0.7.5 drift fix + 11/11 profile evidence |
P0 fixes (v0.7.7)
- P0-1:
latest_release.jsonbadge v0.7.4 → v0.7.5 +prgenius_version.json0.7.3 → 0.7.5 +pyproject.toml+__init__.pyversion synced to 0.7.5 - P0-2: README Stats table — 11 profiles + 1 stub
ag2ai-ag2, 11 case studies, 5 anti-patterns (was 4), 11 lessons (was 10), round evidence (16/16 across 11 cases) - P0-3: KNOWN_ISSUES
待验证项— all 4[- [ ]]folded to[- [x]]per 克莱恩 2026-07-02 23:29 GMT+8 拍板
P1 fixes (v0.7.7)
- P1-1: 4 profile
index.mdnow carryevidence_urls+verified_at: 2026-07-06:NousResearch-hermes-agent/index.mdmongodb-js-mongodb-mcp-server/index.mdplastic-labs-honcho/index.mdqdrant-mcp-server-qdrant/index.md- Result: profile-level
evidence_urls7/11 → 11/11 (100%)
- P1-2:
docs/INDEX.mdROUNDS_SCHEMA line corrected — rounds schema is v0.7.0 (schema evidence layer加固), rounds-v0.5.0 is 2-case migration status (not the schema version itself) - P1-3:
round_evidence.jsonbadge message "16/16" → "11 round-1 + 4 amend + 1 check-in" (口径一致) - P1-4:
docs/INDEX.mdnotes PyPI publish is pending (pip install prgenius-kbnot yet possible; usePYTHONPATH=src python -m prgeniusfor now)
Validator state
python3 validate.py --strict✅python3 validate.py --enforce-evidence✅prgenius dumpNDJSON output for 11 cases OK
Stats (anchored snapshot at 238bf71)
- 11 profiles (live, with
evidence_urlsandverified_at) + 1 stubag2ai-ag2 - 11 case studies (2 migrated to v0.5.0 schema: honcho + qdrant; 9 in legacy v0.1)
- 5 anti-patterns
- 11 lessons (
misakanet-50/lesson-01..11) - 16/16 round-level evidence (100%) across 11 cases
v0.7.5 — round evidence (21/21) + dynamic badges + INDEX sync + push-via-api v2
v0.7.5 — round evidence (21/21) + dynamic badges + INDEX sync + push-via-api v2
Round-level evidence now at 21/21 (100%)
Schema v0.7.0 added optional per-round verified_at /
evidence_urls / confidence. v0.7.4 filled round 1 (open).
v0.7.5 fills the rest:
- 11/11 round 1 (
action: open) —verified_atfrom PRcreated_at
viarefresh-evidence.py, plus 3evidence_urls(PR files /
PR human URL / commits API) - 4/4 amend rounds (e2b / future-agi / honcho / fastmcp) — anchored
on round-leveltimestamp:orcommit:SHA; cross-refs GH commit
URL where present - 6/6 check_in / bump / human_review rounds —
verified_atfrom the
round's existing comment timestamp + comments API URL
archive/scripts/inject-round-evidence.py is re-runnable for new
round-level evidence updates.
Dynamic shields.io badges (9 endpoints)
archive/scripts/refresh-badges.py emits endpoint JSONs under
docs/badges/ so README badges track real repo state.
README now wires 10 badge slots to these (1 to GitHub release API,
1 static "PRs welcome", 8 dynamic).
docs/INDEX.md synchronised
- Was stale on the agentic #1382/#1383 "two PRs" claim; actually
11 case-study files (the two agentic PRs sit in the same profile
folder but are independent case studies). - Added
Round-level evidencerow to the Auto-generated metadata table. - Bumped INDEX frontmatter
version0.7.4 → 0.7.5.
Tooling
archive/scripts/inject-round-evidence.py— round 1 + amend +
check_in/bump injectors, idempotent on re-runarchive/scripts/refresh-badges.py— endpoint JSON emitterarchive/scripts/git-push-via-api.py --push-all-unpushed— multi-commit
GH-DB-API push with per-commit parent chaining (the loop that made
this v0.7.5 push feasible)
CHANGELOG realignment
CHANGELOG.md previously jumped v0.7.1 → [Unreleased]. v0.7.5 entry
backfills ## [0.7.3] through ## [0.7.5] sections and adds
Compare: lines for the GH Release template.
Network-route caveat
Three of v0.7.4's commits + all of v0.7.5's were pushed via the GH DB
API (not git push) because WSL→github.com:443 was blocked from
~11:30 GMT+8 today.
Stats
- 12 profiles / 12 case studies / 11 lessons / 5 anti-patterns
- validate.py --strict: 0 errors ✅
- validate.py --enforce-evidence: 0 warnings ✅
- Round-level evidence: 21/21 ✅
- Releases published on GH: 10 (this v0.7.5)
v0.7.4 — Round-level evidence + CI hard-gate + pkg version bump
What's in v0.7.4
Round-level evidence fills the deeper schema layer
v0.7.0 / v0.7.1 / v0.7.3 already documented the optional
delta.verified_at / delta.evidence_urls / delta.confidence
fields at the round level. v0.7.4 fills them in for every PR Case
Study's round 1 (open action), sourced from GitHub API via the
refresh-evidence.py cache:
- round: 1
action: open
delta:
kind: code_change
value: "+283 / -0 / 3 files"
verified_at: "2026-06-12T01:44:47Z" # ← new
evidence_urls: # ← new
- https://github.com/.../pull/801/files
- https://github.com/.../pull/801
- https://api.github.com/.../pulls/801/commits
confidence: high # ← newarchive/scripts/inject-round-evidence.py makes this re-runnable
when new round-1 evidence needs to be added or refreshed.
CI becomes a hard gate, not a soft warning
.github/workflows/validate.yml now has:
- name: Run validator (enforce evidence — hard gate)
run: python3 validate.py --enforce-evidenceWith no || echo "::warning::" fallback. Future PRs that
add a Case Study without case-level verified_at /
evidence_urls will fail the build red, not just warn.
Distribution version bump
prgenius package internal version:
pyproject.toml:0.1.0→0.7.3src/prgenius/__init__.py:__version__ = "0.7.3"
python3 -m prgenius --version now reports prgenius 0.7.3. This
aligns internal version with the externally observed release
trajectory since v0.6.0.
README badges
Latest releaseshield linking to releases pageEvidence 100%shield pinned on the README (only flips if any
case study loses case-level evidence)
.gitignore tightening
/datadirectory (output ofvalidate.py --snapshot) now
reliably excluded; trailing-newline + leading-slash form to
ensure git's index refresh correctly ignores it.
Stats
- 12 profiles / 12 case studies / 11 lessons / 5 anti-patterns
- validate.py --strict: 0 errors
- validate.py --enforce-evidence: 0 warnings ✅
- All 11 case studies with round-1 evidence populated
v0.7.3 — 100% case-level evidence + status drift fix
What's new in v0.7.3
--enforce-evidence converges to 0 warnings. Every PR Case Study now
carries case-level verified_at / 6 evidence_urls (one human + 5 GH API
endpoints: pulls / pulls/files / issues/comments / pulls/reviews /
pulls/commits) / confidence. validate.py --strict stays 0 errors;
--enforce-evidence drops 22 → 0.
Status drift fixes (release-blocker sweep). Case frontmatter and
GH-reported state now match for every case:
astral-sh/uv#19685—status: merged→closed-not-merged(was
closed-without-merge at 2026-06-05T14:43:54Z)e2b-dev/E2B#1413—status: merged→closed-not-mergedagentic-community/mcp-gateway-registry#1382—status: open→
closed-merged(merged 2026-07-04T16:30:18Z by aarora79)agentic-community/mcp-gateway-registry#1383—status: open→
closed-merged(merged 2026-07-04T16:28:52Z)
What's in v0.7.2 (carried forward)
archive/scripts/git-push-via-api.py— fallback for pushing one commit
through Git DB API whengithub.com:443is unreachable but
api.github.com:443works; supports--base-on-remoteto handle the
date-format SHA divergence (local git uses+0800, GH API uses+08:00)archive/scripts/create-v071-release.py— release + tag creation via API
What's in v0.7.1 (carried forward)
- Distribution rename —
prgenius→prgenius-kb(PyPI collision
with an unrelated 2024 GPT-3 PR-description tool) - MCP
--repo-rootflag actually flows —cli.pywas parsing it but
ignoring it;mcp.pyhardcodedREPO_ROOTas a module-level constant.
Both fixed. - Cursor / Claude Code / Cline config snippets in
prgenius/README.md - CHANGELOG doc-drift fix —
[Unreleased]realigned to the release
each entry landed in; missing[0.6.2]-[0.7.0]segments backfilled
Stats
- 12 profiles / 12 case studies / 11 lessons / 5 anti-patterns
- validate.py --strict: 0 errors
- validate.py --enforce-evidence: 0 warnings ✅ (100% coverage)
Install
pip install prgenius-kbFull quickstart: prgenius/README.md.
v0.7.1 — MCP --repo-root wiring + PyPI rename + 5-case evidence
What's in v0.7.1
Distribution rename — prgenius → prgenius-kb (PyPI name was already
taken by an unrelated 2024 GPT-3 PR-description tool; uploader, purpose,
maintainer all differ). Import path unchanged (prgenius.cli). README install
command updated.
MCP --repo-root flag now actually flows — cli.py cmd_dump and
cli.py cmd_mcp_serve were parsing --repo-root but ignoring it; mcp.py
hardcoded REPO_ROOT as a module-level constant. Both fixed. All 4 tool
implementations now read the resolved repo_root from _load_tools(repo_root).
Cursor / Claude Code / Cline config snippets in prgenius/README.md —
JSON ready to paste into ~/.claude/mcp.json, ~/.cursor/mcp.json, or
VS Code cline_mcp_settings.json.
validate.py --enforce-evidence convergence — 22 → 12 warnings. 5 PR
Case Studies now carry case-level verified_at / evidence_urls /
confidence (honcho#801, qdrant#143, uv#19685, mongodb#1309,
agentic#1382). --strict remains 0 errors.
CHANGELOG doc-drift fix — entries previously parked under [Unreleased]
are realigned to the release they landed in ([0.6.1] ← SECURITY /
DISCUSSIONS / Topics / .github / docs/INDEX / README.zh), and missing
segments [0.6.2] through [0.7.0] are filled in.
Stats
- 12 profiles / 12 case studies / 11 lessons / 5 anti-patterns
- validate.py --strict: 0 errors
- validate.py --enforce-evidence: 12 warnings
Known issues (carried from upstream)
- G.
astral-sh-uv/pr-19685-sarif-audit.md: case frontmatter says
status: mergedbut GH API returnsstate=closed, merged=False. - H.
agentic-community-mcp-gateway-registry/pr-1382-auth-md-mermaid-token.md:
case frontmatter saysstatus: openbut GH API returnsmerged=True.
Both pending next real upstream interaction.
Install
pip install prgenius-kbFull quickstart: see prgenius/README.md.
v0.7.0 — schema evidence layer + stdlib prgenius package + stdio MCP shell
v0.7.0 — Foundation (2026-07-04)
This is the foundation release that everything since builds on.
If you are upgrading, read this first, then look at v0.7.1 for
the prgenius → prgenius-kb rename and v0.7.3 for evidence coverage.
T1 — prgenius Python package (new, src/prgenius/)
pyproject.toml(stdlib-only, no deps)parser.py— pure-stdlib YAML-subset frontmatter parser (zero PyYAML)cli.py— subcommands:profile,case,schema,dump,mcpmcp.py— stdio MCP shell exposing 4 tools:get_repo_profile(repo)list_open_prs()get_case_study(repo, pr_number)schema_info()
- NDJSON dump output (benchmark-ready)
- Smoke-tested only (no formal test suite — tracked as TODO G2+)
T2 — schema v0.7.0 (BC over v0.5.0)
ROUNDS_SCHEMA.mdadds three optional fields, available at both levels:- Round-level:
delta.verified_at,delta.evidence_urls,delta.confidence - Case-level:
verified_at,evidence_urls,confidence
- Round-level:
- 100% BC: when absent they're ignored; presence is forward-compatible
validate.pyrewritten to surface v0.7.0 fields and emit
--enforce-evidencewarnings when case-level evidence is missing
T3 — stdio MCP shell (scripts/dashboard.py)
- Reads
data/snapshot.jsonwhen present, falls back to in-script
computation --snapshotmode emits JSON snapshot of n-counts- Stats line consumes snapshot numbers (avoids hand-written drift)
T4 — README narrative cleanup
- External-facing README + index.md use neutral terms
- Internal history (CHANGELOG / KNOWN_ISSUES) uses maintainer / initiator
- "Pragmatic" CHANGELOG lines preserved (data, not narrative)
- Dropped "MisakaNet 一侧" section (planned-only, not actionable)
T5 — legacy BC scaffold
validate.py --enforce-evidencesurfaces cases needing v0.7.0 fields- The 100%-coverage goal from evaluation is now checkable, not aspirational
Stats
- 12 profiles / 12 case studies / 11 lessons / 5 anti-patterns
- snapshot.json: 60 files / 12 profiles / 11 case studies / 0 errors / 0 warnings
- data/ in .gitignore (don't ship generated snapshots)
Important upgrade note
In v0.7.1 the distribution was renamed prgenius → prgenius-kb to
avoid a PyPI name collision with an unrelated 2024 GPT-3 PR-description
tool. If you are installing for the first time, use prgenius-kb.
v0.6.4 — lesson-11 (mcp typo pool) + heartbeat snapshot + dashboard tool
v0.6.4 — lesson + tooling (2026-07-04)
Added
misakanet-50/lesson-11-mcp-typo-pool-x3-merged.md— real-empirical
lesson covering 2 PRs (#1382, #1383) + 1 marker-pattern (#1373 + #1375);
distills the pattern: 1-file-per-PR, copy maintainer tone, mcp docs-only
diffs (domains: pr-strategy, tooling; confidence: 0.91)scripts/heartbeat.py— daily validator snapshot; last run:
2026-07-04T14:08:46 GMT+8 with 60 files / 0 errors / 0 warningsscripts/dashboard.py— lists every PR Case Study open / in-flight /
pending (sorts by days_idle desc; flags stale at ≥14d / ≥30d)
Updated
KNOWN_ISSUES.mdtracker — bumped snapshot count and TRACKED_REPOS
(addedagentic-community/mcp-gateway-registry)
Stats
- 12 profiles / 12 case studies / 11 lessons / 5 anti-patterns
- validate.py --strict: 0 errors
v0.6.3 — agentic-community-mcp-gateway-registry profile + 2 case studies
v0.6.3 — New profile + 2 case studies (2026-07-04)
New profile
agentic-community-mcp-gateway-registry/(12th profile)- 765★ / 201 fork / Python / 57MB / 94 open issues
- Maintainer vibe: responsive (single-day merges of 9+ PRs in 7/3-7/4)
- Friendly pattern: docs/mermaid-fix (matches PR #1373, #1375, this batch)
- Red zones: deployment, oauth/identity middleware, observability
New case studies (rounds v0.5.0 schema, close_decision=pending)
pr-1382-auth-md-mermaid-token.md(1 file, 1 line, +1/-1)pr-1383-egress-vault-mermaid-placeholders.md(1 file, 2 lines, +2/-2)
Index updates
index.md: +3 rows (agentic-community, mongodb-js, NousResearch now visible)docs/INDEX.md: mongodb-js star count fix (1073 → 1.1k); NousResearch
updated to 208k hub
Stats
- 12 profiles / 12 case studies / 11 lessons / 4 anti-patterns
- validate.py --strict: 0 errors
v0.6.2 — legacy case schema migration
Highlights
Migrate 6 legacy PR Case Studies (v0.1 schema) to rounds v0.5.0:
- action enum: free-form legacy strings ("open PR", "amend (CLA + changeset)", "received maintainer feedback", "third-party check-in") normalized to exact enum values
- delta object: string-form legacy deltas reshaped to {kind, value}
- close_decision block appended (status: pending)
- scripts/fix_legacy_cases.py added for replay
Validator: 0 warnings (was 20). 9 case studies total — all migrated.
Files
Migrated (6):
- astral-sh-uv/pr-19685-sarif-audit.md
- e2b-dev-e2b/pr-1413-rich-to-ansi.md
- future-agi-future-agi/pr-778-span-list-without-project-id.md
- harbor-framework-harbor/pr-2121-optional-deps.md
- punkpeye-fastmcp/pr-282-test-with-ollama.md
- sourcebot-dev-sourcebot/pr-1383-ctags-failure-detection.md
Already-migrated (skipped, 3):
- mongodb-js-mongodb-mcp-server/pr-1309
- plastic-labs-honcho/pr-801
- qdrant-mcp-server-qdrant/pr-143