VinPropane
46393b8ca5
NEO-70: Add craft POST HTTP, Bruno spine, and docs.
...
Wire POST /game/players/{id}/craft to CraftOperations with CraftResponse DTOs,
integration tests, gather→refine→make Bruno folder, and module/README updates.
2026-05-24 17:57:55 -04:00
VinPropane
308de6b50d
NEO-69: Document craft engine and mark E3M2-05 acceptance complete.
...
Updates server README, module snapshot, alignment register, and backlog
after CraftOperations lands with full automated test coverage.
2026-05-24 17:17:01 -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
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
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
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
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
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
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
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
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
97f8f31682
NEO-60: add GET /game/world/resource-node-definitions endpoint
...
Versioned read-only projection backed by IResourceNodeDefinitionRegistry
with nested yield DTOs, integration test, Bruno, manual QA, and docs.
2026-05-24 14:47:23 -04:00
VinPropane
01dec2b6c8
NEO-59: document registry in README, alignment, and backlog
...
Mark acceptance criteria complete in the implementation plan.
2026-05-24 14:26:23 -04:00
VinPropane
0384b63046
NEO-58: add fail-fast resource-node catalog load at startup
...
Loader, Slice 2 gates, DI registration, AAA tests, README and plan updates.
Cross-checks yield itemIds against ItemDefinitionCatalog loaded first.
2026-05-24 14:01:29 -04:00
VinPropane
b68d74b0b8
NEO-57: add prototype resource node catalogs, schemas, and CI gates
...
Four frozen ResourceNodeDef rows and per-node yield tables under
content/resource-nodes/ with JSON Schema validation and Slice 2 gates
(four nodeDefIds, gatherLens coverage, scrap_metal_bulk yields only).
2026-05-24 13:49:47 -04:00
VinPropane
dc5141ed03
NEO-56: add inventory telemetry hook comment sites
...
item_created on successful TryAddStack; inventory_transfer_denied on
all Denied paths. README, module docs, manual QA, plan ACs updated.
2026-05-24 13:32:21 -04:00
VinPropane
69327f50b4
NEO-55: player inventory GET/POST HTTP, Bruno, and docs
...
Versioned snapshot read and mutationKind add/remove POST backed by
PlayerInventoryOperations; AAA API tests; Bruno happy path + deny case.
2026-05-23 22:45:27 -04:00
VinPropane
01e391b03a
NEO-54: player inventory store, stack/slot rules engine, and tests
2026-05-23 19:26:57 -04:00
VinPropane
08428c4da4
NEO-53: GET world item-definitions, Bruno, docs, and tests
...
Registry-backed read model at /game/world/item-definitions; Bruno
collection, manual QA checklist, README and module alignment updates.
2026-05-23 19:09:46 -04:00
VinPropane
792b38d8a9
NEO-52: add IItemDefinitionRegistry with DI and lookup tests
...
Thin adapter over ItemDefinitionCatalog mirroring NEO-35 skill registry;
registers singleton in AddItemDefinitionCatalog with TryGetDefinition,
GetDefinitionsInIdOrder, and AAA unit + host DI tests.
2026-05-23 18:11:33 -04:00
VinPropane
d23f6dd8ab
NEO-51: Document item catalog boot and mark plan complete.
...
README, alignment register, and acceptance checklist updated.
2026-05-17 21:56:12 -04:00
VinPropane
bbc6b20fd3
NEO-50: Document frozen prototype item spine and update alignment.
2026-05-17 21:25:06 -04:00
VinPropane
39c54c3881
NEO-48: perk-state HTTP, Bruno, tests, and docs
...
GET/POST /game/players/{id}/perk-state with versioned JSON, engine-backed
branch selection, PerkStateApiTests, Bruno collection, README, and E2.M3 alignment.
2026-05-17 20:10:31 -04:00
VinPropane
38ef54c238
NEO-49: document perk_unlock hook sites in README, module, and manual QA
2026-05-17 19:10:14 -04:00
VinPropane
0a2a6fe45b
NEO-47: address code review follow-ups for perk unlock engine
...
Retroactive path-auto unlock on branch pick, unlock rollback, CanWritePlayer
gate, expanded deny tests, gather-hook smoke, decomposition docs, review strikethroughs.
2026-05-17 18:45:11 -04:00
VinPropane
174c390aa4
NEO-46: fail-fast mastery catalog load at server startup.
...
Mirror validate_content.py gates in MasteryCatalogLoader, expose IMasteryCatalogRegistry, cross-check skillIds against the skill catalog, and enforce tierIndex 1..N per track.
2026-05-17 18:06:50 -04:00
VinPropane
f5f04d8258
NEO-45: lock prototype salvage mastery catalog, schemas, and CI.
...
Add mastery JSON schema and salvage-only Slice 4 catalog with tier/branch
freeze; extend validate_content.py for skillId, perkId, and branch gates;
update E2.M3 decomposition, content README, and implementation plan.
2026-05-16 19:50:09 -04:00
VinPropane
0b16de6d6f
NEO-43: close code review doc follow-ups (alignment + E7 status)
2026-05-15 20:36:08 -04:00
VinPropane
caa400f43d
NEO-42: address review — decomposition docs, plan AC, grant helper, test assert
2026-05-10 19:46:49 -04:00
VinPropane
c1e77280e3
NEO-41: grant salvage activity XP on resource_node interact
2026-05-10 19:10:35 -04:00
VinPropane
35b666ed60
NEO-40: sync E2.M2 alignment doc; close review feedback
2026-05-10 18:54:17 -04:00
VinPropane
236040a5c2
NEO-39: add data-driven level curve with startup schema validation
...
Replace placeholder XP level math with content-backed thresholds validated in CI and at server boot, and update docs/manual QA/review artifacts to reflect NEO-39 delivery and follow-up fixes.
2026-05-06 23:10:06 -04:00
VinPropane
b2999f3ed9
NEO-38: address review — docs alignment, Bruno deny, README levelUps trim
2026-05-06 22:26:23 -04:00
VinPropane
295eb34c68
NEO-37: reconcile decomposition docs + review feedback
2026-05-06 21:51:44 -04:00
VinPropane
4236d1ec00
chore: link E2.M2 backlog to Linear NEO-37–NEO-44
2026-05-04 20:57:01 -04:00
VinPropane
a0c3599525
NEO-36: address code review (manual QA header, alignment, README, Bruno)
2026-05-04 20:44:52 -04:00
VinPropane
035e915934
NEO-35: address NEO-35 code review (AAA, docs, null id, cleanup)
2026-05-04 19:53:53 -04:00
VinPropane
9da5e7dbf5
NEO-34: address code review follow-ups (docs, appsettings, AAA)
...
Update E2.M1 alignment table for landed catalog load; add Content placeholders
to appsettings.json; align implementation plan tests/appsettings notes; expand
manual QA header to project standard; strike review suggestions; tighten host
catalog test Arrange/Act/Assert.
2026-05-02 19:50:02 -04:00
VinPropane
583201cc7c
NEO-33: Freeze prototype SkillDef trio in CI and docs
2026-05-02 19:23:47 -04:00
VinPropane
753f622602
chore: Document E2.M1 module Linear backlog in decomposition
2026-04-30 22:40:11 -04:00
VinPropane
361a6800d2
NEO-32: cooldown snapshot API, on_cooldown deny, client HUD sync
2026-04-30 21:19:32 -04:00
VinPropane
b5478782a8
NEO-30: cast funnel telemetry hook sites and docs
2026-04-30 20:59:47 -04:00
VinPropane
7de8e7ecfd
NEO-28: cast target authority, HUD feedback, tests + docs
2026-04-27 21:03:04 -04:00
VinPropane
cc1c6f711e
NEO-31: request_cast bool for telemetry hook; document cast API in server README
2026-04-27 20:44:40 -04:00
VinPropane
e88e59f3a6
NEO-31: hotbar cast resolver tests, doc alignment, review follow-up
2026-04-27 20:42:36 -04:00
VinPropane
d25d7d0211
NEO-29: apply code review follow-ups
...
Set E1.M4 documentation status to In Progress across decomposition tracking docs and add lower-bound slot validation coverage. Mark the corresponding review suggestions and nit as resolved in the saved review file.
2026-04-25 22:44:58 -04:00
VinPropane
9c054fbcf2
NEO-27: add Slice 3 telemetry hook-site documentation
...
Map SelectionEvent to target_changed, reserve ability_cast_requested and ability_cast_denied hook locations, and align plan/manual QA/decomposition docs with TODO(E9.M1) telemetry follow-up.
2026-04-25 21:56:28 -04:00
VinPropane
1882476fd3
NEO-26: address code review — tracking docs, sequence tests, review strikethrough
...
Align E1.M3 rows with landed SelectionEvent (NEO-26) vs follow-on scope.
Assert selection_event sequence in GdUnit. Mark review suggestions/nits done.
2026-04-25 19:41:46 -04:00
VinPropane
c17526e611
NEO-25: close code review follow-up (alignment, warning, tests)
2026-04-24 20:54:26 -04:00