Lesson 74: Waiver Renewal Promotion Decision Packet Template for Scorecard, Playbook, Corrective Acceptance, and Executive Exceptions in RPG Live-Ops
Lessons 72 through 73 gave you a scorecard and a playbook matrix. Neither artifact is enough for a promotion room if reviewers still chase links across five tools during the same meeting.
In this lesson, you will build one promotion decision packet template that merges the scorecard snapshot, playbook completion, corrective packet acceptance, and any executive exception into a single reviewer-facing bundle.

What this lesson solves
You need a packet that answers four questions without opening side chats:
- What closure reliability state did we believe at decision time, and for which window?
- Which escalation playbook rows were executed, and which gates cleared?
- Which corrective action packs reached
acceptedclosure, with ids attached? - If anything was promoted under exception, who approved it and where is the rationale stored?
Prerequisites: Lessons 71, 72, and 73.
Expected time: 95-115 minutes including one dry-run promotion review.
Start from the consolidated escalation framing in Lesson 73: Waiver Renewal Intervention Escalation Playbook Matrix for Closure Reliability Failure Modes Before Release-Gate Promotion in RPG Live-Ops so your packet fields stay aligned with playbook row ids.
What you will build
By the end of this lesson, you will have:
- A
promotion_decision_packet_policy.mdcontract - A
promotion_decision_packet.csvrow schema for one promotion decision - A short packet assembly checklist your release ops can run in order
- Explicit rules for when an executive exception is allowed to appear in the same file as a green recommendation
Step 1 - Define packet policy scope
Create promotion_decision_packet_policy.md and lock:
- which promotion types require this packet (production deploy, store submission, live toggles)
- maximum age of attached scorecard snapshot relative to decision timestamp
- whether
executive_exception_present = truealways forcespromotion_decision = holdunless a named approver row exists - required minimum fields before the packet may be labeled
complete
If "complete" is undefined, teams will mark packets done early to unblock calendars.
Step 2 - Design promotion_decision_packet.csv
Use one row per promotion decision event (not per lane). Suggested columns:
| column | purpose |
|---|---|
promotion_packet_id |
stable id |
promotion_window_id |
release or review anchor |
closure_scorecard_snapshot_id |
Lesson 72 reference |
closure_reliability_worst_band |
green, yellow, or red across reviewed lanes |
dominant_failure_modes_summary |
short text or structured list |
escalation_playbook_row_ids |
comma-separated Lesson 73 ids applied this window |
playbook_gates_cleared |
machine-readable list matching Lesson 73 block_promotion_until |
corrective_packet_ids_accepted |
Lesson 71 ids in accepted state |
corrective_packet_acceptance_utc_latest |
latest acceptance timestamp among those ids |
executive_exception_present |
true or false |
executive_exception_approver_role |
empty unless exception is true |
executive_exception_rationale_uri |
link or doc anchor, empty unless exception is true |
executive_exception_expires_at_utc |
optional time box |
promotion_reviewer_panel |
roles or names allowed to sign |
promotion_decision |
promote, hold, or rollback_recommendation |
promotion_decision_at_utc |
verdict timestamp |
packet_template_version |
version stamp |
packet_owner_ack |
accountable owner plus timestamp |
This shape is intentionally wide so you cannot "forget" exception metadata when exceptions exist.
Step 3 - Assembly order (release ops checklist)
Publish a numbered assembly list:
- Freeze
closure_scorecard_snapshot_idfor the window under review. - List playbook rows triggered by that snapshot and attach completion evidence per row.
- Attach corrective packet ids only if state is
accepted; otherwise keep decision athold. - If any gate is bypassed, require executive exception fields before
promoteis allowed. - Record
promotion_decision_at_utconly after steps 1-4 are satisfied.
Order matters: skipping steps is how yellow branches become "verbal green."
Step 4 - Exception discipline
If executive_exception_present is true:
executive_exception_approver_rolemust be a single named role from your governance docexecutive_exception_rationale_urimust resolve to text, not a thread title- default
promotion_decisionshould beholduntil rationale and expiry are present
If your org forbids exceptions entirely, set policy to false always and delete the columns from your template in tooling, but keep the policy sentence so future teams do not reintroduce silent bypasses.
Step 5 - Dry-run one meeting
Take a historical yellow week:
- Fill the csv row from memory or archives.
- Identify one missing field that would have blocked promotion.
- Compare to what actually shipped.
If the dry-run does not surface at least one near-miss, your columns are too loose.
Success check
You are done when:
- Reviewers open one packet and see scorecard, playbook, corrective acceptance, and exceptions in one traceable row
promotecannot be recorded withoutpromotion_decision_at_utcand snapshot id- Exception metadata is either complete or decision stays
hold
Common mistakes
Mistake: Treating the packet as a slide deck
Fix: the csv row (or equivalent record) is the system of record; slides are optional readouts.
Mistake: Allowing exceptions without expiry
Fix: add executive_exception_expires_at_utc or require a follow-up packet id for the next window.
Mistake: Mixing draft corrective packets into accepted lists
Fix: filter strictly on accepted; keep in_review ids in a separate "open risk" section outside the promotion row.
Pro tips
- Mirror packet ids in your change ticketing subject line so search stays cheap.
- For finance-facing readouts, pair this lesson with How to Run a Weekly Debt Retirement Forecast Review for Live-Ops Teams (2026) so capacity language stays consistent across promotion and debt forums.
Mini challenge
- Pick one past week with a yellow lane.
- Draft the promotion packet row honestly, including one deliberate gap.
- Fix the gap and record how many minutes it would have saved in a live review.
FAQ
Should this packet live in a wiki or a database?
Either works if the csv schema fields exist as queryable facts. Wikis without structured fields regress into narrative risk.
What if scorecard and playbook disagree?
Hold promotion, reconcile in writing, then refresh snapshot and row list before a new decision timestamp.
Do we need a new packet for hotfix-only pushes?
If the hotfix touches waiver or closure lanes, yes. If policy says no, document that exclusion in promotion_decision_packet_policy.md to avoid silent scope creep.
Lesson recap
You now have a promotion decision packet template that merges closure reliability evidence, escalation playbook execution, corrective acceptance, and executive exceptions into one auditable promotion record.
Next lesson teaser
Next, continue with Lesson 75: Waiver Renewal Post-Promotion Audit Export for Rollback Evidence and Incident Lineage in RPG Live-Ops, which snapshots the decision packet into long-retention storage and ties exports to rollback or incident records when execution diverges from the promote verdict.
Related learning
- Lesson 73: Waiver Renewal Intervention Escalation Playbook Matrix for Closure Reliability Failure Modes Before Release-Gate Promotion in RPG Live-Ops
- Lesson 72: Waiver Renewal Intervention Closure Reliability Scorecard for Turnaround, Acceptance Stability, and Recurrence Risk in RPG Live-Ops
- 18 Free Release Gate Evidence Packet Templates for Indie Teams (2026 Q4)