Files
realms-in-ruin-dev/Documentation/Archaeology/01-ExecutiveSummary.md
T
tedwardsandCursor aa0058a018 Document Pass 11 Phase 1 synthesis and close static archaeology.
Add executive summary and ability migration matrix; finalize evidence index, runtime validation plan, and Phase 1 handoff.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 23:40:52 -07:00

21 KiB
Raw Blame History

01 — Executive Summary

Status: Complete

  • Scope: Phase 1 synthesis — evidence-grounded description of the project as it currently exists after static archaeology (Batches 14; Passes 010). No implementation, repair, or runtime testing.
  • Inspection method: Cross-document synthesis of archaeology docs 00, 00A, 0206, 0815; read-only continuity MCP only.
  • Evidence classifications used: Observed Implementation, Documented Intent, Observed Runtime Behavior, Inferred, Unknown.
  • Tool or visibility limitations: CustomEvent Reliability flags unreadable via MCP; AnimGraph/transition DSL empty; montage notify trigger times require Manual Editor; no PIE executed in Phase 1.
  • Last updated: 2026-07-16
  • Current phase: Phase 1 — Static Architecture (complete)
  • Last completed pass: Pass 11 (Batch 5 synthesis)
  • Next pass expected to contribute: Phase 2A when explicitly authorized

1. Purpose and scope

This document closes Phase 1 Static Architecture. It synthesizes recovered evidence into a coherent picture of:

  • What exists, is connected, is active but unverified, is partial, is missing
  • What is deprecated but still active, scaffolding only, or present but unreferenced
  • What requires runtime verification vs what can be reconstructed or replaced in Phase 2

It does not authorize implementation, asset modification, or Phase 2 work.


2. Methodology and evidence model

Classification Meaning
Observed Implementation Static graph, CDO, source, or config evidence
Documented Intent Comments, interface stubs, orphan assets suggesting design
Observed Runtime Behavior Project-supplied baseline brief only (not re-tested in Phase 1)
Inferred Reasonable conclusion from static structure without direct proof
Unknown Not resolvable with approved static tools

Implementation statuses and issue classifications follow Pass 11 authorization vocabulary (Active, Partial, Stub, Missing, Deprecated but Connected, Scaffolding Only, Authority Risk, Requires Runtime Inspection, etc.).

Rule: Presence ≠ reachability ≠ runtime correctness. Later exact evidence supersedes earlier preliminary statements.


3. Project recovery and UE 5.8 migration status

Fact Classification
Recovered and migrated from UE 5.4.4 → UE 5.8 Established baseline
UE 5.8 runtime parity vs known pre-migration baseline Passed (project brief)
Known gameplay defects Existing Baseline Defects, not established migration regressions
AdvancedSessions / AdvancedSteamSessions Replaced with UE 5.8compatible project plugins
Remaining NetUpdateFrequency warning Outside Phase 1 scope

4. Current architecture at a glance

flowchart TD
  MainMenu[MainMenu_GM_MainMenu] --> Sessions[PC_MainMenu_AdvancedSessions]
  Sessions -->|Host_listen| DevIsland[Dev_Island]
  MainMenu -->|NewGame| Test01[Test01]
  Test01 --> CharSelect[WBP_CharacterSelect]
  CharSelect --> Spawn[PC_SpawnActor_Possess]
  Spawn --> Player[BP_PlayerCharacterBase_children]
  Player -->|Legacy_Server_Ability| Montage[Multicast_PlayMontage]
  Montage --> AN[AN_Ability_plus_AN_AttackComplete]
  Player -->|ASC_on| PS[ARIRPlayerState]
  PS --> Overlay[WBP_Overlay_Health_Mana]
  Potions[EffectActor_pickups] -->|GE_only_path| PS
  Enemy[BP_Enemy_Skeleton] -->|ASC_on_self| EnemyASC[Enemy_ASC]
  Enemy -->|Combat| MissingAI[Chase_Attack_Damage_Missing]

Native player: ARIRBaseCharacterARIRPlayerCharacterBP_PlayerCharacterBase → five Player_* children.
Player ASC / AttributeSet: on ARIRPlayerState.
Combat: legacy Blueprint abilities via Enhanced Input → Server_Ability_* → Multicast montage → AnimNotify UseAbility*no connected Gameplay Ability grant/activation.


5. What currently exists

  • Playable hierarchy and shared ability input/RPC scaffolding
  • Paladin / Amazonian / Cleric substantive ability graphs (varying completeness)
  • Wizard / Gunslinger character assets (stubs / data-only)
  • Player and enemy ASC + AttributeSet with replication
  • Eight Gameplay Effect assets (four consumable, four orphan defaults)
  • Project Gameplay Tags in INI (unused)
  • Main menu, session create/find/join graphs, character select, Overlay HUD
  • Four GE pickups + gold pickup path
  • Enemy highlight (ITargetInterface) and empty combat EventGraphs
  • AnimNotifies AN_Ability_001004, AN_AttackComplete

6. What is currently connected

Path Status
IA → Server_Ability_* → child overrides (where present) Connected
Multicast_PlayMontage → AnimNotifies → Authority UseAbility* / SetIsAttacking Connected (notify-driven)
Char-select (server) → SpawnActor+Possess Connected (SP/server path)
Host CreateAdvancedSession → OpenLevel Dev_Island ?listen Connected (static)
FindSessions → WBP_GameSlot presentation Connected (static)
ASC Overlay Health/Mana bar bindings Connected (static)
EffectActor overlap → ApplyGameplayEffectSpecToSelf → Destroy Connected (static)
Gold overlap → AddGold call Connected caller; receiver unimplemented
Enemy GetASC via interface Connected call path → nullptr on enemies

7. What is known to work

Item Evidence
Amazonian Ability 001 / melee Observed Runtime Behavior (supplied baseline brief)
UE 5.8 parity vs pre-migration baseline Project recovery brief
Enemy highlight on/off Observed Implementation (native)

All other gameplay paths remain Active but Unverified or Requires Runtime Inspection until Phase 2 validation.


8. What is partial

  • Paladin Ability 002 (block presentation); Paladin 004 FX hole
  • Cleric 001 (montage, dead notify), 002 (heal + FX hole), 004 (mana bypass + empty SpawnActor)
  • Amazonian death (legacy health); whirlwind setter unconnected
  • Sessions (no DestroySession; Join lacks explicit success travel; OSS INI Missing)
  • Character select (server-only widget create; Gunslinger absent)
  • Gold (SFX+destroy without score mutation)
  • Dual HUD (Overlay connected; legacy UpdatePlayerHUD unimplemented)
  • Enemy death ABP (Death state exists; IsDead forced false every Update)

9. What is missing

  • Project Gameplay Ability assets, grant, activation, costs/cooldowns, cues, MMCs
  • Connected enemy target acquisition, chase, attack, outbound damage, inbound damage
  • Behavior Tree / Blackboard / custom AIController / perception
  • OnlineSubsystem / Steam project INI configuration
  • DestroySession / EndSession paths
  • Stamina Overlay widget and stamina pickups
  • Gunslinger combat, AnimBP, GE, and select-UI entry
  • Default attribute GE application (BP_PlayerState.DefaultAttributesGameplayEffect = None)
  • Most Server_Ability_*_End bodies
  • NavMeshBoundsVolume / RecastNavMesh in Test01 (secondary to missing MoveTo)

10. Major static defects

Defect Issue classification Doc
Dual DEPRECATED vs ASC resources with no sync Incomplete Refactor 05, 06
Enemy chase/attack/damage reception absent Existing Baseline Defect / Implementation Missing 09
Enemy GetASC → PlayerState → nullptr Incomplete Refactor 06, 09, 12
ABP_Skeleton forces IsDead false Connected but Incomplete 09, 10
Cleric 004 mana Branch = literal true; SpawnActor Class empty Existing Baseline Defect 05
Multicast montage completion pins unwired Networking Risk / Incomplete Refactor 05, 10
EffectActor no authority; bReplicates=false Authority Risk 12
AddGold / UpdatePlayerHUD unimplemented Incomplete Refactor 11, 12, 03
OnlineSubsystem project INI absent Configuration Gap 02, 11
Player ApplyDamage with no enemy health consumer Existing Baseline Defect (enemy side) 05, 09

11. Major authority / network risks

  1. Gameplay on Multicast notify evaluation — hit windows require server montage notify evaluation; interrupt may skip AN_AttackComplete.
  2. EffectActor pickups — no SwitchHasAuthority; non-replicating actors.
  3. Character select — widget created only on Authority∧IsServer; remote clients may lack UI.
  4. JoinSession — no explicit OnSuccess / ClientTravel in DSL.
  5. CustomEvent Reliability — Unknown — Tool Limitation for all ability RPCs.
  6. Gold — authority-gated pickup calling unimplemented AddGold (cosmetic-only result today).

12. GAS migration state

Layer Status
ASC ownership + actor-info init Active (player PS; enemy self)
AttributeSet replication Active
DefaultAttributes GE apply Scaffolding Only / Present but Unreferenced
Consumable GEs Partially Integrated (only confirmed GE apply path)
Gameplay Abilities Scaffolding Only (URIRGameplayAbility); grant/activate Missing
Gameplay Tags Present but Unreferenced
Gameplay Cues Missing
Legacy↔ASC sync Missing

Disposition: Stabilize canonical attributes/authority in Phase 2A before migrating abilities into GAS. Do not treat orphan default GEs or unconnected Wizard FX as final ability design.


13. Playable-character status

Character Combat status Notes
Paladin Broadest Implemented set after Cleric richness 001/003/004 Implemented; 002 Partial; no parent calls
Amazonian 001 Implemented + runtime-confirmed melee 002004 Stub; whirlwind unconnected
Cleric Richest event surface; highest duplication risk 003 Implemented; 001/002/004 Partial; vestigial AN_003
Wizard Stub PrintString only Unconnected NS/GE/projectile — Documented Intent only
Gunslinger Data-only Stub Absent from character select; no AnimBP/GE

14. Enemy-system status

Concern Status
Control Stock AIController; AutoPossessAI=PlacedInWorld
Target / chase / attack Implementation Missing
Damage reception / ApplyDamage bridge Implementation Missing
Death Connected but Incomplete (ABP forced false)
GAS GetASC Existing Baseline Defect (nullptr)
Navmesh Test01 Missing (secondary)

15. Frontend / session status

Concern Status
GameDefaultMap MainMenu — Active
Main menu path PC_MainMenu + WBP_MainMenu — Active but Unverified
GI_Dungeoneer Present but Unconnected
Host / Find Partial / Active but Unverified
Join travel Partial
DestroySession Missing
OnlineSubsystem INI Missing

16. HUD / UI status

Path Status
WBP_PlayerHUD (AHUD despite WBP_ prefix) Overlay classes assigned
ASC Overlay Health/Mana Active but Unverified
Stamina widget Missing
Legacy Server_UpdateHUD → UpdatePlayerHUD Present but Unconnected (receiver unimplemented)

17. Pickup / currency status

Path Status
Four EffectActor GE pickups Active but Unverified / Authority Risk
Gold Partial (AddGold unimplemented)
Stamina / other currency Missing

18. Runtime validation still required

Full bounded plan: 13-Unknowns-And-RuntimeQuestions.md.

Priority groups: attributes/HUD; ability authority/replication; AnimNotify execution; interruption/cleanup; player damage/death; enemy ASC; enemy damage/death; pickup authority; char-select networking; sessions; gold; respawn/HUD recreation.

Phase 1 did not execute any of these tests.


Evidence supports the default dependency order:

Phase 2A — Baseline framework stabilization

Field Content
Objective Canonical health/mana/stamina SoT; default attribute init; legacy↔ASC policy; shared death/damage; server-authoritative rules; reliable cleanup; validation harness
Dependencies Phase 1 complete
Static evidence Docs 05, 06, 08, 11, 12
Required runtime tests Groups 1, 5, 12 (doc 13)
Exit criteria Written SoT + authority + cleanup contracts approved; harness defined
Principal risk Migrating abilities atop dual resources locks in divergence

Phase 2B — Shared player ability framework

Field Content
Objective Replace PrintString stubs; shared input→activation; cost/cooldown/targeting/cleanup contracts; remove gameplay dependence on cosmetic multicast evaluation
Dependencies 2A contracts
Static evidence Docs 05, 07, 10
Required runtime tests Groups 24
Exit criteria Shared activation path proven in harness without per-character redesign
Principal risk Preserving notify-timed hit windows while moving authority

Phase 2C — Character reconstruction

Order: Amazonian 001 → Paladin → Cleric → Wizard → Gunslinger.

Why this order Evidence
Amazonian 001 Known-working behavioral reference (Observed Runtime Behavior)
Paladin Largest Implemented legacy set to preserve
Cleric Richest surface + known defects; reconstruct before migrate
Wizard Stub + unconnected content; replace after framework
Gunslinger Data-only + missing select UI; last
Field Content
Dependencies 2A + 2B
Static evidence Docs 05, 07, 08, 10
Required runtime tests Per-slot ability tests; interruption
Exit criteria Selected slots match preserved legacy behavior under harness
Principal risk Over-inferring Wizard/Gunslinger from orphan assets

Phase 2D — Enemy baseline

Damage reception → health/death → target → chase → attack → anim callbacks → drops → enemy GAS compatibility.

| Dependencies | 2A damage/death contracts; navmesh when MoveTo added | | Static evidence | Doc 09 | | Required runtime tests | Groups 67 | | Exit criteria | Placed skeleton can take damage, die, and perform one attack loop | | Principal risk | Treating GetASC defect as root of chase/attack (it is independent) |

Phase 2E — Supporting systems

HUD consolidation; pickup authority/replication; gold; char-select networking; session join/travel/destroy; OnlineSubsystem config; stamina UI/collectibles.

| Dependencies | 2A SoT; preferably 2B+ partial 2C | | Static evidence | Docs 02, 11, 12 | | Required runtime tests | Groups 811 | | Exit criteria | SP Overlay+pickups+gold correct; listen-server select+join documented | | Principal risk | Claiming MP sessions work without OSS config + runtime |

Reconstruct before modernization: dual resources, death/damage, notify cleanup, Implemented/Partial abilities with clear intent, enemy damage reception.
Replace during modernization: pure stubs, PrintString bases, unconnected orphans (after design decision), dead unimplemented receivers where no behavior exists.


20. Phase 1 completion statement

Phase 1 Static Architecture is complete. All authorized static archaeology passes (010) and synthesis (Pass 11) are finished. Remaining unknowns are explicitly runtime or Manual Editor items documented in doc 13. No Unreal assets, source, configuration, maps, plugins, or editor state were modified during Phase 1 archaeology.

Exact next action: Begin Phase 2A with a bounded runtime-baseline and shared resource-authority design pass. Do not begin per-character implementation until the canonical attribute, damage, death, authority, and cleanup contracts are approved.


System-status table

System Current status Evidence confidence Principal gap Phase 2 disposition
Project startup Active High Runtime map/session proof Preserve; configure OSS in 2E
Main menu Active but Unverified High PIE menu flows Preserve behavior
Character selection Partial High Server-only create; no Gunslinger Reconstruct networking + selection
Pawn spawning and possession Connected / Partial High Remote-client path Reconstruct MP path
Sessions Partial High Join travel; Destroy; OSS INI Reconstruct + configure
Player base Active High Dual resources; stub Ends Reconstruct SoT then framework
Paladin Implemented (mixed slots) High 002 Partial; FX hole; notify authority Preserve behavior, migrate
Amazonian Implemented (001) + Stubs High 002004 stubs; whirlwind Preserve 001; replace stubs
Cleric Partial / Implemented mix High 001/004 defects; duplication Reconstruct then migrate
Wizard Stub High No Server_Ability bodies Replace with shared framework
Gunslinger Stub / data-only High No combat; not selectable Reconstruct select + replace
Animation callbacks Active / Incomplete High Completion pins unwired Replace cleanup contract
Player GAS ownership Active High No GA grant/activate Preserve ASC; build abilities later
Attributes Partially Integrated High Defaults orphaned; dual sources Reconstruct SoT (2A)
Gameplay Effects Partially Integrated High Consumables only Preserve consumables; wire defaults
Gameplay Abilities Scaffolding Only / Missing High No GA assets Replace stubs with GAS later
Gameplay Tags Present but Unreferenced High Unused Defer pending design
Gameplay Cues Missing High No cues Defer / add with abilities
Enemy control Scaffolding Only High Empty graphs Reconstruct (2D)
Enemy chase Missing High No MoveTo/target Reconstruct (2D)
Enemy attack Missing High Stub + orphan montage Reconstruct (2D)
Enemy damage reception Missing High No ReceiveAnyDamage Reconstruct first (2D)
Enemy death Connected but Incomplete High IsDead forced false Reconstruct (2D)
ASC Overlay Active but Unverified High No stamina; PIE Preserve; consolidate HUD
Legacy HUD Present but Unconnected High UpdatePlayerHUD missing Remove or implement after SoT
Pickups Active but Unverified / Authority Risk High No authority gate Reconstruct authority (2E)
Gold/currency Partial High AddGold no-op Reconstruct AddGold (2E)

Top-risk register

Priority Risk Static consequence Runtime consequence to verify Dependency
P0 Dual health/mana (DEPRECATED vs ASC) unsynchronized Combat and potions mutate different stores Death vs Overlay/potion divergence 2A SoT
P0 Enemy damage reception / death missing Player ApplyDamage has no health consumer Hits appear to do nothing 2D after 2A
P0 Enemy chase/attack Implementation Missing No PvE combat loop Enemies idle forever 2D
P1 Gameplay depends on Multicast AnimNotify evaluation Interrupt may skip AN_AttackComplete Stuck CurrentlyAttacking; missed hits 2B cleanup
P1 EffectActor Authority Risk Non-replicating; no authority switch Double destroy / missed GE in MP 2E
P1 Enemy GetASC nullptr Effects skip enemies; destroy still runs Loot destroy without heal 2A/2D/2E
P1 Char-select server-only + Join Session Partial Remote clients / join travel fragile Clients stuck; join fails 2E
P1 OnlineSubsystem INI Missing Sessions may use unknown defaults Host/find/join silent failure 2E
P1 AddGold / UpdatePlayerHUD unimplemented Callers connected; receivers dead Gold/HUD no-ops 2E after 2A
P2 Cleric 004 mana bypass + empty SpawnActor Ability defective No projectile; free cast 2C Cleric
P2 Orphan default GEs; no Gunslinger GE Spawn uses native Init only Wrong class balances 2A
P2 Stamina scaffolding unused Attribute/UI/pickup incomplete Dead stamina surface 2A/2E
P3 WBP_PlayerHUD is AHUD; Amazon vs Amazonian naming Maintainability / confusion None functional Defer polish
P3 Tags/cues unused; GI unwired; pause missing Dead scaffolding None until used Defer

Cross-document reconciliation notes (Pass 11)

Topic Resolution
Stale “next pass = Pass 4/10” in docs 09/10 Superseded: Batch 4D complete; Pass 11 is synthesis close
Death/HUD labels differ slightly in 05 vs 08 Prefer 05 slot labels; Amazonian death = Partial (local AnyDamage); HUD “Active” on Amazonian = local call sites of shared legacy HUD
Implemented abilities vs no enemy damage sink Player statuses unchanged; enemy reception is separate Existing Baseline Defect
Preliminary Batch 1 “sessions deferred” Superseded by Pass 4 matrices in docs 11/02
Preliminary “pickups unknown” Superseded by Pass 10 matrices in docs 12/06

Evidence sources

Primary: 0206, 0812, 14. Ability detail: 05, 07, 08, 10. Runtime boundary: 13. Handoff: 15.