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
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
VinPropane
fb70777453
NEO-95: note review follow-up commit SHA in review doc
2026-05-28 23:45:11 -04:00
VinPropane
5efa5a4ad8
NEO-95: address code review — alignment docs and API nits
...
Append NEO-95 landed to E5.M2 tracking; echo route playerId on
combat-health GET; AttackExecute comment; tighten elite test AAA.
2026-05-28 23:45:07 -04:00
VinPropane
3afe720980
NEO-95: add code review for NPC attack resolve + player HP
2026-05-28 23:43:56 -04:00
VinPropane
b702d9fb6f
NEO-95: add tests, Bruno smoke, and docs for player combat HP
...
Cover elite telegraph damage, fixture reset, and combat-health GET
verification; update E5M2 backlog and server README.
2026-05-28 23:42:20 -04:00
VinPropane
ac4e1dff10
NEO-95: add implementation plan for NPC attack resolve + player HP
2026-05-28 23:37:46 -04:00
VinPropane
55964da4ac
NEO-94: verify code review follow-ups and bump verdict to Approve
2026-05-28 23:24:12 -04:00
VinPropane
798c601bc5
NEO-94: Address code review — alignment doc and AAA test layout.
...
Append NEO-94 landed to E5.M2 tracking row; move ReadFromJsonAsync to Assert in snapshot integration tests.
2026-05-28 23:23:19 -04:00
VinPropane
e3bfcf0708
NEO-94: add code review for rewritten snapshot GET branch
2026-05-28 23:22:24 -04:00
VinPropane
a68d8aa782
NEO-94: Add GET /game/world/npc-runtime-snapshot with lazy AdvanceAll.
...
Expose versioned NPC runtime rows and nested activeTelegraph DTOs for client poll; wire route, AAA integration tests, Bruno smoke, and docs.
2026-05-28 23:17:57 -04:00
VinPropane
54429108ad
NEO-94: add implementation plan for npc-runtime-snapshot GET
...
Kickoff clarifications: nested activeTelegraph on npcInstances rows,
windupRemainingSeconds server-computed, no manual QA doc.
2026-05-28 22:28:31 -04:00
VinPropane
c76180d737
NEO-93: Update plan test count after Bugbot guard tests.
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-27 23:44:19 -04:00
VinPropane
056b0e77f0
NEO-93: Fix delta cap LastAdvancedUtc to preserve gradual catch-up.
...
When simulation is capped, advance LastAdvancedUtc to windowEnd instead
of nowUtc so subsequent polls do not burst through missed NPC cycles.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-27 23:16:35 -04:00
VinPropane
4fcbb99881
NEO-93: Reconcile backlog and review doc after code review follow-up.
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-27 23:08:34 -04:00
VinPropane
eed176d226
NEO-93: Add code review for NPC runtime state machine branch.
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-27 22:58:33 -04:00
VinPropane
ecffba9e4b
NEO-93: Reconcile plan, backlog, and docs for runtime state machine.
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-27 22:02:41 -04:00
VinPropane
874c5720d9
NEO-93: Add kickoff implementation plan for NPC behavior state machine.
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-27 21:59:40 -04:00
VinPropane
83c6a4f1b6
Merge branch 'main' into NEO-92
2026-05-27 21:47:00 -04:00
VinPropane
7682fac46a
NEO-92: Reconcile docs, backlog, alignment, and code review.
...
Update E5M2-06 landed notes, alignment row, review follow-ups, and
exact-leash-boundary test documentation.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-27 21:45:57 -04:00
VinPropane
d0d5dbdf17
NEO-92: Add kickoff implementation plan for aggro rule engine.
...
IThreatStateStore, AggroOperations, cast/move hooks, and AAA test plan
per E5M2-06 kickoff decisions.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-27 21:45:57 -04:00
Don
294c994f20
chore: add local MLX + Cursor developer guide
...
Document mlx-lm server setup, Cursor model configuration, and Neon Sprawl
usage patterns for Apple Silicon; link from root README.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-27 00:08:55 -04:00
Don
047237e651
NEO-91: address code review follow-ups
...
Add legacy alpha targeting integration test, elite HP assertion, AAA fix,
Bruno docs refresh, and module/alignment doc updates. Strike through
resolved items in the NEO-91 review.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-26 23:46:39 -04:00
Don
d14879ac75
NEO-91: add code review for NPC instance registry migration
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-26 23:43:46 -04:00
Don
fa9acc85ac
NEO-91: migrate combat targets to three NPC instances
...
Replace alpha/beta dummies with PrototypeNpcRegistry (melee/ranged/elite),
per-archetype max HP from INpcBehaviorDefinitionRegistry, and updated
server tests + Bruno smokes. Documents breaking client change for NEO-97.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-26 23:42:31 -04:00
Don
dadc35afa8
NEO-91: add implementation plan for NPC instance registry migration
...
Kickoff plan for replacing alpha/beta combat dummies with three NPC
instances wired to behavior defs and per-archetype max HP.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-26 23:19:53 -04:00
VinPropane
48535f6bc2
NEO-90: address code review doc tracking gaps.
...
Extend module register and E5.M2 Linear row with NEO-90 HTTP projection;
add Rules cross-link; strike through resolved review items.
2026-05-25 17:50:35 -04:00
VinPropane
0b23e4d854
NEO-90: Add code review for npc-behavior-definitions GET branch.
2026-05-25 17:49:54 -04:00
VinPropane
d3e765fb8f
NEO-90: add GET /game/world/npc-behavior-definitions projection.
...
Expose read-only npcBehaviors envelope backed by INpcBehaviorDefinitionRegistry,
with integration tests, Bruno smoke, and doc reconciliation.
2026-05-25 17:49:01 -04:00
VinPropane
c757b7a385
NEO-90: add kickoff implementation plan for npc-behavior-definitions GET.
2026-05-25 17:46:26 -04:00
VinPropane
3134bb6ff6
NEO-89: Address code review — E5.M2 module doc and case-id test.
2026-05-25 17:28:46 -04:00
VinPropane
f4fafea7e2
NEO-89: Add code review for NPC behavior registry DI branch.
2026-05-25 17:27:57 -04:00
VinPropane
e25b1406c7
NEO-89: Reconcile plan, backlog, and module docs for NPC registry.
2026-05-25 17:27:17 -04:00
VinPropane
7e4e0ca843
NEO-89: Add implementation plan for NPC behavior registry DI.
2026-05-25 17:25:22 -04:00
VinPropane
ba776b9b33
NEO-88: Address code review doc gaps for E5.M2 tracking.
...
Extend module register E5.M2 note and freeze Rules with NEO-88 server
startup enforcement; strike through resolved review suggestions.
2026-05-25 17:11:22 -04:00
VinPropane
3ad8581411
NEO-88: Add code review for NPC behavior catalog load branch.
2026-05-25 17:10:31 -04:00
VinPropane
c56ad22f6f
NEO-88: Reconcile plan, backlog, and module docs for server NPC load.
...
Mark E5M2-02 acceptance complete and update alignment register with
NEO-88 server catalog load landing notes.
2026-05-25 17:08:40 -04:00
VinPropane
7730bde353
NEO-88: Add implementation plan for NPC behavior catalog load.
...
Kickoff plan mirrors NEO-77 fail-fast loader pattern with CI-parity
validation for the three frozen E5M2 behavior defs; registry deferred to NEO-89.
2026-05-25 17:06:23 -04:00
VinPropane
ba31d8c420
NEO-87: note review follow-up commit SHA on blocking fix.
2026-05-25 16:56:16 -04:00
VinPropane
24cbd9baa8
NEO-87: restore elite NPC behavior row and close review findings.
...
Add missing prototype_elite_mini_boss catalog entry so the E5M2
three-id CI gate passes; strike through resolved review items.
2026-05-25 16:56:12 -04:00
VinPropane
033d8f6cfa
NEO-87: Add code review for NPC behavior catalog branch.
2026-05-25 16:54:43 -04:00
VinPropane
6fd9694ff4
NEO-87: ship prototype NpcBehaviorDef catalog, schema, and CI gates.
...
Add three frozen archetype rows under content/npc-behaviors with E5M2
allowlist validation, leash>aggro guard, and module doc freeze updates.
2026-05-25 16:53:55 -04:00
VinPropane
846da90219
NEO-87: add E5M2-01 NPC behavior catalog kickoff plan.
...
Lock three-archetype NpcBehaviorDef content shape, CI gates, and
adopted radius/cooldown stat freeze before NEO-88 server load.
2026-05-25 16:51:55 -04:00
VinPropane
7951a6c148
chore: Decompose E5.M2 prototype backlog and tracking docs.
...
Add E5M2-prototype-backlog (NEO-87–NEO-98), update module register and
alignment for Slice 2 NPC archetypes and telegraphs, and mark E5.M1 Ready.
2026-05-25 14:18:26 -04:00
VinPropane
8d4c048bbe
NEO-86: Address code review test gaps and doc alignment.
...
Promote E5.M1 to Ready in alignment register, fix NEO-85 README link,
add schema-mismatch and deny-path GdUnit cases; strike review suggestions.
2026-05-25 14:01:54 -04:00
VinPropane
d5fc648dd6
NEO-86: Add code review for combat capstone branch.
2026-05-25 14:00:53 -04:00
VinPropane
b97cace625
NEO-86: Add capstone manual QA, README, and module doc reconciliation.
...
Documents end-to-end Godot combat loop, marks E5M1-12 landed, and updates
E5.M1 alignment rows for Epic 5 Slice 1 client capstone complete.
2026-05-25 13:59:31 -04:00
VinPropane
8190614350
NEO-86: Add kickoff implementation plan for combat capstone.
...
Documents E5M1-12 Godot capstone scope: manual QA script, gig XP HUD
client, end-to-end README, and module alignment after kickoff decisions.
2026-05-25 13:56:44 -04:00
VinPropane
79b8a68364
NEO-85: Make combat dummies visible with labels and lock highlight.
...
Replace subtle mast markers with capsule bodies, Dummy α/β Label3D names,
and brighten the Tab-locked target; HUD hints point to orange/purple dummies.
2026-05-25 13:23:13 -04:00
VinPropane
35ff76b532
NEO-85: Auto-bind pulse to slot 0 and show cast HUD errors.
...
Fresh hotbar starts empty so digit 1 was a silent no-op; bootstrap
prototype_pulse on first sync and surface empty-slot/send failures on CastFeedbackLabel.
2026-05-25 13:22:06 -04:00
VinPropane
504d3228dd
NEO-85: Address code review doc sync and 404 test gap.
...
Update module dependency register and E5.M1 related-slices entry for
NEO-85 landed; add combat-targets HTTP 404 GdUnit case; strike review suggestions.
2026-05-25 13:17:47 -04:00
VinPropane
7466f2bcba
NEO-85: Add code review for client combat HUD.
2026-05-25 13:16:56 -04:00
VinPropane
faf3fe1139
NEO-85: Add manual QA, README, and module doc reconciliation.
...
Mark E5M1-11 acceptance complete in backlog and alignment register.
2026-05-25 13:15:59 -04:00
VinPropane
f03e689ce9
NEO-85: Add kickoff implementation plan for client combat HUD.
...
Documents event-driven combat-target refresh, CastFeedbackLabel resolution
copy, and dedicated CombatTargetHpLabel per kickoff clarifications.
2026-05-25 13:13:53 -04:00
VinPropane
3cbbcb6c2f
NEO-84: Address code review — register sync and hook comment parity.
...
Append NEO-44/NEO-84 to E5.M1 dependency register note, fix E2.M2 NEO-44
status, and add playerId correlation hint on damage-path ability_used hook.
2026-05-25 13:06:04 -04:00
VinPropane
e61ee333ee
NEO-84: Add code review for combat telemetry hook sites.
2026-05-25 13:05:08 -04:00
VinPropane
667a1a960a
NEO-84: Add combat telemetry hook sites in CombatOperations.
...
Comment-only ability_used, enemy_defeat, and reserved encounter_start/player_death
markers; README and module docs updated. All 407 server tests pass.
2026-05-25 13:04:11 -04:00
VinPropane
fb2bfe5614
NEO-84: Add kickoff implementation plan for combat telemetry hooks.
...
Documents engine-only comment hook sites in CombatOperations per kickoff clarifications.
2026-05-25 12:45:32 -04:00
VinPropane
32fbcec766
NEO-44: Fix Bruno defeat spine for CI collection order.
...
Reset prototype target HP before cast chain, use slot 2 to avoid
cooldown pollution, and assert +25 gig XP delta from baseline.
2026-05-25 12:14:29 -04:00
VinPropane
9d9b53332f
NEO-44: Address code review — docs, debug log, Bruno playerId.
...
Update E5.M1/E2.M2 module docs for gig XP path; LogDebug on failed
gig store write; Bruno defeat spine uses {{playerId}}; strike review items.
2026-05-25 12:08:21 -04:00
VinPropane
1e06b7174d
NEO-44: Add code review for gig XP on combat defeat.
2026-05-25 12:06:46 -04:00
VinPropane
71a6761f3c
NEO-44: Grant gig XP on combat defeat via dedicated store.
...
Add IPlayerGigProgressionStore (in-memory + Postgres V007), GET
/gig-progression snapshot, and CombatDefeatGigXpGrant on cast accept
when targetDefeated — 25 XP to breach, outside E2.M2 skill XP.
Includes tests, Bruno, README, manual QA, and plan reconciliation.
2026-05-25 12:04:40 -04:00
VinPropane
30d379c98c
NEO-44: Add kickoff implementation plan for gig XP on combat defeat.
...
Documents E5M1-10 scope: breach main gig, 25 XP per targetDefeated,
GET gig-progression snapshot, Postgres+in-memory store, and cast hook
after NEO-82 combat resolution — outside E2.M2 skill XP.
2026-05-25 12:01:48 -04:00
VinPropane
24eb355a26
NEO-83: Reconcile plan with code review Bruno follow-up.
...
Document one-pulse cast→GET smoke request and review-driven handler/test changes.
2026-05-25 11:23:41 -04:00
VinPropane
50a2c9ca9d
NEO-83: Address code review follow-ups for combat-targets GET.
...
Fail fast on health store TryGet miss, tighten one-pulse integration test assertions, add fast Bruno cast→GET smoke, update review doc.
2026-05-25 11:23:32 -04:00
VinPropane
aafa5e472a
NEO-83: Add code review for combat-targets GET snapshot.
2026-05-25 11:22:13 -04:00
VinPropane
52b1d4d206
NEO-83: Add GET /game/world/combat-targets HP snapshot.
...
Wire CombatTargetsWorldApi backed by ICombatEntityHealthStore, Bruno happy + cast defeat spine, integration tests, README and module tracking docs.
2026-05-25 11:20:13 -04:00
VinPropane
902e03848c
NEO-83: Add implementation plan for combat-targets GET snapshot.
...
Kickoff clarifications recorded; server-only scope with Bruno and API test coverage for authoritative HP reads.
2026-05-25 11:18:41 -04:00
VinPropane
71d93ee1fd
NEO-82: Note Bugbot fix in code review follow-up.
2026-05-25 11:05:02 -04:00
VinPropane
52bf9fc4bf
NEO-82: Fix cast definition lookup order and Bruno target isolation.
...
Load ability definition before TryResolve so cooldown lookup cannot deny
after HP mutation (Bugbot). Happy Bruno cast uses beta; defeat spine keeps
alpha; bump spine seq and cooldown sleep margin for CI.
2026-05-25 11:04:55 -04:00
VinPropane
322798b2ef
NEO-82: Address code review doc sync and test AAA follow-ups.
...
Update E5.M1 module doc, dependency register, and alignment table for
NEO-82 landed; Bruno defeat spine HP stepping; refactor four-pulse cast
test Arrange/Act/Assert; strike through resolved review items.
2026-05-25 10:45:31 -04:00
VinPropane
0b40ae3598
NEO-82: Add code review for cast combat wiring.
2026-05-25 10:44:02 -04:00
VinPropane
e8be100f80
NEO-82: Wire cast POST into combat engine and cast response.
...
Invoke CombatOperations.TryResolve after E1 gates; nested combatResolution
on accept; per-ability catalog cooldown; target_defeated deny without
cooldown. Tests, Bruno defeat spine, README and module docs updated.
2026-05-25 10:36:42 -04:00
VinPropane
4126ac9bcc
NEO-82: Add implementation plan for cast combat wiring.
...
Kickoff clarifications: nested combatResolution on accept, per-ability
cooldown on successful resolve only, no manual QA doc (server-only).
2026-05-25 10:32:33 -04:00
VinPropane
c7aa75ebc5
NEO-81: Address code review doc sync and test follow-ups.
...
Update module tracking and E5M1 backlog for NEO-81 landed; tighten AAA
in four-pulse test, add guard/dash deny parity and dash smoke test.
2026-05-25 10:20:09 -04:00
VinPropane
d63e448a08
NEO-81: Add code review for CombatOperations.TryResolve.
2026-05-25 10:18:28 -04:00
VinPropane
ca15e7a689
NEO-81: Add CombatOperations.TryResolve and CombatResult.
...
Pure server combat resolution applies catalog damage via the health store,
denies re-hits on defeated targets, and validates unknown ability/target ids.
2026-05-25 10:16:24 -04:00
VinPropane
849c34f460
NEO-81: Add implementation plan for CombatOperations.TryResolve.
2026-05-25 10:14:53 -04:00
VinPropane
bfb0eb9306
NEO-80: Address code review follow-ups for health store.
2026-05-24 22:42:33 -04:00
VinPropane
c3df7fc8d0
NEO-80: Add code review for combat entity health store.
2026-05-24 22:40:26 -04:00
VinPropane
b060b9dffd
NEO-80: add combat entity health store for prototype dummies.
...
Server-owned in-memory HP for prototype_target_alpha/beta with lazy
init at 100 HP, damage floor at zero, defeated flag, and DI registration.
2026-05-24 22:37:57 -04:00
VinPropane
e729996f47
NEO-80: add implementation plan for combat entity health store.
2026-05-24 22:35:37 -04:00
VinPropane
94b6c67b07
NEO-78: Address code review follow-ups for ability-definitions GET.
...
Update dependency register and E5M1 backlog, tighten tests and Bruno
spot-checks, strike through resolved review items.
2026-05-24 22:26:54 -04:00
VinPropane
8397e74ec1
NEO-78: Add code review for ability-definitions GET story.
2026-05-24 22:24:33 -04:00
VinPropane
44e0056b37
NEO-78: Add GET /game/world/ability-definitions HTTP projection.
...
Expose versioned read-only ability catalog via IAbilityDefinitionRegistry,
with integration tests, Bruno folder, and docs alignment.
2026-05-24 22:22:48 -04:00