S6 — Everything the game keeps in state is counted, and told what it must say - #39
Merged
Conversation
…must say
Derives the concept set from GameState's 17 fields and the field-type
declarations they reach; the 14 non-primitive types found there (Opportunity,
ScheduledEvent, StatusEffect, GoalState, PlayerState, and nine others) are the
state-bearing concepts requiring a lifecycle-<Concept> region. ResolutionDebugInfo
correctly falls outside the set, since it never travels through GameState.
Wraps §5.4.1 and §5.4.2 as lifecycle-Opportunity and lifecycle-ScheduledEvent,
both held. The concept check counts a region as stating both boundaries of a
lifecycle when its body carries at least two single-word bold-period labels
("**Generation.**", "**Resolution.**") — a structural test, not a word list, so
it needs no vocabulary of which words mean creation versus retirement.
The gate lands red on purpose: 12 of the 14 derived concepts have no
lifecycle- region yet, and the run exits 1. S7 writes the missing regions and
clears it.
…e red on purpose (S7 clears it), S18.6 pre-existing failure tracked as #38
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.
Derives the concept set from
GameState's 17 fields and the declarations their field typesreach, wraps §5.4.1 and §5.4.2 as
lifecycle-Opportunityandlifecycle-ScheduledEvent, and addsthe
conceptcheck. The check counts a lifecycle region as stating both boundaries of thelifecycle when its body carries at least two single-word bold-period labels — a structural test on
the region's shape, not a vocabulary of which words mean creation versus retirement, so it needs no
closed word list to recognise future concepts S7 writes with different wording. The gate lands red
on purpose: 12 of the 14 derived concepts have no
lifecycle-region yet, and the run exits 1; S7clears it.
Contradiction found while implementing, left in the document per the freeze:
design/20-contract.md§
tools/Read-SpecSet.ps1— Corpus access and Index describes the index's return shape asSpecDocument[],SpecDeclaration[],SpecReference[], the four authored record collections, andState/Reason— it does not mention the new derivedConceptscollection this slice adds. Thisis the kind of descriptive drift that would normally be corrected in this commit, but
design/FROZEN.mdexists, so perAGENTS.md§ The design freeze the document is left alone andthe gap is recorded here instead.
Closes #13
Verified
Ran and passed:
*.ps1with[System.Management.Automation.Language.Parser]::ParseFile; 33 files checked, all parsed cleanly../tools/Test-Companion.ps1: State Valid, 22 core(s) checked, 0 companion file(s), 22 core(s) with no companion. Exit 0../tools/Test-DesignState.ps1: State Valid, Findings 0, Reported 12 (allMirrorStale/WorkStateDivergenceon already-merged work items, downgraded to reported by the active design freeze — none blocking), CouldNotEvaluate 0. Exit 0.git diff --check— exited 0, no trailing whitespace or conflict markers introduced by this branch.Ran and failed:
Invoke-Pester -Path tools -Output Detailed -PassThru: Tests Passed 330, Failed 1, Skipped 0, Total 331. The one failure —Test-DesignState.Tests.ps1"S18.6: EnforcementUnevidenced rejects this repository's own superseded decision once its SupersededBy line is removed, and clears once it is restored" — asserts "Expected 1, but got 0." This is the same pre-existing failure recorded in the S4 verify report (commit9e25508, "Record verify report for S4 — 6 of 7 gates pass; S18.6 pre-existing failure tracked as S18.6 self-test does not account for the design freeze downgrading EnforcementUnevidenced #38"):design/FROZEN.mddowngrades every blocking divergence class, includingEnforcementUnevidenced, to reported rather than blocking (design/20-contract.md§ The freeze), soExitCodeis 0 instead of the 1 this test still expects. The test predates the freeze and was never updated for it. Tracked as issue S18.6 self-test does not account for the design freeze downgrading EnforcementUnevidenced #38, unrelated to this branch's changes../tools/Test-SpecSet.ps1: Spec-set Invalid; 8 documents; 936 declarations; 2 mirror obligations checked; 8 references unresolvable (cross-repository, expected — SubZeroDev.GameEngine references). Findings: 12, allCheckId: concept—RngState,GameStatus,CalendarState,PlayerState,EconomyState,WorldState,StatusEffect,PendingEventResponse,GoalState,HistoryEntry,LoggedAction,GameMetadataare each a state-bearing concept with nolifecycle-<Concept>region. This is the on-purpose result of this slice, stated above: S6 adds theconceptcheck itself and wraps only 2 of the 14 derived concepts (Opportunity,ScheduledEvent); S7 clears the remaining 12. Exit 1.Did not run:
docs.ps1 -BuildOnly(Docusaurus image build) — Docker Desktop is not running locally (docker infofailed). This repository's docs build needs Docker and is not CI-gated (no# verification: trueflag on any docs.ps1-related step in.github/workflows/*.yml), so it was skipped rather than reported as passed.Agent detail
design/30-slices.md§ S6 @394505aae8cdd82a2375a4956fc7ba93090db469