Commit Graph

1158 Commits (f053ffbb398dc94d33a069ed3c2c1fae8d1e0434)

Author SHA1 Message Date
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 58b898a733
Merge pull request #155 from ViPro-Technologies/NEO-116-player-quest-state-store
NEO-116: Player quest state store + QuestStepState persistence
2026-06-03 23:29:39 -04:00
VinPropane fabbdae4c2 NEO-116: Make Postgres TryActivate safe under concurrent insert.
Use INSERT ON CONFLICT DO NOTHING so duplicate activations return false
with the existing snapshot instead of raising a primary-key violation.
2026-06-03 23:25:13 -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 91d6cba34c
Merge pull request #154 from ViPro-Technologies/NEO-115-get-world-quest-definitions
NEO-115: GET /game/world/quest-definitions
2026-06-03 22:58:43 -04:00
VinPropane 5f1244843c NEO-115: serialize JsonSchema registry registration for parallel tests.
Recipe and reward-table loaders registered schemas without locking,
corrupting SchemaRegistry.Global when xUnit spun up multiple
WebApplicationFactory hosts concurrently in CI.
2026-06-03 22:37:55 -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 31cd67725d NEO-115: add GET /game/world/quest-definitions API and tests.
Expose read-only v1 quest projection from IQuestDefinitionRegistry with
flat objective fields, Bruno collection, and integration coverage.
2026-06-03 22:14:37 -04:00
VinPropane a5be355a22 NEO-115: add kickoff implementation plan for quest definitions GET. 2026-06-03 22:12:14 -04:00
VinPropane 437894ccd1
Merge pull request #153 from ViPro-Technologies/NEO-114-e7m1-injectable-quest-definition-registry-di
NEO-114: Injectable quest definition registry + DI
2026-06-01 21:57:37 -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 cd67810849 NEO-114: Add IQuestDefinitionRegistry adapter and DI registration. 2026-06-01 21:46:59 -04:00
VinPropane 9056a9b005 NEO-114: Add kickoff implementation plan for quest definition registry. 2026-06-01 21:36:07 -04:00
VinPropane d236aee261
Merge pull request #152 from ViPro-Technologies/NEO-113-e7m1-server-quest-catalog-load-fail-fast
NEO-113: E7M1-02 server quest catalog load (fail-fast)
2026-05-31 22:44:50 -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 b841b64581 NEO-113: add fail-fast quest catalog load and loader tests. 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 df24281417
Merge pull request #151 from ViPro-Technologies/NEO-112-e7m1-prototype-questdef-catalog-schemas-ci
NEO-112: E7M1-01 prototype QuestDef catalog + schemas + CI
2026-05-31 21:28:54 -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 81ef9b94cb NEO-112: extend validate_content.py with E7M1 quest CI gates 2026-05-31 21:16:12 -04:00
VinPropane 91a4abfe86 NEO-112: add QuestDef schemas and prototype quest catalog 2026-05-31 21:16:10 -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 47105ccd90
Merge pull request #150 from ViPro-Technologies/NEO-111-playable-encounter-clear-capstone
NEO-111: Playable encounter clear capstone (Godot)
2026-05-31 20:15:57 -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 e87064f43f
Merge pull request #149 from ViPro-Technologies/NEO-110-client-encounter-progress-loot-feedback-hud
NEO-110: Client encounter progress + loot feedback HUD
2026-05-31 19:51:31 -04:00
VinPropane 2bde771107 chore: pre-push hook bash 3.2 — no local outside functions. 2026-05-31 19:46:51 -04:00
VinPropane cfad03e61f chore: document git hooks and gdtoolkit setup in repo README. 2026-05-31 19:45:22 -04:00
VinPropane e93fb22f1a chore: bash 3.2-safe pre-commit; document hooksPath + gdtoolkit setup. 2026-05-31 19:43:53 -04:00
VinPropane 4379e42106 NEO-110: fix gdlint line length and gdformat for CI. 2026-05-31 19:43:49 -04:00
VinPropane 24d598e0a2 chore: run gdlint/gdformat on pre-push only when client .gd changes. 2026-05-31 19:42:23 -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