VinPropane
72b98a627c
NEO-121: Add kickoff implementation plan for quest telemetry hooks.
2026-06-07 12:28:11 -04:00
VinPropane
6af9f42df8
Merge pull request #159 from ViPro-Technologies/NEO-120-quest-accept-post
...
NEO-120: POST /game/players/{id}/quests/{questId}/accept
2026-06-07 12:25:50 -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
2fa2e35ca6
NEO-120: Add quest accept POST API, tests, and Bruno spine.
...
Wire QuestStateOperations.TryAccept at POST /game/players/{id}/quests/{questId}/accept
with shared quest row projection, integration tests, and Bruno accept flows.
2026-06-07 12:18:51 -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
c388949b8d
Merge pull request #158 from ViPro-Technologies/NEO-119-get-quest-progress
...
NEO-119: GET /game/players/{id}/quest-progress
2026-06-07 12:15:00 -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
066d1ff981
NEO-119: Add GET quest-progress API with inventory refresh hook.
2026-06-07 11:56:28 -04:00
VinPropane
78e5de3338
NEO-119: Add kickoff implementation plan for quest progress GET.
2026-06-07 11:50:11 -04:00
VinPropane
cbd6706e41
Merge pull request #157 from ViPro-Technologies/NEO-118-quest-objective-wiring
...
NEO-118: Wire quest objectives to gather, craft, and encounter events
2026-06-07 11:28:14 -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
749b83d0cc
Merge pull request #156 from ViPro-Technologies/NEO-117-quest-state-operations
...
NEO-117: QuestStateOperations (accept, step advance, complete)
2026-06-06 19:40:42 -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
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