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
fba6bff24f
NEO-57: align E3.M1 contract table with two-file content layout
...
Update illustrative fields to match landed node + yield row schemas.
2026-05-24 13:54:42 -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
17daf9a9ca
NEO-57: merge E3.M1 Slice 2 decomposition docs
...
Bring E3M1-prototype-backlog, E3.M1 freeze table, and register notes
from chore/e3m1-slice2-decomposition onto the story branch.
2026-05-24 13:47:55 -04:00
VinPropane
011289a154
chore: decompose E3.M1 Slice 2 gather backlog (NEO-57–64)
...
Epic 3 Slice 2 follows completed E3.M3 inventory work: eight-story
backlog, expanded module doc, register note, and Linear issues for
resource nodes, yields, depletion, and gather integration.
2026-05-24 13:43:23 -04:00
VinPropane
deed0c4314
NEO-56: address code review follow-ups
...
Extend E3.M3 dependency register footnote; expand post-mutation deny hook
comments; clarify Deny payload at call sites; strike review items Done.
2026-05-24 13:40:12 -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
fddbb95a45
NEO-55: address code review suggestions for inventory HTTP
...
Add remove round-trip and invalid_quantity API tests, Bruno remove request,
dependency register NEO-55 footnote, and strike-through review follow-ups.
2026-05-23 22:51:59 -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
ac3900c194
NEO-54: address code review suggestions for inventory tests and docs
2026-05-23 19:31:26 -04:00
VinPropane
01e391b03a
NEO-54: player inventory store, stack/slot rules engine, and tests
2026-05-23 19:26:57 -04:00
VinPropane
52590fa749
NEO-53: address code review suggestions
...
Register footnote NEO-53, Bruno exact id-order test, test indent fix,
review doc strikethroughs.
2026-05-23 19:12:20 -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
0d904527ac
NEO-52: address code review doc suggestions for registry
...
Add NEO-52 registry bullet to E3.M3 module doc, extend dependency
register footnote, and mark review suggestions done.
2026-05-23 18:17:27 -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
38f0c56711
NEO-51: Address code review — tests, docs, review strikethroughs.
...
Add Slice 1 role/stackMax and missing-path loader tests; E3.M3 server
load bullet; register footnote; host test temp-dir cleanup.
2026-05-17 22:04:03 -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
56233bfe2c
NEO-50: Add E3.M3 prototype backlog and decomposition doc links.
...
Documents Epic 3 Slice 1 story order (NEO-50–NEO-56), frozen prototype item ids,
and register/module pointers for ItemizationAndInventorySchema.
2026-05-17 21:15:42 -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
5058bc1963
NEO-49: address code review follow-ups for telemetry hooks
2026-05-17 19:21:21 -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
07fc566e2c
NEO-46: address code review follow-up.
...
Add loader deny-path and registry enumeration tests, tierIndex 1..N gate
in validate_content.py, E2.M3 handoff doc update, and review strikethroughs.
2026-05-17 18:12:39 -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
594287c199
NEO-45: address docs review suggestions for E2.M3 Slice 4.
...
Expand data contract and NEO-46 handoff, gigs.md gig-mastery clarification,
acceptance footnote, and mark docs review items Done.
2026-05-17 13:16:49 -04:00
VinPropane
4a9730c577
NEO-45: address code review doc alignment and CI nits.
...
Align E2.M3 In Progress status, backlog checkboxes, perks map doc;
reject unreferenced PerkDef rows; tier-2 branch displayNames; review Done.
2026-05-16 20:05:51 -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
2af9b1c011
NEO-43: mission reward skill XP grant helper and docs
2026-05-15 20:30:43 -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
29a6c6d1a7
NEO-41: address code review (E3.M1 status, deny-path test)
2026-05-10 19:13:56 -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
effd234ee3
NEO-40: add progression telemetry hook comment sites
2026-05-10 18:49:40 -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
9afaad71ca
NEO-33: Apply code review feedback (validate_content, E2.M1)
2026-05-02 19:27:28 -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
8a9a9bcf78
NEO-30: address code review follow-ups
2026-04-30 21:04:31 -04:00
VinPropane
b5478782a8
NEO-30: cast funnel telemetry hook sites and docs
2026-04-30 20:59:47 -04:00