VinPropane
0948d9d4a8
NEO-133: land faction catalog, quest gate/rep schemas, and CI gates
...
Add two prototype factions, extend quest bundles with reputationGrants
and factionGateRules, freeze five-quest roster in validate_content.py,
and sync minimal server quest roster parity for green startup tests.
2026-06-14 14:54:20 -04:00
VinPropane
718346163f
NEO-133: kickoff E7M3-01 — faction catalog schemas + CI plan
...
Land E7.M3 Slice 3 decomposition docs and NEO-133 implementation plan
before content/schema work; blocks NEO-134 server faction load.
2026-06-14 14:51:22 -04:00
VinPropane
acf3d079d2
NEO-132: Move economy refresh into quest HUD controller for lint budget.
...
Pass inventory and skill clients into setup; refresh on completion
transition in quest_hud_controller.gd; fix line-length and file-size
gdlint limits for pre-push.
2026-06-14 14:15:46 -04:00
VinPropane
63156c353f
NEO-132: Ship Slice 2 quest reward capstone docs and economy refresh.
...
Add NEO-132 manual QA extending NEO-123 with reward HUD and economy
verification, README capstone section, E7.M2 Ready alignment, client
completion-transition signal for inventory/skill refresh, and GdUnit
coverage for the new signal.
2026-06-14 14:08:02 -04:00
VinPropane
a1947d8f05
NEO-132: Add kickoff implementation plan for E7M2 capstone.
...
Docs-primary Slice 2 capstone extending NEO-123 flow with reward HUD
and economy verification; conditional client refresh fixes if QA fails.
2026-06-14 14:06:30 -04:00
VinPropane
dc39250e96
NEO-131: Split reward HUD tests to satisfy gdlint limit.
2026-06-07 23:07:18 -04:00
VinPropane
7e3507088b
NEO-131: Fix Bugbot boot-seed and item-defs reward repaint.
...
Track in-session active quests so first successful GET after failed
syncs can paint rewards; repaint reward label on item definitions_ready.
2026-06-07 23:06:39 -04:00
VinPropane
0e13a10b79
NEO-131: Address review — item grant and defs repaint tests.
...
Add operator-chain item display name and definitions_ready reward
label GdUnit cases; add NEO-131 plan link to alignment register.
2026-06-07 23:02:14 -04:00
VinPropane
ca9a3f1b38
NEO-131: Add code review for quest completion reward HUD.
2026-06-07 23:01:27 -04:00
VinPropane
ed7975ca54
NEO-131: Document quest reward HUD and reconcile plan.
2026-06-07 22:59:19 -04:00
VinPropane
5578de9de3
NEO-131: Add kickoff implementation plan for quest reward HUD.
2026-06-07 22:57:23 -04:00
VinPropane
1333da2938
NEO-130: Address review feedback on unlock_granted stub.
...
Document E9.M1 durable-emit gating for rollback paths; reconcile plan
bullet for class summary; strike through resolved review items.
2026-06-07 22:49:00 -04:00
VinPropane
471d4b61a7
NEO-130: add code review for reward telemetry hook sites.
2026-06-07 22:48:12 -04:00
VinPropane
c461a822f1
NEO-130: Add comment-only reward telemetry hook sites.
...
Anchor future E9.M1 reward_delivery and unlock_granted events in
RewardRouterOperations; document hooks in server README and module docs.
2026-06-07 22:46:27 -04:00
VinPropane
7493a6b078
NEO-130: Add kickoff implementation plan for reward telemetry hooks.
2026-06-07 22:45:12 -04:00
VinPropane
9ab3a70796
NEO-129: address review test and Bruno coverage gaps.
2026-06-07 18:48:45 -04:00
VinPropane
185b38b242
NEO-129: add code review for quest-progress completionRewardSummary.
2026-06-07 18:40:05 -04:00
VinPropane
78e805e428
NEO-129: add completionRewardSummary to quest-progress GET.
...
Project IRewardDeliveryStore grant snapshots onto completed quest rows;
extend tests, Bruno gather-intro spine, and docs.
2026-06-07 18:38:37 -04:00
VinPropane
2b06eb2a1e
NEO-129: add implementation plan for quest-progress completionRewardSummary.
2026-06-07 18:37:35 -04:00
VinPropane
28e4a70846
NEO-128: address review — operator-chain delivery and wiring deny tests.
2026-06-07 18:27:10 -04:00
VinPropane
f3b4438968
NEO-128: add code review for quest-complete reward wiring.
2026-06-07 18:25:45 -04:00
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