From fdaf5b7231574e437b60c351975458ea8dbc5a8d Mon Sep 17 00:00:00 2001 From: VinPropane Date: Sun, 24 May 2026 14:01:36 -0400 Subject: [PATCH] NEO-58: note NEO-57 merged and branch rebased on main Update plan after PR #92; precursor content is on main. --- docs/plans/NEO-58-implementation-plan.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/plans/NEO-58-implementation-plan.md b/docs/plans/NEO-58-implementation-plan.md index e83fb54..d17d228 100644 --- a/docs/plans/NEO-58-implementation-plan.md +++ b/docs/plans/NEO-58-implementation-plan.md @@ -8,8 +8,8 @@ | **Title** | E3.M1: Server resource-node catalog load (fail-fast) | | **Linear** | https://linear.app/neon-sprawl/issue/NEO-58/e3m1-server-resource-node-catalog-load-fail-fast | | **Module** | [E3.M1 — ResourceNodeAndGatherLoop](../decomposition/modules/E3_M1_ResourceNodeAndGatherLoop.md) · Epic 3 Slice 2 · backlog **E3M1-02** | -| **Branch** | `NEO-58-e3m1-server-resource-node-catalog-load-fail-fast` (stacked on `NEO-57-e3m1-prototype-resourcenodedef-yield-schemas-ci`) | -| **Precursor** | [NEO-57](https://linear.app/neon-sprawl/issue/NEO-57) — `content/resource-nodes/` + CI gates (**on NEO-57 branch**; merge before or with stack) | +| **Branch** | `NEO-58-e3m1-server-resource-node-catalog-load-fail-fast` (rebased on `main` after NEO-57 merge PR #92) | +| **Precursor** | [NEO-57](https://linear.app/neon-sprawl/issue/NEO-57) — `content/resource-nodes/` + CI gates (**merged** to `main` via PR #92) | | **Pattern** | [NEO-51](https://linear.app/neon-sprawl/issue/NEO-51) — fail-fast catalog loader + `ContentPathsOptions` + eager `Program.cs` resolve; strict split before registry ticket ([NEO-59](https://linear.app/neon-sprawl/issue/NEO-59)) | ## Kickoff clarifications @@ -106,14 +106,14 @@ No Bruno or client tests (out of scope). | Question / risk | Agent recommendation | Status | |-----------------|----------------------|--------| -| **Stacked PR on NEO-57** | Merge NEO-57 first or land stack; rebase NEO-58 onto `main` after NEO-57 merges. | **adopted** | +| **Stacked PR on NEO-57** | NEO-57 merged (PR #92); NEO-58 rebased onto `main`. | **adopted** | | **C# vs Python drift** | Duplicate `PROTOTYPE_SLICE2_*` in `PrototypeSlice2ResourceNodeCatalogRules` with “keep in sync” comment (NEO-50 / NEO-57 pattern). | **adopted** | | **Test factories without NEO-57 on main** | NEO-58 branch includes NEO-57 content via stack; after NEO-57 merges, rebase drops dependency. | **adopted** | | **Registry consumers** | Gather engine / HTTP use `IResourceNodeDefinitionRegistry` in NEO-59+; this story only exposes `ResourceNodeCatalog` for boot + direct test lookup. | **adopted** | ## Decisions (kickoff) -- **Branch from NEO-57** for stacked PR until E3M1-01 merges. +- **Branch from NEO-57** for initial stacked PR; rebased onto `main` after NEO-57 merged (PR #92). - **`ResourceNodeCatalog` singleton only** — defer `IResourceNodeDefinitionRegistry` to NEO-59. - **Yield `itemId` cross-check** uses `ItemDefinitionCatalog` keys passed into loader at DI registration time. - **In-process validation** + **loader and host boot tests** per NEO-51 precedent.