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
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
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
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
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
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
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
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
cb4761b0b4
NEO-113: add kickoff implementation plan for quest catalog load.
2026-05-31 21:31:14 -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
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
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
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
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
df248308c7
NEO-109: Restore early return on completion failure guard.
...
Bugbot PR #148 : keep consistent guard-clause pattern in
EncounterCombatWiring.TryProcessCastOutcome.
2026-05-31 19:25:33 -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
d1a67a89bd
NEO-109: Add code review for encounter telemetry hook sites.
2026-05-31 19:04:55 -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
25f3714554
NEO-108: Address code review findings for encounter-progress GET.
...
Add BuildSnapshot invariant tests, whitespace 404, idempotent second GET,
grant-order assertions; dedupe MapRow progress lookup; strike review items.
2026-05-31 18:39:52 -04:00
VinPropane
ebb27aed2d
NEO-108: Add code review for encounter-progress GET.
2026-05-31 18:38:31 -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
f51617f8b5
NEO-107: Address code review findings for event store persistence.
...
Update E5.M3 module summary and NEO-105 snapshot, fix store test AAA
layout, add empty encounter id fail-closed test, strike through review items.
2026-05-31 18:27:28 -04:00
VinPropane
29217c0fa0
NEO-107: Add code review for EncounterCompleteEvent persistence.
2026-05-31 18:26:51 -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
a7b835290c
NEO-106: Add code review for combat encounter wiring.
2026-05-31 18:09:20 -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
1a74fbda54
NEO-105: Add code review for encounter completion grants.
2026-05-31 16:59:46 -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
87dff6e3f4
NEO-104: Add code review for encounter progress stores.
2026-05-31 16:36:42 -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
e4e75f5dc7
NEO-103: Address code review follow-ups.
...
Mark E5M3-04 landed in module Summary, assert fixedGrants order in
C# test, add Bruno ordinal comment, strike through review items.
2026-05-31 15:43:37 -04:00
VinPropane
573c42add7
NEO-103: Add code review for encounter-definitions GET.
2026-05-31 15:41:49 -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
ca0b1f8e30
NEO-102: tidy review doc documentation-checked row after follow-up
2026-05-31 00:40:39 -04:00
VinPropane
5229c17598
NEO-102: address code review — sync module register + README id lookup note
2026-05-31 00:40:37 -04:00
VinPropane
fa31154d4c
NEO-102: Add code review for encounter/reward registries + DI.
2026-05-31 00:39:18 -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
5e26143fbd
NEO-101: Add code review for encounter/reward catalog load.
2026-05-31 00:08:01 -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
VinPropane
06c58998cc
NEO-101: Add E5M3-02 encounter/reward catalog load kickoff plan.
...
Documents fail-fast server loader scope, CI-parity gates, and loader plus host boot test approach after kickoff clarifications.
2026-05-31 00:03:00 -04:00
VinPropane
ebf385d658
NEO-100: Address code review — register sync and grant dedupe
...
Update E5.M3 dependency register note for landed catalog, reject duplicate
fixedGrants itemId in CI, add uniqueItems on requiredNpcInstanceIds, and
record review follow-ups as Done.
2026-05-30 19:38:33 -04:00
VinPropane
01b7e23c5e
NEO-100: Add code review for encounter + reward catalog CI
2026-05-30 19:36:14 -04:00
VinPropane
ee5e1a0caf
NEO-100: Add encounter and reward-table catalogs with CI validation
...
Ship frozen prototype_combat_pocket spine (schemas, JSON catalogs, validate_content
gates) and update E5.M3, CT.M1, and alignment docs for E5M3-01 completion.
2026-05-30 19:35:02 -04:00
VinPropane
4f16c848db
NEO-100: Kickoff plan for encounter + reward catalog schemas and CI
...
Document frozen prototype_combat_pocket spine, schema shapes, validate_content
gates, and file lists before E5M3-01 implementation.
2026-05-30 19:33:27 -04:00
VinPropane
d7c3ede5a7
chore: Epic 5 stable slice anchors and doc cluster alignment
...
Add explicit HTML slice anchors to epic_05, restore deep links across E5
backlogs and plans, fix E5M2 NEO-98 resolve vocabulary and E5.M3 Linear row,
and record review follow-up as Done.
2026-05-30 19:25:56 -04:00
VinPropane
db9ddb9fe0
chore: Decompose E5.M3 prototype backlog (NEO-100–NEO-111)
...
Epic 5 Slice 3 encounter + reward routing: backlog doc, module/epic/register
updates, and Linear issues for one combat-pocket clear with idempotent loot.
2026-05-30 18:38:18 -04:00
VinPropane
b77b7f8fbb
NEO-98: Address follow-up review doc findings.
...
Update E5.M2 module freeze, plan scope reconciliation, alignment
register, client README melee row, and strike-through follow-up review.
2026-05-30 18:02:55 -04:00
VinPropane
bc1357cf94
NEO-98: add follow-up code review for capstone integration fixes
2026-05-30 18:01:52 -04:00
VinPropane
44fb4adbe5
NEO-98: Set melee strike to 2 m and elite slam to 4 m.
2026-05-30 17:55:10 -04:00
VinPropane
99aa2b455f
NEO-98: Document melee 1 m strike range in manual QA.
2026-05-30 17:54:06 -04:00
VinPropane
332cd4445f
NEO-98: stop defeated NPC aggro and runtime attacks
...
Clear threat holder and reset runtime to idle when combat-target HP
is defeated — on cast accept and as an AdvanceOne guard so telegraph
cycles cannot continue after the killing blow.
2026-05-30 17:38:27 -04:00
VinPropane
b03128a3b0
NEO-98: address code review — Esc regression step and AC parity
2026-05-30 17:05:30 -04:00
VinPropane
817ed26304
NEO-98: add code review for E5M2-12 capstone docs
2026-05-30 17:04:18 -04:00
VinPropane
ae8b01d5e3
NEO-98: add capstone manual QA and Slice 2 docs
2026-05-30 17:02:50 -04:00
VinPropane
ceef54cd23
NEO-98: add implementation plan for NPC telegraph combat capstone
2026-05-30 16:55:30 -04:00
VinPropane
fd0b6d3db8
NEO-97: address code review — helpers, tests, doc fixes
...
Extract npc_combat_hud_helpers.gd for shared HUD formatters; hide telegraph
at zero windup; surface runtime sync errors; npc_row last-snapshot fallback;
expand GdUnit coverage; align E5.M2 module docs and strike review findings.
2026-05-29 21:07:02 -04:00
VinPropane
39ec50efa2
NEO-97: add code review for E5M2-11 client telegraph HUD
2026-05-29 21:00:55 -04:00
VinPropane
cfda0acd9a
NEO-97: add Godot telegraph HUD and NPC runtime poll clients
...
Wire npc-runtime-snapshot and combat-health GET clients with combat-active
~1 Hz polling, interpolated telegraph countdown, and PlayerCombatHp/NpcState/
Telegraph HUD labels; includes GdUnit tests, manual QA, and doc updates.
2026-05-29 20:59:11 -04:00
VinPropane
b0d0c4262e
NEO-97: add E5M2-11 client telegraph HUD implementation plan
...
Kickoff plan for Godot poll clients, combat-active HUD labels, and manual QA;
records kickoff decisions on poll gating, HUD scope, and windup interpolation.
2026-05-29 20:56:34 -04:00
VinPropane
8a774857c6
NEO-96: address code review — fixture wording, E5.M2 status
...
Narrow holder-clear hook comments to AdvanceAll scope; document
ResetAllPrototypeRows bypass with optional E9.M1 anchor; remove
redundant TryGet; update E5.M2 Summary status and review follow-up.
2026-05-29 20:50:47 -04:00
VinPropane
fedb735e53
NEO-96: add code review for E5M2-10 telemetry hook sites
2026-05-29 20:49:41 -04:00
VinPropane
5e1e37423f
NEO-96: formalize NPC runtime telemetry hook sites
...
Replace NEO-93 placeholder comments with full telegraph_fired and
npc_state_transition E9.M1 anchors in NpcRuntimeOperations; document
in server README and E5.M2 module alignment.
2026-05-29 20:48:50 -04:00
VinPropane
dedd9a9c18
NEO-96: add E5M2-10 NPC telemetry hook sites implementation plan
2026-05-29 20:47:21 -04:00
VinPropane
c96fb2d26a
NEO-95: fix Bruno elite attack — multi-poll snapshot timeline
...
AdvanceAll runs only on npc-runtime-snapshot GET with a 5s delta cap;
sleep then combat-health alone never applied telegraph damage.
2026-05-28 23:49:59 -04:00