Record completed Batch 4A–4C passes (7/8/9) with outcomes and pending 4D work; move UE54 baseline notes under Documentation/Migration-Notes. Co-authored-by: Cursor <cursoragent@cursor.com>
232 lines
14 KiB
Markdown
232 lines
14 KiB
Markdown
---
|
||
name: Phase 1 Archaeology
|
||
overview: "Phase 1 archaeology: Batches 1–3 complete; Batch 4 in progress (4A/4B/4C done — Passes 7/8/9; 4D pending — Passes 4/10); Batch 5 waiting. Docs only with substantive evidence; integrity gate before/after; no auto-continue."
|
||
todos:
|
||
- id: batch1-foundation
|
||
content: "Batch 1 (authorized): Passes 0–2 — continuity, modules/config, native C++ → 02+03+14+15 (+seeds)"
|
||
status: completed
|
||
- id: batch2-bp-foundation
|
||
content: "Batch 2 (completed): Passes 3+5 — BP hierarchy + BP_PlayerCharacterBase deep dive → 03/05/08 (+seeds)"
|
||
status: completed
|
||
- id: batch3-abilities
|
||
content: "Batch 3 (completed): Pass 6 — per-character ability/RPC/anim inventory → 05/08/10 (+seeds)"
|
||
status: completed
|
||
- id: batch4a-animation
|
||
content: "Batch 4A (completed): Pass 8 — AnimBP/montage/notify inventory → 10 (+seeds)"
|
||
status: completed
|
||
- id: batch4b-gas
|
||
content: "Batch 4B (completed): Pass 7 — partial GAS (ASC/GE/tags/grants/UI boundary) → 06/11/12 (+seeds)"
|
||
status: completed
|
||
- id: batch4c-enemy
|
||
content: "Batch 4C (completed): Pass 9 — enemy AI static analysis → 09 (+seeds)"
|
||
status: completed
|
||
- id: batch4d-remaining
|
||
content: "Batch 4D (when authorized): Pass 4 sessions/frontend and/or Pass 10 pickup deep dive → 11/12/02"
|
||
status: pending
|
||
- id: batch5-synthesis
|
||
content: "Batch 5 (when authorized): Pass 11 — matrix, unknowns, summary, final handoff"
|
||
status: pending
|
||
isProject: false
|
||
---
|
||
|
||
# Phase 1 Static Archaeology Execution Plan
|
||
|
||
## Execution control (mandatory)
|
||
|
||
Do **not** execute Phase 1 in one uninterrupted agent run.
|
||
|
||
Execute **only** the batch explicitly authorized by the user. Do **not** auto-continue to the next batch.
|
||
|
||
### Phase 1 execution batches
|
||
|
||
| Batch | Passes | Focus |
|
||
|-------|--------|-------|
|
||
| **Batch 1 — Foundation** | 0, 1, 2 | Continuity gate; modules/plugins/config; native C++ hierarchy |
|
||
| **Batch 2 — Blueprint foundation** | 3, 5 | Blueprint hierarchy; `BP_PlayerCharacterBase` deep dive |
|
||
| **Batch 3 — Character abilities** | 6 | Per-character ability, RPC, networking, animation inventory |
|
||
| **Batch 4 — Supporting systems** | 4, 7, 8, 9, 10 | Frontend/sessions; partial GAS; animation; enemy AI; UI/HUD/pickups/maps |
|
||
| **Batch 5 — Synthesis** | 11 (+ final 13/14/01/15) | Migration matrix; unknowns; evidence index; executive summary; final handoff |
|
||
|
||
Do not begin Batch 5 until Batches 1–4 are complete and their documents have been reviewed for sufficient evidence.
|
||
|
||
### End of every authorized batch
|
||
|
||
1. Stop all further investigation.
|
||
2. Update `14-EvidenceIndex.md`.
|
||
3. Update `15-HandoffStatus.md` with exact current state.
|
||
4. Mark every touched archaeology document Draft or Complete.
|
||
5. List all files created or modified.
|
||
6. Report failed MCP calls and incomplete inspections.
|
||
7. Report tool, visibility, or context limitations.
|
||
8. Record exact recommended starting points for the next batch.
|
||
9. Confirm no unauthorized project content or editor state was modified (repository integrity gate).
|
||
10. Wait for explicit user authorization before beginning another batch.
|
||
|
||
## Document creation and status (mandatory)
|
||
|
||
- Do **not** create empty Markdown shells for every planned archaeology document.
|
||
- Create a document only when its first **substantive evidence** is recorded.
|
||
- Near the top of every archaeology document: `Status: Draft` or `Status: Complete`.
|
||
- Mark **Complete** only when all investigation areas assigned to that document for Phase 1 have been inspected as far as approved tools allow.
|
||
- Do **not** mark Complete merely because the current batch ended.
|
||
- Every **Draft** document must clearly include: Completed sections; Pending sections; Evidence still required; Tool/visibility limitations; Unknowns requiring later verification; Last completed pass; Next pass expected to contribute.
|
||
- Do not leave blank, placeholder-only, or minimally populated shells that could be mistaken for completed archaeology.
|
||
- Do **not** modify `00-MCP-Capability-Calibration.md`.
|
||
|
||
## Repository integrity gate (mandatory)
|
||
|
||
**Before** beginning an authorized batch:
|
||
|
||
1. Record repository status (`git status --short`, `git diff --name-only`, `git diff --cached --name-only` if Git available).
|
||
2. Record pre-existing modified/untracked files.
|
||
3. Do not alter, stage, commit, revert, delete, or clean pre-existing changes.
|
||
|
||
**After** completing the batch:
|
||
|
||
1. Re-run read-only status checks; compare to start snapshot.
|
||
2. Confirm every newly created/modified file is Markdown under `Documentation/Archaeology/`.
|
||
3. If any other file changed: stop immediately; report exact path(s); do not revert/repair without user authorization.
|
||
4. Record integrity result in `15-HandoffStatus.md` and the batch completion report.
|
||
|
||
## Current baseline (do not contradict without evidence)
|
||
|
||
- Only [Documentation/Archaeology/00-MCP-Capability-Calibration.md](Documentation/Archaeology/00-MCP-Capability-Calibration.md) existed before Batch 1.
|
||
- Calibration: no project BT/Blackboard/custom AIController; no discrete GA assets found; `Player_Amazonian` (not `Player_Amazon`); stock `AIController` on skeleton; DEPRECATED Paladin graphs inspectable.
|
||
- Native GAS ownership split: player ASC on `ARIRPlayerState`; enemy ASC on `ARIRBaseEnemyCharacter`; empty `URIRGameplayAbility` scaffolding.
|
||
- Playable BPs: Paladin, Amazonian, Cleric, Wizard, Gunslinger.
|
||
- Framework BPs: `GI_Dungeoneer`, `GM_Dungeoneer`, `GM_MainMenu`; default-attribute GEs for Paladin/Amazon/Cleric/Wizard (**no `GE_Gunslinger_*` observed** — Pass 7).
|
||
|
||
## Hard constraints (session-wide)
|
||
|
||
- **Writes:** only Markdown under `Documentation/Archaeology/`.
|
||
- **MCP:** approved read-only toolsets only; never PIE, load_level, compile, save, mutate, SemanticSearch, ProgrammaticToolset, Slate automation.
|
||
- Evidence labels: Observed Implementation / Documented Intent / Observed Runtime Behavior / Inferred / Unknown.
|
||
- Issue labels as specified; baseline defects ≠ migration regressions.
|
||
- Exact names; no implementation recommendations during investigation batches.
|
||
- Batch 1 may record Blueprint child paths as seeds only — no deep BP graph/ability/UI/anim/enemy BP analysis.
|
||
|
||
## Batch status
|
||
|
||
| Batch | Status |
|
||
|-------|--------|
|
||
| Batch 1 — Foundation (Passes 0–2) | **Completed** |
|
||
| Batch 2 — Blueprint foundation (Passes 3 + 5) | **Completed** |
|
||
| Batch 3 — Character abilities (Pass 6) | **Completed** |
|
||
| Batch 4 — Supporting systems | **In progress** — 4A/4B/4C complete (Passes 7, 8, 9); **4D pending** (Passes 4, 10) |
|
||
| Batch 5 — Synthesis | Waiting for authorization (requires Batch 4 complete) |
|
||
|
||
## Batch 1 — Foundation (COMPLETED)
|
||
|
||
### Pass 0 — Continuity gate
|
||
- Read all existing Archaeology Markdown; confirm PIE off, level/selection unchanged via read-only EditorApp/Scene tools.
|
||
- Repository integrity pre-snapshot.
|
||
- Do not mutate editor or repo.
|
||
|
||
### Pass 1 — Modules, plugins, configuration → `02-ProjectArchitecture.md`
|
||
- Inspect `.uproject`, Build.cs, Targets, module startup, AdvancedSessions/AdvancedSteamSessions descriptors, DefaultEngine/Game/GameplayTags/Input.ini, PluginToolset read-only.
|
||
- Seed `13`/`14`/`15` as warranted.
|
||
|
||
### Pass 2 — Native C++ hierarchy → `03-ClassHierarchy.md`
|
||
- Inspect every file under `Source/REALMSINRUIN/`.
|
||
- Document all native classes listed in the brief; record Blueprint subclass paths as Batch 2 seeds only.
|
||
- Seed `02`, `06`, `08`, `09`, `11`, `12`, `13`, `14`, `15` only when substantive evidence exists.
|
||
|
||
## Batch 2 — Blueprint foundation (COMPLETED)
|
||
|
||
### Pass 3 — Blueprint hierarchy
|
||
- Structural inventory of player/enemy/framework/interface Blueprints; resolve `WBP_PlayerHUD` as AHUD (`RIRHUD` child).
|
||
- Primary writes: `03`/`08`/`09`/`11`; seeds into `06`/`13`/`14`/`15`.
|
||
|
||
### Pass 5 — `BP_PlayerCharacterBase` deep dive
|
||
- Connected path tracing of shared input/RPC/death/HUD/multicast architecture.
|
||
- Created `05-LegacyAbilityArchitecture.md`; updated `03`/`06`/`08`.
|
||
|
||
**Batch 2 outcomes (do not contradict without evidence):** abilities are legacy `IA_Ability_*` → `Server_Ability_*` (not GAS GAs); `BP_PlayerState.DefaultAttributesGameplayEffect=None`; dual HUD (ASC Overlay + DEPRECATED floats); Gunslinger data-only / Wizard no ability events.
|
||
|
||
## Batch 3 — Character abilities (COMPLETED)
|
||
|
||
### Pass 6 — Per-character ability archaeology
|
||
- Connected-path reconstruction for Paladin → Amazonian → Cleric → Wizard → Gunslinger.
|
||
- Ability 001–004 Begin/End, UseAbility*, resources, damage, RPCs, parent-call inventory, Montage seeds.
|
||
- Primary writes: `05`/`08`/`10`; seeds into `06`/`13`/`14`/`15`.
|
||
- Did **not** create `07-AbilityMigrationMatrix.md` (Pass 11).
|
||
|
||
**Batch 3 outcomes (do not contradict without evidence):** Paladin 001/003/004 and Amazonian 001 Implemented; Cleric 003 Implemented / 004 broken; Wizard + Gunslinger inherit PrintString stubs; no GA activate/grant in ability graphs; most Ends missing; Reliability flags Unknown (MCP).
|
||
|
||
## Batch 4 — Supporting systems (IN PROGRESS)
|
||
|
||
Batch 4 was authorized and executed as **sub-batches 4A–4D** (one pass or paired pass per authorization). Do **not** auto-continue from 4C to 4D.
|
||
|
||
| Sub-batch | Pass | Status | Primary docs | Git anchor |
|
||
|-----------|------|--------|--------------|------------|
|
||
| **4A** | 8 — Animation | **Completed** | `10` (+seeds `05`/`08`/`13`/`14`/`15`) | `4e926d1c` |
|
||
| **4B** | 7 — Partial GAS | **Completed** | `06`, `11`, `12` (+seeds `03`/`05`/`08`/`13`/`14`/`15`) | `e50c8032` |
|
||
| **4C** | 9 — Enemy AI | **Completed** | `09` (+seeds `03`/`05`/`06`/`10`/`13`/`14`/`15`) | `53315574` |
|
||
| **4D** | 4 + 10 — Sessions / pickups | **Pending authorization** | `11`, `12`, `02` (seeds) | — |
|
||
|
||
**Handoff authority:** `15-HandoffStatus.md` (last closed: Batch 4C / Pass 9, 2026-07-16).
|
||
|
||
### Batch 4A — Animation (COMPLETED)
|
||
|
||
#### Pass 8 — Animation dependencies → `10-AnimationDependencies.md`
|
||
- Per-character AnimBP architecture (Paladin, Amazonian, Cleric, Wizard, Gunslinger).
|
||
- Per-ability Montage + AnimNotify tables (001–004); shared `AN_Ability_001–004` and `AN_AttackComplete` callback wiring.
|
||
- `Multicast_PlayMontage` OnCompleted/OnBlendOut/OnInterrupted **unwired**; `CurrentlyAttacking` cleanup depends on `AN_AttackComplete`.
|
||
- Pass 6 ability classifications revalidated against notify paths; Wizard/Gunslinger confirm no ability montages.
|
||
|
||
**Batch 4A outcomes (do not contradict without evidence):** gameplay consequences for notify-driven abilities flow through embedded AnimNotify BPs → BPI `UseAbility00N` / `SetIsAttacking`; Cleric 001 notify fires but `UseAbility001` unimplemented; montage section names / exact notify times require Manual Editor.
|
||
|
||
### Batch 4B — Partial GAS (COMPLETED)
|
||
|
||
#### Pass 7 — GAS archaeology → `06-PartialGASArchitecture.md` (+ `11`, `12` seeds)
|
||
- ASC ownership matrix (player on `ARIRPlayerState`; enemy on `ARIRBaseEnemyCharacter`).
|
||
- Full project GE inventory (8 assets): 4 consumable **Active**; 4 default-attribute GEs **Present but Unreferenced**; no `GE_Gunslinger_*`.
|
||
- `BP_PlayerState.DefaultAttributesGameplayEffect=None`; native ctor inits Health/Mana only.
|
||
- Negative searches: no discrete GA assets; no GiveAbility / TryActivateAbility; tags in `DefaultGameplayTags.ini` unreferenced; no Gameplay Cue assets.
|
||
- EffectActor + consumable overlap→apply wiring; enemy `GetASC` via interface returns **nullptr** (baseline defect).
|
||
- Dual HUD: ASC Overlay path active; DEPRECATED float HUD path still present; stamina delegate type alias debt.
|
||
|
||
**Batch 4B outcomes (do not contradict without evidence):** GAS is partially integrated (consumables + Overlay UI) while abilities remain legacy; default GEs and tags are scaffolding; legacy DEPRECATED floats and ASC attributes are unsynchronized.
|
||
|
||
### Batch 4C — Enemy AI (COMPLETED)
|
||
|
||
#### Pass 9 — Enemy static analysis → `09-EnemyAI-StaticAnalysis.md`
|
||
- `BP_EnemyCharacterBase` / `BP_Enemy_Skeleton` EventGraph reconstruction; `BPI_EnemyCharacter` implementation status.
|
||
- Chase and attack: **Implementation Missing** (empty Tick/Overlap; no MoveTo; `EnemyMeleeAttack` unimplemented).
|
||
- Stock `AIController`; `AutoPossessAI=PlacedInWorld`; no project BT/BB/StateTree/EQS/Perception.
|
||
- Test01: no NavMeshBoundsVolume / RecastNavMesh.
|
||
- `Anim_SkeletonAttackMontage` orphan (0 referencers); `ABP_Skeleton` Death state exists but `SetIsDead(false)` every Update.
|
||
- Enemy damage reception absent at BP layer; `GetASC` defect confirmed **separate** from chase/attack failure.
|
||
|
||
**Batch 4C outcomes (do not contradict without evidence):** placed skeletons may possess but have no behavior; player `ApplyDamage` has no static enemy health/death consumer; highlight via native `ITargetInterface` is active.
|
||
|
||
### Batch 4D — Remaining (NOT AUTHORIZED)
|
||
|
||
Authorize **explicitly** before starting (Pass 4 and/or Pass 10 may be separate authorizations):
|
||
|
||
#### Pass 4 — Frontend / sessions → `11-UI-HUD-And-Sessions.md` (+ `02` seeds)
|
||
- Main menu / browser / character-select widget flow.
|
||
- Production vs Example Advanced Sessions Blueprints.
|
||
- Session create/find/join graphs; CommonUI usage confirmation.
|
||
|
||
#### Pass 10 — Pickups deep dive → `12-Pickups-And-Effects.md` (+ `11`/`02` seeds)
|
||
- Per-pickup authority, destroy/respawn, UI notify beyond HealthPotion DSL.
|
||
- ManaPotion / ManaCrystal / OrangeSlice graph confirmation; gold/stamina pickups if present.
|
||
|
||
**4D starting files:** `00`, `11`, `12`, `13`, `14`, `15`, `02`.
|
||
|
||
## Batch 5 — Synthesis (NOT AUTHORIZED)
|
||
|
||
### Pass 11 + final synthesis
|
||
Migration matrix; unknowns consolidation; evidence index; executive summary; final handoff → `01`/`07`/`13`/`14`/`15`.
|
||
|
||
Do not begin until Batch 4D is complete and docs reviewed.
|
||
|
||
## Contradiction protocol
|
||
|
||
If new evidence conflicts with calibration or an earlier doc: cite both, state which is better supported, update analysis, log in `15-HandoffStatus.md`.
|
||
|
||
## Completion gate
|
||
|
||
Phase 1 complete only when all required docs exist with sufficient evidence, Batch 5 synthesis is done, and no non-Markdown project content was modified.
|