VinPropane
2de699b7bd
NEO-58: add implementation plan for resource-node catalog load
...
Kickoff plan for E3M1-02: fail-fast server loader mirroring NEO-51/NEO-57,
stacked on NEO-57, catalog-only DI until NEO-59 registry story.
2026-05-24 14:01:29 -04:00
VinPropane
8c1e0552b3
Merge pull request #92 from ViPro-Technologies/NEO-57-e3m1-prototype-resourcenodedef-yield-schemas-ci
...
NEO-57: E3.M1 prototype ResourceNodeDef + yield tables + schemas + CI
2026-05-24 14:01:09 -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
f0a4183598
NEO-57: close review follow-ups on E3M1 backlog and review doc
...
Clarify two-file yield layout in backlog; mark review suggestions
resolved and verdict Approve.
2026-05-24 13:54:36 -04:00
VinPropane
ca1a15fce1
NEO-57: align E3M1 backlog with landed content + review follow-ups
...
Mark E3M1-01 acceptance complete, document resource-yield-row schema
choice, and strike through resolved review suggestions.
2026-05-24 13:53:25 -04:00
VinPropane
2584947953
NEO-57: add code review for resource node content + CI
2026-05-24 13:53:04 -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
b7f29dcd6a
NEO-57: add implementation plan for resource node content + CI
...
Kickoff clarifications: two-file catalog layout, maxGathers in content,
differentiated yield quantities, decomposition docs merged from chore branch.
2026-05-24 13:47:55 -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
597c3873d4
Merge pull request #91 from ViPro-Technologies/NEO-56-item-created-transfer-failure-telemetry-hooks
...
NEO-56: E3.M3 item_created / inventory_transfer_denied telemetry hook sites
2026-05-24 13:45:19 -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
b8e0cce582
NEO-56: add code review for inventory telemetry hook sites
2026-05-24 13:33:39 -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
786513ba56
NEO-56: add implementation plan after kickoff clarifications
...
Engine-only comment hooks for item_created and inventory_transfer_denied;
kickoff decisions recorded in plan.
2026-05-24 13:31:18 -04:00
VinPropane
3d43b00fa9
chore: harden kickoff AskQuestion + recommendation rule
...
Require Recommend preamble in chat before AskQuestion, mark recommended
options in labels, and call out AskQuestion-only turns as violations.
2026-05-24 13:30:20 -04:00
VinPropane
9c35ad1e08
Merge pull request #90 from ViPro-Technologies/NEO-55-player-inventory-getpost-bruno
...
NEO-55: Player inventory GET/POST HTTP + Bruno
2026-05-23 23:08:25 -04:00
VinPropane
b8ee4b55ee
NEO-55: fix Bruno local module resolution for inventory helper
...
Move helper to scripts/ and whitelist via bruno.json
additionalContextRoots so pre-request require() works in Bruno.
2026-05-23 22:59:58 -04:00
VinPropane
1cbe6302b5
NEO-55: make inventory Bruno tests order-independent
...
Shared inventory-api-helper seeds stock and records baselines in
pre-request scripts; assertions use exact deltas instead of cumulative
at.least checks. Harden C# remove round-trip add assertion.
2026-05-23 22:57:53 -04:00
VinPropane
00ada50b95
NEO-55: fix Bruno GET inventory test for persistent dev player state
...
Assert slot shape rules instead of requiring an all-empty grid when
dev-local-1 already holds items from prior collection runs.
2026-05-23 22:53:50 -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
d127de7bbb
NEO-55: add code review for inventory GET/POST HTTP and Bruno.
2026-05-23 22:49:31 -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
db3b80d242
NEO-55: add implementation plan for inventory GET/POST + Bruno
...
Kickoff clarifications: single POST with mutationKind, full fixed slot
arrays, applied response field; no manual QA doc per user choice.
2026-05-23 22:41:05 -04:00
VinPropane
658b627903
Merge pull request #89 from ViPro-Technologies/NEO-54-player-inventory-store-stackslot-rules
...
NEO-54: Player inventory store + stack/slot rules engine
2026-05-23 22:35:42 -04:00
VinPropane
126d979939
NEO-54: dedupe slot cloning on PlayerInventorySnapshot
2026-05-23 19:54:27 -04:00
VinPropane
3f664261b7
NEO-54: preserve validation reason codes when player store missing
...
Deny helper returns Denied + reasonCode even without a snapshot bucket,
so invalid_quantity/invalid_item are stable before NEO-55 HTTP mapping.
2026-05-23 19:44:07 -04:00
VinPropane
dafe3cb92f
NEO-54: fix in-memory inventory races with atomic TryMutateSnapshot
...
Re-read snapshot under per-player lock; route add/remove through
TryMutateSnapshot so read-modify-write is serialized for in-memory
and wrapped in one transaction for Postgres.
2026-05-23 19:42:50 -04:00
VinPropane
ac3900c194
NEO-54: address code review suggestions for inventory tests and docs
2026-05-23 19:31:26 -04:00
VinPropane
362608ed5f
NEO-54: add code review for inventory store and rules engine.
2026-05-23 19:29:37 -04:00
VinPropane
3724a54f07
NEO-54: note inventory DI chained from item catalog registration
2026-05-23 19:27:06 -04:00
VinPropane
01e391b03a
NEO-54: player inventory store, stack/slot rules engine, and tests
2026-05-23 19:26:57 -04:00
VinPropane
e5ffa1b951
NEO-54: add implementation plan for inventory store and rules engine
2026-05-23 19:20:01 -04:00
VinPropane
97a64d179c
Merge pull request #88 from ViPro-Technologies/NEO-53-get-world-item-definitions-bruno
...
NEO-53: GET world item-definitions + Bruno
2026-05-23 19:16:19 -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
68c4980e42
NEO-53: Add code review for item-definitions HTTP + Bruno.
2026-05-23 19:11:28 -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
9e2e4ab3a7
NEO-53: add implementation plan for world item-definitions HTTP
...
Kickoff clarifications: required-five JSON fields, /game/world route,
manual QA doc — all adopted per user choices.
2026-05-23 19:08:24 -04:00
VinPropane
910bd4850d
Merge pull request #87 from ViPro-Technologies/NEO-52-item-definition-registry-di
...
NEO-52: E3.M3 item definition registry + DI
2026-05-23 18:21:30 -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
7bd4064b93
NEO-52: Add code review for item definition registry + DI.
2026-05-23 18:16:17 -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
1e9f1e9a3a
NEO-52: add implementation plan for item definition registry + DI
...
Kickoff plan mirrors NEO-35 skill registry pattern on NEO-51 catalog;
includes GetDefinitionsInIdOrder and TryGetDefinition per kickoff answers.
2026-05-23 18:09:02 -04:00
VinPropane
da0562bdf4
Merge pull request #86 from ViPro-Technologies/NEO-51-server-item-catalog-load-fail-fast
...
NEO-51: Server loads item catalog at startup (fail-fast)
2026-05-17 22:11:49 -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
1c9c93513e
NEO-51: Add code review for item catalog fail-fast load.
2026-05-17 22:01:47 -04:00
VinPropane
c2366eed4c
NEO-51: Guard item catalog startup log for CA1873.
...
Skip LogInformation argument evaluation when Information is disabled.
2026-05-17 22:00:27 -04:00
VinPropane
0a3c28ae5c
NEO-51: Primary constructor on ItemDefinitionCatalog; test tidy.
...
Restore explicit Content:ItemsDirectory in test factory; use const
for schema-violation fixture JSON.
2026-05-17 21:58:53 -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
2ba129dca1
NEO-51: Fail-fast item catalog load at server startup.
...
Mirror NEO-34/validate_content.py: *_items.json schema validation,
Slice 1 gate, ItemDefinitionCatalog DI, loader/host tests, Bruno health smoke.
2026-05-17 21:56:09 -04:00