Skip to content

Releases: zsxh1990/pr-genius

v0.7.8: Release prgenius-core (first PyPI publish via Trusted Publisher)

Choose a tag to compare

@zsxh1990 zsxh1990 released this 08 Jul 16:35

v0.7.8 — distribution rename + first PyPI publish

This release covers the distribution rename prgenius-kbprgenius-core
and the first successful PyPI publish via GitHub Actions Trusted Publisher.

Distribution rename

The prgenius distribution is renamed prgenius-kbprgenius-core to
drop the awkward kb suffix and align with the misakanet-core naming
convention. CLI entry point prgenius-kbprgenius-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-core works 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.8

What's in the wheel

  • prgenius CLI (python -m prgenius)
  • prgenius MCP server (python -m prgenius mcp serve)
  • Stdlib-only runtime (mcp>=1.0 optional via pip 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

Choose a tag to compare

@zsxh1990 zsxh1990 released this 06 Jul 04:02

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.json badge v0.7.4 → v0.7.5 + prgenius_version.json 0.7.3 → 0.7.5 + pyproject.toml + __init__.py version 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.md now carry evidence_urls + verified_at: 2026-07-06:
    • NousResearch-hermes-agent/index.md
    • mongodb-js-mongodb-mcp-server/index.md
    • plastic-labs-honcho/index.md
    • qdrant-mcp-server-qdrant/index.md
    • Result: profile-level evidence_urls 7/11 → 11/11 (100%)
  • P1-2: docs/INDEX.md ROUNDS_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.json badge message "16/16" → "11 round-1 + 4 amend + 1 check-in" (口径一致)
  • P1-4: docs/INDEX.md notes PyPI publish is pending (pip install prgenius-kb not yet possible; use PYTHONPATH=src python -m prgenius for now)

Validator state

  • python3 validate.py --strict
  • python3 validate.py --enforce-evidence
  • prgenius dump NDJSON output for 11 cases OK

Stats (anchored snapshot at 238bf71)

  • 11 profiles (live, with evidence_urls and verified_at) + 1 stub ag2ai-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

Choose a tag to compare

@zsxh1990 zsxh1990 released this 05 Jul 14:09

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_at from PR created_at
    via refresh-evidence.py, plus 3 evidence_urls (PR files /
    PR human URL / commits API)
  • 4/4 amend rounds (e2b / future-agi / honcho / fastmcp) — anchored
    on round-level timestamp: or commit: SHA; cross-refs GH commit
    URL where present
  • 6/6 check_in / bump / human_review rounds — verified_at from 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 evidence row to the Auto-generated metadata table.
  • Bumped INDEX frontmatter version 0.7.4 → 0.7.5.

Tooling

  • archive/scripts/inject-round-evidence.py — round 1 + amend +
    check_in/bump injectors, idempotent on re-run
  • archive/scripts/refresh-badges.py — endpoint JSON emitter
  • archive/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

Choose a tag to compare

@zsxh1990 zsxh1990 released this 05 Jul 04:46

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                        # ← new

archive/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-evidence

With 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.00.7.3
  • src/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 release shield linking to releases page
  • Evidence 100% shield pinned on the README (only flips if any
    case study loses case-level evidence)

.gitignore tightening

  • /data directory (output of validate.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

Choose a tag to compare

@zsxh1990 zsxh1990 released this 05 Jul 04:18

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#19685status: mergedclosed-not-merged (was
    closed-without-merge at 2026-06-05T14:43:54Z)
  • e2b-dev/E2B#1413status: mergedclosed-not-merged
  • agentic-community/mcp-gateway-registry#1382status: open
    closed-merged (merged 2026-07-04T16:30:18Z by aarora79)
  • agentic-community/mcp-gateway-registry#1383status: 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 when github.com:443 is unreachable but
    api.github.com:443 works; supports --base-on-remote to 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 renameprgeniusprgenius-kb (PyPI collision
    with an unrelated 2024 GPT-3 PR-description tool)
  • MCP --repo-root flag actually flowscli.py was parsing it but
    ignoring it; mcp.py hardcoded REPO_ROOT as 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-kb

Full quickstart: prgenius/README.md.

v0.7.1 — MCP --repo-root wiring + PyPI rename + 5-case evidence

Choose a tag to compare

@zsxh1990 zsxh1990 released this 05 Jul 03:36

What's in v0.7.1

Distribution renameprgeniusprgenius-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 flowscli.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: merged but GH API returns state=closed, merged=False.
  • H. agentic-community-mcp-gateway-registry/pr-1382-auth-md-mermaid-token.md:
    case frontmatter says status: open but GH API returns merged=True.

Both pending next real upstream interaction.

Install

pip install prgenius-kb

Full quickstart: see prgenius/README.md.

v0.7.0 — schema evidence layer + stdlib prgenius package + stdio MCP shell

Choose a tag to compare

@zsxh1990 zsxh1990 released this 05 Jul 04:19

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 prgeniusprgenius-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, mcp
  • mcp.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.md adds three optional fields, available at both levels:
    • Round-level: delta.verified_at, delta.evidence_urls, delta.confidence
    • Case-level: verified_at, evidence_urls, confidence
  • 100% BC: when absent they're ignored; presence is forward-compatible
  • validate.py rewritten to surface v0.7.0 fields and emit
    --enforce-evidence warnings when case-level evidence is missing

T3 — stdio MCP shell (scripts/dashboard.py)

  • Reads data/snapshot.json when present, falls back to in-script
    computation
  • --snapshot mode 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-evidence surfaces 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 prgeniusprgenius-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

Choose a tag to compare

@zsxh1990 zsxh1990 released this 05 Jul 04:19

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 warnings
  • scripts/dashboard.py — lists every PR Case Study open / in-flight /
    pending (sorts by days_idle desc; flags stale at ≥14d / ≥30d)

Updated

  • KNOWN_ISSUES.md tracker — bumped snapshot count and TRACKED_REPOS
    (added agentic-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

Choose a tag to compare

@zsxh1990 zsxh1990 released this 05 Jul 04:19

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

Choose a tag to compare

@zsxh1990 zsxh1990 released this 04 Jul 12:00

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