Docs: adopt End-of-Month slice as Decision-Gate answer + SL-1..7 plan (DR-035)

Reconcile the roadmap to the just-committed End_Of_Month_Game_Jam_Slice
("Awakening Engine Last Stand"). 9-agent grounded code audit: 13/14 slice
systems already shipped; END-2 (final siege + latching win) is the one
blocker. Decision Gate answered early as ship-the-minimum.

- DR-035 (new): adopt the slice; END-2 charge cadence LOCKED siege-survived-only
- Backlog: NEXT reframed to the slice + SL-1..SL-7 milestones (END-2 = SL-3, critical path)
- Milestones: close ledger gap (MC-1 PASS / MC-4 / base-mining / EB-1 / EB-2 / END-1) + slice row
- Path_to_Fun: top pointer (stays long-term north-star; Path B untouched)
- Slice doc: Status & Navigation cross-links

CLAUDE.md intentionally unchanged (no budget headroom; conventions doc, uncontradicted).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-13 13:23:21 -07:00
parent 42691e5431
commit 33c85c4f9a
5 changed files with 121 additions and 9 deletions
@@ -0,0 +1,50 @@
---
id: DR-035
title: End-of-Month Game Jam Slice — answer the Decision Gate as SHIP
status: accepted
date: 2026-06-13
tags:
- decision
- roadmap
- slice
- game-jam
- endgame
- end-2
permalink: gamevault/07-sessions/decisions/dr-035-end-of-month-slice-adoption
---
# DR-035 — Adopt the End-of-Month Game Jam Slice (the Decision-Gate answer)
> Answers the **Path A Decision Gate** ([[Path_to_Fun#The Decision Gate (MANDATORY STOP after END-2)]]) as **option 1 — ship the minimum**, scoped to a June 30 deliverable. Spec: [[End_Of_Month_Game_Jam_Slice]]. Continues [[DR-028_Combat_Primary_Verb_Depth_First]] · [[DR-029_Path_A_Fork_Locks]]. Final mechanic spec'd at [[Path_to_Fun#END-2 — The charge means something: the cap arms a final siege, win or lose]].
## Context
Path A's spine is essentially built. A code audit (9-agent workflow, 2026-06-13) confirmed **13 of 14 slice systems are shipped and netcode-verified**: combat verbs (movement, dash MC-1, melee combo MC-4, ranged poke), base-local Ore mining (DR-031), the Turret/Wall/Fabricator build palette (DR-021), the Ore→Fabricator→Charge→turret economy (EB-2 / DR-033), destructible structures (EB-1 / DR-032), and the soft-loss Engine Core (END-1 / DR-034). The project no longer needs *more systems*; it needs the loop made into **one cohesive, winnable, visually-unified demo**.
The operator committed [[End_Of_Month_Game_Jam_Slice]] ("Awakening Engine Last Stand") as the working target: a compact top-down ARPG / survival base-defense run — mine, build, feed the turrets, hold the Core through a final siege, win-or-lose in **58 minutes**, in **one compact arena**. This is the Decision Gate answered *early* (before END-2) and answered as **ship**, with a stronger art-direction / cohesion / tuning emphasis than `Path_to_Fun` specified.
## Decision
**1. The slice is the active operational target for June 1330.** [[End_Of_Month_Game_Jam_Slice]] is the north-star for the month; [[Path_to_Fun]] remains the long-term design reference (north-star for the *full* game). Path B stays **provisional and unscheduled** — the formal ship-vs-continue Decision-Gate note is logged *after* the slice ships, not now.
**2. END-2 (final siege + win condition) is the one un-built spine mechanic and the critical path.** Today `CyclePhaseSystem` increments `GoalProgress.Charge` past `Target` forever with no clamp and no consequence; there is a clear **loss** (Core overrun → transient `OverrunTick` flash, DR-034) but **no terminal win**. END-2 is spec'd in `Path_to_Fun` (a server-only `GoalReachedSystem` arming a larger final siege via the existing `ThreatState.PendingSiegeSize` entry point; `RunPhase{byte=FinalDefense}`; a latching `RunOutcome{byte=Victory|Loss}`; a client-only HUD banner reusing END-1's overrun-banner pattern; **clamp the uncapped `Charge`**). It must land by **June 26** so tuning + polish have room. See the milestone breakdown in [[Backlog#NEXT — Awakening Engine Last Stand (End-of-Month Slice)]].
**3. Scope collapses to ONE compact arena.** The base+expedition coordinate-region split (DR-013/DR-025) stays in code, but the expedition is **already dormant and hidden per-connection via `GhostRelevancy`** (DR-031) — so "one arena" is a *scope/visual* decision (compact footprint, Core as focal point, closer ARPG camera), not a netcode rewrite. The base biome may need re-dressing/darkening toward the slice's "small industrial clearing / dark frontier" mood (slice §Visual Direction).
**4. Foreground = the slice's Minimum Feature Set; everything else is CUT for the month.** Explicitly not-now (already paused/deferred, now reaffirmed): expedition polish, inventory/equipment Phases 24 (DR-026/027), automation presentation (Harvester/Conveyor stay null in the catalog, DR-020), tool-gated harvest (EB-4), boss/new-faction, narrative/Echo, Blender pipeline, render-style experiments, large world/biome redo. The Path B menu is untouched.
**5. The CLAUDE.md reconciliation is intentionally a no-op.** `CLAUDE.md` is at **40,457 / 40,960 bytes** (no headroom) and is a *conventions/gotchas* doc, not a roadmap pointer; nothing in it is contradicted by the slice (the architecture it documents — base/expedition split, relevancy, soft-loss Core — all still holds). The roadmap reconciliation lives in the vault ([[Backlog]] · [[Milestones]] · [[Path_to_Fun]] · this DR), which is the correct home and respects the size budget.
## Locked fork — END-2 charge cadence (2026-06-13)
**LOCKED: siege-survived-only** (operator decision, 2026-06-13, via the present-the-forks ritual — [[present-forks-dont-auto-decide]]). The goal meter advances **+1 per survived siege** (already how `CyclePhaseSystem` works — zero new writer). `Path_to_Fun`'s earlier "Both" cadence (surviving sieges **and** Aether deposited at the Engine) is **re-locked down to siege-survived-only for the slice** and the Aether-deposit writer is **deferred to a post-slice expansion**. Rationale: simplest single-writer, zero economy dependency, lowest risk inside the END-2 window. So END-2's scope is just the arming/clamp/win-lose edges + banner — no deposit-writer, no co-op double-count guard beyond the existing single-writer.
## Minor scope note
The build palette ships **4** entries (Turret / Wall / **Pylon** / Fabricator); the slice names **3** (Turret / Wall / Fabricator). Pylon is a cosmetic defensive beacon with no special function. SL-1 decides: give Pylon a clear gameplay/composition job + cyan accent, or cut it from the palette (subscene authoring). Not a blocker.
## Consequences
- The forward pool ([[Backlog]]) is reframed around the slice; SL-1…SL-7 become the daily commitment (see the milestone list there).
- A post-slice session note / follow-up DR logs the **formal Decision Gate** (ship-and-stop vs. commit to one Path B milestone) after June 30 — Path B may not start until that is logged.
- No save-schema change: `RunPhase`/`RunOutcome` are server-only single-writer bytes, derivable on load from `Charge` + phase state, so SaveData stays at **v4** (DR-034).