VinPropane
4e5d92b6c8
Merge pull request #166 from ViPro-Technologies/NEO-127-e7m2-reward-router-operations
...
NEO-127: E7M2-04 RewardRouterOperations (apply QuestRewardBundle)
2026-06-07 18:14:54 -04:00
VinPropane
039672cdac
NEO-127: avoid clobbering winner perks on TryRecord race rollback
...
Track perks unlocked per grant and remove only those on race loss instead
of restoring a full pre-apply snapshot; re-run ReevaluateAfterLevelUp at
post-rollback levels so a concurrent winner's path-auto unlocks survive.
2026-06-07 18:10:56 -04:00
VinPropane
be9bb8f961
NEO-127: restore perk state on TryRecord race rollback
...
Capture pre-skill-apply XP and perk snapshots; on TryRecord loss reverse
each applied skill row via negative delta and restore the perk snapshot so
level-up unlocks from the loser call are reverted without clobbering a
concurrent winner's XP.
2026-06-07 18:04:06 -04:00
VinPropane
71fbf3d628
NEO-127: rollback duplicate grants when TryRecord loses race
...
Mirror EncounterCompletionOperations compensating rollback: concurrent
losers undo item and skill XP applies before returning the winner event.
2026-06-07 17:53:20 -04:00
VinPropane
c764f5af6b
NEO-127: update review summary after follow-up tests
2026-06-07 17:49:34 -04:00
VinPropane
65ca11171b
NEO-127: address code review test and backlog doc findings
...
Add null-bundle and invalid-id deny tests, fix replay XP assertion,
align E7M2-04 backlog wording with TryApplyGrant, strike review items done.
2026-06-07 17:49:26 -04:00
VinPropane
581c90ab34
NEO-127: add code review for reward router operations
2026-06-07 17:48:42 -04:00
VinPropane
5b84ffd75a
NEO-127: add RewardRouterOperations for quest completion bundles
...
Apply item grants and mission_reward skill XP with compensating rollback,
idempotent IRewardDeliveryStore recording, and AAA integration tests.
2026-06-07 17:47:32 -04:00
VinPropane
35b8904f15
NEO-127: add E7M2-04 reward router operations implementation plan
...
Kickoff plan for RewardRouterOperations apply path building on NEO-125
catalog bundles and NEO-126 delivery store idempotency.
2026-06-07 17:45:01 -04:00
VinPropane
ce142b9271
Merge pull request #165 from ViPro-Technologies/NEO-126-e7m2-reward-delivery-store
...
NEO-126: E7M2-03 reward delivery store (IRewardDeliveryStore)
2026-06-07 17:36:59 -04:00
VinPropane
35fa4ad192
NEO-126: address code review — module anchor and casing test
...
Add E7.M2 implementation anchor for the delivery store and assert
mixed-case TryRecord replays are rejected at the store layer.
2026-06-07 17:33:07 -04:00
VinPropane
3d8df939b6
NEO-126: add code review for reward delivery store
2026-06-07 17:32:37 -04:00
VinPropane
2a8fe31b14
NEO-126: add IRewardDeliveryStore for quest completion rewards
...
In-memory RewardDeliveryEvent store with idempotent TryRecord,
grant summaries for future HTTP projection, DI registration, and tests.
2026-06-07 17:31:45 -04:00
VinPropane
b20d9c18b5
NEO-126: add E7M2-03 reward delivery store implementation plan
...
Kickoff plan for IRewardDeliveryStore — in-memory idempotent
RewardDeliveryEvent records keyed by quest completion.
2026-06-07 17:30:14 -04:00
VinPropane
0372991d87
Merge pull request #164 from ViPro-Technologies/NEO-125-e7m2-server-quest-catalog-reward-bundle-validation
...
NEO-125: E7M2-02 server quest catalog reward bundle validation
2026-06-07 15:32:01 -04:00
VinPropane
766837d7e8
NEO-125: address code review findings for bundle validation
...
Rename freeze-first loader tests, add PrototypeE7M2QuestCatalogRulesTests
for cross-ref paths, align missing skill-def error with Python, and
document bundle schema path resolution in server README.
2026-06-07 15:27:55 -04:00
VinPropane
ad80ed8760
NEO-125: add code review for quest bundle catalog load
2026-06-07 15:26:51 -04:00
VinPropane
8d026bdca4
NEO-125: document server bundle load in README and alignment docs
2026-06-07 15:25:58 -04:00
VinPropane
3924695619
NEO-125: fail-fast quest completionRewardBundle validation at startup
...
Register bundle JSON Schemas, parse bundle DTOs on QuestDefRow, and run
E7M2 prototype gates (presence, freeze table, cross-ref, mission_reward)
with skill catalog input from DI.
2026-06-07 15:25:58 -04:00
VinPropane
47ddde671f
NEO-125: add implementation plan for quest bundle catalog load
2026-06-07 15:23:21 -04:00
VinPropane
0ae6bea327
Merge pull request #163 from ViPro-Technologies/NEO-124-e7m2-questrewardbundle-schema-quest-catalog-extension-ci
...
NEO-124: E7M2-01 quest completion reward bundle schema + CI
2026-06-07 15:20:55 -04:00
VinPropane
d3c7dbb1ad
NEO-124: Fix E7.M2 alignment register row and close review follow-up.
...
Repair corrupted References column; document negative CI spot-check results in review.
2026-06-07 15:17:24 -04:00
VinPropane
fdd1fe1536
NEO-124: Add code review for quest completion bundle CI slice.
2026-06-07 15:16:34 -04:00
VinPropane
c8e7449756
NEO-124: Document quest completion bundle CI and reconcile plan.
...
Update E7.M2 module, content README, CT.M1, alignment register, and E7M2 backlog for landed catalog slice.
2026-06-07 15:15:53 -04:00
VinPropane
afcf0fba28
NEO-124: Add quest completion reward bundle schemas, catalog, and CI gates.
...
Extend quest defs with completionRewardBundle on four frozen quests; validate bundle freeze table and item/skill cross-refs in validate_content.py.
2026-06-07 15:15:52 -04:00
VinPropane
98a9602bb0
NEO-124: Add E7M2-01 implementation plan (quest reward bundle schema + CI).
...
Lock completionRewardBundle content shape, kickoff decisions, and file lists before catalog/validator work.
2026-06-07 15:13:42 -04:00
VinPropane
85ead01a0b
chore: Decompose E7.M2 prototype backlog (NEO-124–NEO-132).
...
Epic 7 Slice 2 reward router: nine server+client stories, Linear
issues, module docs, and kickoff defaults for completion bundles.
2026-06-07 15:11:43 -04:00
VinPropane
31609917a5
Merge pull request #162 from ViPro-Technologies/NEO-123-playable-onboarding-quest-chain-capstone
...
NEO-123: Playable onboarding quest chain capstone (Godot)
2026-06-07 15:09:03 -04:00
VinPropane
f4e9f62533
NEO-123: Record capstone QA pass and mark E7.M1 Ready.
...
Human QA passed; update acceptance checkboxes, module register, and
alignment docs for Epic 7 Slice 1 client capstone completion.
2026-06-07 15:07:59 -04:00
VinPropane
ec71fba260
NEO-123: Add capstone manual QA and onboarding quest loop docs.
...
Ship four-quest Godot session script (Shift+Q catalog accept order,
idempotency steps), client README capstone section, and align NEO-122
component QA with catalog-order picker behavior.
2026-06-07 15:03:29 -04:00
VinPropane
4cfec3ac7f
NEO-123: Add implementation plan for quest chain capstone.
...
Kickoff clarifications adopt docs-primary scope, Shift+Q catalog
accept order, and Godot-restart idempotency per NEO-111 precedent.
2026-06-07 15:01:34 -04:00
VinPropane
316966f447
Merge pull request #161 from ViPro-Technologies/NEO-122-client-quest-progress-accept-hud
...
NEO-122: Client quest progress and accept HUD (Godot)
2026-06-07 14:58:58 -04:00
VinPropane
803d66ea29
NEO-122: Document quest refresh on encounter completed GET.
2026-06-07 14:56:46 -04:00
VinPropane
5e146cd934
NEO-122: Surface quest accept in-flight and failed-start HUD feedback.
...
Show sending/busy/could-not-start copy on Q and Shift+Q accept paths and
lock the behavior with GdUnit key-input tests.
2026-06-07 14:55:47 -04:00
VinPropane
bada3024c2
NEO-122: Repaint quest HUD when definitions load.
...
Definitions ready now re-renders progress rows when a snapshot exists
even after a progress sync error, so display names replace raw ids.
2026-06-07 14:52:01 -04:00
VinPropane
c663721d34
NEO-122: Harden quest HUD error/accept rendering.
...
Keep accept merge visible after sync failure, clear stale progress
error on successful accept, show sync banner with rows, and block
Shift+Q when definitions failed to load.
2026-06-07 14:49:12 -04:00
VinPropane
91bdb18357
NEO-122: Keep quest HUD fresh after accept.
...
Merge accept-response quest row into the HUD snapshot immediately,
re-apply when a stale GET returns not_started, and queue pending sync
when progress GET is already in flight.
2026-06-07 14:45:56 -04:00
VinPropane
bfded69b3b
NEO-122: gdformat quest_hud_controller_test.gd.
2026-06-07 14:42:45 -04:00
VinPropane
46e24d35d6
NEO-122: Fix bugbot items and GdUnit orphan leaks.
...
Block Shift+Q when progress sync failed; remove HudRootScroll 80px min
that overlapped the economy panel; rewrite quest_hud_controller tests
with HTTP mocks and auto_free for CI exit 0.
2026-06-07 14:42:18 -04:00
VinPropane
3606d0ba57
NEO-122: Fix CI flake and address Bugbot quest HUD feedback.
...
Harden npc windup timing test, refresh quest progress on encounter
complete, surface accept busy/loading feedback, and treat missing quest
rows as not_started for Shift+Q eligibility.
2026-06-07 14:38:06 -04:00
VinPropane
2514772b43
NEO-122: Fix headless GdUnit failures in quest and economy tests.
...
Add HTTP clients to the scene tree before quest HUD setup, set a stable
1280x720 viewport for economy layout tests, and include RecipesHeaderLabel
in the test section scaffold.
2026-06-07 13:45:10 -04:00
VinPropane
6397d81ca3
NEO-122: Run gdformat on quest and economy HUD client scripts.
2026-06-07 13:37:58 -04:00
VinPropane
2bf4d325e1
NEO-122: Fix quest HUD controller test line length for gdlint.
2026-06-07 13:37:43 -04:00
VinPropane
b3f9b22ef2
NEO-122: Shorten economy HUD paths and add quest HUD controller tests.
2026-06-07 13:37:39 -04:00
VinPropane
eba0d09d70
NEO-122: Extract quest HUD controller to satisfy gdlint limits.
...
Move quest progress/accept wiring out of main.gd so pre-push gdlint
passes max line length and max file lines checks.
2026-06-07 13:37:25 -04:00
VinPropane
ba75aeed79
NEO-122: Address follow-up review doc drift and QA numbering.
...
Reconcile plan with economy HUD layout refactor, fix manual QA steps,
update regression notes for NEO-74/75/110, and strike through resolved
review suggestions.
2026-06-07 13:36:21 -04:00
VinPropane
64da7611d9
NEO-122: Add follow-up code review for economy HUD layout.
2026-06-07 13:35:06 -04:00
VinPropane
632a7472de
NEO-122: Fix HudRootScroll node path type for get_node_or_null.
2026-06-07 13:08:02 -04:00
VinPropane
0b3ef92ab6
NEO-122: Separate debug HUD scroll from economy panel.
...
Clamp HudRootScroll above the economy block, add an opaque panel fill,
and shrink the economy max height so quest and recipe text no longer overlap.
2026-06-07 13:07:58 -04:00
VinPropane
f801692091
NEO-122: Fix economy HUD positioning so panel renders on screen.
...
Bottom anchors placed the section off-screen before layout; use explicit
position/size from viewport height and draw above HudRoot via z_index.
2026-06-07 13:00:56 -04:00