docs: expand module register to full epic catalog (37 modules)

- Split dependency table by epic; every Depends On ID is a register row
- Add InteractionRequest to E1.M1 contract column per epic 1
- Footnote E4.M3 backend world services; E4.M3 register deps E4.M1 only
- Add 28 new module markdown files (E1.M3–E9.M4 gaps)
- Link per-module docs index to all 37 files
- Cross-link existing module docs; remove obsolete E1.M3 register note from E5.M1
- Update decomposition README modules blurb

Made-with: Cursor
pull/6/head
VinPropane 2026-03-30 18:48:07 -04:00
parent 93eb1fc936
commit 293b8a4c79
36 changed files with 1377 additions and 34 deletions

View File

@ -9,7 +9,7 @@ This workspace contains detailed planning artifacts derived from the finalized m
## Folder Layout
- `epics/` - One file per epic with implementation slices.
- `modules/` - Cross-epic contracts, [dependency register](modules/module_dependency_register.md), one [module doc per registered module](modules/module_dependency_register.md#per-module-documentation), and interface notes.
- `modules/` - Cross-epic contracts, [full module dependency register](modules/module_dependency_register.md) (all epic modules), [per-module docs](modules/module_dependency_register.md#per-module-documentation), and interface notes.
- `milestones/` - Phase-gated implementation tracks and pass/fail checklists.
## Working Rules

View File

@ -35,8 +35,8 @@ Contract readiness is tracked in the [module dependency register](module_depende
## Dependents (by design)
- **E1.M2**Isometric camera follows the player; needs stable player anchor / position.
- **E1.M3**Interaction and targeting builds on movement and position.
- **E1.M2**[IsometricCameraController](E1_M2_IsometricCameraController.md): stable player anchor / position.
- **E1.M3**[InteractionAndTargetingLayer](E1_M3_InteractionAndTargetingLayer.md): interaction and targeting on movement/position.
- **Downstream epics** — Gathering (E3.M1), zone transitions (E4.M1), and others consume position implicitly via higher layers.
## Related implementation slices

View File

@ -0,0 +1,47 @@
# E1.M3 — InteractionAndTargetingLayer
## Summary
| Field | Value |
|--------|--------|
| **Module ID** | E1.M3 |
| **Epic** | [Epic 1 — Core Player Runtime](../epics/epic_01_core_player_runtime.md) |
| **Stage target** | Prototype |
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
## Purpose
World object selection, target lock, focus swap rules, and hover/highlight feedback. Bridges movement/position ([E1.M1](E1_M1_InputAndMovementRuntime.md)) into combat, gathering, and ability activation ([E1.M4](E1_M4_AbilityInputScaffold.md), [E5.M1](E5_M1_CombatRulesEngine.md)).
## Responsibilities
- Resolve `TargetState` for tab-target and interaction flows.
- Describe interactables via `InteractableDescriptor` and emit `SelectionEvent` for UI and systems.
## Key contracts
| Contract | Role |
|----------|------|
| `TargetState` | Current locked target, validity, and swap rules. |
| `InteractableDescriptor` | What can be selected or used in range. |
| `SelectionEvent` | Selection changes for feedback and downstream consumers. |
## Module dependencies
- **E1.M1** — InputAndMovementRuntime: range and position source of truth.
## Dependents (by design)
- **E1.M4** — AbilityInputScaffold.
- **E3.M1** — ResourceNodeAndGatherLoop.
- **E5.M1** — CombatRulesEngine.
- **E8.M1** — PartyAndMatchAssembly (player/party context hooks per epic).
## Related implementation slices
Epic 1 **Slice 3** — interaction, targeting, and ability input wiring with [E5.M1](E5_M1_CombatRulesEngine.md).
## Source anchors
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 1.
- [Module dependency register](module_dependency_register.md)

View File

@ -0,0 +1,45 @@
# E1.M4 — AbilityInputScaffold
## Summary
| Field | Value |
|--------|--------|
| **Module ID** | E1.M4 |
| **Epic** | [Epic 1 — Core Player Runtime](../epics/epic_01_core_player_runtime.md) |
| **Stage target** | Prototype |
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
## Purpose
Hotbar bindings, cooldown slot UI hooks, and the client/input path that issues `AbilityCastRequest` into [E5.M1 — CombatRulesEngine](E5_M1_CombatRulesEngine.md), using targeting from [E1.M3](E1_M3_InteractionAndTargetingLayer.md).
## Responsibilities
- Map hotbar slots to abilities and emit `AbilityCastRequest` with validation hints.
- Surface `HotbarLoadout` and `CooldownSnapshot` for UI sync.
## Key contracts
| Contract | Role |
|----------|------|
| `AbilityCastRequest` | Intent sent to combat resolution. |
| `HotbarLoadout` | Bound abilities per slot. |
| `CooldownSnapshot` | Client/server-visible cooldown state for UI. |
## Module dependencies
- **E1.M3** — InteractionAndTargetingLayer: target lock and cast validity.
- **E5.M1** — CombatRulesEngine: authoritative accept/deny of casts.
## Dependents (by design)
- Consumed by UX and telemetry; combat engine remains the authority.
## Related implementation slices
Epic 1 **Slice 3**`ability_cast_requested`, `ability_cast_denied` with reason codes.
## Source anchors
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 1.
- [Module dependency register](module_dependency_register.md)

View File

@ -0,0 +1,43 @@
# E2.M1 — SkillDefinitionRegistry
## Summary
| Field | Value |
|--------|--------|
| **Module ID** | E2.M1 |
| **Epic** | [Epic 2 — Classless Progression](../epics/epic_02_classless_progression.md) |
| **Stage target** | Prototype |
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
## Purpose
Central catalog for skill metadata, category tags, and unlock prerequisites. All prototype activities reference skills by stable IDs validated against this registry.
## Responsibilities
- Load and validate `SkillDef` from data; expose `SkillCategory` and `UnlockRequirement` for gating.
## Key contracts
| Contract | Role |
|----------|------|
| `SkillDef` | Per-skill metadata and references. |
| `SkillCategory` | Grouping for UX and balance. |
| `UnlockRequirement` | Prerequisites before XP or use counts apply. |
## Module dependencies
- **None**
## Dependents (by design)
- **E2.M2** — XpAwardAndLevelEngine (primary).
## Related implementation slices
Epic 2 **Slice 1** — skill registry and prototype skills; invalid references fail at load or in CI.
## Source anchors
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 2.
- [Module dependency register](module_dependency_register.md)

View File

@ -15,7 +15,7 @@ Central server-authoritative engine for classless skill progression: applying XP
## Responsibilities
- Apply `XpGrantEvent` (or equivalent) per skill with validated skill references from E2.M1.
- Apply `XpGrantEvent` (or equivalent) per skill with validated skill references from [E2.M1](E2_M1_SkillDefinitionRegistry.md).
- Resolve experience against `LevelCurve` / threshold tables.
- Emit `LevelUpEvent` when thresholds are crossed.
- Support data-driven curves and reload policy agreed for prototype.
@ -30,7 +30,7 @@ Central server-authoritative engine for classless skill progression: applying XP
## Module dependencies
- **E2.M1** — SkillDefinitionRegistry: `SkillDef`, categories, and validation of skill IDs.
- **E2.M1**[SkillDefinitionRegistry](E2_M1_SkillDefinitionRegistry.md): `SkillDef`, categories, and validation of skill IDs.
## Dependents (by design)

View File

@ -0,0 +1,43 @@
# E2.M3 — MasteryAndPerkUnlocks
## Summary
| Field | Value |
|--------|--------|
| **Module ID** | E2.M3 |
| **Epic** | [Epic 2 — Classless Progression](../epics/epic_02_classless_progression.md) |
| **Stage target** | Pre-production |
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
## Purpose
Mastery tracks and perk unlock state so classless builds have expressive identity beyond raw level curves.
## Responsibilities
- Progress `MasteryTrack` data; emit `PerkUnlockEvent` and persist `PerkState`.
## Key contracts
| Contract | Role |
|----------|------|
| `MasteryTrack` | Branch progress per design. |
| `PerkUnlockEvent` | Unlocks for UI and combat/craft hooks. |
| `PerkState` | Current unlocked perks per character. |
## Module dependencies
- **E2.M2** — XpAwardAndLevelEngine.
## Dependents (by design)
- Gameplay systems that gate abilities or recipes on perks (integration per content).
## Related implementation slices
Epic 2 **Slice 4** — at least one mastery path unlocks a perk without blocking other skills.
## Source anchors
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 2.
- [Module dependency register](module_dependency_register.md)

View File

@ -0,0 +1,44 @@
# E2.M4 — ProgressionPacingControls
## Summary
| Field | Value |
|--------|--------|
| **Module ID** | E2.M4 |
| **Epic** | [Epic 2 — Classless Progression](../epics/epic_02_classless_progression.md) |
| **Stage target** | Pre-production |
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
## Purpose
Tuning knobs for progression velocity and catch-up policy, informed by KPIs from [E9.M2](E9_M2_KpiDashboardsAndAlerting.md).
## Responsibilities
- Apply `XpModifierProfile`, `CatchUpRule`, and `PacingPolicy` without breaking skill-ID integrity from [E2.M1](E2_M1_SkillDefinitionRegistry.md) / [E2.M2](E2_M2_XpAwardAndLevelEngine.md).
## Key contracts
| Contract | Role |
|----------|------|
| `XpModifierProfile` | Multipliers or bands per cohort. |
| `CatchUpRule` | Acceleration for lapsed or new players. |
| `PacingPolicy` | Named policy bundles for ops toggles. |
## Module dependencies
- **E2.M2** — XpAwardAndLevelEngine.
- **E9.M2** — KpiDashboardsAndAlerting.
## Dependents (by design)
- **E9.M3** — LiveBalanceControlPlane (remote tuning).
## Related implementation slices
Epic 2 **Slice 4** — pacing policy toggles for test cohorts where possible without full redeploy.
## Source anchors
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 2.
- [Module dependency register](module_dependency_register.md)

View File

@ -0,0 +1,45 @@
# E3.M1 — ResourceNodeAndGatherLoop
## Summary
| Field | Value |
|--------|--------|
| **Module ID** | E3.M1 |
| **Epic** | [Epic 3 — Crafting Economy](../epics/epic_03_crafting_economy.md) |
| **Stage target** | Prototype |
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
## Purpose
World resource nodes, gather interactions, and yield outputs feeding inventory ([E3.M3](E3_M3_ItemizationAndInventorySchema.md)) and XP ([E2.M2](E2_M2_XpAwardAndLevelEngine.md)).
## Responsibilities
- Spawn/manage nodes per `ResourceNodeDef`; resolve `GatherResult` via `ResourceYieldTable`; integrate interaction range via [E1.M3](E1_M3_InteractionAndTargetingLayer.md).
## Key contracts
| Contract | Role |
|----------|------|
| `ResourceNodeDef` | Node type, capacity, regen. |
| `GatherResult` | Items and depletion state. |
| `ResourceYieldTable` | Probabilities or fixed yields. |
## Module dependencies
- **E1.M3** — InteractionAndTargetingLayer.
- **E2.M2** — XpAwardAndLevelEngine.
## Dependents (by design)
- **E3.M2** — RefinementAndRecipeExecution (inputs).
- **E4.M2** — SpawnEcologyController.
## Related implementation slices
Epic 3 **Slice 2** — 46 node types; `resource_gathered`, `gather_node_depleted`.
## Source anchors
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 3.
- [Module dependency register](module_dependency_register.md)

View File

@ -11,7 +11,7 @@
## Purpose
Implements the processing and crafting pipeline: raw-to-refined flows and recipe execution with server-authoritative inventory mutations. Bridges gathered materials (E3.M1) and item definitions (E3.M3) into usable outputs for combat, quests, and economy loops.
Implements the processing and crafting pipeline: raw-to-refined flows and recipe execution with server-authoritative inventory mutations. Bridges gathered materials ([E3.M1](E3_M1_ResourceNodeAndGatherLoop.md)) and item definitions ([E3.M3](E3_M3_ItemizationAndInventorySchema.md)) into usable outputs for combat, quests, and economy loops.
## Responsibilities
@ -29,13 +29,13 @@ Implements the processing and crafting pipeline: raw-to-refined flows and recipe
## Module dependencies
- **E3.M1** — ResourceNodeAndGatherLoop: refined materials flow from gather outputs into crafting inputs.
- **E3.M3** — ItemizationAndInventorySchema: `ItemDef`, `ItemInstance`, inventory slots for costs and outputs.
- **E3.M1**[ResourceNodeAndGatherLoop](E3_M1_ResourceNodeAndGatherLoop.md): refined materials from gather outputs into crafting inputs.
- **E3.M3**[ItemizationAndInventorySchema](E3_M3_ItemizationAndInventorySchema.md): `ItemDef`, `ItemInstance`, inventory slots for costs and outputs.
## Dependents (by design)
- **E7.M1** — QuestStateMachine: quest steps may require crafted items or craft completion.
- **E6.M4**RewardParityEnforcer: maps PvP rewards to PvE/crafting equivalents involving craft outputs.
- **E7.M1**[QuestStateMachine](E7_M1_QuestStateMachine.md): quest steps may require crafted items or craft completion.
- **E6.M4**[RewardParityEnforcer](E6_M4_RewardParityEnforcer.md): PvP ↔ PvE/crafting equivalents involving craft outputs.
- **Epic 2 integration** — Callers award crafting XP via [E2.M2](E2_M2_XpAwardAndLevelEngine.md) at activity sites.
## Related implementation slices

View File

@ -0,0 +1,43 @@
# E3.M3 — ItemizationAndInventorySchema
## Summary
| Field | Value |
|--------|--------|
| **Module ID** | E3.M3 |
| **Epic** | [Epic 3 — Crafting Economy](../epics/epic_03_crafting_economy.md) |
| **Stage target** | Prototype |
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
## Purpose
Item definitions, rarity/quality, stackability, and equipment metadata plus `InventorySlot` representation. Foundation for craft outputs, quest rewards, combat loot, and trade.
## Responsibilities
- Version `ItemDef` / `ItemInstance` schema; enforce stack and slot rules server-side.
## Key contracts
| Contract | Role |
|----------|------|
| `ItemDef` | Static template data. |
| `ItemInstance` | Per-item state (stack, durability hook, binds). |
| `InventorySlot` | Container model for players and exchanges. |
## Module dependencies
- **None**
## Dependents (by design)
- **E3.M2**, **E3.M4**, **E5.M3**, **E7.M2**, **E8.M3**, and any system moving items.
## Related implementation slices
Epic 3 **Slice 1** — MVP inventory; `item_created`, transfer failures.
## Source anchors
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 3.
- [Module dependency register](module_dependency_register.md)

View File

@ -0,0 +1,44 @@
# E3.M4 — SinkAndDurabilityLifecycle
## Summary
| Field | Value |
|--------|--------|
| **Module ID** | E3.M4 |
| **Epic** | [Epic 3 — Crafting Economy](../epics/epic_03_crafting_economy.md) |
| **Stage target** | Pre-production |
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
## Purpose
Item decay, consumption, repair, and other sinks that sustain demand; may integrate with market/trade flows from [E8.M3](E8_M3_PlayerTradeAndMarketplace.md).
## Responsibilities
- Track `DurabilityState`; emit `ItemSinkEvent`; apply `RepairCostRule` server-authoritatively.
## Key contracts
| Contract | Role |
|----------|------|
| `DurabilityState` | Wear and breakage. |
| `ItemSinkEvent` | Destruction/consumption audit trail. |
| `RepairCostRule` | Currency and material costs. |
## Module dependencies
- **E3.M3** — ItemizationAndInventorySchema.
- **E8.M3** — PlayerTradeAndMarketplace (epic dependency for settlement-related sinks).
## Dependents (by design)
- **E3.M5** — EconomyBalancePolicy.
## Related implementation slices
Epic 3 **Slice 4**`item_sink`, `repair_performed`.
## Source anchors
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 3.
- [Module dependency register](module_dependency_register.md)

View File

@ -0,0 +1,45 @@
# E3.M5 — EconomyBalancePolicy
## Summary
| Field | Value |
|--------|--------|
| **Module ID** | E3.M5 |
| **Epic** | [Epic 3 — Crafting Economy](../epics/epic_03_crafting_economy.md) |
| **Stage target** | Pre-production |
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
## Purpose
Faucet/sink parameter sets and guardrails for inflation/deflation; feeds alerts via [E9.M2](E9_M2_KpiDashboardsAndAlerting.md).
## Responsibilities
- Encode `EconomyPolicy`, `PriceBandRule`, `FaucetSinkRatio` thresholds; integrate with [E3.M4](E3_M4_SinkAndDurabilityLifecycle.md) sinks.
## Key contracts
| Contract | Role |
|----------|------|
| `EconomyPolicy` | Named tunable bundles. |
| `PriceBandRule` | Listing/fee bands for [E8.M3](E8_M3_PlayerTradeAndMarketplace.md). |
| `FaucetSinkRatio` | KPI targets and breach signals. |
## Module dependencies
- **E3.M4** — SinkAndDurabilityLifecycle.
- **E9.M2** — KpiDashboardsAndAlerting.
## Dependents (by design)
- **E8.M3** — marketplace fees and validation.
- **E9.M3** — LiveBalanceControlPlane.
## Related implementation slices
Epic 3 **Slice 4** — policy alerts on ratio breaches.
## Source anchors
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 3.
- [Module dependency register](module_dependency_register.md)

View File

@ -0,0 +1,44 @@
# E4.M1 — ZoneGraphAndTravelRules
## Summary
| Field | Value |
|--------|--------|
| **Module ID** | E4.M1 |
| **Epic** | [Epic 4 — World Topology](../epics/epic_04_world_topology.md) |
| **Stage target** | Prototype |
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
## Purpose
Regional zone graph, transition links, and travel constraints. Server and client agree on current zone id; illegal shortcuts are blocked.
## Responsibilities
- Author `ZoneDef` and `ZoneEdge`; evaluate `TravelRule` on transitions.
## Key contracts
| Contract | Role |
|----------|------|
| `ZoneDef` | Identity, bounds or graph membership. |
| `ZoneEdge` | Valid transitions. |
| `TravelRule` | Gating (level, quest, faction). |
## Module dependencies
- **None**
## Dependents (by design)
- **E4.M2**, **E4.M3**, **E4.M4** — SecurityTierZoneFlags and world layers.
- **E7.M4** — ContractMissionGenerator.
## Related implementation slices
Epic 4 **Slice 1**`zone_enter`, `zone_exit`, invalid transition attempts.
## Source anchors
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 4.
- [Module dependency register](module_dependency_register.md)

View File

@ -0,0 +1,45 @@
# E4.M2 — SpawnEcologyController
## Summary
| Field | Value |
|--------|--------|
| **Module ID** | E4.M2 |
| **Epic** | [Epic 4 — World Topology](../epics/epic_04_world_topology.md) |
| **Stage target** | Pre-production |
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
## Purpose
Resource and NPC spawn profiles per zone, respawn pacing, and depletion/recovery so densities stay within design bounds.
## Responsibilities
- Drive `SpawnProfile` / `RespawnRule`; maintain `ZoneEcologyState`; coordinate with [E3.M1](E3_M1_ResourceNodeAndGatherLoop.md) and [E5.M2](E5_M2_NpcAiAndBehaviorProfiles.md).
## Key contracts
| Contract | Role |
|----------|------|
| `SpawnProfile` | What spawns where and how often. |
| `RespawnRule` | Timers and caps. |
| `ZoneEcologyState` | Current density/depletion snapshot. |
## Module dependencies
- **E4.M1** — ZoneGraphAndTravelRules.
- **E3.M1** — ResourceNodeAndGatherLoop.
- **E5.M2** — NpcAiAndBehaviorProfiles.
## Dependents (by design)
- Content and live ops tuning; telemetry for spawn waves and recovery.
## Related implementation slices
Epic 4 **Slice 3**`spawn_wave`, depletion/recovery markers.
## Source anchors
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 4.
- [Module dependency register](module_dependency_register.md)

View File

@ -0,0 +1,45 @@
# E4.M3 — SeamlessHandoffAndRegionState
## Summary
| Field | Value |
|--------|--------|
| **Module ID** | E4.M3 |
| **Epic** | [Epic 4 — World Topology](../epics/epic_04_world_topology.md) |
| **Stage target** | Pre-production |
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
## Purpose
Cross-region handoff behavior and region authority boundaries. Minimal spike: two regions with authority transfer and no duplicate entities.
**Epic note:** Depends on **backend world services** in addition to E4.M1; those integrations are out-of-repo contracts until defined.
## Responsibilities
- Orchestrate `RegionHandoffEvent`; model `RegionAuthority` and `TransferState` during handoff.
## Key contracts
| Contract | Role |
|----------|------|
| `RegionHandoffEvent` | Start/complete/fail lifecycle. |
| `RegionAuthority` | Which service owns simulation for an entity. |
| `TransferState` | Serializable handoff payload. |
## Module dependencies
- **E4.M1** — ZoneGraphAndTravelRules.
## Dependents (by design)
- World/shard services (external); client runtime for loading/streaming.
## Related implementation slices
Epic 4 **Slice 4**`region_handoff_start`, `region_handoff_complete`, rollback path documented.
## Source anchors
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 4.
- [Module dependency register](module_dependency_register.md)

View File

@ -15,7 +15,7 @@ Layer on top of the zone graph that tags each zone with security tier (e.g. high
## Responsibilities
- Assign and persist `SecurityTier` per zone (from data on E4.M1).
- Assign and persist `SecurityTier` per zone (from data on [E4.M1](E4_M1_ZoneGraphAndTravelRules.md)).
- Publish `ZonePolicyState` for server and client display alignment.
- Emit or serve `ZoneEntryWarning` when players transition into higher-risk zones.
@ -29,12 +29,12 @@ Layer on top of the zone graph that tags each zone with security tier (e.g. high
## Module dependencies
- **E4.M1** — ZoneGraphAndTravelRules: `ZoneDef`, edges, and travel context for tier attachment.
- **E4.M1**[ZoneGraphAndTravelRules](E4_M1_ZoneGraphAndTravelRules.md): `ZoneDef`, edges, and travel context for tier attachment.
## Dependents (by design)
- **E6.M1**PvPEligibilityAndFlagState: primary consumer for who may engage in PvP where.
- **E6.M2**ConsentAndRiskUxSignals: displays risk using tier and warning contracts.
- **E6.M1**[PvPEligibilityAndFlagState](E6_M1_PvPEligibilityAndFlagState.md): who may engage in PvP where.
- **E6.M2**[ConsentAndRiskUxSignals](E6_M2_ConsentAndRiskUxSignals.md): risk UI from tier and warnings.
## Related implementation slices

View File

@ -30,10 +30,8 @@ Core tab-target combat resolution: valid actions against a locked target, hit re
## Module dependencies
- **E1.M3** — InteractionAndTargetingLayer: `TargetState`, selection, and ability request path alignment with **E1.M4** (AbilityInputScaffold; see [Epic 1](../epics/epic_01_core_player_runtime.md)) for `AbilityCastRequest` wiring to this engine.
- **E2.M2** — XpAwardAndLevelEngine: combat XP grants.
> **Register note:** The [module dependency register](module_dependency_register.md) lists `E1.M3` for this module; E1.M3 is defined in [Epic 1](../epics/epic_01_core_player_runtime.md) but is not a separate row in the register table.
- **E1.M3** — [InteractionAndTargetingLayer](E1_M3_InteractionAndTargetingLayer.md): `TargetState`, selection, and alignment with **E1.M4** ([AbilityInputScaffold](E1_M4_AbilityInputScaffold.md)) for `AbilityCastRequest` wiring.
- **E2.M2** — [XpAwardAndLevelEngine](E2_M2_XpAwardAndLevelEngine.md): combat XP grants.
## Dependents (by design)

View File

@ -0,0 +1,44 @@
# E5.M2 — NpcAiAndBehaviorProfiles
## Summary
| Field | Value |
|--------|--------|
| **Module ID** | E5.M2 |
| **Epic** | [Epic 5 — PvE Combat](../epics/epic_05_pve_combat.md) |
| **Stage target** | Prototype |
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
## Purpose
Enemy archetype behavior loops, aggro logic, and telegraph scheduling on top of [E5.M1 — CombatRulesEngine](E5_M1_CombatRulesEngine.md).
## Responsibilities
- Run `NpcBehaviorDef`; emit `TelegraphEvent`; apply `AggroRule` / threat integration with combat state.
## Key contracts
| Contract | Role |
|----------|------|
| `NpcBehaviorDef` | Archetype scripts or state machines. |
| `TelegraphEvent` | Telegraph timing for UI and dodge windows. |
| `AggroRule` | Target selection and leash behavior. |
## Module dependencies
- **E5.M1** — CombatRulesEngine.
## Dependents (by design)
- **E4.M2** — SpawnEcologyController.
- **E5.M3** — EncounterAndRewardTables.
## Related implementation slices
Epic 5 **Slice 2** — three archetypes; `telegraph_fired`, `npc_state_transition`.
## Source anchors
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 5.
- [Module dependency register](module_dependency_register.md)

View File

@ -0,0 +1,47 @@
# E5.M3 — EncounterAndRewardTables
## Summary
| Field | Value |
|--------|--------|
| **Module ID** | E5.M3 |
| **Epic** | [Epic 5 — PvE Combat](../epics/epic_05_pve_combat.md) |
| **Stage target** | Prototype |
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
## Purpose
Encounter templates, completion criteria, and reward drop routing into items ([E3.M3](E3_M3_ItemizationAndInventorySchema.md)) and quest credit via [E7.M2 — RewardAndUnlockRouter](E7_M2_RewardAndUnlockRouter.md).
## Responsibilities
- Instantiate `EncounterDef`; roll `RewardTable`; emit `EncounterCompleteEvent` for downstream routers and parity checks.
## Key contracts
| Contract | Role |
|----------|------|
| `EncounterDef` | Spawns, objectives, completion rules. |
| `RewardTable` | Loot and currency references validated against item schema. |
| `EncounterCompleteEvent` | Completion signal for quests and telemetry. |
## Module dependencies
- **E5.M1** — CombatRulesEngine.
- **E3.M3** — ItemizationAndInventorySchema.
- **E7.M2** — RewardAndUnlockRouter.
## Dependents (by design)
- **E5.M4** — GroupCombatScaling.
- **E6.M4** — RewardParityEnforcer.
- **E7.M4** — ContractMissionGenerator.
## Related implementation slices
Epic 5 **Slice 3**`encounter_complete`, reward attribution once.
## Source anchors
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 5.
- [Module dependency register](module_dependency_register.md)

View File

@ -0,0 +1,44 @@
# E5.M4 — GroupCombatScaling
## Summary
| Field | Value |
|--------|--------|
| **Module ID** | E5.M4 |
| **Epic** | [Epic 5 — PvE Combat](../epics/epic_05_pve_combat.md) |
| **Stage target** | Pre-production |
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
## Purpose
Duo/squad scaling and anti-trivialization hooks using party context from [E8.M1 — PartyAndMatchAssembly](E8_M1_PartyAndMatchAssembly.md).
## Responsibilities
- Apply `ScalingProfile`, `PartySizeModifier`, and `CombatDifficultyBand` when resolving encounters ([E5.M3](E5_M3_EncounterAndRewardTables.md)).
## Key contracts
| Contract | Role |
|----------|------|
| `ScalingProfile` | HP/damage modifiers per party size. |
| `PartySizeModifier` | Discrete steps or curves. |
| `CombatDifficultyBand` | Named difficulty for tuning. |
## Module dependencies
- **E5.M3** — EncounterAndRewardTables.
- **E8.M1** — PartyAndMatchAssembly.
## Dependents (by design)
- Encounter runtime and telemetry `party_combat_scaling_applied`.
## Related implementation slices
Epic 5 **Slice 4** — duo fairness metrics.
## Source anchors
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 5.
- [Module dependency register](module_dependency_register.md)

View File

@ -0,0 +1,44 @@
# E6.M2 — ConsentAndRiskUxSignals
## Summary
| Field | Value |
|--------|--------|
| **Module ID** | E6.M2 |
| **Epic** | [Epic 6 — PvP Security](../epics/epic_06_pvp_security.md) |
| **Stage target** | Prototype |
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
## Purpose
Entry warnings, in-zone risk UI, and clear PvP state communication using eligibility from [E6.M1](E6_M1_PvPEligibilityAndFlagState.md) and camera/readability context from [E1.M2](E1_M2_IsometricCameraController.md).
## Responsibilities
- Show `RiskPrompt` on low-sec entry; drive `ZoneRiskState` / `PvPIndicatorState` in HUD.
## Key contracts
| Contract | Role |
|----------|------|
| `RiskPrompt` | Consent dialog payload and outcomes. |
| `ZoneRiskState` | Display model for current zone risk. |
| `PvPIndicatorState` | Persistent indicator semantics. |
## Module dependencies
- **E6.M1** — PvPEligibilityAndFlagState.
- **E1.M2** — IsometricCameraController.
## Dependents (by design)
- Client UX only; server remains authoritative via E6.M1 / E4.M4.
## Related implementation slices
Epic 6 **Slice 2**`risk_prompt_shown`, accepted/declined.
## Source anchors
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 6.
- [Module dependency register](module_dependency_register.md)

View File

@ -0,0 +1,44 @@
# E6.M3 — LossPenaltyAndAntiGriefRules
## Summary
| Field | Value |
|--------|--------|
| **Module ID** | E6.M3 |
| **Epic** | [Epic 6 — PvP Security](../epics/epic_06_pvp_security.md) |
| **Stage target** | Pre-production |
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
## Purpose
Death/loss rules in PvP contexts, spawn protection, and abuse mitigation with escalation hooks to [E9.M4 — IntegrityAndAbuseResponse](E9_M4_IntegrityAndAbuseResponse.md).
## Responsibilities
- Encode `PvPLossRule`; track `SpawnProtectionState`; raise `GriefingStrike` signals for ops review.
## Key contracts
| Contract | Role |
|----------|------|
| `PvPLossRule` | Drop, durability, or flag penalties. |
| `SpawnProtectionState` | Timers and invuln windows. |
| `GriefingStrike` | Escalation input to integrity pipeline. |
## Module dependencies
- **E6.M1** — PvPEligibilityAndFlagState.
- **E9.M4** — IntegrityAndAbuseResponse.
## Dependents (by design)
- Combat resolution and spawn systems when in PvP context.
## Related implementation slices
Epic 6 **Slice 4**`pvp_death`, `spawn_protection_applied`, `grief_flag_raised`.
## Source anchors
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 6.
- [Module dependency register](module_dependency_register.md)

View File

@ -0,0 +1,45 @@
# E6.M4 — RewardParityEnforcer
## Summary
| Field | Value |
|--------|--------|
| **Module ID** | E6.M4 |
| **Epic** | [Epic 6 — PvP Security](../epics/epic_06_pvp_security.md) |
| **Stage target** | Prototype |
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
## Purpose
Ensure functional equivalents for PvP rewards through PvE/crafting paths; blocks ship when mapping incomplete per policy.
## Responsibilities
- Maintain `RewardParityMap` and `EquivalentPowerBand`; emit `ParityViolationAlert` for CI or live checks across [E3.M2](E3_M2_RefinementAndRecipeExecution.md), [E5.M3](E5_M3_EncounterAndRewardTables.md), [E7.M2](E7_M2_RewardAndUnlockRouter.md).
## Key contracts
| Contract | Role |
|----------|------|
| `RewardParityMap` | PvP-only reward → equivalent path. |
| `EquivalentPowerBand` | Acceptable power band comparison. |
| `ParityViolationAlert` | Blocking or warning signal. |
## Module dependencies
- **E3.M2** — RefinementAndRecipeExecution.
- **E5.M3** — EncounterAndRewardTables.
- **E7.M2** — RewardAndUnlockRouter.
## Dependents (by design)
- Release/content gates; telemetry `parity_violation`, `parity_grant_path_completed`.
## Related implementation slices
Epic 6 **Slice 3** — prototype sidegrade example validated.
## Source anchors
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 6.
- [Module dependency register](module_dependency_register.md)

View File

@ -34,10 +34,10 @@ Data-driven quest lifecycle: start, step progression, branching, failure/reset,
## Dependents (by design)
- **E7.M2** — RewardAndUnlockRouter: idempotent delivery after completion.
- **E7.M3** — FactionReputationLedger: reputation-gated content (pre-production).
- **E5.M3** — EncounterAndRewardTables: encounter completion and quest credit.
- **E6.M4** — RewardParityEnforcer: quest/PvP reward alignment.
- **E7.M2**[RewardAndUnlockRouter](E7_M2_RewardAndUnlockRouter.md): idempotent delivery after completion.
- **E7.M3**[FactionReputationLedger](E7_M3_FactionReputationLedger.md): reputation-gated content (pre-production).
- **E5.M3**[EncounterAndRewardTables](E5_M3_EncounterAndRewardTables.md): encounter completion and quest credit.
- **E6.M4**[RewardParityEnforcer](E6_M4_RewardParityEnforcer.md): quest/PvP reward alignment.
## Related implementation slices

View File

@ -0,0 +1,46 @@
# E7.M2 — RewardAndUnlockRouter
## Summary
| Field | Value |
|--------|--------|
| **Module ID** | E7.M2 |
| **Epic** | [Epic 7 — Quest / Faction](../epics/epic_07_quest_faction.md) |
| **Stage target** | Prototype |
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
## Purpose
Route quest and encounter outputs to XP, items, unlocks, and flags with **idempotent** delivery ([E7.M1](E7_M1_QuestStateMachine.md) completion, [E2.M2](E2_M2_XpAwardAndLevelEngine.md), [E3.M3](E3_M3_ItemizationAndInventorySchema.md)).
## Responsibilities
- Apply `QuestRewardBundle`; grant `UnlockGrant`; emit `RewardDeliveryEvent` for audit.
## Key contracts
| Contract | Role |
|----------|------|
| `QuestRewardBundle` | Composite rewards for a step or completion. |
| `UnlockGrant` | Blueprints, gates, cosmetics. |
| `RewardDeliveryEvent` | Idempotency key and outcome. |
## Module dependencies
- **E2.M2** — XpAwardAndLevelEngine.
- **E3.M3** — ItemizationAndInventorySchema.
- **E7.M1** — QuestStateMachine.
## Dependents (by design)
- **E5.M3** — EncounterAndRewardTables.
- **E6.M4** — RewardParityEnforcer.
## Related implementation slices
Epic 7 **Slice 2**`reward_delivery`, `unlock_granted`; no double-claim on replay.
## Source anchors
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 7.
- [Module dependency register](module_dependency_register.md)

View File

@ -0,0 +1,44 @@
# E7.M3 — FactionReputationLedger
## Summary
| Field | Value |
|--------|--------|
| **Module ID** | E7.M3 |
| **Epic** | [Epic 7 — Quest / Faction](../epics/epic_07_quest_faction.md) |
| **Stage target** | Pre-production |
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
## Purpose
Faction standing, reputation deltas, and `FactionGateRule` evaluation for content and contracts.
## Responsibilities
- Persist auditable `FactionStanding`; apply `ReputationDelta`; fail closed on tamper for gates.
## Key contracts
| Contract | Role |
|----------|------|
| `FactionStanding` | Current rep per faction. |
| `ReputationDelta` | Change events with source attribution. |
| `FactionGateRule` | Unlock conditions for content. |
## Module dependencies
- **E7.M1** — QuestStateMachine.
## Dependents (by design)
- **E7.M4** — ContractMissionGenerator.
- **E8.M2** — GuildCorpProgressionState.
## Related implementation slices
Epic 7 **Slice 3**`reputation_delta`, `faction_gate_blocked`.
## Source anchors
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 7.
- [Module dependency register](module_dependency_register.md)

View File

@ -0,0 +1,45 @@
# E7.M4 — ContractMissionGenerator
## Summary
| Field | Value |
|--------|--------|
| **Module ID** | E7.M4 |
| **Epic** | [Epic 7 — Quest / Faction](../epics/epic_07_quest_faction.md) |
| **Stage target** | Pre-production |
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
## Purpose
Semi-procedural repeatable contracts from templates, keyed by zone difficulty ([E4.M1](E4_M1_ZoneGraphAndTravelRules.md)), encounter templates ([E5.M3](E5_M3_EncounterAndRewardTables.md)), and faction state ([E7.M3](E7_M3_FactionReputationLedger.md)).
## Responsibilities
- Emit validated `ContractTemplate` instances from `ContractSeed`; record `ContractOutcome`.
## Key contracts
| Contract | Role |
|----------|------|
| `ContractTemplate` | Parameterized mission skeleton. |
| `ContractSeed` | RNG or daily seed inputs. |
| `ContractOutcome` | Completion and reward linkage. |
## Module dependencies
- **E4.M1** — ZoneGraphAndTravelRules.
- **E5.M3** — EncounterAndRewardTables.
- **E7.M3** — FactionReputationLedger.
## Dependents (by design)
- Live ops and content pipelines; validate against economy/parity rules per epic.
## Related implementation slices
Epic 7 **Slice 4**`contract_issued`, `contract_complete`, reward anomalies.
## Source anchors
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 7.
- [Module dependency register](module_dependency_register.md)

View File

@ -0,0 +1,44 @@
# E8.M1 — PartyAndMatchAssembly
## Summary
| Field | Value |
|--------|--------|
| **Module ID** | E8.M1 |
| **Epic** | [Epic 8 — Social / Guild](../epics/epic_08_social_guild.md) |
| **Stage target** | Pre-production |
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
## Purpose
Party creation, invites, ready-state, and party-scoped hooks for cooperative activities, anchored on player identity/selection from [E1.M3](E1_M3_InteractionAndTargetingLayer.md).
## Responsibilities
- Server-authoritative `PartyState`; `InviteEvent` lifecycle; optional `RolePreference` for matchmaking.
## Key contracts
| Contract | Role |
|----------|------|
| `PartyState` | Members, leader, ready flags. |
| `InviteEvent` | Invite, accept, decline, timeout. |
| `RolePreference` | Role or build hints for assembly. |
## Module dependencies
- **E1.M3** — InteractionAndTargetingLayer.
## Dependents (by design)
- **E5.M4** — GroupCombatScaling.
- **E8.M2** — GuildCorpProgressionState.
## Related implementation slices
Epic 8 **Slice 1**`party_formed`, `party_disbanded`, invite failures.
## Source anchors
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 8.
- [Module dependency register](module_dependency_register.md)

View File

@ -0,0 +1,44 @@
# E8.M2 — GuildCorpProgressionState
## Summary
| Field | Value |
|--------|--------|
| **Module ID** | E8.M2 |
| **Epic** | [Epic 8 — Social / Guild](../epics/epic_08_social_guild.md) |
| **Stage target** | Production |
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
## Purpose
Guild/corp membership, rank permissions, and shared progression tied to faction/social goals via [E7.M3](E7_M3_FactionReputationLedger.md).
## Responsibilities
- Maintain `GuildState` and `GuildRolePolicy`; emit `GuildProgressionEvent`; prevent permission bypass griefing.
## Key contracts
| Contract | Role |
|----------|------|
| `GuildState` | Org roster, level, shared unlocks. |
| `GuildRolePolicy` | Permission matrix. |
| `GuildProgressionEvent` | Shared milestones. |
## Module dependencies
- **E8.M1** — PartyAndMatchAssembly.
- **E7.M3** — FactionReputationLedger.
## Dependents (by design)
- Social UI, contracts, and telemetry `guild_progression_event`.
## Related implementation slices
Epic 8 **Slice 4** — corp progress not griefable by solo permission bypass.
## Source anchors
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 8.
- [Module dependency register](module_dependency_register.md)

View File

@ -0,0 +1,45 @@
# E8.M3 — PlayerTradeAndMarketplace
## Summary
| Field | Value |
|--------|--------|
| **Module ID** | E8.M3 |
| **Epic** | [Epic 8 — Social / Guild](../epics/epic_08_social_guild.md) |
| **Stage target** | Pre-production |
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
## Purpose
Listings, direct trade, purchases, and **atomic server settlement** for player economy, grounded in [E3.M3](E3_M3_ItemizationAndInventorySchema.md) and policy from [E3.M5](E3_M5_EconomyBalancePolicy.md).
## Responsibilities
- `MarketListing` / `TradeOffer` validation; `SettlementEvent` with duplication and cancel-edge coverage.
## Key contracts
| Contract | Role |
|----------|------|
| `MarketListing` | Seller, item, price, fees. |
| `TradeOffer` | Bilateral trade window state. |
| `SettlementEvent` | Completed exchange audit. |
## Module dependencies
- **E3.M3** — ItemizationAndInventorySchema.
- **E3.M5** — EconomyBalancePolicy.
## Dependents (by design)
- **E3.M4** — SinkAndDurabilityLifecycle (epic coupling).
- Integrity and fraud telemetry.
## Related implementation slices
Epic 8 **Slice 2**`trade_completed`, `listing_created`, `purchase_completed`, fraud flags.
## Source anchors
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 8.
- [Module dependency register](module_dependency_register.md)

View File

@ -0,0 +1,43 @@
# E8.M4 — ChatModerationAndReporting
## Summary
| Field | Value |
|--------|--------|
| **Module ID** | E8.M4 |
| **Epic** | [Epic 8 — Social / Guild](../epics/epic_08_social_guild.md) |
| **Stage target** | Pre-production |
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
## Purpose
Channel chat with rate limits, player reports, and moderation action logs escalated to [E9.M4 — IntegrityAndAbuseResponse](E9_M4_IntegrityAndAbuseResponse.md).
## Responsibilities
- Emit `ChatMessageEvent` with stable ids; accept `PlayerReport`; record `ModerationAction` for audit export.
## Key contracts
| Contract | Role |
|----------|------|
| `ChatMessageEvent` | Message payload + channel + ids. |
| `PlayerReport` | Reason codes and context. |
| `ModerationAction` | Mute/ban/warn with actor and timestamp. |
## Module dependencies
- **E9.M4** — IntegrityAndAbuseResponse.
## Dependents (by design)
- Moderator tooling and compliance exports.
## Related implementation slices
Epic 8 **Slice 3** — trace message id to action history in test; `chat_message_sent`, `moderation_action`.
## Source anchors
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 8.
- [Module dependency register](module_dependency_register.md)

View File

@ -0,0 +1,45 @@
# E9.M2 — KpiDashboardsAndAlerting
## Summary
| Field | Value |
|--------|--------|
| **Module ID** | E9.M2 |
| **Epic** | [Epic 9 — LiveOps / Integrity](../epics/epic_09_liveops_integrity.md) |
| **Stage target** | Pre-production |
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
## Purpose
KPI aggregation, dashboards, trend alerts, and milestone gate signals built on [E9.M1 — TelemetryEventSchema](E9_M1_TelemetryEventSchema.md).
## Responsibilities
- Define `KpiDefinition` and `AlertThreshold`; emit `MilestoneGateSignal` for phase checklists.
## Key contracts
| Contract | Role |
|----------|------|
| `KpiDefinition` | Query + visualization binding. |
| `AlertThreshold` | Breach conditions. |
| `MilestoneGateSignal` | Pass/fail inputs for milestones. |
## Module dependencies
- **E9.M1** — TelemetryEventSchema.
## Dependents (by design)
- **E2.M4** — ProgressionPacingControls.
- **E3.M5** — EconomyBalancePolicy.
- **E9.M3** — LiveBalanceControlPlane.
## Related implementation slices
Epic 9 **Slice 2** — each prototype gate has at least one chart or query.
## Source anchors
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 9.
- [Module dependency register](module_dependency_register.md)

View File

@ -0,0 +1,46 @@
# E9.M3 — LiveBalanceControlPlane
## Summary
| Field | Value |
|--------|--------|
| **Module ID** | E9.M3 |
| **Epic** | [Epic 9 — LiveOps / Integrity](../epics/epic_09_liveops_integrity.md) |
| **Stage target** | Production |
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
## Purpose
Runtime-safe application of signed `BalancePatch` bundles to combat, progression, and economy knobs with `RolloutState` and rollback story.
## Responsibilities
- Version `ConfigVersion` per patch; stage `RolloutState`; integrate with [E9.M2](E9_M2_KpiDashboardsAndAlerting.md), [E5.M1](E5_M1_CombatRulesEngine.md), [E2.M4](E2_M4_ProgressionPacingControls.md), [E3.M5](E3_M5_EconomyBalancePolicy.md).
## Key contracts
| Contract | Role |
|----------|------|
| `BalancePatch` | Signed tunable diff bundle. |
| `ConfigVersion` | Client/server hash visibility. |
| `RolloutState` | Canary, full, rollback. |
## Module dependencies
- **E9.M2** — KpiDashboardsAndAlerting.
- **E5.M1** — CombatRulesEngine.
- **E2.M4** — ProgressionPacingControls.
- **E3.M5** — EconomyBalancePolicy.
## Dependents (by design)
- Operations UI and automated rollback SLOs.
## Related implementation slices
Epic 9 **Slice 4**`balance_patch_applied`, client config hash; rollback within agreed SLO.
## Source anchors
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 9.
- [Module dependency register](module_dependency_register.md)

View File

@ -0,0 +1,44 @@
# E9.M4 — IntegrityAndAbuseResponse
## Summary
| Field | Value |
|--------|--------|
| **Module ID** | E9.M4 |
| **Epic** | [Epic 9 — LiveOps / Integrity](../epics/epic_09_liveops_integrity.md) |
| **Stage target** | Pre-production |
| **Status** | Planned (see [dependency register](module_dependency_register.md)) |
## Purpose
Correlate exploit/bot signals from [E9.M1](E9_M1_TelemetryEventSchema.md) to `IncidentTicket` and `EnforcementAction` with audit trail.
## Responsibilities
- Ingest `IntegritySignal`; open/close incidents; log `EnforcementAction` for moderation and economy response.
## Key contracts
| Contract | Role |
|----------|------|
| `IntegritySignal` | Detection pipeline output. |
| `IncidentTicket` | Triage record. |
| `EnforcementAction` | Ban, rollback, warning with actor. |
## Module dependencies
- **E9.M1** — TelemetryEventSchema.
## Dependents (by design)
- **E6.M3** — LossPenaltyAndAntiGriefRules.
- **E8.M4** — ChatModerationAndReporting.
## Related implementation slices
Epic 9 **Slice 3** — known exploit replay produces ticket + action log; `integrity_signal`, `incident_open`, `enforcement_action`.
## Source anchors
- Master plan: [`neon_sprawl_vision.plan.md`](../../../neon_sprawl_vision.plan.md) — Epic 9.
- [Module dependency register](module_dependency_register.md)

View File

@ -1,24 +1,94 @@
# Module Dependency Register
Tracks cross-epic dependencies and contract readiness.
Tracks cross-epic dependencies and contract readiness. Every **Depends On** module ID in this table has its own row (closed graph).
Fleshed-out scope, contracts, and integration notes for each row below live in **per-module documents** (see [Per-module documentation](#per-module-documentation)).
Fleshed-out scope, contracts, and integration notes live in **per-module documents** (see [Per-module documentation](#per-module-documentation)).
## Dependency Table
### Epic 1 — Core Player Runtime
| Module ID | Module Name | Depends On | Contract Needed | Phase Required | Status |
|---|---|---|---|---|---|
| E1.M1 | InputAndMovementRuntime | None | MoveCommand, PositionState | Prototype | Planned |
| E1.M2 | IsometricCameraController | E1.M1 | CameraState, ZoomBandConfig | Prototype | Planned |
| E2.M2 | XpAwardAndLevelEngine | E2.M1 | XpGrantEvent, LevelUpEvent | Prototype | Planned |
| E3.M2 | RefinementAndRecipeExecution | E3.M1, E3.M3 | CraftRequest, CraftResult | Prototype | Planned |
| E5.M1 | CombatRulesEngine | E1.M3, E2.M2 | CombatAction, CombatResolution | Prototype | Planned |
| E4.M4 | SecurityTierZoneFlags | E4.M1 | SecurityTier, ZonePolicyState, ZoneEntryWarning | Prototype | Planned |
| E6.M1 | PvPEligibilityAndFlagState | E4.M4 | PvPFlagState, EligibilityRule | Prototype | Planned |
| E7.M1 | QuestStateMachine | E3.M2, E5.M1 | QuestStateTransition | Prototype | Planned |
| E9.M1 | TelemetryEventSchema | None | TelemetryEvent envelope | Prototype | Planned |
| E1.M1 | InputAndMovementRuntime | None | MoveCommand, PositionState, InteractionRequest | Prototype | Planned |
| E1.M2 | IsometricCameraController | E1.M1 | CameraState, ZoomBandConfig, OcclusionPolicy | Prototype | Planned |
| E1.M3 | InteractionAndTargetingLayer | E1.M1 | TargetState, InteractableDescriptor, SelectionEvent | Prototype | Planned |
| E1.M4 | AbilityInputScaffold | E1.M3, E5.M1 | AbilityCastRequest, HotbarLoadout, CooldownSnapshot | Prototype | Planned |
**Note:** E5.M1 depends on **E1.M3** (InteractionAndTargetingLayer; [Epic 1](../epics/epic_01_core_player_runtime.md)). E1.M3 is not listed as its own row in this register; document it when it is promoted to a tracked cross-epic contract.
### Epic 2 — Classless Progression
| Module ID | Module Name | Depends On | Contract Needed | Phase Required | Status |
|---|---|---|---|---|---|
| E2.M1 | SkillDefinitionRegistry | None | SkillDef, SkillCategory, UnlockRequirement | Prototype | Planned |
| E2.M2 | XpAwardAndLevelEngine | E2.M1 | XpGrantEvent, LevelCurve, LevelUpEvent | Prototype | Planned |
| E2.M3 | MasteryAndPerkUnlocks | E2.M2 | MasteryTrack, PerkUnlockEvent, PerkState | Pre-production | Planned |
| E2.M4 | ProgressionPacingControls | E2.M2, E9.M2 | XpModifierProfile, CatchUpRule, PacingPolicy | Pre-production | Planned |
### Epic 3 — Crafting Economy
| Module ID | Module Name | Depends On | Contract Needed | Phase Required | Status |
|---|---|---|---|---|---|
| E3.M1 | ResourceNodeAndGatherLoop | E1.M3, E2.M2 | ResourceNodeDef, GatherResult, ResourceYieldTable | Prototype | Planned |
| E3.M2 | RefinementAndRecipeExecution | E3.M1, E3.M3 | RecipeDef, CraftRequest, CraftResult | Prototype | Planned |
| E3.M3 | ItemizationAndInventorySchema | None | ItemDef, ItemInstance, InventorySlot | Prototype | Planned |
| E3.M4 | SinkAndDurabilityLifecycle | E3.M3, E8.M3 | DurabilityState, ItemSinkEvent, RepairCostRule | Pre-production | Planned |
| E3.M5 | EconomyBalancePolicy | E3.M4, E9.M2 | EconomyPolicy, PriceBandRule, FaucetSinkRatio | Pre-production | Planned |
### Epic 4 — World Topology
| Module ID | Module Name | Depends On | Contract Needed | Phase Required | Status |
|---|---|---|---|---|---|
| E4.M1 | ZoneGraphAndTravelRules | None | ZoneDef, ZoneEdge, TravelRule | Prototype | Planned |
| E4.M2 | SpawnEcologyController | E4.M1, E3.M1, E5.M2 | SpawnProfile, RespawnRule, ZoneEcologyState | Pre-production | Planned |
| E4.M3 | SeamlessHandoffAndRegionState | E4.M1 | RegionHandoffEvent, RegionAuthority, TransferState | Pre-production | Planned |
| E4.M4 | SecurityTierZoneFlags | E4.M1 | SecurityTier, ZonePolicyState, ZoneEntryWarning | Prototype | Planned |
**E4.M3:** Epic also references backend world services for region authority; treat as external integration alongside E4.M1 contracts.
### Epic 5 — PvE Combat
| Module ID | Module Name | Depends On | Contract Needed | Phase Required | Status |
|---|---|---|---|---|---|
| E5.M1 | CombatRulesEngine | E1.M3, E2.M2 | CombatAction, CombatResolution, ThreatState | Prototype | Planned |
| E5.M2 | NpcAiAndBehaviorProfiles | E5.M1 | NpcBehaviorDef, TelegraphEvent, AggroRule | Prototype | Planned |
| E5.M3 | EncounterAndRewardTables | E5.M1, E3.M3, E7.M2 | EncounterDef, RewardTable, EncounterCompleteEvent | Prototype | Planned |
| E5.M4 | GroupCombatScaling | E5.M3, E8.M1 | ScalingProfile, PartySizeModifier, CombatDifficultyBand | Pre-production | Planned |
### Epic 6 — PvP Security
| Module ID | Module Name | Depends On | Contract Needed | Phase Required | Status |
|---|---|---|---|---|---|
| E6.M1 | PvPEligibilityAndFlagState | E4.M4 | PvPFlagState, EligibilityRule, PvPStateChanged | Prototype | Planned |
| E6.M2 | ConsentAndRiskUxSignals | E6.M1, E1.M2 | RiskPrompt, ZoneRiskState, PvPIndicatorState | Prototype | Planned |
| E6.M3 | LossPenaltyAndAntiGriefRules | E6.M1, E9.M4 | PvPLossRule, SpawnProtectionState, GriefingStrike | Pre-production | Planned |
| E6.M4 | RewardParityEnforcer | E3.M2, E5.M3, E7.M2 | RewardParityMap, EquivalentPowerBand, ParityViolationAlert | Prototype | Planned |
### Epic 7 — Quest / Faction
| Module ID | Module Name | Depends On | Contract Needed | Phase Required | Status |
|---|---|---|---|---|---|
| E7.M1 | QuestStateMachine | E3.M2, E5.M1 | QuestDef, QuestStepState, QuestStateTransition | Prototype | Planned |
| E7.M2 | RewardAndUnlockRouter | E2.M2, E3.M3, E7.M1 | QuestRewardBundle, UnlockGrant, RewardDeliveryEvent | Prototype | Planned |
| E7.M3 | FactionReputationLedger | E7.M1 | FactionStanding, ReputationDelta, FactionGateRule | Pre-production | Planned |
| E7.M4 | ContractMissionGenerator | E4.M1, E5.M3, E7.M3 | ContractTemplate, ContractSeed, ContractOutcome | Pre-production | Planned |
### Epic 8 — Social / Guild
| Module ID | Module Name | Depends On | Contract Needed | Phase Required | Status |
|---|---|---|---|---|---|
| E8.M1 | PartyAndMatchAssembly | E1.M3 | PartyState, InviteEvent, RolePreference | Pre-production | Planned |
| E8.M2 | GuildCorpProgressionState | E8.M1, E7.M3 | GuildState, GuildRolePolicy, GuildProgressionEvent | Production | Planned |
| E8.M3 | PlayerTradeAndMarketplace | E3.M3, E3.M5 | MarketListing, TradeOffer, SettlementEvent | Pre-production | Planned |
| E8.M4 | ChatModerationAndReporting | E9.M4 | ChatMessageEvent, PlayerReport, ModerationAction | Pre-production | Planned |
### Epic 9 — LiveOps / Integrity
| Module ID | Module Name | Depends On | Contract Needed | Phase Required | Status |
|---|---|---|---|---|---|
| E9.M1 | TelemetryEventSchema | None | TelemetryEvent, EventSchemaVersion, ClientEventEnvelope | Prototype | Planned |
| E9.M2 | KpiDashboardsAndAlerting | E9.M1 | KpiDefinition, AlertThreshold, MilestoneGateSignal | Pre-production | Planned |
| E9.M3 | LiveBalanceControlPlane | E9.M2, E5.M1, E2.M4, E3.M5 | BalancePatch, ConfigVersion, RolloutState | Production | Planned |
| E9.M4 | IntegrityAndAbuseResponse | E9.M1 | IntegritySignal, IncidentTicket, EnforcementAction | Pre-production | Planned |
## Per-module documentation
@ -26,13 +96,41 @@ Fleshed-out scope, contracts, and integration notes for each row below live in *
|-----------|----------|
| E1.M1 | [E1_M1_InputAndMovementRuntime.md](E1_M1_InputAndMovementRuntime.md) |
| E1.M2 | [E1_M2_IsometricCameraController.md](E1_M2_IsometricCameraController.md) |
| E1.M3 | [E1_M3_InteractionAndTargetingLayer.md](E1_M3_InteractionAndTargetingLayer.md) |
| E1.M4 | [E1_M4_AbilityInputScaffold.md](E1_M4_AbilityInputScaffold.md) |
| E2.M1 | [E2_M1_SkillDefinitionRegistry.md](E2_M1_SkillDefinitionRegistry.md) |
| E2.M2 | [E2_M2_XpAwardAndLevelEngine.md](E2_M2_XpAwardAndLevelEngine.md) |
| E2.M3 | [E2_M3_MasteryAndPerkUnlocks.md](E2_M3_MasteryAndPerkUnlocks.md) |
| E2.M4 | [E2_M4_ProgressionPacingControls.md](E2_M4_ProgressionPacingControls.md) |
| E3.M1 | [E3_M1_ResourceNodeAndGatherLoop.md](E3_M1_ResourceNodeAndGatherLoop.md) |
| E3.M2 | [E3_M2_RefinementAndRecipeExecution.md](E3_M2_RefinementAndRecipeExecution.md) |
| E3.M3 | [E3_M3_ItemizationAndInventorySchema.md](E3_M3_ItemizationAndInventorySchema.md) |
| E3.M4 | [E3_M4_SinkAndDurabilityLifecycle.md](E3_M4_SinkAndDurabilityLifecycle.md) |
| E3.M5 | [E3_M5_EconomyBalancePolicy.md](E3_M5_EconomyBalancePolicy.md) |
| E4.M1 | [E4_M1_ZoneGraphAndTravelRules.md](E4_M1_ZoneGraphAndTravelRules.md) |
| E4.M2 | [E4_M2_SpawnEcologyController.md](E4_M2_SpawnEcologyController.md) |
| E4.M3 | [E4_M3_SeamlessHandoffAndRegionState.md](E4_M3_SeamlessHandoffAndRegionState.md) |
| E4.M4 | [E4_M4_SecurityTierZoneFlags.md](E4_M4_SecurityTierZoneFlags.md) |
| E5.M1 | [E5_M1_CombatRulesEngine.md](E5_M1_CombatRulesEngine.md) |
| E5.M2 | [E5_M2_NpcAiAndBehaviorProfiles.md](E5_M2_NpcAiAndBehaviorProfiles.md) |
| E5.M3 | [E5_M3_EncounterAndRewardTables.md](E5_M3_EncounterAndRewardTables.md) |
| E5.M4 | [E5_M4_GroupCombatScaling.md](E5_M4_GroupCombatScaling.md) |
| E6.M1 | [E6_M1_PvPEligibilityAndFlagState.md](E6_M1_PvPEligibilityAndFlagState.md) |
| E6.M2 | [E6_M2_ConsentAndRiskUxSignals.md](E6_M2_ConsentAndRiskUxSignals.md) |
| E6.M3 | [E6_M3_LossPenaltyAndAntiGriefRules.md](E6_M3_LossPenaltyAndAntiGriefRules.md) |
| E6.M4 | [E6_M4_RewardParityEnforcer.md](E6_M4_RewardParityEnforcer.md) |
| E7.M1 | [E7_M1_QuestStateMachine.md](E7_M1_QuestStateMachine.md) |
| E7.M2 | [E7_M2_RewardAndUnlockRouter.md](E7_M2_RewardAndUnlockRouter.md) |
| E7.M3 | [E7_M3_FactionReputationLedger.md](E7_M3_FactionReputationLedger.md) |
| E7.M4 | [E7_M4_ContractMissionGenerator.md](E7_M4_ContractMissionGenerator.md) |
| E8.M1 | [E8_M1_PartyAndMatchAssembly.md](E8_M1_PartyAndMatchAssembly.md) |
| E8.M2 | [E8_M2_GuildCorpProgressionState.md](E8_M2_GuildCorpProgressionState.md) |
| E8.M3 | [E8_M3_PlayerTradeAndMarketplace.md](E8_M3_PlayerTradeAndMarketplace.md) |
| E8.M4 | [E8_M4_ChatModerationAndReporting.md](E8_M4_ChatModerationAndReporting.md) |
| E9.M1 | [E9_M1_TelemetryEventSchema.md](E9_M1_TelemetryEventSchema.md) |
| E9.M2 | [E9_M2_KpiDashboardsAndAlerting.md](E9_M2_KpiDashboardsAndAlerting.md) |
| E9.M3 | [E9_M3_LiveBalanceControlPlane.md](E9_M3_LiveBalanceControlPlane.md) |
| E9.M4 | [E9_M4_IntegrityAndAbuseResponse.md](E9_M4_IntegrityAndAbuseResponse.md) |
## Status Legend