Commit Graph

810 Commits (b233fa040d3c7d95e544e71fcd6b2000f175a080)

Author SHA1 Message Date
VinPropane fb70777453 NEO-95: note review follow-up commit SHA in review doc 2026-05-28 23:45:11 -04:00
VinPropane 5efa5a4ad8 NEO-95: address code review — alignment docs and API nits
Append NEO-95 landed to E5.M2 tracking; echo route playerId on
combat-health GET; AttackExecute comment; tighten elite test AAA.
2026-05-28 23:45:07 -04:00
VinPropane 3afe720980 NEO-95: add code review for NPC attack resolve + player HP 2026-05-28 23:43:56 -04:00
VinPropane b702d9fb6f NEO-95: add tests, Bruno smoke, and docs for player combat HP
Cover elite telegraph damage, fixture reset, and combat-health GET
verification; update E5M2 backlog and server README.
2026-05-28 23:42:20 -04:00
VinPropane ac4e1dff10 NEO-95: add implementation plan for NPC attack resolve + player HP 2026-05-28 23:37:46 -04:00
VinPropane 55964da4ac NEO-94: verify code review follow-ups and bump verdict to Approve 2026-05-28 23:24:12 -04:00
VinPropane 798c601bc5 NEO-94: Address code review — alignment doc and AAA test layout.
Append NEO-94 landed to E5.M2 tracking row; move ReadFromJsonAsync to Assert in snapshot integration tests.
2026-05-28 23:23:19 -04:00
VinPropane e3bfcf0708 NEO-94: add code review for rewritten snapshot GET branch 2026-05-28 23:22:24 -04:00
VinPropane a68d8aa782 NEO-94: Add GET /game/world/npc-runtime-snapshot with lazy AdvanceAll.
Expose versioned NPC runtime rows and nested activeTelegraph DTOs for client poll; wire route, AAA integration tests, Bruno smoke, and docs.
2026-05-28 23:17:57 -04:00
VinPropane 54429108ad NEO-94: add implementation plan for npc-runtime-snapshot GET
Kickoff clarifications: nested activeTelegraph on npcInstances rows,
windupRemainingSeconds server-computed, no manual QA doc.
2026-05-28 22:28:31 -04:00
VinPropane c76180d737 NEO-93: Update plan test count after Bugbot guard tests.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-27 23:44:19 -04:00
VinPropane 056b0e77f0 NEO-93: Fix delta cap LastAdvancedUtc to preserve gradual catch-up.
When simulation is capped, advance LastAdvancedUtc to windowEnd instead
of nowUtc so subsequent polls do not burst through missed NPC cycles.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-27 23:16:35 -04:00
VinPropane 4fcbb99881 NEO-93: Reconcile backlog and review doc after code review follow-up.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-27 23:08:34 -04:00
VinPropane eed176d226 NEO-93: Add code review for NPC runtime state machine branch.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-27 22:58:33 -04:00
VinPropane ecffba9e4b NEO-93: Reconcile plan, backlog, and docs for runtime state machine.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-27 22:02:41 -04:00
VinPropane 874c5720d9 NEO-93: Add kickoff implementation plan for NPC behavior state machine.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-27 21:59:40 -04:00
VinPropane 83c6a4f1b6
Merge branch 'main' into NEO-92 2026-05-27 21:47:00 -04:00
VinPropane 7682fac46a NEO-92: Reconcile docs, backlog, alignment, and code review.
Update E5M2-06 landed notes, alignment row, review follow-ups, and
exact-leash-boundary test documentation.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-27 21:45:57 -04:00
VinPropane d0d5dbdf17 NEO-92: Add kickoff implementation plan for aggro rule engine.
IThreatStateStore, AggroOperations, cast/move hooks, and AAA test plan
per E5M2-06 kickoff decisions.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-27 21:45:57 -04:00
Don 294c994f20 chore: add local MLX + Cursor developer guide
Document mlx-lm server setup, Cursor model configuration, and Neon Sprawl
usage patterns for Apple Silicon; link from root README.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-27 00:08:55 -04:00
Don 047237e651 NEO-91: address code review follow-ups
Add legacy alpha targeting integration test, elite HP assertion, AAA fix,
Bruno docs refresh, and module/alignment doc updates. Strike through
resolved items in the NEO-91 review.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-26 23:46:39 -04:00
Don d14879ac75 NEO-91: add code review for NPC instance registry migration
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-26 23:43:46 -04:00
Don fa9acc85ac NEO-91: migrate combat targets to three NPC instances
Replace alpha/beta dummies with PrototypeNpcRegistry (melee/ranged/elite),
per-archetype max HP from INpcBehaviorDefinitionRegistry, and updated
server tests + Bruno smokes. Documents breaking client change for NEO-97.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-26 23:42:31 -04:00
Don dadc35afa8 NEO-91: add implementation plan for NPC instance registry migration
Kickoff plan for replacing alpha/beta combat dummies with three NPC
instances wired to behavior defs and per-archetype max HP.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-26 23:19:53 -04:00
VinPropane 48535f6bc2 NEO-90: address code review doc tracking gaps.
Extend module register and E5.M2 Linear row with NEO-90 HTTP projection;
add Rules cross-link; strike through resolved review items.
2026-05-25 17:50:35 -04:00
VinPropane 0b23e4d854 NEO-90: Add code review for npc-behavior-definitions GET branch. 2026-05-25 17:49:54 -04:00
VinPropane d3e765fb8f NEO-90: add GET /game/world/npc-behavior-definitions projection.
Expose read-only npcBehaviors envelope backed by INpcBehaviorDefinitionRegistry,
with integration tests, Bruno smoke, and doc reconciliation.
2026-05-25 17:49:01 -04:00
VinPropane c757b7a385 NEO-90: add kickoff implementation plan for npc-behavior-definitions GET. 2026-05-25 17:46:26 -04:00
VinPropane 3134bb6ff6 NEO-89: Address code review — E5.M2 module doc and case-id test. 2026-05-25 17:28:46 -04:00
VinPropane f4fafea7e2 NEO-89: Add code review for NPC behavior registry DI branch. 2026-05-25 17:27:57 -04:00
VinPropane e25b1406c7 NEO-89: Reconcile plan, backlog, and module docs for NPC registry. 2026-05-25 17:27:17 -04:00
VinPropane 7e4e0ca843 NEO-89: Add implementation plan for NPC behavior registry DI. 2026-05-25 17:25:22 -04:00
VinPropane ba776b9b33 NEO-88: Address code review doc gaps for E5.M2 tracking.
Extend module register E5.M2 note and freeze Rules with NEO-88 server
startup enforcement; strike through resolved review suggestions.
2026-05-25 17:11:22 -04:00
VinPropane 3ad8581411 NEO-88: Add code review for NPC behavior catalog load branch. 2026-05-25 17:10:31 -04:00
VinPropane c56ad22f6f NEO-88: Reconcile plan, backlog, and module docs for server NPC load.
Mark E5M2-02 acceptance complete and update alignment register with
NEO-88 server catalog load landing notes.
2026-05-25 17:08:40 -04:00
VinPropane 7730bde353 NEO-88: Add implementation plan for NPC behavior catalog load.
Kickoff plan mirrors NEO-77 fail-fast loader pattern with CI-parity
validation for the three frozen E5M2 behavior defs; registry deferred to NEO-89.
2026-05-25 17:06:23 -04:00
VinPropane ba31d8c420 NEO-87: note review follow-up commit SHA on blocking fix. 2026-05-25 16:56:16 -04:00
VinPropane 24cbd9baa8 NEO-87: restore elite NPC behavior row and close review findings.
Add missing prototype_elite_mini_boss catalog entry so the E5M2
three-id CI gate passes; strike through resolved review items.
2026-05-25 16:56:12 -04:00
VinPropane 033d8f6cfa NEO-87: Add code review for NPC behavior catalog branch. 2026-05-25 16:54:43 -04:00
VinPropane 6fd9694ff4 NEO-87: ship prototype NpcBehaviorDef catalog, schema, and CI gates.
Add three frozen archetype rows under content/npc-behaviors with E5M2
allowlist validation, leash>aggro guard, and module doc freeze updates.
2026-05-25 16:53:55 -04:00
VinPropane 846da90219 NEO-87: add E5M2-01 NPC behavior catalog kickoff plan.
Lock three-archetype NpcBehaviorDef content shape, CI gates, and
adopted radius/cooldown stat freeze before NEO-88 server load.
2026-05-25 16:51:55 -04:00
VinPropane 7951a6c148 chore: Decompose E5.M2 prototype backlog and tracking docs.
Add E5M2-prototype-backlog (NEO-87–NEO-98), update module register and
alignment for Slice 2 NPC archetypes and telegraphs, and mark E5.M1 Ready.
2026-05-25 14:18:26 -04:00
VinPropane 8d4c048bbe NEO-86: Address code review test gaps and doc alignment.
Promote E5.M1 to Ready in alignment register, fix NEO-85 README link,
add schema-mismatch and deny-path GdUnit cases; strike review suggestions.
2026-05-25 14:01:54 -04:00
VinPropane d5fc648dd6 NEO-86: Add code review for combat capstone branch. 2026-05-25 14:00:53 -04:00
VinPropane b97cace625 NEO-86: Add capstone manual QA, README, and module doc reconciliation.
Documents end-to-end Godot combat loop, marks E5M1-12 landed, and updates
E5.M1 alignment rows for Epic 5 Slice 1 client capstone complete.
2026-05-25 13:59:31 -04:00
VinPropane 8190614350 NEO-86: Add kickoff implementation plan for combat capstone.
Documents E5M1-12 Godot capstone scope: manual QA script, gig XP HUD
client, end-to-end README, and module alignment after kickoff decisions.
2026-05-25 13:56:44 -04:00
VinPropane 79b8a68364 NEO-85: Make combat dummies visible with labels and lock highlight.
Replace subtle mast markers with capsule bodies, Dummy α/β Label3D names,
and brighten the Tab-locked target; HUD hints point to orange/purple dummies.
2026-05-25 13:23:13 -04:00
VinPropane 35ff76b532 NEO-85: Auto-bind pulse to slot 0 and show cast HUD errors.
Fresh hotbar starts empty so digit 1 was a silent no-op; bootstrap
prototype_pulse on first sync and surface empty-slot/send failures on CastFeedbackLabel.
2026-05-25 13:22:06 -04:00
VinPropane 504d3228dd NEO-85: Address code review doc sync and 404 test gap.
Update module dependency register and E5.M1 related-slices entry for
NEO-85 landed; add combat-targets HTTP 404 GdUnit case; strike review suggestions.
2026-05-25 13:17:47 -04:00
VinPropane 7466f2bcba NEO-85: Add code review for client combat HUD. 2026-05-25 13:16:56 -04:00
VinPropane faf3fe1139 NEO-85: Add manual QA, README, and module doc reconciliation.
Mark E5M1-11 acceptance complete in backlog and alignment register.
2026-05-25 13:15:59 -04:00
VinPropane f03e689ce9 NEO-85: Add kickoff implementation plan for client combat HUD.
Documents event-driven combat-target refresh, CastFeedbackLabel resolution
copy, and dedicated CombatTargetHpLabel per kickoff clarifications.
2026-05-25 13:13:53 -04:00
VinPropane 3cbbcb6c2f NEO-84: Address code review — register sync and hook comment parity.
Append NEO-44/NEO-84 to E5.M1 dependency register note, fix E2.M2 NEO-44
status, and add playerId correlation hint on damage-path ability_used hook.
2026-05-25 13:06:04 -04:00
VinPropane e61ee333ee NEO-84: Add code review for combat telemetry hook sites. 2026-05-25 13:05:08 -04:00
VinPropane 667a1a960a NEO-84: Add combat telemetry hook sites in CombatOperations.
Comment-only ability_used, enemy_defeat, and reserved encounter_start/player_death
markers; README and module docs updated. All 407 server tests pass.
2026-05-25 13:04:11 -04:00
VinPropane fb2bfe5614 NEO-84: Add kickoff implementation plan for combat telemetry hooks.
Documents engine-only comment hook sites in CombatOperations per kickoff clarifications.
2026-05-25 12:45:32 -04:00
VinPropane 32fbcec766 NEO-44: Fix Bruno defeat spine for CI collection order.
Reset prototype target HP before cast chain, use slot 2 to avoid
cooldown pollution, and assert +25 gig XP delta from baseline.
2026-05-25 12:14:29 -04:00
VinPropane 9d9b53332f NEO-44: Address code review — docs, debug log, Bruno playerId.
Update E5.M1/E2.M2 module docs for gig XP path; LogDebug on failed
gig store write; Bruno defeat spine uses {{playerId}}; strike review items.
2026-05-25 12:08:21 -04:00
VinPropane 1e06b7174d NEO-44: Add code review for gig XP on combat defeat. 2026-05-25 12:06:46 -04:00
VinPropane 71a6761f3c NEO-44: Grant gig XP on combat defeat via dedicated store.
Add IPlayerGigProgressionStore (in-memory + Postgres V007), GET
/gig-progression snapshot, and CombatDefeatGigXpGrant on cast accept
when targetDefeated — 25 XP to breach, outside E2.M2 skill XP.
Includes tests, Bruno, README, manual QA, and plan reconciliation.
2026-05-25 12:04:40 -04:00
VinPropane 30d379c98c NEO-44: Add kickoff implementation plan for gig XP on combat defeat.
Documents E5M1-10 scope: breach main gig, 25 XP per targetDefeated,
GET gig-progression snapshot, Postgres+in-memory store, and cast hook
after NEO-82 combat resolution — outside E2.M2 skill XP.
2026-05-25 12:01:48 -04:00
VinPropane 24eb355a26 NEO-83: Reconcile plan with code review Bruno follow-up.
Document one-pulse cast→GET smoke request and review-driven handler/test changes.
2026-05-25 11:23:41 -04:00
VinPropane 50a2c9ca9d NEO-83: Address code review follow-ups for combat-targets GET.
Fail fast on health store TryGet miss, tighten one-pulse integration test assertions, add fast Bruno cast→GET smoke, update review doc.
2026-05-25 11:23:32 -04:00
VinPropane aafa5e472a NEO-83: Add code review for combat-targets GET snapshot. 2026-05-25 11:22:13 -04:00
VinPropane 52b1d4d206 NEO-83: Add GET /game/world/combat-targets HP snapshot.
Wire CombatTargetsWorldApi backed by ICombatEntityHealthStore, Bruno happy + cast defeat spine, integration tests, README and module tracking docs.
2026-05-25 11:20:13 -04:00
VinPropane 902e03848c NEO-83: Add implementation plan for combat-targets GET snapshot.
Kickoff clarifications recorded; server-only scope with Bruno and API test coverage for authoritative HP reads.
2026-05-25 11:18:41 -04:00
VinPropane 71d93ee1fd NEO-82: Note Bugbot fix in code review follow-up. 2026-05-25 11:05:02 -04:00
VinPropane 52bf9fc4bf NEO-82: Fix cast definition lookup order and Bruno target isolation.
Load ability definition before TryResolve so cooldown lookup cannot deny
after HP mutation (Bugbot). Happy Bruno cast uses beta; defeat spine keeps
alpha; bump spine seq and cooldown sleep margin for CI.
2026-05-25 11:04:55 -04:00
VinPropane 322798b2ef NEO-82: Address code review doc sync and test AAA follow-ups.
Update E5.M1 module doc, dependency register, and alignment table for
NEO-82 landed; Bruno defeat spine HP stepping; refactor four-pulse cast
test Arrange/Act/Assert; strike through resolved review items.
2026-05-25 10:45:31 -04:00
VinPropane 0b40ae3598 NEO-82: Add code review for cast combat wiring. 2026-05-25 10:44:02 -04:00
VinPropane e8be100f80 NEO-82: Wire cast POST into combat engine and cast response.
Invoke CombatOperations.TryResolve after E1 gates; nested combatResolution
on accept; per-ability catalog cooldown; target_defeated deny without
cooldown. Tests, Bruno defeat spine, README and module docs updated.
2026-05-25 10:36:42 -04:00
VinPropane 4126ac9bcc NEO-82: Add implementation plan for cast combat wiring.
Kickoff clarifications: nested combatResolution on accept, per-ability
cooldown on successful resolve only, no manual QA doc (server-only).
2026-05-25 10:32:33 -04:00
VinPropane c7aa75ebc5 NEO-81: Address code review doc sync and test follow-ups.
Update module tracking and E5M1 backlog for NEO-81 landed; tighten AAA
in four-pulse test, add guard/dash deny parity and dash smoke test.
2026-05-25 10:20:09 -04:00
VinPropane d63e448a08 NEO-81: Add code review for CombatOperations.TryResolve. 2026-05-25 10:18:28 -04:00
VinPropane ca15e7a689 NEO-81: Add CombatOperations.TryResolve and CombatResult.
Pure server combat resolution applies catalog damage via the health store,
denies re-hits on defeated targets, and validates unknown ability/target ids.
2026-05-25 10:16:24 -04:00
VinPropane 849c34f460 NEO-81: Add implementation plan for CombatOperations.TryResolve. 2026-05-25 10:14:53 -04:00
VinPropane bfb0eb9306 NEO-80: Address code review follow-ups for health store. 2026-05-24 22:42:33 -04:00
VinPropane c3df7fc8d0 NEO-80: Add code review for combat entity health store. 2026-05-24 22:40:26 -04:00
VinPropane b060b9dffd NEO-80: add combat entity health store for prototype dummies.
Server-owned in-memory HP for prototype_target_alpha/beta with lazy
init at 100 HP, damage floor at zero, defeated flag, and DI registration.
2026-05-24 22:37:57 -04:00
VinPropane e729996f47 NEO-80: add implementation plan for combat entity health store. 2026-05-24 22:35:37 -04:00
VinPropane 94b6c67b07 NEO-78: Address code review follow-ups for ability-definitions GET.
Update dependency register and E5M1 backlog, tighten tests and Bruno
spot-checks, strike through resolved review items.
2026-05-24 22:26:54 -04:00
VinPropane 8397e74ec1 NEO-78: Add code review for ability-definitions GET story. 2026-05-24 22:24:33 -04:00
VinPropane 44e0056b37 NEO-78: Add GET /game/world/ability-definitions HTTP projection.
Expose versioned read-only ability catalog via IAbilityDefinitionRegistry,
with integration tests, Bruno folder, and docs alignment.
2026-05-24 22:22:48 -04:00
VinPropane 374b4b5a53 NEO-78: Add kickoff implementation plan for ability-definitions GET. 2026-05-24 22:20:39 -04:00
VinPropane 0e5bbbff2e NEO-79: Address code review — docs alignment, null-safe TryNormalizeKnown.
Update E5.M1 module page, dependency register, and alignment table for
NEO-79 landed; reconcile plan Bruno note; strike through review findings.
2026-05-24 22:07:37 -04:00
VinPropane 73d7708c7c NEO-79: Add code review for ability registry DI story. 2026-05-24 22:06:26 -04:00
VinPropane b9644a0453 NEO-79: Reconcile plan and E5M1 backlog for ability registry DI. 2026-05-24 22:05:27 -04:00
VinPropane 8bafec9d79 NEO-79: Add kickoff implementation plan for ability registry + DI. 2026-05-24 22:03:12 -04:00
VinPropane fd2ffee089 NEO-77: Address code review — Bruno folder, E5M1 gate test, docs.
Add ability-catalog folder.bru, extra-id E5M1 gate AAA test, dependency
register NEO-77 note, and strike through resolved review suggestions.
2026-05-24 21:44:02 -04:00
VinPropane 42ea2598c3 NEO-77: Add code review for E5M1-02 server ability catalog load. 2026-05-24 21:42:44 -04:00
VinPropane 7c2697e4cc NEO-77: Reconcile plan and module docs for E5M1-02 server load. 2026-05-24 21:40:58 -04:00
VinPropane 07444e45ce NEO-77: Add E5M1-02 server ability catalog load kickoff plan. 2026-05-24 21:34:36 -04:00
VinPropane 866f962583 NEO-76: Fix review findings — duplicate ability row and docs.
Remove stray prototype_pulse from catalog; restore Epic 5 table layout,
align E5.M1 In Progress status, and close out code review doc.
2026-05-24 21:17:07 -04:00
VinPropane 6a71e9b6aa NEO-76: add code review for ability catalog + CI branch. 2026-05-24 21:09:42 -04:00
VinPropane 9b11a521d8 NEO-76: Add prototype ability catalog, schema, and CI gates.
Freeze four AbilityDef rows in content with validate_content E5M1
allowlist; document freeze in E5.M1, content README, and CT.M1.
2026-05-24 21:08:16 -04:00
VinPropane bafaacb963 NEO-76: Add E5M1-01 implementation plan for ability catalog + CI.
Lock four frozen AbilityDef rows, schema shape, validate_content gates,
and adopted prototype stat freeze before NEO-77 server load.
2026-05-24 21:06:32 -04:00
VinPropane 510d71113b NEO-76: decompose E5.M1 prototype backlog (NEO-76–NEO-86, NEO-44).
Add full-stack Epic 5 Slice 1 story backlog with Linear issues, blockedBy
graph, and module/epic register cross-links.
2026-05-24 21:02:07 -04:00
VinPropane 7695527a79 NEO-75: address code review doc consistency findings
Update E3.M1/M3 status rows, epic Slice 5 completion note, README HUD
paths, E3S5-04 collapse AC, and strike through resolved review items.
2026-05-24 20:35:32 -04:00
VinPropane cf0ef2d23e NEO-75: add code review for capstone integration branch 2026-05-24 20:34:36 -04:00
VinPropane 977bcc3b27 NEO-75: capstone manual QA, README loop docs, alignment
Add zero-Bruno gather→refine→make checklist, end-to-end README section,
and mark Epic 3 Slice 5 client capstone complete in module docs.
2026-05-24 20:33:51 -04:00
VinPropane fbae3148d2 NEO-75: add capstone implementation plan (kickoff)
Document gather→refine→make capstone scope, HUD collapse, manual QA
script, and module alignment per kickoff clarifications.
2026-05-24 20:32:18 -04:00
VinPropane 2fec42f8f6 NEO-74: Address code review — recipe sync HUD and test uids.
Wire recipes_sync_failed to CraftFeedbackLabel, remove unused _scroll
binding, add GdUnit .uid companions, extend recipe client HTTP error
test, strike through review items.
2026-05-24 19:59:00 -04:00
VinPropane 9b6abf093b NEO-74: add code review for client craft UI branch. 2026-05-24 19:57:28 -04:00
VinPropane c16b610468 NEO-74: Implement client craft UI, recipe list, and tests.
Add recipe-definitions and craft HTTP clients, scrollable recipe panel with
Craft buttons, CraftFeedbackLabel, refine skill HUD row, GdUnit coverage,
manual QA, and plan/module doc reconciliation.
2026-05-24 19:56:38 -04:00
VinPropane dff58adfe8 NEO-74: Add kickoff implementation plan for client craft UI.
Documents E3S5-03 scope, kickoff HUD decisions, and file/test targets
for recipe list, craft POST client, and refine XP visibility.
2026-05-24 19:54:10 -04:00
VinPropane 07ca427f2f NEO-73: preserve gather finalize across coalesced terminal POST.
Use awaiting-inventory flag so R-then-E still paints GatherFeedbackLabel
after inventory sync; only clear session on true orphans (Bugbot #107).
2026-05-24 19:42:39 -04:00
VinPropane d0622701eb NEO-73: clear orphaned gather pending on coalesced interact.
Track pending gather interactable id; drop flag when a different
interact completes (Bugbot PR #107). Add GdUnit coalescing test.
2026-05-24 19:24:00 -04:00
VinPropane d6a80ed775 NEO-73: note review follow-up commit hash in review doc. 2026-05-24 19:09:38 -04:00
VinPropane 434226a069 NEO-73: address code review follow-ups.
Emit interaction_request_failed to clear stale gather pending flag;
add deny/HTTP failure tests; update alignment docs and review file.
2026-05-24 19:09:36 -04:00
VinPropane 6cd2c0cdda NEO-73: add code review for client gather feedback branch. 2026-05-24 19:08:26 -04:00
VinPropane adca7befe0 NEO-73: add manual QA and reconcile implementation plan.
Document gather HUD behavior in client README; mark E3S5-02 AC complete.
2026-05-24 19:07:22 -04:00
VinPropane 4682db48c4 NEO-73: add implementation plan for client gather feedback.
Kickoff clarifications: nearest in-range resource node on R, inventory
delta on GatherFeedbackLabel, SkillProgressionLabel for salvage XP.
2026-05-24 19:05:23 -04:00
VinPropane ab670d0e26 NEO-72: mark review findings addressed in code review doc.
Strike through resolved blocking issue, suggestions, and consolidated nit.
2026-05-24 18:43:49 -04:00
VinPropane e7a61a1b3f NEO-72: fix HTTP client header types and strengthen tests.
Use PackedStringArray for request_completed headers so handlers run;
assert inventory payload shape and display_name_for after sync per review.
2026-05-24 18:43:39 -04:00
VinPropane 15fcc09493 NEO-72: Add code review for client inventory snapshot HUD. 2026-05-24 18:42:40 -04:00
VinPropane 8e44d81537 NEO-72: reconcile plan, E3S5 backlog, and module alignment docs.
Mark acceptance criteria complete and document landed client inventory HUD.
2026-05-24 18:41:24 -04:00
VinPropane 751fea3db4 NEO-72: add client inventory snapshot HUD and HTTP clients.
Wire GET inventory + item-definitions into InventoryLabel with I-key refresh,
displayName labels, and GdUnit coverage for happy/error paths.
2026-05-24 18:41:24 -04:00
VinPropane 1273296c73 NEO-72: add client inventory snapshot HUD implementation plan.
Kickoff clarifications locked displayName lookup, HUD+push_warning errors, and I-key refresh.
2026-05-24 18:37:44 -04:00
VinPropane 5f0f703555 NEO-71: address code review — CraftResult tense and README bullets 2026-05-24 18:32:08 -04:00
VinPropane 2be35c1640 NEO-71: Add code review for craft telemetry hook sites. 2026-05-24 18:30:46 -04:00
VinPropane 2d4751021b NEO-71: add craft telemetry hook comment sites and docs
Place item_crafted and craft_failed TODO(E9.M1) anchors in
CraftOperations.TryCraft; document in server README and mark E3.M2
Slice 3 server backlog complete.
2026-05-24 18:23:35 -04:00
VinPropane 194078dd3b NEO-71: add implementation plan for craft telemetry hook sites 2026-05-24 18:22:10 -04:00
VinPropane 5a3904c6bc NEO-70: Address code review findings for craft HTTP.
Rename wire DTO to PlayerCraftRequest, add store-missing and default-quantity
API tests, improve Bruno deny isolation, README success sample, and doc nits.
2026-05-24 18:00:26 -04:00
VinPropane 9d6d358956 NEO-70: Add code review for craft HTTP + Bruno spine. 2026-05-24 17:59:04 -04:00
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 b148db8a61 NEO-70: Add implementation plan for craft HTTP + Bruno spine.
Kickoff clarifications: CraftResult-only wire response; no manual QA doc (Bruno + README).
2026-05-24 17:56:01 -04:00
VinPropane c5115a3a13 NEO-69: Fix output-deny rollback order to prevent item loss.
Remove partial outputs before restoring inputs when output grant is
denied, matching StoreMissing and XP-failure compensating paths.
2026-05-24 17:33:27 -04:00
VinPropane 36adfd1897 NEO-69: Fix Bugbot pre-flight and output rollback issues.
Simulate input removal before output capacity checks, roll back partial
outputs on store-missing, and add tests for slot-freeing craft success.
2026-05-24 17:28:43 -04:00
VinPropane 51e9f1f5d0 NEO-69: Address code review findings for craft engine.
Fix AAA test layout, add batch quantity and simulate-add tests, restore
partial input rollback, and bump E3.M2 register status to In Progress.
2026-05-24 17:18:52 -04:00
VinPropane b381cadf23 NEO-69: Add code review for craft engine implementation. 2026-05-24 17:17:48 -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 bba1415d54 NEO-69: Add craft engine implementation plan.
Kickoff plan for CraftOperations/CraftResult with pre-flight output
checks, refine XP grant, and unit test coverage before NEO-70 HTTP.
2026-05-24 17:14:44 -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 1636fdc2cb NEO-68: Add GET /game/world/recipe-definitions HTTP projection.
Wire RecipeDefinitionsWorldApi over IRecipeDefinitionRegistry with schema v1
DTOs, Bruno folder, manual QA, and FrozenEightInIdOrder integration test.
2026-05-24 17:08:15 -04:00
VinPropane 8eccb14898 NEO-68: Add code review for kickoff implementation plan. 2026-05-24 17:06:38 -04:00
VinPropane 6de6a1781f NEO-68: Add kickoff implementation plan for recipe-definitions GET.
Documents scope, DTO shape, tests, Bruno, and manual QA after kickoff clarifications.
2026-05-24 17:05:34 -04:00
VinPropane 95d42803e1 NEO-67: address code review nits on recipe registry
Delegate TryGetDefinition to catalog.TryGetRecipe, cache ordered defs at
construction, and assert unknown recipeId in host DI test.
2026-05-24 16:58:38 -04:00
VinPropane 2fc3b8f750 NEO-67: Add code review for recipe definition registry + DI. 2026-05-24 16:58:00 -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 7188c5b558 NEO-67: add implementation plan for recipe definition registry 2026-05-24 16:56:06 -04:00
VinPropane 1fb4368a2c NEO-66: Address code review follow-ups for recipe catalog load.
Pin Content:RecipesDirectory in all host test factories, add loader tests
for empty dir/invalid JSON/unknown output itemId, document manual QA skip.
2026-05-24 16:45:36 -04:00
VinPropane c279eed572 NEO-66: Add code review for recipe catalog fail-fast load. 2026-05-24 16:43:49 -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 ccf4cf8e5c NEO-66: Add implementation plan for recipe catalog load.
Kickoff plan for fail-fast server startup load of content/recipes with
CI-parity validation; strict split defers IRecipeDefinitionRegistry to NEO-67.
2026-05-24 16:38:40 -04:00
VinPropane d4a4795eb1 NEO-65: Address code review doc alignment and NEO-66 sync note.
Bump E3.M2 module status to In Progress with NEO-65 snapshot; add
PROTOTYPE_SLICE3_RECIPE_IDS kickoff reminder for E3M2-02; strike through
resolved review suggestions.
2026-05-24 16:25:49 -04:00
VinPropane 966c54ac74 NEO-65: Add code review for RecipeDef catalog + CI. 2026-05-24 16:23:25 -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 b4b8536081 chore: codify full-stack epic decomposition policy
Add alwaysApply rule, prototype backlog template, epic template updates,
and review/kickoff gates so player-visible slices require client Linear
issues and Godot verification—not Bruno-only deferrals.
2026-05-24 16:19:32 -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 0556d5fa0f NEO-65: kickoff implementation plan for RecipeDef catalog + CI
Lock content shape for eight frozen prototype recipes before server load,
following NEO-50/NEO-57 schema + validate_content.py patterns.
2026-05-24 16:09:38 -04:00
VinPropane a578d9b684 NEO-64: address code review follow-ups.
Nest gather_node_depleted hook in remainingGathers == 0 guard,
add E3M1-08 deny-branch out-of-scope note, and give README NEO-64
its own subsection anchor.
2026-05-24 16:00:02 -04:00
VinPropane 1bcaa1b350 NEO-64: add code review document. 2026-05-24 15:59:16 -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 f39d12a093 NEO-64: add implementation plan for gather telemetry hooks. 2026-05-24 15:57:37 -04:00
VinPropane 0f846f90b9 NEO-63: fix Bruno depletion test node isolation.
Use prototype_urban_bulk_delta so earlier alpha gathers in the
collection do not pre-deplete capacity under CI Postgres persistence.
2026-05-24 15:51:32 -04:00
VinPropane 3834b2316a NEO-63: address code review follow-ups.
AAA depletion test layout, source_kind_not_allowed assertion,
HTTP inventory_full deny test, trim duplicate XP test, doc comments.
2026-05-24 15:46:20 -04:00
VinPropane 35381ad749 NEO-63: add code review document. 2026-05-24 15:45:13 -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 acf9fe125f NEO-62: add gather engine implementation plan.
Kickoff clarifications: inventory → XP → depletion commit order;
compensating inventory rollback on XP failure.
2026-05-24 15:30:27 -04:00
VinPropane 0cc5bb8925 NEO-61: address code review follow-ups.
Fix AAA layout in depletion tests, add ResourceNodeInstanceIds.Normalize,
throw on failed lazy-init after catalog hit, and update dependency register
footnote plus review doc strikethroughs.
2026-05-24 15:15:25 -04:00
VinPropane 0dfbe769e7 NEO-61: add code review document. 2026-05-24 15:13:51 -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 869d411b6f NEO-61: add implementation plan for node depletion store.
Kickoff clarifications adopt split store/operations, lazy init,
keep depleted rows at zero, and defer interactable registry expansion.
2026-05-24 14:59:48 -04:00
VinPropane 2b66df86b8 NEO-60: address code review — register footnote and Bruno comment
Extend E3.M1 dependency register note with NEO-57–NEO-60 landed slices;
add StringComparer.Ordinal comment to Bruno ordinal test for parity.
2026-05-24 14:49:15 -04:00
VinPropane b60920b2e2 NEO-60: add code review document 2026-05-24 14:48:16 -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 78dbf1c454 NEO-60: add implementation plan for resource-node-definitions GET
Kickoff plan mirrors NEO-53 item-definitions pattern with nested yield
projection, Bruno, manual QA, and integration tests on IResourceNodeDefinitionRegistry.
2026-05-24 14:44:04 -04:00
VinPropane 1e1ca5519c NEO-59: address code review follow-ups
Simplify GetDefinitionsInIdOrder to iterate key-value pairs directly,
avoiding the intermediate sorted-keys array and second dictionary lookup.
2026-05-24 14:31:20 -04:00
VinPropane dc66b5cef4 NEO-59: add code review document 2026-05-24 14:29:46 -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 4921f2c25b NEO-59: add implementation plan for resource node registry + DI 2026-05-24 14:23:55 -04:00
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 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 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 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 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 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 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 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 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 8fa828daa0 NEO-50: Add code review — Approve for prototype item catalog + CI. 2026-05-17 21:27:59 -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 e9c02eded7 NEO-48: mark review items resolved — Approve verdict 2026-05-17 20:38:02 -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 2bb02d76e9 NEO-48: add re-review for mastery fixture testing refactor 2026-05-17 20:34:36 -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 b72201b1f0 NEO-48: Bruno fixture players for deterministic perk deny tests
Seed neo48-perk-fresh and neo48-perk-branch via Game:FixturePlayerIds;
level_too_low uses isolated fresh player, branch_already_chosen sets up
neo48-perk-branch in pre-request instead of skipping on shared state.
2026-05-17 20:26:21 -04:00
VinPropane 3ba8300652 NEO-48: address code review — Bruno deny, API deny tests
Add self-contained branch_already_chosen Bruno request, HTTP deny smoke
for unknown track/tier/branch and null-body 400, folder docs for level_too_low.
2026-05-17 20:21:42 -04:00
VinPropane 0838e661c9 NEO-48: add code review for perk-state HTTP 2026-05-17 20:16:46 -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 7ce9dc172c NEO-49: add code review for perk_unlock telemetry hooks 2026-05-17 19:15:17 -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 76e710b491 NEO-47: re-review — follow-ups verified, approve for merge 2026-05-17 18:46:25 -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 2520a80b6e NEO-47: add code review for perk unlock engine 2026-05-17 18:42:28 -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 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 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 05abc47111 NEO-41: add code review for gather XP branch 2026-05-10 19:11:56 -04:00
VinPropane c1e77280e3 NEO-41: grant salvage activity XP on resource_node interact 2026-05-10 19:10:35 -04:00
VinPropane 650767f16c NEO-41: add implementation plan for gather interact skill XP 2026-05-10 19:06:45 -04:00
VinPropane 35b666ed60 NEO-40: sync E2.M2 alignment doc; close review feedback 2026-05-10 18:54:17 -04:00
VinPropane aaffaa7f1d NEO-40: add code review for telemetry hook sites branch 2026-05-10 18:52:33 -04:00
VinPropane effd234ee3 NEO-40: add progression telemetry hook comment sites 2026-05-10 18:49:40 -04:00
VinPropane 178ff2b625 NEO-40: add implementation plan for telemetry hook sites 2026-05-10 18:48:18 -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 9ed4034140 NEO-38: add code review (2026-05-06) 2026-05-06 22:24:17 -04:00
VinPropane 2bcde45891 NEO-38: add curl examples to manual QA 2026-05-06 22:20:14 -04:00
VinPropane 33b2e917e4 NEO-38: skill XP POST grant, persistence, level-up response 2026-05-06 22:17:02 -04:00
VinPropane 58b9016d40 NEO-38: add implementation plan for skill XP grant and level-up 2026-05-06 22:11:16 -04:00
VinPropane c58e716669 chore: smoke-test path-filtered CI skip (docs-only whitespace) 2026-05-06 22:04:39 -04:00
VinPropane a89aadbb43 NEO-37: re-review notes for unordered skills contract update 2026-05-06 21:54:13 -04:00
VinPropane a3cbef063c NEO-37: treat skill progression JSON array order as non-contractual 2026-05-06 21:53:24 -04:00
VinPropane 295eb34c68 NEO-37: reconcile decomposition docs + review feedback 2026-05-06 21:51:44 -04:00
VinPropane 5e180f3aa0 NEO-37: code review snapshot for skill progression API branch 2026-05-06 21:50:37 -04:00
VinPropane 9cd96a72c3 NEO-37: add skill progression snapshot GET API, tests, Bruno, docs 2026-05-06 21:48:17 -04:00
VinPropane 413484000f NEO-37: add implementation plan for skill progression snapshot API 2026-05-06 21:46:41 -04:00
VinPropane 15ab06f3e7 docs: note canonical GitHub org for Linear and doc links 2026-05-04 21:24:25 -04:00
VinPropane e2e413f42c docs: address 2026-04-30 documentation review suggestions 2026-05-04 21:09:05 -04:00
VinPropane f67bae79d8 chore: add 2026-05-04 documentation review 2026-05-04 21:06:51 -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 28fcd52c8c NEO-36: add curl example to manual QA checklist 2026-05-04 20:37:20 -04:00
VinPropane ab597ff350 NEO-36: expose GET /game/world/skill-definitions with tests, Bruno, QA doc 2026-05-04 20:36:06 -04:00
VinPropane 044b4f823c NEO-36: add implementation plan for skill catalog HTTP API 2026-05-04 20:33:53 -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 fb863a457b NEO-35: add ISkillDefinitionRegistry and lookup tests 2026-05-04 19:50:49 -04:00
VinPropane c2ca511a35 NEO-35: add implementation plan for skill definition registry 2026-05-04 19:48:34 -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 922e81eb0f NEO-34: add code review for skill catalog startup branch 2026-05-02 19:47:45 -04:00
VinPropane 1a9088c77c NEO-34: fail-fast skill catalog load at server startup
Register SkillDefinitionCatalog from content/skills with JsonSchema.Net validation
mirroring validate_content.py and the prototype Slice 1 gate. Resolve paths via
Content:SkillsDirectory or discovery from AppContext.BaseDirectory. Eager-load
after WebApplication build so bad catalogs block startup. Add unit and host
tests, pin test factories to repo skills, document config in server/README, add
manual QA checklist, and extend Bruno GET /health smoke tests.
2026-05-02 19:44:10 -04:00
VinPropane 6344858541 NEO-34: add implementation plan for skill catalog startup load 2026-05-02 19:35:57 -04:00
VinPropane 9afaad71ca NEO-33: Apply code review feedback (validate_content, E2.M1) 2026-05-02 19:27:28 -04:00
VinPropane 02cb4d8556 NEO-33: Add code review document (2026-05-02) 2026-05-02 19:25:46 -04:00
VinPropane 583201cc7c NEO-33: Freeze prototype SkillDef trio in CI and docs 2026-05-02 19:23:47 -04:00
VinPropane 66150ea224 NEO-33: Add implementation plan after kickoff clarifications 2026-05-02 19:21:20 -04:00
VinPropane 753f622602 chore: Document E2.M1 module Linear backlog in decomposition 2026-04-30 22:40:11 -04:00
VinPropane cdf7c61ce4 NEO-32: defer review suggestion #1 (integration test AAA) 2026-04-30 22:04:11 -04:00
VinPropane 27daef70a7 NEO-32: commit Godot .uid companions; document convention for agents 2026-04-30 22:02:29 -04:00
VinPropane 7d64ed2adc NEO-32: prune expired cooldown entries on TryGetCooldownEndUtc 2026-04-30 21:58:40 -04:00
VinPropane 7ddfb53219 NEO-32: add pre-merge code review (docs/reviews/2026-04-30-NEO-32.md) 2026-04-30 21:52:14 -04:00
VinPropane f4ba4cdd92 NEO-32: optional NEON_SPRAWL_API_LOG stdout for ability-cast 2026-04-30 21:37:03 -04:00
VinPropane ae74f570dc NEO-32: manual QA step 3 without server console logging 2026-04-30 21:33:08 -04:00
VinPropane 361a6800d2 NEO-32: cooldown snapshot API, on_cooldown deny, client HUD sync 2026-04-30 21:19:32 -04:00
VinPropane b4b67bccfd NEO-32: add implementation plan for cooldown snapshot sync 2026-04-30 21:13:17 -04:00
VinPropane 8a9a9bcf78 NEO-30: address code review follow-ups 2026-04-30 21:04:31 -04:00
VinPropane deec789af3 NEO-30: add code review for cast funnel telemetry hooks branch 2026-04-30 21:02:49 -04:00
VinPropane b5478782a8 NEO-30: cast funnel telemetry hook sites and docs 2026-04-30 20:59:47 -04:00
VinPropane 0e95918b56 NEO-30: add implementation plan for cast funnel telemetry hooks 2026-04-30 20:53:47 -04:00