Commit Graph

738 Commits (08ebfcebcf3a8ae515fd981ed5179fa5bca78389)

Author SHA1 Message Date
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