Commit Graph

810 Commits (b233fa040d3c7d95e544e71fcd6b2000f175a080)

Author SHA1 Message Date
VinPropane 0fe182565e NEO-139: address review — trim-path tests and Bruno folder note.
Add whitespace-only 404 and padded-path playerId echo tests; document seq 4 standing side effect in faction-standing folder docs.
2026-06-16 17:26:40 -04:00
VinPropane cc7786ba3a NEO-139: add code review for faction-standing GET API. 2026-06-16 17:22:40 -04:00
VinPropane 3f08812e93 NEO-139: add GET faction-standing snapshot API with tests and Bruno.
Expose client-readable standing for all catalog factions; 404 unknown players via position gate; Bruno asserts +15 after operator chain.
2026-06-16 17:19:50 -04:00
VinPropane 5fc780c8ab NEO-139: kickoff implementation plan for faction-standing GET API. 2026-06-16 17:17:42 -04:00
VinPropane 6999eb3303 NEO-138: clear delivery and audit on quest fixture reset.
resetQuestIds now clears IRewardDeliveryStore rows and quest-completion
audit deltas so Bruno re-runs re-apply rep grants after standing reset.
2026-06-15 23:10:58 -04:00
VinPropane 57215d401a NEO-138: re-review confirms follow-ups addressed. 2026-06-15 22:31:29 -04:00
VinPropane 69c3ad4915 NEO-138: address code review follow-ups.
Fix Bruno grid-contract status expectation, add race rep rollback and
multi-row audit-failure tests, audit-row assertion, and doc comments.
2026-06-15 22:29:36 -04:00
VinPropane 245f0a84ed NEO-138: add code review for reward router reputation grants. 2026-06-15 22:22:06 -04:00
VinPropane 3466f1ee32 NEO-138: reward router reputation grants, Bruno quest-flow, docs.
Apply completionRewardBundle.reputationGrants via ReputationOperations with
compensating rollback; thread faction stores through quest wiring; add operator
chain Bruno helper and grid-contract accept success; update README and E7.M3 docs.
2026-06-15 22:18:27 -04:00
VinPropane 599d87bd0d NEO-138: Add E7M3-06 implementation plan for reputationGrants router wiring. 2026-06-15 22:03:33 -04:00
VinPropane 64920792ee chore: address Bruno self-reset review — README, Postgres test, nits.
Document resetQuestIds, resource-node fixture, and cooldown clear in server README; add TryClearProgress Postgres integration test; sync-review doc and Bruno require paths.
2026-06-15 21:53:44 -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 4ffc60f226 NEO-137: Add code review for faction gate operations branch. 2026-06-15 21:21:23 -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 2117b2f8d3 NEO-136: add code review for ReputationOperations 2026-06-15 20:50:57 -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 c066121c9d NEO-135: add code review for faction standing stores 2026-06-15 20:25:35 -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 aa3eb3597c NEO-134: address code review findings
Update decomposition tracking docs, add faction loader integration tests,
reorder standing-band gate before freeze, and guard success logging.
2026-06-15 20:11:55 -04:00
VinPropane 058799a595 NEO-134: add code review for E7M3-02 faction catalog load 2026-06-15 20:10:17 -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 6cb7dfbb46 NEO-133: address code review — roster docs, CI cleanup, band gate
Cross-link E7.M1 doc to E7M3 five-quest roster; remove dead
_prototype_e7m1_quest_gate; add faction standing-band CI gate;
clarify server roster error strings; grid-contract loader test asserts.
2026-06-15 19:52:42 -04:00
VinPropane 92c078b0e3 NEO-133: Add code review for E7M3-01 catalog branch. 2026-06-15 19:51:42 -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 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