Files
realms-in-ruin-dev/Documentation/Phase2/02-Phase2A-OpenDecisions.md
T
tedwardsandCursor 9919faab4a Document Phase 2A1 runtime baseline evidence and open decisions.
Capture bounded PIE observations for ASC/legacy divergence, HUD, and blocked ability/multiplayer paths without implementing fixes.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 06:22:50 -07:00

6.4 KiB
Raw Blame History

Phase 2A1 — Open Decisions

Field Value
Status Draft
Date 2026-07-17
Git commit aa0058a0
Rule Options listed only — none selected in this batch

Decisions that remain open after Phase 1 static archaeology plus Phase 2A1 runtime evidence. Do not treat this document as an approved architecture contract.

Decision Static evidence Runtime evidence Options Blocking unknown Required approval
Canonical health source of truth Dual pools: ASC Health/MaxHealth vs DEPRECATED_CurrentHealth/MaxHealth; combat uses legacy; potions use ASC ASC init 75/100 confirmed; Amazonian/Paladin legacy Current/Max Health = 0 at spawn; Overlay binds ASC A) ASC only immediately B) Legacy only during reconstruction C) ASC canonical with temporary legacy mirror D) Character-specific transitional policy Whether death/combat must keep working on legacy-zero characters before mirror Phase 2A2 architecture contract
Canonical mana source of truth Abilities use DEPRECATED_*Mana + FCanUseMana; potions modify ASC Mana ASC Mana 25/50; Paladin legacy Mana 100/100; Amazonian legacy Mana 0/0; Paladin Ability004ManaCost CDO = 0 A) ASC only B) Legacy only during reconstruction C) ASC + mirror D) Per-ability migration Ability cost mutation path not runtime-proven (input Tool Limitation) Phase 2A2
Canonical stamina source of truth ASC Stamina attrs present; no stamina widget; no stamina pickup ASC Stamina 0/0; Amazonian legacy stamina 85/100; Paladin legacy stamina 0/0 A) ASC only B) Legacy only C) Defer stamina until after health/mana D) Remove stamina until redesigned Whether stamina is required for Phase 2B ability framework Phase 2A2 + design
Temporary legacy mirror during reconstruction No sync code found Confirmed divergent values at spawn; Overlay shows ASC while combat vars are legacy zeros A) One-way ASC→legacy B) One-way legacy→ASC C) Bidirectional during transition D) No mirror; switch cutover Which systems still read legacy at runtime (death path not executed) Phase 2A2
Where damage must enter shared framework Player ApplyDamage + legacy health; potions via GE; enemy inbound Missing Damage path not exercised (no enemy attack; ability input Tool Limitation) A) Gameplay Effect Execution only B) Shared native damage API writing ASC C) Keep ApplyDamage adapter to ASC D) Hybrid Runtime authority of ApplyDamage vs GE still unverified Phase 2A2 after RT damage evidence
Where death threshold evaluation must occur Amazonian AnyDamage → subtract legacy health → ≤0 PlayerDeath Not observed; legacy health already 0 at spawn implies immediate death-threshold risk if AnyDamage fires A) ASC Health ≤0 B) Legacy ≤0 C) Shared Predicates on ASC with legacy shim D) Tag-based death Whether AnyDamage runs with CurrentHealth=0 Phase 2A2 + optional targeted death PIE
Whether AnimNotifies may trigger authoritative gameplay Static: UseAbility* from AN_*; Multicast montage; server notify evaluation assumed Ability/notify chain not executed (Enhanced Input Tool Limitation) A) Forbid authoritative notify gameplay B) Allow only on Authority with validation C) Move timing to Ability Tasks D) Keep notify for VFX only Server vs client notify execution roles unknown at runtime Phase 2A2 after RT-004/008
Required interruption and cleanup contract AN_AttackComplete clears CurrentlyAttacking; montage complete pins unconnected; interrupt may skip cleanup Interrupt test blocked; cleanup not observed A) Ability Task end states B) Cancel tags C) Explicit EndAbility + force clear CurrentlyAttacking D) Montage blend-out notify required Which existing actions can interrupt without asset edits Phase 2A2 / 2B
Required respawn and HUD lifecycle contract Server_RespawnPlayer ~2s; Overlay recreate risk; stale widgets possible RT-006 blocked — respawn/HUD recreation not observed A) Destroy+recreate Overlay each possess B) Rebind existing Overlay C) HUD owned by PC only D) PlayerState-driven Overlay Post-respawn Owner/Avatar and Overlay instance counts Phase 2A2 after RT-006
Pickup authority model No authority gate; bReplicates=false; overlap→GE→destroy HealthPotion runtime bReplicates=false confirmed; overlap/GE apply not observed A) Server-only overlap apply + replicate actor B) Server RPC from client overlap C) GAS cue + server GE only D) Keep local for SP prototypes Duplicate apply / client desync still unverified in MP Phase 2A2 / 2E after RT-010
PlayerState versus pawn ownership boundaries ASC on ARIRPlayerState; pawn caches via InitAbilityActorInfo; Overlay via HUD PS ASC works; pawn attribute query works; enemy ASC component present but inspector rejects actor A) Keep ASC on PlayerState for players B) Move ASC to pawn C) Dual ownership with clear Avatar rules D) Enemy-specific ASC init contract Enemy ASC InitAbilityActorInfo / interface exposure at runtime Phase 2A2
How to enable 2-client PIE for remaining evidence MCP StartPIE lacks NumberOfPlayers; PlayIn settings exist Read: playNumberOfClients=1, PIE_Standalone; non-persisting UI set not achieved; config save unauthorized A) Manual editor Play settings (user) then re-run RT-007010 B) Authorize transient SetSectionProperties without Save if possible C) Defer MP until harness exists D) Dedicated listen-server process (out of scope) Whether editor can raise clients without writing config Environment / user authorization
Enhanced Input injection for automated ability tests Input maps IA_Ability_* in IMC_PlayerDefault Slate PressKey does not activate abilities; OS injection blocked by policy A) Manual human-driven ability tests B) Authorize OS input for evidence harness C) Temporary debug console activate (unauthorized now) D) Automation Driver outside MCP Cannot close AnimNotify/authority decisions without ability fire Environment / Phase 2A validation harness

Explicitly not decided here

  • Final Gameplay Ability class layout
  • Final attribute set schema changes
  • Whether to delete DEPRECATED_* in Phase 2A
  • Per-character reconstruction order changes

Next authorized step (outside this batch)

Begin Phase 2A2 only after explicit authorization: propose shared resource/authority/damage/death/cleanup contracts using these open rows — still no implementation until contracts are approved.