Commit Graph

810 Commits (b233fa040d3c7d95e544e71fcd6b2000f175a080)

Author SHA1 Message Date
VinPropane da99769ddf NEO-128: wire quest complete to reward router deliver-then-mark.
TryMarkComplete delivers completionRewardBundle before marking complete;
objective wiring and upstream ops thread reward dependencies. Tests cover
bundle delivery, idempotent replay, and inventory-full deny.
2026-06-07 18:24:01 -04:00
VinPropane 7abe7dcafd NEO-128: add implementation plan for quest-complete reward wiring. 2026-06-07 18:18:58 -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 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 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 47ddde671f NEO-125: add implementation plan for quest bundle catalog load 2026-06-07 15:23:21 -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 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 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 803d66ea29 NEO-122: Document quest refresh on encounter completed GET. 2026-06-07 14:56:46 -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 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 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 e041c02959 NEO-122: Fix craft recipe panel scroll and row clipping.
Stack recipe label above Craft button so rows fit panel width, disable
horizontal scroll, reset scroll to top on populate, and bump panel height.
2026-06-07 12:54:57 -04:00
VinPropane b36fe6d863 NEO-122: Address code review HUD error and test gaps.
Surface quest-definitions sync failures on QuestProgressLabel, add accept
failure and busy-guard GdUnit coverage, inline render helper, and reconcile
review doc with strikethroughs.
2026-06-07 12:45:47 -04:00
VinPropane 4e75ec6493 NEO-122: Add code review for quest progress HUD. 2026-06-07 12:44:35 -04:00
VinPropane e37671d815 NEO-122: Add Godot quest progress and accept HUD.
Wire quest-progress GET and accept POST clients with four-quest HUD labels,
Q/Shift+Q accept bindings, and event-driven refresh after gather, craft, and
NPC defeats; includes GdUnit coverage and manual QA checklist.
2026-06-07 12:43:27 -04:00
VinPropane 150cb73f9a NEO-122: Add kickoff implementation plan for quest progress HUD. 2026-06-07 12:40:40 -04:00
VinPropane 88d01778a1 NEO-121: Address review nits for quest telemetry hook sites.
Add schemaVersion to quest_start comment, thread playerId/questId into
DenyAccept, and merge duplicate deny snapshot helpers.
2026-06-07 12:33:34 -04:00
VinPropane 89affe2b32 NEO-121: Add code review for quest telemetry hook sites. 2026-06-07 12:32:35 -04:00
VinPropane 705a7cd028 NEO-121: Add comment-only quest telemetry hook sites in QuestStateOperations.
Document quest_start, quest_step_complete, quest_complete, and quest_accept_denied
anchors for future E9.M1 ingest with README, manual QA, and module doc updates.
2026-06-07 12:29:52 -04:00
VinPropane 72b98a627c NEO-121: Add kickoff implementation plan for quest telemetry hooks. 2026-06-07 12:28:11 -04:00
VinPropane ea3b7cceb5 NEO-120: Address code review test coverage gaps.
Add HTTP tests for already_completed deny snapshot and empty {} body;
tighten already_active AAA arrange. Strike through resolved review items.
2026-06-07 12:21:19 -04:00
VinPropane 14bdec367c NEO-120: Add code review for quest accept POST branch. 2026-06-07 12:19:56 -04:00
VinPropane 9fe6cb36fd NEO-120: Document quest accept POST and reconcile plan.
Update server README, E7.M1 module docs, alignment register, backlog, and
implementation plan reconciliation for shipped accept HTTP.
2026-06-07 12:18:53 -04:00
VinPropane b22b68ad1f NEO-120: Add implementation plan for quest accept POST.
Kickoff plan for E7M1-09 — wire QuestStateOperations.TryAccept over HTTP
with Bruno and integration tests; client counterpart NEO-122.
2026-06-07 12:16:57 -04:00
VinPropane ad906fec40 NEO-119: Tighten quest-progress order and side-effect test coverage. 2026-06-07 12:10:55 -04:00
VinPropane 1565d2cde7 NEO-119: Add code review for quest-progress GET branch. 2026-06-07 12:09:57 -04:00
VinPropane 9e4c52f653 NEO-119: Document quest-progress GET and reconcile plan docs. 2026-06-07 11:56:31 -04:00
VinPropane 78e5de3338 NEO-119: Add kickoff implementation plan for quest progress GET. 2026-06-07 11:50:11 -04:00
VinPropane 71dbdd9a3e NEO-118: Wire quest objectives to gather, craft, and encounter events.
Add QuestObjectiveWiring with auto step advance/complete, hook into
GatherOperations, CraftOperations, EncounterCompletionOperations, and
QuestStateOperations accept/advance for inventory_has_item checks.
2026-06-06 19:54:37 -04:00
VinPropane 286a1a036f NEO-118: Add kickoff implementation plan for quest objective wiring. 2026-06-06 19:48:27 -04:00
VinPropane 540257d12d NEO-117: Fix Bugbot deny-code misclassification on quest accept.
Add CanWritePlayer to IPlayerQuestStateStore and check before
prerequisite gate; map TryActivate/TryAdvanceStep store failures
from progress snapshots instead of always unknown_player.
2026-06-06 19:36:41 -04:00
VinPropane 025c3250d2 NEO-117: Address code review findings for QuestStateOperations.
Align test DI resolution with encounter pattern, add unknown_quest
advance/complete tests, catalog quest id constants, refactor
TryMarkComplete readability, and update decomposition docs.
2026-06-06 19:30:21 -04:00
VinPropane 84847e20f0 NEO-117: Add code review for QuestStateOperations branch. 2026-06-06 19:29:10 -04:00
VinPropane f053ffbb39 NEO-117: Add QuestStateOperations with reason codes and tests.
Server-authoritative accept, step advance, and idempotent complete
wrapping IPlayerQuestStateStore with prerequisite enforcement.
2026-06-06 19:26:37 -04:00
VinPropane 44ef5f2484 NEO-117: Add kickoff implementation plan for QuestStateOperations. 2026-06-06 19:23:55 -04:00
VinPropane de611ac294 NEO-116: Address code review findings for quest state store.
Fix persistence test AAA layout, empty-id denial theory, frozen id constants,
Postgres rollback/JSONB read, XML doc cref, README Bruno link, and review doc.
2026-06-03 23:19:52 -04:00
VinPropane af87b5d12c NEO-116: Add code review for player quest state store. 2026-06-03 23:16:48 -04:00
VinPropane 395b70c030 NEO-116: Add player quest state store with Postgres persistence.
Introduces IPlayerQuestStateStore (in-memory + V008 Postgres), QuestStepState
snapshots, DI wiring, AAA unit tests, and docs for E7M1-05 before NEO-117 ops.
2026-06-03 23:04:50 -04:00
VinPropane 065872405c NEO-116: Add kickoff implementation plan for player quest state store.
Documents store contract, Postgres V008, tests, and kickoff decisions
(in-memory + Postgres when configured) before E7M1-06 operations land.
2026-06-03 23:01:59 -04:00
VinPropane ab315f326b NEO-115: address code review findings for quest definitions GET.
Derive expected quest id order from PrototypeE7M1QuestCatalogRules,
assert refine craft_recipe objective in integration test, and update
module dependency register plus review doc strikethroughs.
2026-06-03 22:22:44 -04:00
VinPropane 31ffee1f7a NEO-115: add code review for quest definitions GET API. 2026-06-03 22:16:48 -04:00
VinPropane b3f90ded53 NEO-115: reconcile plan, backlog, and E7.M1 alignment docs.
Mark E7M1-04 acceptance landed and document the quest definitions HTTP slice.
2026-06-03 22:14:39 -04:00
VinPropane a5be355a22 NEO-115: add kickoff implementation plan for quest definitions GET. 2026-06-03 22:12:14 -04:00
VinPropane 5d302742f7 NEO-114: Address code review — backlog wording and empty-id test. 2026-06-01 21:49:57 -04:00
VinPropane b4e5e612d4 NEO-114: Add code review for quest definition registry. 2026-06-01 21:49:16 -04:00
VinPropane 0bcbb4b041 NEO-114: Document quest registry and reconcile E7.M1 alignment. 2026-06-01 21:47:01 -04:00
VinPropane 9056a9b005 NEO-114: Add kickoff implementation plan for quest definition registry. 2026-06-01 21:36:07 -04:00
VinPropane 9c2ab5ae4d NEO-113: address code review — docs, schema and chain terminal tests. 2026-05-31 22:36:26 -04:00
VinPropane 38310d6ed3 NEO-113: add code review for quest catalog load branch. 2026-05-31 22:35:26 -04:00
VinPropane 1044547cc5 NEO-113: document quest catalog load and reconcile plan. 2026-05-31 22:33:43 -04:00
VinPropane cb4761b0b4 NEO-113: add kickoff implementation plan for quest catalog load. 2026-05-31 21:31:14 -04:00
VinPropane a4ed4abadb NEO-112: enforce objective id uniqueness per quest in CI
Move obj_ids_seen to quest scope so duplicate objective ids are
rejected across steps, matching CT.M1 documentation and E7M1-04
HTTP projection expectations (Bugbot PR #151).
2026-05-31 21:23:45 -04:00
VinPropane 50956bac11 NEO-112: address code review doc alignment findings 2026-05-31 21:17:37 -04:00
VinPropane c55c373f7f NEO-112: add code review for QuestDef catalog + CI gates 2026-05-31 21:16:56 -04:00
VinPropane 765075f3cf NEO-112: document quest catalog CI and reconcile implementation plan 2026-05-31 21:16:12 -04:00
VinPropane 140d857398 NEO-112: add E7M1 prototype backlog and decomposition cross-links 2026-05-31 21:13:03 -04:00
VinPropane be1dae3872 NEO-112: add kickoff implementation plan for QuestDef catalog + CI 2026-05-31 21:12:54 -04:00
VinPropane 5e4816eddd NEO-111: record manual QA pass; mark E5.M3 Ready.
Capstone checklist passed in Godot; Epic 5 Slice 3 client complete.
2026-05-31 20:11:15 -04:00
VinPropane 2e54fe39f8 NEO-111: reconcile plan and module docs for encounter capstone.
Document shipped capstone artifacts; manual Godot QA pass still pending
before E5.M3 Ready and backlog AC checkboxes.
2026-05-31 20:02:14 -04:00
VinPropane e900ba992b NEO-111: add capstone manual QA script and README loop section.
Single-session Godot checklist with flexible defeat order, inventory
verification, and Godot-restart idempotency; cross-link from NEO-110.
2026-05-31 20:02:14 -04:00
VinPropane 385cabe883 NEO-111: kickoff implementation plan for encounter clear capstone.
Docs-primary Slice 3 capstone: manual QA script, README loop section,
and module alignment; integration fixes only if Godot QA fails.
2026-05-31 20:01:11 -04:00
VinPropane 82c966d7d2 NEO-110: record manual QA pass on plan; add test script uid. 2026-05-31 19:57:13 -04:00
VinPropane c8d475670c NEO-110: address review — loot label helper, defs re-paint, tests. 2026-05-31 19:38:07 -04:00
VinPropane 3ce645a0f0 NEO-110: code review — request changes for loot label helper. 2026-05-31 19:37:21 -04:00
VinPropane bcc9bf1c69 NEO-110: manual QA, README, plan reconciliation, and module docs. 2026-05-31 19:35:56 -04:00
VinPropane 3128f36df9 NEO-110: kickoff implementation plan for encounter HUD client. 2026-05-31 19:34:27 -04:00
VinPropane df248308c7 NEO-109: Restore early return on completion failure guard.
Bugbot PR #148: keep consistent guard-clause pattern in
EncounterCombatWiring.TryProcessCastOutcome.
2026-05-31 19:25:33 -04:00
VinPropane c40bcd3ffe NEO-109: Address code review hook-anchor findings.
Move encounter_start comments after successful TryActivate; clarify
encounter_complete_denied caller context; strike through review items.
2026-05-31 19:06:01 -04:00
VinPropane d1a67a89bd NEO-109: Add code review for encounter telemetry hook sites. 2026-05-31 19:04:55 -04:00
VinPropane 8cda0d76da NEO-109: Document encounter telemetry hooks in README and module docs.
Reconcile plan, backlog, alignment register, and E5.M3 module snapshot.
2026-05-31 19:03:03 -04:00
VinPropane e6debc2968 NEO-109: Add kickoff implementation plan.
Documents comment-only encounter_start, encounter_complete, and
reward_attribution hook sites with kickoff decisions adopted.
2026-05-31 19:01:28 -04:00
VinPropane 25f3714554 NEO-108: Address code review findings for encounter-progress GET.
Add BuildSnapshot invariant tests, whitespace 404, idempotent second GET,
grant-order assertions; dedupe MapRow progress lookup; strike review items.
2026-05-31 18:39:52 -04:00
VinPropane ebb27aed2d NEO-108: Add code review for encounter-progress GET. 2026-05-31 18:38:31 -04:00
VinPropane 07ebb9efb8 NEO-108: Add Bruno smokes and document encounter-progress GET.
Bruno folder covers inactive default and three-NPC defeat spine; README and
E5.M3 docs mark E5M3-08 landed with plan reconciliation.
2026-05-31 18:37:43 -04:00
VinPropane 16018586b7 NEO-108: Add kickoff implementation plan for encounter-progress GET.
Documents HTTP projection from progress, completion, and event stores,
Bruno defeat spine, and adopted grant-summary source from kickoff.
2026-05-31 18:35:42 -04:00
VinPropane f51617f8b5 NEO-107: Address code review findings for event store persistence.
Update E5.M3 module summary and NEO-105 snapshot, fix store test AAA
layout, add empty encounter id fail-closed test, strike through review items.
2026-05-31 18:27:28 -04:00
VinPropane 29217c0fa0 NEO-107: Add code review for EncounterCompleteEvent persistence. 2026-05-31 18:26:51 -04:00
VinPropane 555c3235ff NEO-107: Reconcile plan and module docs for event persistence.
Mark E5M3-09 acceptance criteria complete and cross-link E7.M2 consumer
hook anchor across backlog, alignment register, and module snapshots.
2026-05-31 18:26:13 -04:00
VinPropane 986cf55e73 NEO-107: Add kickoff implementation plan for EncounterCompleteEvent persistence. 2026-05-31 18:22:57 -04:00
VinPropane 9c74933e6e NEO-106: Address code review findings for combat encounter wiring. 2026-05-31 18:10:41 -04:00
VinPropane a7b835290c NEO-106: Add code review for combat encounter wiring. 2026-05-31 18:09:20 -04:00
VinPropane 8306f92554 NEO-106: Document combat encounter wiring and update E5.M3 docs. 2026-05-31 18:08:29 -04:00
VinPropane fc09808482 NEO-106: Add kickoff implementation plan for combat encounter wiring. 2026-05-31 18:05:42 -04:00
VinPropane cbb6f137fd NEO-105: Address code review findings for encounter completion.
Add apply-phase rollback test, E9.M1 deny hook comment, inventory
reason passthrough, and tighten idempotent replay assertions.
2026-05-31 17:02:32 -04:00
VinPropane 1a74fbda54 NEO-105: Add code review for encounter completion grants. 2026-05-31 16:59:46 -04:00
VinPropane 009fedf65e NEO-105: Document encounter completion grants and update E5.M3 docs. 2026-05-31 16:57:54 -04:00
VinPropane b5306aa933 NEO-105: Add kickoff implementation plan for encounter completion grants. 2026-05-31 16:55:22 -04:00
VinPropane 91f74b7d6e NEO-104: Address code review findings for encounter stores.
Normalize encounter ids in IsAllRequiredTargetsDefeated, document TryActivate
completion gating, lock IsCompleted reads, add operations tests, and update
plan and review doc.
2026-05-31 16:37:22 -04:00
VinPropane 87dff6e3f4 NEO-104: Add code review for encounter progress stores. 2026-05-31 16:36:42 -04:00
VinPropane aaccbbbcaf NEO-104: Add encounter progress and completion stores.
In-memory IEncounterProgressStore and IEncounterCompletionStore with
EncounterProgressOperations for activation, defeat tracking, and
all-targets-defeated checks; unit tests and docs.
2026-05-31 16:18:56 -04:00
VinPropane 727ce4774a NEO-104: Add kickoff implementation plan for encounter stores. 2026-05-31 16:16:03 -04:00
VinPropane e4e75f5dc7 NEO-103: Address code review follow-ups.
Mark E5M3-04 landed in module Summary, assert fixedGrants order in
C# test, add Bruno ordinal comment, strike through review items.
2026-05-31 15:43:37 -04:00
VinPropane 573c42add7 NEO-103: Add code review for encounter-definitions GET. 2026-05-31 15:41:49 -04:00
VinPropane 935e8d5f16 NEO-103: Document encounter-definitions route and mark E5M3-04 landed.
Update server README, module snapshot, alignment register, backlog,
and implementation plan reconciliation.
2026-05-31 15:40:12 -04:00
VinPropane 62e6bfdf0a NEO-103: Add implementation plan for encounter-definitions GET.
Kickoff clarifications adopt nested rewardTable summary, nested
completionCriteria shape, and skip manual QA (server-only).
2026-05-31 15:38:53 -04:00
VinPropane ca0b1f8e30 NEO-102: tidy review doc documentation-checked row after follow-up 2026-05-31 00:40:39 -04:00
VinPropane 5229c17598 NEO-102: address code review — sync module register + README id lookup note 2026-05-31 00:40:37 -04:00
VinPropane fa31154d4c NEO-102: Add code review for encounter/reward registries + DI. 2026-05-31 00:39:18 -04:00
VinPropane 734876cde9 NEO-102: add encounter and reward-table definition registries + DI
Thin IEncounterDefinitionRegistry / IRewardTableDefinitionRegistry adapters
over NEO-101 catalogs with TryNormalizeKnown, DI registration, and 18 AAA tests.
2026-05-31 00:38:38 -04:00
VinPropane 93eca821d7 NEO-102: add implementation plan for encounter/reward registries + DI 2026-05-31 00:33:45 -04:00
VinPropane 21749e7977 NEO-101: Address code review — schema tests, module snapshot, host boot.
Adds row-level JsonSchema violation tests for both loaders, symmetric empty reward-tables host boot test, and E5.M3 implementation snapshot; review doc marked Done.
2026-05-31 00:08:41 -04:00
VinPropane 5e26143fbd NEO-101: Add code review for encounter/reward catalog load. 2026-05-31 00:08:01 -04:00
VinPropane f921095fb0 NEO-101: Fail-fast encounter and reward-table catalog load at startup.
Adds Game/Encounters loaders mirroring validate_content.py E5M3 gates, DI registration with reward-tables-before-encounters load order, 19 AAA tests, and server README catalog sections.
2026-05-31 00:05:57 -04:00
VinPropane 06c58998cc NEO-101: Add E5M3-02 encounter/reward catalog load kickoff plan.
Documents fail-fast server loader scope, CI-parity gates, and loader plus host boot test approach after kickoff clarifications.
2026-05-31 00:03:00 -04:00
VinPropane ebf385d658 NEO-100: Address code review — register sync and grant dedupe
Update E5.M3 dependency register note for landed catalog, reject duplicate
fixedGrants itemId in CI, add uniqueItems on requiredNpcInstanceIds, and
record review follow-ups as Done.
2026-05-30 19:38:33 -04:00
VinPropane 01b7e23c5e NEO-100: Add code review for encounter + reward catalog CI 2026-05-30 19:36:14 -04:00
VinPropane ee5e1a0caf NEO-100: Add encounter and reward-table catalogs with CI validation
Ship frozen prototype_combat_pocket spine (schemas, JSON catalogs, validate_content
gates) and update E5.M3, CT.M1, and alignment docs for E5M3-01 completion.
2026-05-30 19:35:02 -04:00
VinPropane 4f16c848db NEO-100: Kickoff plan for encounter + reward catalog schemas and CI
Document frozen prototype_combat_pocket spine, schema shapes, validate_content
gates, and file lists before E5M3-01 implementation.
2026-05-30 19:33:27 -04:00
VinPropane d7c3ede5a7 chore: Epic 5 stable slice anchors and doc cluster alignment
Add explicit HTML slice anchors to epic_05, restore deep links across E5
backlogs and plans, fix E5M2 NEO-98 resolve vocabulary and E5.M3 Linear row,
and record review follow-up as Done.
2026-05-30 19:25:56 -04:00
VinPropane db9ddb9fe0 chore: Decompose E5.M3 prototype backlog (NEO-100–NEO-111)
Epic 5 Slice 3 encounter + reward routing: backlog doc, module/epic/register
updates, and Linear issues for one combat-pocket clear with idempotent loot.
2026-05-30 18:38:18 -04:00
VinPropane b77b7f8fbb NEO-98: Address follow-up review doc findings.
Update E5.M2 module freeze, plan scope reconciliation, alignment
register, client README melee row, and strike-through follow-up review.
2026-05-30 18:02:55 -04:00
VinPropane bc1357cf94 NEO-98: add follow-up code review for capstone integration fixes 2026-05-30 18:01:52 -04:00
VinPropane 44fb4adbe5 NEO-98: Set melee strike to 2 m and elite slam to 4 m. 2026-05-30 17:55:10 -04:00
VinPropane 99aa2b455f NEO-98: Document melee 1 m strike range in manual QA. 2026-05-30 17:54:06 -04:00
VinPropane 332cd4445f NEO-98: stop defeated NPC aggro and runtime attacks
Clear threat holder and reset runtime to idle when combat-target HP
is defeated — on cast accept and as an AdvanceOne guard so telegraph
cycles cannot continue after the killing blow.
2026-05-30 17:38:27 -04:00
VinPropane b03128a3b0 NEO-98: address code review — Esc regression step and AC parity 2026-05-30 17:05:30 -04:00
VinPropane 817ed26304 NEO-98: add code review for E5M2-12 capstone docs 2026-05-30 17:04:18 -04:00
VinPropane ae8b01d5e3 NEO-98: add capstone manual QA and Slice 2 docs 2026-05-30 17:02:50 -04:00
VinPropane ceef54cd23 NEO-98: add implementation plan for NPC telegraph combat capstone 2026-05-30 16:55:30 -04:00
VinPropane fd0b6d3db8 NEO-97: address code review — helpers, tests, doc fixes
Extract npc_combat_hud_helpers.gd for shared HUD formatters; hide telegraph
at zero windup; surface runtime sync errors; npc_row last-snapshot fallback;
expand GdUnit coverage; align E5.M2 module docs and strike review findings.
2026-05-29 21:07:02 -04:00
VinPropane 39ec50efa2 NEO-97: add code review for E5M2-11 client telegraph HUD 2026-05-29 21:00:55 -04:00
VinPropane cfda0acd9a NEO-97: add Godot telegraph HUD and NPC runtime poll clients
Wire npc-runtime-snapshot and combat-health GET clients with combat-active
~1 Hz polling, interpolated telegraph countdown, and PlayerCombatHp/NpcState/
Telegraph HUD labels; includes GdUnit tests, manual QA, and doc updates.
2026-05-29 20:59:11 -04:00
VinPropane b0d0c4262e NEO-97: add E5M2-11 client telegraph HUD implementation plan
Kickoff plan for Godot poll clients, combat-active HUD labels, and manual QA;
records kickoff decisions on poll gating, HUD scope, and windup interpolation.
2026-05-29 20:56:34 -04:00
VinPropane 8a774857c6 NEO-96: address code review — fixture wording, E5.M2 status
Narrow holder-clear hook comments to AdvanceAll scope; document
ResetAllPrototypeRows bypass with optional E9.M1 anchor; remove
redundant TryGet; update E5.M2 Summary status and review follow-up.
2026-05-29 20:50:47 -04:00
VinPropane fedb735e53 NEO-96: add code review for E5M2-10 telemetry hook sites 2026-05-29 20:49:41 -04:00
VinPropane 5e1e37423f NEO-96: formalize NPC runtime telemetry hook sites
Replace NEO-93 placeholder comments with full telegraph_fired and
npc_state_transition E9.M1 anchors in NpcRuntimeOperations; document
in server README and E5.M2 module alignment.
2026-05-29 20:48:50 -04:00
VinPropane dedd9a9c18 NEO-96: add E5M2-10 NPC telemetry hook sites implementation plan 2026-05-29 20:47:21 -04:00
VinPropane c96fb2d26a NEO-95: fix Bruno elite attack — multi-poll snapshot timeline
AdvanceAll runs only on npc-runtime-snapshot GET with a 5s delta cap;
sleep then combat-health alone never applied telegraph damage.
2026-05-28 23:49:59 -04:00