From d4a4795eb18551fe135146346d5df42845d0d15a Mon Sep 17 00:00:00 2001 From: VinPropane Date: Sun, 24 May 2026 16:25:49 -0400 Subject: [PATCH] NEO-65: Address code review doc alignment and NEO-66 sync note. Bump E3.M2 module status to In Progress with NEO-65 snapshot; add PROTOTYPE_SLICE3_RECIPE_IDS kickoff reminder for E3M2-02; strike through resolved review suggestions. --- .../modules/E3_M2_RefinementAndRecipeExecution.md | 4 +++- docs/plans/E3M2-prototype-backlog.md | 2 ++ docs/reviews/2026-05-24-NEO-65.md | 6 +++--- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/decomposition/modules/E3_M2_RefinementAndRecipeExecution.md b/docs/decomposition/modules/E3_M2_RefinementAndRecipeExecution.md index 9645058..668acf0 100644 --- a/docs/decomposition/modules/E3_M2_RefinementAndRecipeExecution.md +++ b/docs/decomposition/modules/E3_M2_RefinementAndRecipeExecution.md @@ -7,12 +7,14 @@ | **Module ID** | E3.M2 | | **Epic** | [Epic 3 — Crafting Economy](../epics/epic_03_crafting_economy.md) | | **Stage target** | Prototype | -| **Status** | Planned — Slice 3 backlog [E3M2-prototype-backlog](../../plans/E3M2-prototype-backlog.md) (see [dependency register](module_dependency_register.md)) | +| **Status** | In Progress — Slice 3 backlog [E3M2-prototype-backlog](../../plans/E3M2-prototype-backlog.md): E3M2-01 [NEO-65](https://linear.app/neon-sprawl/issue/NEO-65) landed; E3M2-02–E3M2-07 open (see [dependency register](module_dependency_register.md)) | ## Implementation snapshot **Prep (NEO-42):** Server ships **`RefineActivitySkillXpGrant.GrantOnSuccessfulCraftOrRefine`** + **`RefineSkillXpConstants`** under `server/NeonSprawl.Server/Game/Skills/` — delegates to **`SkillProgressionGrantOperations.TryApplyGrant`** with **`refine`** + **`activity`** (prototype **10** XP), same persistence and **`allowedXpSourceKinds`** rules as **`POST …/skill-progression`**. **No** `CraftRequest` / **`CraftResult`** route yet; when this module adds authoritative craft/refine success, call that helper once on success ([NEO-42 implementation plan](../../plans/NEO-42-implementation-plan.md); [server README — Craft / refine hook (NEO-42)](../../../server/README.md#craft--refine-hook--skill-xp-neo-42)). +**E3M2-01 (NEO-65):** Frozen eight-recipe catalog in [`content/recipes/prototype_recipes.json`](../../../content/recipes/prototype_recipes.json); [`recipe-def.schema.json`](../../../content/schemas/recipe-def.schema.json) + [`recipe-io-row.schema.json`](../../../content/schemas/recipe-io-row.schema.json); PR gate + [`validate_content.py`](../../../scripts/validate_content.py) Slice 3 gates ([NEO-65 plan](../../plans/NEO-65-implementation-plan.md)). **No** server loader yet — E3M2-02 (NEO-66) owns fail-fast boot load. + ## Purpose 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. diff --git a/docs/plans/E3M2-prototype-backlog.md b/docs/plans/E3M2-prototype-backlog.md index f0575fa..9c8ff47 100644 --- a/docs/plans/E3M2-prototype-backlog.md +++ b/docs/plans/E3M2-prototype-backlog.md @@ -91,6 +91,8 @@ Working backlog for **Epic 3 — Slice 3** ([recipes and crafting pipeline](../d **Goal:** Disk → host: startup load of `content/recipes/*.json` with CI-parity validation. +**Kickoff note (NEO-66):** Duplicate **`PROTOTYPE_SLICE3_RECIPE_IDS`** (and Slice 3 gate rules) in C# with an explicit **“keep in sync with `scripts/validate_content.py`”** comment — mirror [NEO-51](../../plans/NEO-51-implementation-plan.md) **`PrototypeSlice1ItemCatalogRules`** / **`PROTOTYPE_SLICE1_ITEM_IDS`**. + **In scope** - Loader + catalog types under `server/NeonSprawl.Server/Game/Crafting/` (path TBD in plan). diff --git a/docs/reviews/2026-05-24-NEO-65.md b/docs/reviews/2026-05-24-NEO-65.md index 7fb5925..3393795 100644 --- a/docs/reviews/2026-05-24-NEO-65.md +++ b/docs/reviews/2026-05-24-NEO-65.md @@ -19,7 +19,7 @@ NEO-65 delivers the **E3M2-01** infrastructure slice: `recipe-def` / `recipe-io- | [`docs/plans/NEO-65-implementation-plan.md`](../plans/NEO-65-implementation-plan.md) | **Matches** — schemas, catalog, validate_content gates, doc touches, acceptance checklist complete; out-of-scope (server/HTTP) respected. | | [`docs/plans/E3M2-prototype-backlog.md`](../plans/E3M2-prototype-backlog.md) | **Matches** — E3M2-01 checkboxes + landed note; infrastructure-only (no client counterpart required for this slug). | | [`docs/plans/E3S5-client-prototype-backlog.md`](../plans/E3S5-client-prototype-backlog.md) | **Matches** — craft UI **NEO-74** / capstone **NEO-75** exist for player-visible Slice 3 work (full-stack policy satisfied for epic, not this ticket). | -| [`docs/decomposition/modules/E3_M2_RefinementAndRecipeExecution.md`](../decomposition/modules/E3_M2_RefinementAndRecipeExecution.md) | **Partially matches** — freeze table, designer note, CI rules, backlog links correct; module header **Status** still **Planned** while alignment register is **In Progress** (see Suggestions). | +| [`docs/decomposition/modules/E3_M2_RefinementAndRecipeExecution.md`](../decomposition/modules/E3_M2_RefinementAndRecipeExecution.md) | **Matches** — freeze table, designer note, CI rules, backlog links; header **Status** **In Progress** + NEO-65 implementation snapshot (addressed post-review). | | [`docs/decomposition/modules/CT_M1_ContentValidationPipeline.md`](../decomposition/modules/CT_M1_ContentValidationPipeline.md) | **Matches** — recipe catalog PR gate paragraph. | | [`docs/decomposition/modules/documentation_and_implementation_alignment.md`](../decomposition/modules/documentation_and_implementation_alignment.md) | **Matches** — E3.M2 row **In Progress** with NEO-65 landed note; E3.M1/E3.M3 cross-link Slice 5 client issues. | | [`docs/decomposition/modules/module_dependency_register.md`](../decomposition/modules/module_dependency_register.md) | **Partially matches** — E3.M2 **note** and E3 Slice 5 note updated; table **Status** column still **Planned** (consistent with E3.M3 pattern until slice completes — optional bump when NEO-66 lands). | @@ -35,9 +35,9 @@ None. ## Suggestions -1. **E3.M2 module doc status + snapshot** — [`E3_M2_RefinementAndRecipeExecution.md`](../decomposition/modules/E3_M2_RefinementAndRecipeExecution.md) header **Status** is still **Planned** while [`documentation_and_implementation_alignment.md`](../decomposition/modules/documentation_and_implementation_alignment.md) lists **In Progress**. Bump header to **In Progress** and add an **Implementation snapshot** bullet for NEO-65 (catalog + CI), mirroring E3.M1/E3.M3 landed notes. +1. ~~**E3.M2 module doc status + snapshot** — [`E3_M2_RefinementAndRecipeExecution.md`](../decomposition/modules/E3_M2_RefinementAndRecipeExecution.md) header **Status** is still **Planned** while [`documentation_and_implementation_alignment.md`](../decomposition/modules/documentation_and_implementation_alignment.md) lists **In Progress**. Bump header to **In Progress** and add an **Implementation snapshot** bullet for NEO-65 (catalog + CI), mirroring E3.M1/E3.M3 landed notes.~~ **Done.** Header **In Progress** + NEO-65 snapshot bullet added. -2. **NEO-66 sync reminder** — When the server loader lands, duplicate `PROTOTYPE_SLICE3_RECIPE_IDS` in C# with an explicit “keep in sync with `validate_content.py`” comment (already noted in the plan; worth repeating in the NEO-66 kickoff plan). +2. ~~**NEO-66 sync reminder** — When the server loader lands, duplicate `PROTOTYPE_SLICE3_RECIPE_IDS` in C# with an explicit “keep in sync with `validate_content.py`” comment (already noted in the plan; worth repeating in the NEO-66 kickoff plan).~~ **Done.** Kickoff note added under E3M2-02 in [`E3M2-prototype-backlog.md`](../plans/E3M2-prototype-backlog.md) (NEO-66 plan not yet authored). ## Nits