Skip to content

S22 — A player does not start from nowhere - #101

Merged
The-Running-Dev merged 2 commits into
mainfrom
slice/S22
Aug 31, 2026
Merged

S22 — A player does not start from nowhere#101
The-Running-Dev merged 2 commits into
mainfrom
slice/S22

Conversation

@The-Running-Dev

@The-Running-Dev The-Running-Dev commented Aug 31, 2026

Copy link
Copy Markdown
Owner

Authors the last two of SimulationCampaignSource's seventeen collections — 3 starting
backgrounds and 3 traits, one granted by each. BackgroundDefinition turns out to carry no
starting-items field at all (03 §8.10 places starting inventory on the scenario, not the
background), so S22.2/S22.3's "starting items" language is satisfied via skills/credentials
instead of being approximated. This also resolves the buildPlayer backgrounds[0] indexing
blocker noted under S16.3's findings — createGame no longer throws for this campaign.

Closes #90

Verified

All 9 discovered gates ran and passed. Nothing failed; nothing did not run.

Ran and passed:

  • Parse-check PowerShell scripts — all 99 *.ps1 files parsed with System.Management.Automation.Language.Parser, zero parse errors.
  • Run Pester tests — Invoke-Pester -Path tools -Output Detailed -PassThru: 350/350 passed, 0 failed, 0 skipped, 208.55s.
  • Validate the core/companion split — ./tools/Test-Companion.ps1: 23 core(s) checked, 0 companion files present, State: Valid, exit 0.
  • Check the design state against the tree — ./tools/Test-DesignState.ps1: 0 findings; 26 non-blocking MirrorStale entries under design/state/work/* (this branch's commit hasn't been through /track yet, expected); 0 could-not-evaluate; exit 0.
  • Check the spec set — ./tools/Test-SpecSet.ps1: Valid; 8 documents; 936 declarations; 8 references correctly reported unresolvable (cross-repository, into SubZeroDev.GameEngine); exit 0.
  • Build the pinned engine — npm run setup: npm ci + tsc -p tsconfig.build.json for the engine submodule, exit 0.
  • Typecheck the campaign sources — npm run typecheck: tsc --noEmit, no output, exit 0.
  • Test the campaign sources — npm test: vitest run, Test Files 4 passed (4), Tests 49 passed (49), exit 0 — includes the new "Stable Life — backgrounds and traits (S22)" suite, verified to fail for the right reason (empty backgrounds/traits) before the content existed.
  • Re-export content and fail if the committed JSON is stale — npm run export:content && npm run check:clean: "Exported 1 campaign(s) to content/", then "content/ matches the sources.", exit 0.

Ran and failed: none.

Did not run: none.


Agent detail
  • Slice: S22 — design/30-slices.md § S22 @ 1ec3337099d3ad2b763987c14cef6cdd67e2b05a
  • Criteria met: S22.1, S22.2, S22.3, S22.4, S22.5, S22.6
  • Left undone: none

Author 3 starting backgrounds (kitchen hand, office temp, overqualified
graduate) and 3 traits, one granted by each background. Each background
differs in starting skills and starting credentials; traits resolve in
both directions (S22.4). Regenerate the published export.

Resolves the buildPlayer backgrounds[0] blocker noted under S16.3's
findings — createGame no longer indexes an empty array for this campaign.
@The-Running-Dev
The-Running-Dev merged commit 5a81083 into main Aug 31, 2026
4 checks passed
@The-Running-Dev
The-Running-Dev deleted the slice/S22 branch August 31, 2026 14:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

S22 — A player does not start from nowhere

1 participant