Commit Graph

782 Commits (e914d5fb9644616744fb3d4c7caf5679f1299c32)

Author SHA1 Message Date
VinPropane e914d5fb96 NEO-69: Add CraftOperations engine with pre-flight and refine XP.
Introduces CraftResult orchestration over recipe registry and inventory
operations, including output capacity simulation and XP rollback on failure.
2026-05-24 17:16:59 -04:00
VinPropane bba1415d54 NEO-69: Add craft engine implementation plan.
Kickoff plan for CraftOperations/CraftResult with pre-flight output
checks, refine XP grant, and unit test coverage before NEO-70 HTTP.
2026-05-24 17:14:44 -04:00
VinPropane 9264b74188
Merge pull request #102 from ViPro-Technologies/NEO-68-get-world-recipe-definitions-bruno
NEO-68: GET world recipe-definitions + Bruno
2026-05-24 17:12:40 -04:00
VinPropane 529cb616f5 NEO-68: Update docs and strike through code review findings.
Mark E3M2-04 landed, refresh alignment register and README, reconcile plan AC.
2026-05-24 17:08:18 -04:00
VinPropane 1636fdc2cb NEO-68: Add GET /game/world/recipe-definitions HTTP projection.
Wire RecipeDefinitionsWorldApi over IRecipeDefinitionRegistry with schema v1
DTOs, Bruno folder, manual QA, and FrozenEightInIdOrder integration test.
2026-05-24 17:08:15 -04:00
VinPropane 8eccb14898 NEO-68: Add code review for kickoff implementation plan. 2026-05-24 17:06:38 -04:00
VinPropane 6de6a1781f NEO-68: Add kickoff implementation plan for recipe-definitions GET.
Documents scope, DTO shape, tests, Bruno, and manual QA after kickoff clarifications.
2026-05-24 17:05:34 -04:00
VinPropane 3861cc5e0c
Merge pull request #101 from ViPro-Technologies/NEO-67-recipe-definition-registry-di
NEO-67: Recipe definition registry + DI
2026-05-24 17:04:04 -04:00
VinPropane 95d42803e1 NEO-67: address code review nits on recipe registry
Delegate TryGetDefinition to catalog.TryGetRecipe, cache ordered defs at
construction, and assert unknown recipeId in host DI test.
2026-05-24 16:58:38 -04:00
VinPropane 2fc3b8f750 NEO-67: Add code review for recipe definition registry + DI. 2026-05-24 16:58:00 -04:00
VinPropane 81b0e3fc4b NEO-67: add IRecipeDefinitionRegistry and DI adapter
Thin registry over RecipeDefinitionCatalog mirrors NEO-52/59: TryGetDefinition,
GetDefinitionsInIdOrder, AAA unit/host tests, README and alignment doc updates.
2026-05-24 16:57:17 -04:00
VinPropane 7188c5b558 NEO-67: add implementation plan for recipe definition registry 2026-05-24 16:56:06 -04:00
VinPropane 565906ff8c
Merge pull request #100 from ViPro-Technologies/NEO-66-e3m2-server-recipe-catalog-load-fail-fast
NEO-66: E3.M2 server recipe catalog load (fail-fast)
2026-05-24 16:53:21 -04:00
VinPropane 1fb4368a2c NEO-66: Address code review follow-ups for recipe catalog load.
Pin Content:RecipesDirectory in all host test factories, add loader tests
for empty dir/invalid JSON/unknown output itemId, document manual QA skip.
2026-05-24 16:45:36 -04:00
VinPropane c279eed572 NEO-66: Add code review for recipe catalog fail-fast load. 2026-05-24 16:43:49 -04:00
VinPropane f209636e7e NEO-66: Fail-fast server recipe catalog load at startup.
Add Game/Crafting loader, Slice 3 gate rules, DI registration, and AAA tests
mirroring item/resource-node catalog patterns; cross-check item and skill ids.
2026-05-24 16:41:48 -04:00
VinPropane ccf4cf8e5c NEO-66: Add implementation plan for recipe catalog load.
Kickoff plan for fail-fast server startup load of content/recipes with
CI-parity validation; strict split defers IRecipeDefinitionRegistry to NEO-67.
2026-05-24 16:38:40 -04:00
VinPropane 018c8a7466
Merge pull request #99 from ViPro-Technologies/NEO-65-e3m2-prototype-recipedef-catalog-schemas-ci
NEO-65: E3.M2 prototype RecipeDef catalog + schemas + CI
2026-05-24 16:36:11 -04:00
VinPropane 27ec7c02a7 NEO-65: Replace deprecated RefResolver with referencing.Registry.
Use jsonschema 4.22+ registry API for cross-file recipe schema $ref
resolution (Bugbot PR #99).
2026-05-24 16:31:24 -04:00
VinPropane d4a4795eb1 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.
2026-05-24 16:25:49 -04:00
VinPropane 966c54ac74 NEO-65: Add code review for RecipeDef catalog + CI. 2026-05-24 16:23:25 -04:00
VinPropane b4f27b4a18 NEO-65: Document recipe catalog CI and mark E3M2-01 complete.
Update CT.M1 PR gate, E3.M2 freeze rules, alignment register, and backlog
checkboxes after prototype recipe validation lands.
2026-05-24 16:21:46 -04:00
VinPropane 4c82283bbc NEO-65: Add prototype recipe catalog, schemas, and CI gates.
Lock eight frozen RecipeDef rows with JSON Schema validation, duplicate-id
rejection, Slice 3 allowlist, and cross-checks against item and skill catalogs.
2026-05-24 16:21:44 -04:00
VinPropane b4b8536081 chore: codify full-stack epic decomposition policy
Add alwaysApply rule, prototype backlog template, epic template updates,
and review/kickoff gates so player-visible slices require client Linear
issues and Godot verification—not Bruno-only deferrals.
2026-05-24 16:19:32 -04:00
VinPropane 2cd17e293a chore: Epic 3 Slice 5 client backlog and full-stack epic policy
Add E3S5-client-prototype-backlog (NEO-72–NEO-75), epic_03 Slice 5,
full-stack epics rule in decomposition README, and cross-links from
E3 module docs and prototype backlogs.
2026-05-24 16:16:51 -04:00
VinPropane 458e9b10e8 NEO-65: E3.M2 Slice 3 decomposition backlog and freeze docs
Add E3M2 prototype backlog (NEO-65–NEO-71), eight-recipe freeze table,
content/README Slice 3 CI note, and cross-links in alignment/decomposition docs.
2026-05-24 16:09:50 -04:00
VinPropane 0556d5fa0f NEO-65: kickoff implementation plan for RecipeDef catalog + CI
Lock content shape for eight frozen prototype recipes before server load,
following NEO-50/NEO-57 schema + validate_content.py patterns.
2026-05-24 16:09:38 -04:00
VinPropane fa7bcce78b
Merge pull request #98 from ViPro-Technologies/NEO-64-e3m1-resource-gathered-gather-node-depleted-telemetry-hooks
NEO-64: gather telemetry hook sites (resource_gathered / gather_node_depleted)
2026-05-24 16:02:31 -04:00
VinPropane a578d9b684 NEO-64: address code review follow-ups.
Nest gather_node_depleted hook in remainingGathers == 0 guard,
add E3M1-08 deny-branch out-of-scope note, and give README NEO-64
its own subsection anchor.
2026-05-24 16:00:02 -04:00
VinPropane 1bcaa1b350 NEO-64: add code review document. 2026-05-24 15:59:16 -04:00
VinPropane 847cda97a3 NEO-64: add gather telemetry hook sites and doc updates.
Comment-only resource_gathered and gather_node_depleted anchors in
GatherOperations.TryGather; README, module docs, manual QA, and E3.M1
backlog marked complete.
2026-05-24 15:58:29 -04:00
VinPropane f39d12a093 NEO-64: add implementation plan for gather telemetry hooks. 2026-05-24 15:57:37 -04:00
VinPropane 052dd7bc8a
Merge pull request #97 from ViPro-Technologies/NEO-63-e3m1-interact-path-integration-registry-expansion-bruno
NEO-62/NEO-63: GatherResult engine + interact gather wiring
2026-05-24 15:56:10 -04:00
VinPropane 0f846f90b9 NEO-63: fix Bruno depletion test node isolation.
Use prototype_urban_bulk_delta so earlier alpha gathers in the
collection do not pre-deplete capacity under CI Postgres persistence.
2026-05-24 15:51:32 -04:00
VinPropane 3834b2316a NEO-63: address code review follow-ups.
AAA depletion test layout, source_kind_not_allowed assertion,
HTTP inventory_full deny test, trim duplicate XP test, doc comments.
2026-05-24 15:46:20 -04:00
VinPropane 35381ad749 NEO-63: add code review document. 2026-05-24 15:45:13 -04:00
VinPropane 01dc48a50a NEO-63: add plan, manual QA, and doc updates.
README gather-via-interact section; E3.M1 anchor coords; backlog landed.
2026-05-24 15:44:15 -04:00
VinPropane e681857778 NEO-63: wire interact to gather engine and expand registry.
Four resource_node anchors; gather denies map to InteractionResponse;
integration tests, Bruno gather/inventory and depletion flows.
2026-05-24 15:44:12 -04:00
VinPropane f58ab4a2eb NEO-62: update docs for gather engine landing.
README, E3.M1 module doc, alignment table, backlog checkboxes.
2026-05-24 15:41:28 -04:00
VinPropane f23af01687 NEO-62: add GatherOperations engine and tests.
Orchestrates inventory grant, salvage XP, and depletion commit
with compensating rollback on XP failure.
2026-05-24 15:41:26 -04:00
VinPropane acf9fe125f NEO-62: add gather engine implementation plan.
Kickoff clarifications: inventory → XP → depletion commit order;
compensating inventory rollback on XP failure.
2026-05-24 15:30:27 -04:00
VinPropane ef5a577c4e
Merge pull request #96 from ViPro-Technologies/NEO-61-e3m1-world-node-instance-depletion-store
NEO-61: E3.M1 world node instance depletion store
2026-05-24 15:28:37 -04:00
VinPropane 5dac6b2825 NEO-61: fix null snapshot on depletion deny path.
Check TryGetRemainingGathers return before using the out snapshot;
default struct had null InteractableId and threw on .Length.
2026-05-24 15:21:37 -04:00
VinPropane 0cc5bb8925 NEO-61: address code review follow-ups.
Fix AAA layout in depletion tests, add ResourceNodeInstanceIds.Normalize,
throw on failed lazy-init after catalog hit, and update dependency register
footnote plus review doc strikethroughs.
2026-05-24 15:15:25 -04:00
VinPropane 0dfbe769e7 NEO-61: add code review document. 2026-05-24 15:13:51 -04:00
VinPropane 6d2d3c040a NEO-61: add world node instance depletion store.
Split IResourceNodeInstanceStore + ResourceNodeInstanceOperations with
lazy init from catalog maxGathers, atomic decrement, node_depleted and
unknown_node reason codes, V006 Postgres migration, and parity tests.
2026-05-24 15:03:05 -04:00
VinPropane 869d411b6f NEO-61: add implementation plan for node depletion store.
Kickoff clarifications adopt split store/operations, lazy init,
keep depleted rows at zero, and defer interactable registry expansion.
2026-05-24 14:59:48 -04:00
VinPropane 4734df1bbc
Merge pull request #95 from ViPro-Technologies/NEO-60-e3m1-get-world-resource-node-definitions-bruno
NEO-60: GET world resource-node-definitions + Bruno
2026-05-24 14:58:07 -04:00
VinPropane 2b66df86b8 NEO-60: address code review — register footnote and Bruno comment
Extend E3.M1 dependency register note with NEO-57–NEO-60 landed slices;
add StringComparer.Ordinal comment to Bruno ordinal test for parity.
2026-05-24 14:49:15 -04:00
VinPropane b60920b2e2 NEO-60: add code review document 2026-05-24 14:48:16 -04:00