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
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
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
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
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
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
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
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
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
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
b461f3bf47
NEO-51: Record kickoff clarification answers in plan.
...
User confirmed strict NEO-52 split and loader plus host boot tests.
2026-05-17 21:52:15 -04:00
VinPropane
b5674c4150
NEO-51: Add implementation plan for item catalog fail-fast load.
...
Kickoff clarifications adopt strict NEO-52 split, NEO-34 test pattern,
and in-process validation mirroring validate_content.py.
2026-05-17 21:50:50 -04:00
VinPropane
0ce952131a
NEO-50: Address review — equip_stub gate by role, backlog sync.
2026-05-17 21:29:32 -04:00
VinPropane
bbc6b20fd3
NEO-50: Document frozen prototype item spine and update alignment.
2026-05-17 21:25:06 -04:00
VinPropane
6616bfbca5
NEO-50: Add implementation plan for prototype ItemDef catalog + CI.
2026-05-17 21:22:55 -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
aba26446d3
NEO-48: address r2 review — atomic fixture, tests, docs
...
Batch skillXp then resetPerkState with XP rollback; 400 for invalid skillXp;
MasteryFixtureApi gate tests; README fixture vs grant semantics; Bruno GET playerId.
2026-05-17 20:37:00 -04:00
VinPropane
ffdbed26f2
NEO-48: dev mastery-fixture API for Bruno state setup
...
Replace fixture player ids with POST …/__dev/mastery-fixture (resetPerkState,
absolute skillXp). Bruno deny tests set state in pre-request on dev-local-1.
Gated to Development/Testing or Game:EnableMasteryFixtureApi.
2026-05-17 20:31:26 -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
5290044845
NEO-48: add implementation plan for perk-state HTTP
...
Kickoff plan for GET/POST /game/players/{id}/perk-state, Bruno, and API
tests; records user choices on route path and unlockedEvents on success.
2026-05-17 20:06:52 -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
f3e48f4077
NEO-49: kickoff implementation plan for perk_unlock telemetry hooks
2026-05-17 19:08:54 -04:00
VinPropane
38774a5b39
NEO-47: perk unlock engine, PerkState persistence, and tests
...
Add V004 perk tables, in-memory/Postgres stores, PerkUnlockEngine (tier-1 branch
pick, path-auto tier-2 unlocks), level-up hook in skill XP grants, and AAA tests.
Bruno docs note internal perk reevaluation on level-up (HTTP in NEO-48).
2026-05-17 18:38:41 -04:00
VinPropane
e297b3a023
NEO-47: add implementation plan for perk unlock engine
...
Kickoff clarifications, tier-2 auto-path recommendation, and file/test lists for PerkState persistence and level-up hooks.
2026-05-17 18:34:50 -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
898f935b4f
NEO-46: add implementation plan for mastery catalog boot load.
2026-05-17 18:03:30 -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
48c59d4560
NEO-43: add implementation plan (kickoff)
2026-05-11 13:03:45 -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
15bf598228
NEO-42: add refine activity XP grant helper and tests
2026-05-10 19:38:30 -04:00
VinPropane
20a141ba37
NEO-42: add implementation plan for craft/refine skill XP
2026-05-10 19:36:04 -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