Commit Graph

257 Commits (ad29b4e930fe3f74a9f8885b94a39f0fa266bb30)

Author SHA1 Message Date
VinPropane 6a48315ba5 NEO-153: fix stale issue patch merge and address review findings.
Clear _issue_contract_patch when GET includes the instance row (NEO-122
precedent); wire faction_standing_received for reward re-paint; add regression
test; update E7M4 decomposition docs and review strikethroughs.
2026-06-28 14:56:12 -04:00
VinPropane d96a83b6ef NEO-152: Address code review doc and alignment register nits.
Add NEO-152 plan link to alignment footer; reconcile plan with
method-level CompensatingRevertAll anchor; strike review suggestions.
2026-06-28 12:46:32 -04:00
VinPropane 0d089a6dff NEO-152: Add comment-only contract telemetry hook sites.
Anchor contract_issued, contract_complete, and reward_anomaly
for E9.M1; document hooks in server README and module docs.
2026-06-28 12:08:05 -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 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 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 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 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 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 fbb248770f NEO-147: update decomposition tracking and strike review findings 2026-06-27 19:23:17 -04:00
VinPropane 60aa0be4f0 NEO-147: document generator operations and reconcile plan 2026-06-27 19:15:14 -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 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 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 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 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 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 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 3c1ade4185 NEO-141: add manual QA and reconcile module docs
Update E7M3 backlog, alignment register, and implementation plan
for landed faction telemetry hook sites.
2026-06-17 19:25:27 -04:00
VinPropane 1dedc5fc99 NEO-140: reconcile plan, manual QA, and E7.M3 module alignment
Mark acceptance criteria done; document Bruno/curl verification checklist.
2026-06-17 19:08:38 -04:00
VinPropane 3f08812e93 NEO-139: add GET faction-standing snapshot API with tests and Bruno.
Expose client-readable standing for all catalog factions; 404 unknown players via position gate; Bruno asserts +15 after operator chain.
2026-06-16 17:19:50 -04:00
VinPropane 3466f1ee32 NEO-138: reward router reputation grants, Bruno quest-flow, docs.
Apply completionRewardBundle.reputationGrants via ReputationOperations with
compensating rollback; thread faction stores through quest wiring; add operator
chain Bruno helper and grid-contract accept success; update README and E7.M3 docs.
2026-06-15 22:18:27 -04:00
VinPropane 0241cc31e3 NEO-137: Wire FactionGateOperations into quest accept with tests and docs.
Evaluate FactionGateRule rows before TryActivate; deny with faction_gate_blocked
when standing is below minStanding. Integration and Bruno deny smoke included.
2026-06-15 21:11:27 -04:00
VinPropane 536f635a11 NEO-136: document ReputationOperations and reconcile plan 2026-06-15 20:48:44 -04:00
VinPropane d5f16f4cf4 NEO-135: address code review findings
Update decomposition docs for E7M3-03, add in-memory read-clamp test via
test seed hook, fix empty factionId deny code, AAA integration test,
Postgres FK orchestration notes, and strike review suggestions Done.
2026-06-15 20:27:36 -04:00
VinPropane aa3eb3597c NEO-134: address code review findings
Update decomposition tracking docs, add faction loader integration tests,
reorder standing-band gate before freeze, and guard success logging.
2026-06-15 20:11:55 -04:00
VinPropane 6cb7dfbb46 NEO-133: address code review — roster docs, CI cleanup, band gate
Cross-link E7.M1 doc to E7M3 five-quest roster; remove dead
_prototype_e7m1_quest_gate; add faction standing-band CI gate;
clarify server roster error strings; grid-contract loader test asserts.
2026-06-15 19:52:42 -04:00
VinPropane 0948d9d4a8 NEO-133: land faction catalog, quest gate/rep schemas, and CI gates
Add two prototype factions, extend quest bundles with reputationGrants
and factionGateRules, freeze five-quest roster in validate_content.py,
and sync minimal server quest roster parity for green startup tests.
2026-06-14 14:54:20 -04:00
VinPropane 718346163f NEO-133: kickoff E7M3-01 — faction catalog schemas + CI plan
Land E7.M3 Slice 3 decomposition docs and NEO-133 implementation plan
before content/schema work; blocks NEO-134 server faction load.
2026-06-14 14:51:22 -04:00
VinPropane 63156c353f NEO-132: Ship Slice 2 quest reward capstone docs and economy refresh.
Add NEO-132 manual QA extending NEO-123 with reward HUD and economy
verification, README capstone section, E7.M2 Ready alignment, client
completion-transition signal for inventory/skill refresh, and GdUnit
coverage for the new signal.
2026-06-14 14:08:02 -04:00
VinPropane 0e13a10b79 NEO-131: Address review — item grant and defs repaint tests.
Add operator-chain item display name and definitions_ready reward
label GdUnit cases; add NEO-131 plan link to alignment register.
2026-06-07 23:02:14 -04:00
VinPropane ed7975ca54 NEO-131: Document quest reward HUD and reconcile plan. 2026-06-07 22:59:19 -04:00
VinPropane c461a822f1 NEO-130: Add comment-only reward telemetry hook sites.
Anchor future E9.M1 reward_delivery and unlock_granted events in
RewardRouterOperations; document hooks in server README and module docs.
2026-06-07 22:46:27 -04:00
VinPropane 78e805e428 NEO-129: add completionRewardSummary to quest-progress GET.
Project IRewardDeliveryStore grant snapshots onto completed quest rows;
extend tests, Bruno gather-intro spine, and docs.
2026-06-07 18:38:37 -04:00
VinPropane da99769ddf NEO-128: wire quest complete to reward router deliver-then-mark.
TryMarkComplete delivers completionRewardBundle before marking complete;
objective wiring and upstream ops thread reward dependencies. Tests cover
bundle delivery, idempotent replay, and inventory-full deny.
2026-06-07 18:24:01 -04:00
VinPropane 5b84ffd75a NEO-127: add RewardRouterOperations for quest completion bundles
Apply item grants and mission_reward skill XP with compensating rollback,
idempotent IRewardDeliveryStore recording, and AAA integration tests.
2026-06-07 17:47:32 -04:00
VinPropane 35fa4ad192 NEO-126: address code review — module anchor and casing test
Add E7.M2 implementation anchor for the delivery store and assert
mixed-case TryRecord replays are rejected at the store layer.
2026-06-07 17:33:07 -04:00
VinPropane 2a8fe31b14 NEO-126: add IRewardDeliveryStore for quest completion rewards
In-memory RewardDeliveryEvent store with idempotent TryRecord,
grant summaries for future HTTP projection, DI registration, and tests.
2026-06-07 17:31:45 -04:00
VinPropane 8d026bdca4 NEO-125: document server bundle load in README and alignment docs 2026-06-07 15:25:58 -04:00
VinPropane d3c7dbb1ad NEO-124: Fix E7.M2 alignment register row and close review follow-up.
Repair corrupted References column; document negative CI spot-check results in review.
2026-06-07 15:17:24 -04:00
VinPropane c8e7449756 NEO-124: Document quest completion bundle CI and reconcile plan.
Update E7.M2 module, content README, CT.M1, alignment register, and E7M2 backlog for landed catalog slice.
2026-06-07 15:15:53 -04:00
VinPropane 85ead01a0b chore: Decompose E7.M2 prototype backlog (NEO-124–NEO-132).
Epic 7 Slice 2 reward router: nine server+client stories, Linear
issues, module docs, and kickoff defaults for completion bundles.
2026-06-07 15:11:43 -04:00
VinPropane f4e9f62533 NEO-123: Record capstone QA pass and mark E7.M1 Ready.
Human QA passed; update acceptance checkboxes, module register, and
alignment docs for Epic 7 Slice 1 client capstone completion.
2026-06-07 15:07:59 -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 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 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 9e4c52f653 NEO-119: Document quest-progress GET and reconcile plan docs. 2026-06-07 11:56:31 -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 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