Commit Graph

476 Commits (main)

Author SHA1 Message Date
VinPropane 599d87bd0d NEO-138: Add E7M3-06 implementation plan for reputationGrants router wiring. 2026-06-15 22:03:33 -04:00
VinPropane a36e7b56b5 NEO-137: Address review — quest fixture for Bruno CI and test/docs nits.
Add POST …/__dev/quest-fixture to mark quests completed without reward
delivery; wire Bruno pre-request and CI flag. Multi-rule AND unit test,
README notes, gate deny comment, review strikethroughs.
2026-06-15 21:24:21 -04:00
VinPropane 0241cc31e3 NEO-137: Wire FactionGateOperations into quest accept with tests and docs.
Evaluate FactionGateRule rows before TryActivate; deny with faction_gate_blocked
when standing is below minStanding. Integration and Bruno deny smoke included.
2026-06-15 21:11:27 -04:00
VinPropane 1c3d075d6b NEO-137: Add implementation plan for FactionGateOperations + TryAccept wiring. 2026-06-15 21:08:26 -04:00
VinPropane ddaf33ce87 NEO-136: fix rollback applied delta and normalize ids at ops boundary 2026-06-15 20:52:04 -04:00
VinPropane 536f635a11 NEO-136: document ReputationOperations and reconcile plan 2026-06-15 20:48:44 -04:00
VinPropane e9abc8bf38 NEO-136: add implementation plan for ReputationOperations 2026-06-15 20:45:54 -04:00
VinPropane d5f16f4cf4 NEO-135: address code review findings
Update decomposition docs for E7M3-03, add in-memory read-clamp test via
test seed hook, fix empty factionId deny code, AAA integration test,
Postgres FK orchestration notes, and strike review suggestions Done.
2026-06-15 20:27:36 -04:00
VinPropane 4fca45bf7c NEO-135: add faction standing and reputation delta audit stores
Per-player IFactionStandingStore with clamped reads/writes and fail-closed
unknown-faction deny; append-only IReputationDeltaStore; in-memory plus
Postgres V009/V010 when configured. Tests, Bruno health smoke, README.
2026-06-15 20:23:57 -04:00
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