VinPropane
0dfc17486e
NEO-139: fix Bruno default test playerId env lookup.
...
Use getEnvVar fallback so CI Local environment resolves playerId in test assertions.
2026-06-16 17:41:50 -04:00
VinPropane
0fe182565e
NEO-139: address review — trim-path tests and Bruno folder note.
...
Add whitespace-only 404 and padded-path playerId echo tests; document seq 4 standing side effect in faction-standing folder docs.
2026-06-16 17:26:40 -04:00
VinPropane
cc7786ba3a
NEO-139: add code review for faction-standing GET API.
2026-06-16 17:22:40 -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
5fc780c8ab
NEO-139: kickoff implementation plan for faction-standing GET API.
2026-06-16 17:17:42 -04:00
VinPropane
e405d43d43
Merge pull request #178 from ViPro-Technologies/NEO-138-e7m3-reward-router-reputation-grants
...
NEO-138: Extend reward router for reputationGrants
2026-06-15 23:16:54 -04:00
VinPropane
6999eb3303
NEO-138: clear delivery and audit on quest fixture reset.
...
resetQuestIds now clears IRewardDeliveryStore rows and quest-completion
audit deltas so Bruno re-runs re-apply rep grants after standing reset.
2026-06-15 23:10:58 -04:00
VinPropane
4ee29e867b
NEO-138: quest-fixture resetFactionIds for gate deny Bruno.
...
Clear prototype faction standing in seq 10 pre-request so stale +15 from
prior seq 11 runs does not pass the grid contract gate locally.
2026-06-15 23:00:21 -04:00
VinPropane
2581677dd5
NEO-138: reset grid contract in faction gate deny Bruno.
...
Clear stale completed progress from prior seq 11 runs so accept
returns faction_gate_blocked instead of already_completed locally.
2026-06-15 22:40:38 -04:00
VinPropane
57215d401a
NEO-138: re-review confirms follow-ups addressed.
2026-06-15 22:31:29 -04:00
VinPropane
69c3ad4915
NEO-138: address code review follow-ups.
...
Fix Bruno grid-contract status expectation, add race rep rollback and
multi-row audit-failure tests, audit-row assertion, and doc comments.
2026-06-15 22:29:36 -04:00
VinPropane
245f0a84ed
NEO-138: add code review for reward router reputation grants.
2026-06-15 22:22:06 -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
599d87bd0d
NEO-138: Add E7M3-06 implementation plan for reputationGrants router wiring.
2026-06-15 22:03:33 -04:00
VinPropane
a70c41db5a
Merge pull request #177 from ViPro-Technologies/chore/bruno-self-reset-fixtures
...
chore: Bruno self-reset dev fixtures for order-independent collection runs
2026-06-15 21:59:36 -04:00
VinPropane
64920792ee
chore: address Bruno self-reset review — README, Postgres test, nits.
...
Document resetQuestIds, resource-node fixture, and cooldown clear in server README; add TryClearProgress Postgres integration test; sync-review doc and Bruno require paths.
2026-06-15 21:53:44 -04:00
VinPropane
95cf5d1f83
chore: add Bruno self-reset dev fixtures for order-independent collection runs.
...
Extend quest and resource-node fixture APIs so Bruno pre-requests can reset shared dev-local-1 state (cooldowns, nodes, inventory, quest progress) instead of relying on a fresh Postgres baseline.
2026-06-15 21:50:22 -04:00
VinPropane
0af21e002c
Merge pull request #176 from ViPro-Technologies/NEO-137-e7m3-faction-gate-operations-tryaccept
...
NEO-137: FactionGateOperations + wire into TryAccept
2026-06-15 21:32:48 -04:00
VinPropane
a36e7b56b5
NEO-137: Address review — quest fixture for Bruno CI and test/docs nits.
...
Add POST …/__dev/quest-fixture to mark quests completed without reward
delivery; wire Bruno pre-request and CI flag. Multi-rule AND unit test,
README notes, gate deny comment, review strikethroughs.
2026-06-15 21:24:21 -04:00
VinPropane
4ffc60f226
NEO-137: Add code review for faction gate operations branch.
2026-06-15 21:21:23 -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
1c3d075d6b
NEO-137: Add implementation plan for FactionGateOperations + TryAccept wiring.
2026-06-15 21:08:26 -04:00
VinPropane
25aba88e78
Merge pull request #175 from ViPro-Technologies/NEO-136-e7m3-reputation-operations-apply-delta
...
NEO-136: E7M3-04 ReputationOperations auditable standing apply
2026-06-15 20:56:59 -04:00
VinPropane
ddaf33ce87
NEO-136: fix rollback applied delta and normalize ids at ops boundary
2026-06-15 20:52:04 -04:00
VinPropane
2117b2f8d3
NEO-136: add code review for ReputationOperations
2026-06-15 20:50:57 -04:00
VinPropane
536f635a11
NEO-136: document ReputationOperations and reconcile plan
2026-06-15 20:48:44 -04:00
VinPropane
8aae9625e7
NEO-136: add ReputationOperations auditable standing apply
2026-06-15 20:48:42 -04:00
VinPropane
e9abc8bf38
NEO-136: add implementation plan for ReputationOperations
2026-06-15 20:45:54 -04:00
VinPropane
786a5b6d68
Merge pull request #174 from ViPro-Technologies/NEO-135-e7m3-faction-standing-reputation-stores
...
NEO-135: E7M3-03 faction standing and reputation delta audit stores
2026-06-15 20:39:15 -04:00
VinPropane
94acf57e5b
NEO-135: apply standing deltas from clamped effective value
...
Compute newStanding from previousStanding + deltaAmount so stale
out-of-band persisted values match TryGetStanding before mutation.
2026-06-15 20:35:24 -04:00
VinPropane
2ac804ed6c
NEO-135: validate faction before player gate in in-memory store
...
Match PostgresFactionStandingStore check order so unknown faction ids
return unknown_faction even when the player is not writable.
2026-06-15 20:32:53 -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
c066121c9d
NEO-135: add code review for faction standing stores
2026-06-15 20:25:35 -04:00
VinPropane
4fca45bf7c
NEO-135: add faction standing and reputation delta audit stores
...
Per-player IFactionStandingStore with clamped reads/writes and fail-closed
unknown-faction deny; append-only IReputationDeltaStore; in-memory plus
Postgres V009/V010 when configured. Tests, Bruno health smoke, README.
2026-06-15 20:23:57 -04:00
VinPropane
08ebfcebcf
NEO-135: add E7M3-03 faction standing store implementation plan
...
Kickoff plan for per-player FactionStanding snapshot and append-only
ReputationDelta audit stores (in-memory + NEO-116-style Postgres).
2026-06-15 20:20:48 -04:00
VinPropane
d90d325a3d
Merge pull request #173 from ViPro-Technologies/NEO-134-e7m3-server-faction-catalog-load-fail-fast
...
NEO-134: E7M3-02 server faction catalog load (fail-fast)
2026-06-15 20:16:53 -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
058799a595
NEO-134: add code review for E7M3-02 faction catalog load
2026-06-15 20:10:17 -04:00
VinPropane
48bca98467
NEO-134: fail-fast faction catalog load with E7M3 quest gates
...
Add Game/Factions loader, registry, and CI-parity prototype rules; extend
quest catalog to parse faction gates/rep grants and cross-check at startup.
2026-06-15 20:08:46 -04:00
VinPropane
edb33514c5
NEO-134: add E7M3-02 faction catalog load implementation plan
...
Kickoff plan for fail-fast server faction catalog load with CI-parity
gates, quest faction cross-refs, and registry DI wiring.
2026-06-15 20:03:44 -04:00
VinPropane
f248022c2d
Merge pull request #172 from ViPro-Technologies/NEO-133-e7m3-factiondef-catalog-quest-gate-rep-schemas-ci
...
NEO-133: E7M3-01 faction catalog, quest gate/rep schemas, and CI
2026-06-15 20:02:15 -04:00
VinPropane
635f3cccaf
NEO-133: fix Bruno quest smokes for five-quest roster
...
Update quest-definitions and quest-progress default Bruno tests
after prototype_quest_grid_contract landed in the catalog.
2026-06-15 19:58:37 -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
92c078b0e3
NEO-133: Add code review for E7M3-01 catalog branch.
2026-06-15 19:51: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
33cfc62c66
Merge pull request #171 from ViPro-Technologies/NEO-132-playable-quest-reward-delivery-capstone
...
NEO-132: Playable quest reward delivery capstone (Godot)
2026-06-14 14:33:33 -04:00
VinPropane
fa9396323e
NEO-132: Fix economy refresh signal test matchers
...
quest_completion_reward_transition emits quest_id and summary; GdUnit
is_emitted needs any() for both args or the assertion times out in CI.
2026-06-14 14:24:14 -04:00
VinPropane
e2991a2926
NEO-132: queue economy sync while clients are busy
...
Gather/craft start inventory and skill GETs in parallel with quest-progress;
post-completion _refresh_economy_hud was dropped when those clients were _busy.
Match quest_progress_client pending-sync flush so a follow-up GET runs after
the in-flight request completes.
2026-06-14 14:19:53 -04:00
VinPropane
acf3d079d2
NEO-132: Move economy refresh into quest HUD controller for lint budget.
...
Pass inventory and skill clients into setup; refresh on completion
transition in quest_hud_controller.gd; fix line-length and file-size
gdlint limits for pre-push.
2026-06-14 14:15:46 -04:00