4.4 KiB
| title | description | type | domain | tags | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| PR Review Pipeline + Refractor Rename + CI/CD Modernization | Reviewed 12 PRs across all PD repos, completed Refractor rename on Discord PRs, converted CI to tag-based builds, built /release skill, migrated pd-ops agent. | context | paper-dynasty |
|
PR Review Pipeline + Refractor Rename + CI/CD Modernization
Date: 2026-03-23 Repos: paper-dynasty-umbrella, paper-dynasty-database, paper-dynasty-discord, paper-dynasty-card-creation
What Was Done
Major cross-repo operations session covering PR review, feature work, and infrastructure modernization.
-
Reviewed 12 PRs across all repos — Ran pd-ops GO/NO-GO assessment on
ai-reviewedPRs, then launched 11 parallel pr-reviewer agents against allai-reviewingPRs. Results: 4 approved, 7 changes requested, 1 do-not-merge. -
Merged 3 clean PRs — card-creation #30 (pytest.mark.asyncio), card-creation #41 (timeout fix), database #127 (SQLite refs cleanup). Closed database #99 as superseded by #89.
-
Completed Refractor rename on Discord PRs #87 and #88 — Renamed Evolution system to Refractor across cog files, test files, tier names, and badge labels. Multiple review-fix-push cycles to nail down the final tier names.
-
Finalized Refractor tier names — Base Card (T0) → Base Chrome (T1) → Refractor (T2) → Gold Refractor (T3) → Superfractor (T4). Badge labels: [BC], [R], [GR], [SF]. No badge for T0.
-
Closed PR #84 and created fresh migration PR #128 — Old migration had schema drift (single player_season_stats vs split batting/pitching). Validated dev database has all evolution tables already applied; prod does not. New migration SQL generated from actual dev schema.
-
Converted CI/CD to tag-based Docker builds — Replaced branch/PR-triggered builds with tag-only triggers matching Major Domo pattern. Created PRs: database #129, discord #110. Removed calver/docker-tags/gitea-tag reusable actions. Added build cache to database workflow.
-
Built
/releaseskill — Shell script at.claude/skills/release/release.shthat validates repo state, auto-increments CalVer from existing git tags, creates tag, and pushes to trigger CI. Supports database, discord, and card-creation services. -
Migrated pd-ops agent to project-level — Moved from
~/.claude/agents/pd-ops.mdto.claude/agents/pd-ops.mdin the umbrella repo. Updated with/releaseskill reference and new CI/CD conventions. -
Fixed card-creation #47 — Pushed url_get return type fix (dict, not aiohttp.ClientResponse). PR reviewer found the function body also needs updating — still returns raw response object.
Decisions
Refractor Tier Names (Final)
Settled on baseball card collecting terminology. T3 and T4 were both "Superfractor" initially — Cal corrected to shift all tiers down by one so each tier has a unique name. T4 ("Superfractor") is the only fully-evolved state.
Tag-Based CI Over Auto-Tag
Chose fully manual tagging (Major Domo pattern) over auto-tag-on-merge. Auto-tagging adds noise — not every merge is release-worthy. The /release skill provides the convenience layer without the automation overhead.
pd-ops Stays One Agent (No Separate pd-ci)
CI/CD knowledge belongs in pd-ops, not a separate agent. Release coordination is a natural extension of pd-ops' merge and deploy responsibilities. A /release skill gives the action without splitting the persona.
context7 MCP Not Worth Adding Yet
Researched context7 for live library docs. FastAPI and aiohttp are well-indexed, but discord.py and Peewee (the two most hallucination-prone libraries) are not. Coverage too patchy to justify the overhead.
Follow-Up
| Item | Repo | Priority |
|---|---|---|
| Merge CI PRs #129 and #110 | database, discord | High |
| Final review pass on Discord #87 and #88 | discord | High |
| Fix card-creation #47 (url_get body + hardcoded token) | card-creation | Medium |
| Address database #128 reviewer feedback (card_type uniqueness, rollback section) | database | Medium |
| Fix database #125 (skill scripts pagination + false assertions) | database | Medium |
| Fix database #126 (compose.production.yml + docs cleanup) | database | Low |
| Rotate exposed secrets (card-creation #50, database #9) | card-creation, database | High |
| Run evolution migration on prod when ready | database | Medium |