VinPropane
01bcd7334c
NEO-105: Consolidate inventory snapshot clone helper.
...
Add PlayerInventorySnapshot.Clone() and use it from craft and
encounter completion pre-flight paths (Bugbot PR #144 ).
2026-05-31 17:11:55 -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
0cf82b9c0a
NEO-105: Add encounter completion operations and inventory grants.
...
TryCompleteAndGrant applies reward-table fixed grants with pre-flight
simulate, compensating rollback, and idempotent completion marking.
Returns EncounterCompleteEvent payload for NEO-107 persistence.
2026-05-31 16:57:53 -04:00
VinPropane
b5306aa933
NEO-105: Add kickoff implementation plan for encounter completion grants.
2026-05-31 16:55:22 -04:00
VinPropane
719a14f110
Merge pull request #143 from ViPro-Technologies/NEO-104-encounter-progress-completion-stores
...
NEO-104: E5M3-05 encounter progress + completion stores
2026-05-31 16:51:40 -04:00
VinPropane
0289930897
NEO-104: Use subset check for all-targets-defeated predicate.
...
Matches documented semantics; extra defeated ids via direct store
calls no longer block completion readiness (Bugbot PR #143 ).
2026-05-31 16:44:48 -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
aa81914e9f
Merge pull request #142 from ViPro-Technologies/NEO-103-get-world-encounter-definitions
...
NEO-103: GET /game/world/encounter-definitions + Bruno
2026-05-31 15:53:16 -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
14b623c67f
NEO-103: Add Bruno smoke for encounter-definitions GET.
...
Assert frozen prototype_combat_pocket row and nested reward grants.
2026-05-31 15:40:12 -04:00
VinPropane
9b48ec5f39
NEO-103: Add GET /game/world/encounter-definitions API.
...
Expose schema v1 encounter list with nested completionCriteria and
rewardTable summary via encounter and reward-table registries.
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
fb5137c39a
Merge pull request #141 from ViPro-Technologies/NEO-102-injectable-encounter-reward-registries-di
...
NEO-102: Injectable encounter/reward registries + DI
2026-05-31 00:50:52 -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
d7c2684488
Merge pull request #140 from ViPro-Technologies/NEO-101-encounter-reward-catalog-load-fail-fast
...
NEO-101: Fail-fast encounter and reward-table catalog load at startup
2026-05-31 00:15:20 -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
7c0e2e8cd6
Merge pull request #139 from ViPro-Technologies/NEO-100-e5m3-encounter-reward-catalog-schemas-ci
...
NEO-100: E5M3-01 encounter + reward-table catalogs and CI
2026-05-30 19:45:46 -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
cb86645524
Merge pull request #138 from ViPro-Technologies/chore/epic-5-docs
...
chore: Epic 5 docs — E5.M3 decomposition and anchor stability
2026-05-30 19:32:15 -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
2f1b7f10be
Merge pull request #137 from ViPro-Technologies/NEO-98-e5m2-12-playable-npc-telegraph-combat-capstone
...
NEO-98: E5M2-12 playable NPC telegraph combat capstone
2026-05-30 18:34:32 -04:00
VinPropane
e6b8386102
NEO-98: Remove unused ability gate alias in validate_content.
2026-05-30 18:29:30 -04:00
VinPropane
04126693e1
NEO-98: Update Bruno for seven abilities and attackAbilityId.
2026-05-30 18:06:42 -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
b9e2d2f4c9
NEO-98: Shorten NPC melee strike maxRange to 1 m.
2026-05-30 17:53:14 -04:00
VinPropane
3169106f28
NEO-98: Resolve NPC telegraph hits via attack ability maxRange.
...
Telegraph damage now looks up behavior attackAbilityId for baseDamage and
maxRange instead of using aggroRadius. Adds three NPC attack abilities, maxRange
on AbilityDef, attackAbilityId on NpcBehaviorDef, and cross-ref validation.
2026-05-30 17:49:21 -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