claude-home/paper-dynasty/2026-03-23.md
Cal Corum cc7617cbaa
All checks were successful
Reindex Knowledge Base / reindex (push) Successful in 5s
docs: sync KB — 2026-03-23.md
2026-03-23 14:00:43 -05:00

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
paper-dynasty
deployment
discord
database
card-creation
ci-cd
refractor

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.

  1. Reviewed 12 PRs across all repos — Ran pd-ops GO/NO-GO assessment on ai-reviewed PRs, then launched 11 parallel pr-reviewer agents against all ai-reviewing PRs. Results: 4 approved, 7 changes requested, 1 do-not-merge.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. Built /release skill — Shell script at .claude/skills/release/release.sh that validates repo state, auto-increments CalVer from existing git tags, creates tag, and pushes to trigger CI. Supports database, discord, and card-creation services.

  8. Migrated pd-ops agent to project-level — Moved from ~/.claude/agents/pd-ops.md to .claude/agents/pd-ops.md in the umbrella repo. Updated with /release skill reference and new CI/CD conventions.

  9. 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