VinPropane
08ebfcebcf
NEO-135: add E7M3-03 faction standing store implementation plan
...
Kickoff plan for per-player FactionStanding snapshot and append-only
ReputationDelta audit stores (in-memory + NEO-116-style Postgres).
2026-06-15 20:20:48 -04:00
VinPropane
48bca98467
NEO-134: fail-fast faction catalog load with E7M3 quest gates
...
Add Game/Factions loader, registry, and CI-parity prototype rules; extend
quest catalog to parse faction gates/rep grants and cross-check at startup.
2026-06-15 20:08:46 -04:00
VinPropane
edb33514c5
NEO-134: add E7M3-02 faction catalog load implementation plan
...
Kickoff plan for fail-fast server faction catalog load with CI-parity
gates, quest faction cross-refs, and registry DI wiring.
2026-06-15 20:03:44 -04:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
50956bac11
NEO-112: address code review doc alignment findings
2026-05-31 21:17:37 -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
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
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
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
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
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
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
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
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
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
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
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
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