Commit Graph

1327 Commits (ef75111b2ac3080f5708959a3a0105661970f6e6)

Author SHA1 Message Date
VinPropane ef75111b2a NEO-140: remove server-only manual QA doc after story end
Manual QA checklists are for client-facing stories; Bruno and dotnet
test cover this HTTP projection slice.
2026-06-17 19:21:48 -04:00
VinPropane 960b4900d0
Merge pull request #180 from ViPro-Technologies/NEO-140-e7m3-quest-http-rep-gate-projections
NEO-140: Extend quest HTTP projections for rep + gates (E7M3-08)
2026-06-17 19:19:15 -04:00
VinPropane 7011a56755 NEO-140: address code review — grid-contract rep and wire-level gate test
Add integration coverage for +10 Rust Collective reputationGrants,
JsonDocument omission test for factionGateRules, extend accept Bruno,
fix manual QA link, strike through review findings.
2026-06-17 19:12:33 -04:00
VinPropane 3ba2fd100c NEO-140: add code review for quest HTTP rep + gate projections 2026-06-17 19:11:03 -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 2b4a0d1e34 NEO-140: project faction gates and rep grants on quest HTTP GETs
World quest-definitions expose optional factionGateRules; quest-progress
completionRewardSummary maps GrantedReputation to reputationGrants.
2026-06-17 19:08:37 -04:00
VinPropane 367f894b34 NEO-140: add E7M3-08 quest HTTP projection kickoff plan
Document factionGateRules world GET and completionRewardSummary
reputationGrants scope before implementation.
2026-06-17 19:05:54 -04:00
VinPropane 72668e1cab
Merge pull request #179 from ViPro-Technologies/NEO-139-e7m3-get-faction-standing-http-read
NEO-139: GET faction-standing HTTP read (E7M3-07)
2026-06-16 17:56:04 -04:00
VinPropane 7347b3b3b3 NEO-139: reset faction standing before default Bruno GET.
Seq 2 pre-request clears prototype faction rows so re-runs pass after operator-chain flows leave +15 standing.
2026-06-16 17:50:07 -04:00
VinPropane 329028429d NEO-139: fix Bruno operator-chain helper require path.
Use ./scripts/ from collection root so developer sandbox allows the import.
2026-06-16 17:46:20 -04:00
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