---
title: "Refractor Dev Deploy + Priority Council"
description: "Deployed Refractor rename to dev (DB + Discord), created test plan, built council-meeting skill, ran first PO priority council."
type: context
domain: paper-dynasty
tags: [paper-dynasty, database, discord, deployment, refractor]
---

# Refractor Dev Deploy + Priority Council

**Date:** 2026-03-24
**Repos:** paper-dynasty (orchestration), paper-dynasty-database, paper-dynasty-discord

## What Was Done

1. **Refractor dev deployment unblocked** — Discovered the DB API `dev` tag was behind the rename PR #131. pd-ops reconciled the DB repo (local main diverged from origin), merged CI catchup as PR #153, and retagged `dev` at `6a217f9`.

2. **Discord PR #114 merged** — pd-ops rebased the `evolution/cards` -> `refractor/cards` endpoint rename PR onto main, reviewed, merged, and retagged Discord `dev` at `55efdb3`.

3. **Refractor test plan created** — Comprehensive 5-phase manual test plan covering smoke tests, `/refractor status` filters, post-game evaluation, card embed badges, and error resilience. Saved as `discord-app/tests/refractor-preflight.sh` (scriptable pre-flight checks) and documented in plan file.

4. **Priority council conducted** — Spawned pd-database, pd-discord, and pd-cards as a team to deliberate on next priorities. Council converged on:
   - Merge pagination PRs #150-#152 (quick wins)
   - HTTPException fix (#4) — correctness bug affecting all API consumers
   - Pack-opening perf cluster (#98-#101) — event loop blocking bug
   - SQLite removal PR #126 + ranked mode PR #73
   - Content pipeline automation (#11)

5. **`/council-meeting` skill created** — Repeatable multi-round deliberation skill for PO agents. Supports 3-5 rounds of propose/debate/vote with pd-database, pd-discord, pd-cards, and pd-growth (Opus model). Output is a ranked recommendation.

6. **Pagination PR #154 opened** — scout_opportunities endpoint, created by pd-ops during repo work.

## Decisions

### No backward compatibility for evolution endpoints
The DB API rename (PR #131) removes `/evolution/` routes entirely — only `/refractor/` is served. The Discord bot's `helpers/main.py:118` still calls the old path, so card embed badges won't display until PR #114's changes are deployed. This was a deliberate choice — no backward-compat shims.

### Council meeting uses Opus for all PO agents
Sonnet worked for the first run but Cal requested Opus for deeper reasoning in the multi-round deliberation format. The `/council-meeting` skill defaults to Opus for all 4 agents.

### pd-growth included in council by default
The 4th strategic agent (pd-growth) is included alongside the 3 domain POs to provide retention/acquisition/engagement perspective during priority discussions.

## Follow-Up

| # | Title | Priority |
|---|-------|----------|
| — | Refractor manual testing in dev Discord server | High |
| — | Verify Docker builds triggered for both repos (dev tags) | High |
| #150 | [Merge notifications pagination PR](https://git.manticorum.com/cal/paper-dynasty-database/pulls/150) | Medium |
| #151 | [Merge scout_claims pagination PR](https://git.manticorum.com/cal/paper-dynasty-database/pulls/151) | Medium |
| #152 | [Merge rewards pagination PR](https://git.manticorum.com/cal/paper-dynasty-database/pulls/152) | Medium |
| #154 | [Merge scout_opportunities pagination PR](https://git.manticorum.com/cal/paper-dynasty-database/pulls/154) | Medium |
| #4 | HTTPException fix — needs new PR (old #47 closed) | High |
| #98-#101 | Pack-opening perf cluster (Discord) | High |

## Files Changed

- `.claude/skills/council-meeting/SKILL.md` — new skill for repeatable PO deliberation
- `discord-app/tests/refractor-preflight.sh` — scriptable pre-deploy verification checks
- `.claude/plans/tidy-stirring-globe.md` — Refractor test plan
- `.claude/command-permissions.json` — added `git tag*` project permission
