S7 — The missing lifecycles are written - #41
Merged
Merged
Conversation
Adds a lifecycle- region for each of the 12 derived concepts that had none: RngState, GameStatus, CalendarState, GameMetadata, WorldState, StatusEffect, PendingEventResponse, GoalState, EconomyState, PlayerState, HistoryEntry and LoggedAction. Test-SpecSet.ps1 now reports Valid with zero concept findings. Fixes the two tests that hard-coded the pre-S7 corpus: Read-SpecSet.Tests.ps1's same-repo section-reference count (106 -> 161, from the new regions' own § citations) and Test-SpecSet.Tests.ps1's S6.3, which asserted the concept gate still failing — reconstructed against a fixture with one region removed, plus a new S7.1 test asserting the real corpus is now Valid.
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.
Summary
Closes #14. Writes the
lifecycle-region for every one of the 12 derivedconcepts that S6 (#13) found missing one:
RngState,GameStatus,CalendarState,GameMetadata,WorldState,StatusEffect,PendingEventResponse,GoalState,EconomyState,PlayerState,HistoryEntryandLoggedAction.Each region follows the two-boundary form
§5.4.1/§5.4.2already establishedby
Opportunity/ScheduledEvent— a creation paragraph naming each path inthat flows into existence, and a retirement paragraph naming each exit. For
the concepts that are whole-game-lifetime singletons of
GameState(RngState,CalendarState,GameMetadata,WorldState,EconomyState,PlayerState),the honest retirement content is that no in-engine deletion path exists —
GameEngine's API (§11) has no operation that deletes a game — so eachpersists for the life of the save and retires only when the save itself is
discarded outside the engine's own surface.
GameStatus's"abandoned"valueis flagged as having no engine-side trigger anywhere in the specification,
rather than inventing one, matching the precedent §8.4 already sets for the
unused
wisdomattribute.Out of scope, per the slice: what any concept does. Nothing here changes a
mechanic — only the lifecycle prose was added.
Two existing tests hard-coded facts about the pre-S7 corpus and needed a
mechanical correction once the new regions landed:
Read-SpecSet.Tests.ps1's same-repo section-reference count (106 → 161 —the twelve new regions cite the sections their creation/retirement paths
depend on).
Test-SpecSet.Tests.ps1's S6.3, which asserted the concept gate was stillfailing on the real corpus. That gap is reconstructed against a fixture with
one region deleted (what S6.3 was actually testing), and a new S7.1 test
asserts the real corpus is now
Validwith zero concept findings.Verified
Invoke-Pester -Path tools: 332 passed, 0 failed../tools/Test-SpecSet.ps1:Valid, 0 findings (wasInvalid, 12conceptfindings before this change).
S7.3 spot-checked by deleting each of
RngState,GameStatus,StatusEffectand
LoggedAction's region individually: each produces exactly oneconceptfinding naming that concept, and restoring the region clears it.
Test plan
./tools/Test-SpecSet.ps1reportsValid, zeroconceptfindings (S7.1)conceptfinding, and restoring it clears the finding (S7.3)