Commit Graph

820 Commits (5f2ab34fa29ffd56921172fb40ad1e4f2685420a)

Author SHA1 Message Date
VinPropane 5f2ab34fa2 NEO-151: Loop contract reset helper until capped GET is empty
Bugbot: Bruno pre-request cleanup now clears all contract instances,
not just the first active + 10 completed page from GET /contracts.
2026-06-28 11:07:47 -04:00
VinPropane 0888262f13 NEO-151: Address code review findings for contract HTTP API
Return 404 for whitespace path on issue POST, add seed-field validation
tests, inline Postgres ListForPlayer active query, Postgres list test,
Bruno whitespace-path 404 check, and strike through resolved review items.
2026-06-28 10:25:58 -04:00
VinPropane f6ef0a6227 NEO-151: Add code review for contract issue and list HTTP API 2026-06-28 10:23:31 -04:00
VinPropane c0252ee8be NEO-151: Add contract issue POST and per-player contract GET HTTP API
Wire ContractIssueApi and ContractListApi with ListForPlayer store reads,
integration tests, Bruno issue/clear/GET spine, and docs reconciliation.
2026-06-28 10:21:10 -04:00
VinPropane 9994aee3cf NEO-151: Add kickoff implementation plan for contract HTTP API
Document POST issue and GET list endpoints, store ListForPlayer read path,
and kickoff decision to return active plus up to 10 recent completed rows.
2026-06-28 10:13:39 -04:00
VinPropane 70e3e9a17d NEO-150: Address code review findings
Extract ContractPrototypeTestFixtures, add skill XP over-cap test,
null-guard template, validation-order comment, and NEO-151 handoff note.
2026-06-28 10:01:08 -04:00
VinPropane e3d8458a66 NEO-150: Add code review for economy validation at issue 2026-06-28 09:56:37 -04:00
VinPropane d5de4e81ef NEO-150: Document economy validation at issue and reconcile plan
Update server README, E7.M4 module doc, alignment register, and
implementation plan reconciliation for E7M4-07.
2026-06-28 09:20:10 -04:00
VinPropane 039542aa74 NEO-150: Add E7M4-07 economy validation kickoff plan
Document issue-time band-cap and cross-ref validation approach,
deny reason codes, file lists, and tests before implementation.
2026-06-28 09:10:59 -04:00
VinPropane 299de3c796 chore: address cleanup review follow-ups and Postgres test flake
Fix gig persistence integration flake with FakeTimeProvider on the Postgres
host, restore StringComparer.Ordinal on quest counter copies, remove the Bruno
docs block, and record resolved review items.
2026-06-27 23:24:18 -04:00
VinPropane c5b8b7a726 NEO-149: re-review after code review follow-ups 2026-06-27 21:58:26 -04:00
VinPropane 68ba26724b NEO-149: address code review follow-ups
Update E7.M4 alignment register, add quest-fixture contract reset
API test, align mark-complete deny codes with instance reason codes,
refactor idempotent replay test AAA, strike review findings done.
2026-06-27 21:51:17 -04:00
VinPropane d1df940084 NEO-149: add code review for contract completion wiring 2026-06-27 21:50:13 -04:00
VinPropane bcf6fd2641 NEO-149: wire contract completion on encounter clear
Add ContractCompletionOperations orchestrator (deliver-then-mark,
outcome audit), hook from EncounterCompletionOperations after E5.M3
loot and quest wiring, extend dev fixture reset for contract rows,
Bruno quest-fixture reset request, and cover with tests (904 green).
2026-06-27 21:48:17 -04:00
VinPropane 8d9d02fde5 NEO-149: add E7M4-06 implementation plan for contract completion wiring
Kickoff plan for ContractCompletionOperations orchestrator, encounter
hook after E5.M3 loot, and integration test coverage; Bruno HTTP loop
deferred to NEO-151.
2026-06-27 21:43:46 -04:00
VinPropane 7268935bc7 NEO-148: address code review doc follow-ups
Add E7.M4 alignment register entry, E7.M2 cross-ref, Postgres store-key
migration note, and defer contract fixture reset to NEO-149.
2026-06-27 21:24:12 -04:00
VinPropane e75ac3932f NEO-148: add code review for contract reward router 2026-06-27 19:59:31 -04:00
VinPropane 76ce1943c7 NEO-148: add contract completion reward router and delivery store extension
TryDeliverContractCompletion reuses the quest grant-apply path with
contract-specific idempotency keys and source-kind-aware delivery store rows.
2026-06-27 19:58:07 -04:00
VinPropane b20d7d001e NEO-148: add E7M4-05 implementation plan for contract reward router 2026-06-27 19:54:16 -04:00
VinPropane c237bead53 NEO-147: guard DenyCreateFailure when create snapshot is null 2026-06-27 19:43:44 -04:00
VinPropane fbb248770f NEO-147: update decomposition tracking and strike review findings 2026-06-27 19:23:17 -04:00
VinPropane be0525b152 NEO-147: add code review for contract generator TryIssue 2026-06-27 19:21:24 -04:00
VinPropane 60aa0be4f0 NEO-147: document generator operations and reconcile plan 2026-06-27 19:15:14 -04:00
VinPropane e0efaa3c15 NEO-147: add E7M4-04 contract generator kickoff plan 2026-06-27 19:12:27 -04:00
VinPropane 1cf80a4e4e NEO-146: fix stale active index race in TryGetActiveForPlayer
Read the active index under the player lock and remove stale entries
only when the indexed instance id still matches, preventing concurrent
get/complete/reissue from dropping a newer active pointer.
2026-06-24 21:21:02 -04:00
VinPropane a64f7100a2 NEO-146: update plan reconciliation test count to 874 2026-06-24 21:13:44 -04:00
VinPropane 6c4221072a NEO-146: fix in-memory create/complete lock ordering
Nest player and instance locks in TryCreateActive, TryMarkComplete, and
TryClearInstance so concurrent create and complete cannot leave a stale
active index or mismatched snapshot.
2026-06-24 21:05:56 -04:00
VinPropane 7740d2145f NEO-146: address Bugbot findings on contract outcome stores
Ensure instance schema before outcome DDL, require matching player/instance
on Postgres append, catch unique violations on concurrent duplicates, and
add parity plus concurrency integration tests.
2026-06-24 20:58:17 -04:00
VinPropane b087c03a47 NEO-146: address re-review in-memory outcome guard parity
InMemoryContractOutcomeStore checks IContractInstanceStore.TryGet before
append; add unit test, README/plan updates, and close r2 review items.
2026-06-24 20:52:49 -04:00
VinPropane a9bc1acaa8 NEO-146: add re-review after cleanup and review follow-up 2026-06-24 20:51:04 -04:00
VinPropane 1922900477 NEO-146: address code review findings for contract stores
Add Postgres race/deny tests, duplicate instance id coverage, FK-safe
outcome append, MakeInstanceKey locking, decomposition alignment updates,
and strike-through review doc.
2026-06-24 20:37:16 -04:00
VinPropane be53d80705 NEO-146: add code review for contract instance and outcome stores 2026-06-24 20:35:16 -04:00
VinPropane ae641a4dd0 NEO-146: add contract instance and outcome stores with Postgres split
Durable per-player contract instances (one active) and append-only
outcome audit rows, mirroring NEO-116/135 store patterns with V011/V012
migrations, AAA tests, README docs, and Bruno health smoke.
2026-06-24 20:27:32 -04:00
VinPropane 82c45941ae NEO-146: add E7M4-03 contract instance and outcome stores kickoff plan 2026-06-22 20:36:47 -04:00
VinPropane 56bc22c70d NEO-145: address review findings — tests and decomposition docs.
Rename cross-ref unit test; add loader freeze-overflow and missing-schema
negatives; update E7.M4/CT.M1 alignment tables and strike through review.
2026-06-20 19:36:25 -04:00
VinPropane 1b904b594d NEO-145: add code review for contract catalog load branch. 2026-06-20 19:34:37 -04:00
VinPropane 937412eda6 NEO-145: reconcile implementation plan with shipped catalog load. 2026-06-20 19:31:54 -04:00
VinPropane 215493f63b NEO-145: add E7M4-02 contract catalog load implementation plan.
Kickoff plan for fail-fast server loader, IContractTemplateRegistry,
and CI-parity E7M4 gates following NEO-144 content landing.
2026-06-20 19:26:34 -04:00
VinPropane 9cfbf43936 NEO-144: reconcile plan and strike through review follow-ups
Document band-cap constant naming, NEO-145 C# port note, and mark review items done.
2026-06-20 19:22:02 -04:00
VinPropane fe9b706092 NEO-144: add code review for contract catalog CI slice 2026-06-20 19:21:01 -04:00
VinPropane 2afd29e4d9 NEO-144: document contract catalog CI and reconcile plan
Update content README, module docs, alignment register, and backlog AC for E7M4-01 land.
2026-06-20 19:18:58 -04:00
VinPropane c7a9e81067 NEO-144: align Epic 7 decomposition docs with E7M4 backlog
Update module status, freeze table, register, and Slice 4 DoD links for contract generator work.
2026-06-20 19:15:58 -04:00
VinPropane 4238038e11 NEO-144: add E7M4 Slice 4 pre-production backlog
Land NEO-144–NEO-154 story order, freeze table, and cross-link from E7M3 downstream.
2026-06-20 19:15:56 -04:00
VinPropane 53122f9f2a NEO-144: add E7M4-01 contract catalog kickoff plan
Lock ContractTemplate schemas, CI gates, and file lists before server load in NEO-145.
2026-06-20 19:15:43 -04:00
VinPropane 24a70d3566 NEO-143: Add Slice 3 faction capstone manual QA and docs.
Ship NEO-143 capstone checklist extending NEO-132, client README
end-to-end faction loop section, cross-links, and E7.M3 Ready alignment.
2026-06-17 21:43:35 -04:00
VinPropane 0903bf00bd NEO-143: Add Slice 3 faction capstone implementation plan.
Kickoff clarifications adopt docs-primary scope, NEO-132-extended
capstone path, and NEO-142 regression for gate deny verification.
2026-06-17 21:40:03 -04:00
VinPropane ee918c5412 NEO-142: reconcile docs and close out code review findings
Check off AC in plan/backlog; update E7.M3 module + alignment register;
strike through addressed review suggestions and nits.
2026-06-17 21:16:17 -04:00
VinPropane 187ecc9c0d NEO-142: add code review for faction standing HUD branch 2026-06-17 21:14:49 -04:00
VinPropane 84bd46635d NEO-142: document faction HUD and manual QA checklist
Add client README section, NEO-142 manual QA steps, and plan reconciliation.
2026-06-17 21:10:36 -04:00
VinPropane fb9a8ab8b2 NEO-142: add E7M3-10 client faction HUD implementation plan
Kickoff plan for Godot faction standing label, gate deny feedback, and
reputationGrants reward lines after NEO-139/140 server APIs landed.
2026-06-17 21:08:56 -04:00