From 53fb1d65155f2db9b0b98fce7ca2233c03366f01 Mon Sep 17 00:00:00 2001 From: VinPropane Date: Fri, 3 Apr 2026 22:56:50 -0400 Subject: [PATCH] chore: document E2.M2 grant channel policy in vision plan Align neon_sprawl_vision.plan.md with E2.M2: reject skill XP when sourceKind is not on SkillDef.allowedXpSourceKinds. --- neon_sprawl_vision.plan.md | 1 + 1 file changed, 1 insertion(+) diff --git a/neon_sprawl_vision.plan.md b/neon_sprawl_vision.plan.md index f11e4d5..0a461a3 100644 --- a/neon_sprawl_vision.plan.md +++ b/neon_sprawl_vision.plan.md @@ -394,6 +394,7 @@ Module template: - Stage target: Prototype. - **E2.M2 XpAwardAndLevelEngine** - Responsibility: XP award rules, level thresholds, level-up event generation. + - Grant channel policy: Reject **`XpGrantEvent`** when **`sourceKind`** is not listed on the target **`SkillDef.allowedXpSourceKinds`** (E2.M1 catalog + [`content/schemas/skill-def.schema.json`](content/schemas/skill-def.schema.json)). - Key contracts: `XpGrantEvent`, `LevelCurve`, `LevelUpEvent`. - Dependencies: E2.M1. - Stage target: Prototype.