feat(npc): add player-safe consequence reveal contract - #76
Merged
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Owner
Author
Governance / operator execution receiptCurrent operator instruction in this execution lane is: “What's next implement methodically.” That instruction authorized the bounded #75 PR1 implementation and validation sequence; it did not authorize bypassing failed evidence. Merge gate applied methodically:
This comment records the human-authorized execution lane plus the exact evidence used for the merge decision. PR2 remains a separate player-facing UI validation slice and is not implied by this approval.
|
This was referenced Aug 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR1 for #75 — player-safe delayed-consequence reveal contract + telemetry foundation. No visual redesign in this slice.
Source declaration
EpistemicDivergenceReceipt,NPCConsequenceRuntimeGateway, Memory Receipt and telemetry contracts918a8e096843a8ab7448922d20d19b88e58eabddWhat this implements
Player-safe contract
Adds shared
ConsequenceRevealReceiptstate with:LATENT | EFFECT_VISIBLE | CAUSE_PARTIAL | CAUSE_REVEALED | REVISEDstates;proofState: player-safe-causal-reveal,canonical: false.Runtime derivation
Adds
NPCConsequenceRevealEnginethat:maturesWhenpolicy prose;Telemetry
Adds explicit event kinds:
consequence.reveal.maturedconsequence.reveal.inspectedconsequence.reveal.revisedTelemetry proves the reveal path executed; it does not prove narrative fairness or player satisfaction.
Validation added
Runtime tests cover:
Repository validation tests lock the contract and skill law.
Validation in action — failure → diagnosis → repair
The first PR head
6a54e71d6bbbb0851d22f35179437da0083be37dwas not promoted when CI #309 failed.Observed failure:
Exact defect: the new source-level governance test asserted
/projection, not a new authority record/i, while the governed skill correctly contained Markdown emphasis:creates a **projection**, not a new authority record. The semantic law was present; the assertion was formatting-brittle.Repair commit:
918a8e096843a8ab7448922d20d19b88e58eabddExact-head validation receipts — PASS
For
918a8e096843a8ab7448922d20d19b88e58eabdd:The failed first head remains part of the receipt chain and is not reclassified as success.
Proof boundary
This PR does not claim:
Those remain #75 PR2 / later playtest evidence gates.
Setup failure receipt
During branch setup an accidental
tmp/placeholderwas committed tomain(ef529d0…) and immediately removed (ff23133…) before this branch was created. Net tree was restored; the failure is intentionally recorded rather than hidden.I_AM_STATELESS_RENTER_NOT_LANDLORD