Commit Graph

723 Commits (44fc8d7b62088d469635ba57f3f558029bbbc9df)

Author SHA1 Message Date
VinPropane 44fc8d7b62 NEO-58: address code review follow-ups
Document optional Bruno smoke in plan; add empty-catalog file loader tests;
tighten host DI test AAA; strike through resolved review items.
2026-05-24 14:04:42 -04:00
VinPropane 6656853473 NEO-58: add code review for resource-node catalog load 2026-05-24 14:03:19 -04:00
VinPropane fdaf5b7231 NEO-58: note NEO-57 merged and branch rebased on main
Update plan after PR #92; precursor content is on main.
2026-05-24 14:01:36 -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 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