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.
pull/178/head
VinPropane 2026-06-15 22:40:38 -04:00
parent 57215d401a
commit 2581677dd5
2 changed files with 4 additions and 2 deletions

View File

@ -6,7 +6,7 @@ meta {
docs {
NEO-137: prototype_quest_grid_contract requires completed operator chain and Grid Operators standing >= 15.
Pre-request marks operator chain completed via POST …/__dev/quest-fixture (no rep delivery; standing stays 0).
Pre-request resets grid contract progress (stale completed rows from prior local seq 11 runs), then marks operator chain completed via POST …/__dev/quest-fixture (no rep delivery; standing stays 0).
Success sibling: seq 11 Accept grid contract after operator chain (NEO-138 organic rep grant).
}
@ -16,11 +16,13 @@ script:pre-request {
const playerId = bru.getEnvVar("playerId") || bru.getVar("playerId");
const jsonHeaders = { headers: { "Content-Type": "application/json" } };
const chainQuestId = "prototype_quest_operator_chain";
const gridContractQuestId = "prototype_quest_grid_contract";
const fixture = await axios.post(
`${baseUrl}/game/players/${playerId}/__dev/quest-fixture`,
{
schemaVersion: 1,
resetQuestIds: [gridContractQuestId],
completedQuestIds: [chainQuestId],
},
{ ...jsonHeaders, validateStatus: () => true },

View File

@ -104,7 +104,7 @@ Quest accept evaluates **`FactionGateRule`** rows through **`FactionGateOperatio
**Deny reason code:** **`faction_gate_blocked`** on **`QuestStateReasonCodes`** when any gate fails. Accept HTTP response returns **`accepted: false`** with that **`reasonCode`** (HTTP 200, same as other structured accept denies).
**Prototype quest:** **`prototype_quest_grid_contract`** requires **`prototype_faction_grid_operators`** standing **≥ 15** after **`prototype_quest_operator_chain`** prerequisite is complete. Rep grants that reach +15 standing land in NEO-138; success Bruno smoke deferred until then. **Deny Bruno** (`Accept grid contract faction gate deny.bru`, seq **10**) pre-requests **`POST …/__dev/quest-fixture`** to mark operator chain completed without reward delivery (standing **0**).
**Prototype quest:** **`prototype_quest_grid_contract`** requires **`prototype_faction_grid_operators`** standing **≥ 15** after **`prototype_quest_operator_chain`** prerequisite is complete. **Deny Bruno** (`Accept grid contract faction gate deny.bru`, seq **10**) pre-requests **`POST …/__dev/quest-fixture`** with **`resetQuestIds`** for grid contract (clears stale **`completed`** from prior seq **11** runs) plus **`completedQuestIds`** for operator chain — no reward delivery; standing **0**. **Success Bruno** (seq **11**, NEO-138): organic operator-chain flow then accept.
Plan: [NEO-137 implementation plan](../../docs/plans/NEO-137-implementation-plan.md).