Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions build/Test-CompatibilitySweep.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,12 @@ the current tree can call itself a compatibility candidate against a prior
release tag (W104.7):

1. typecheck, lint, and the full test suite from src/engine -- includes the
W96.2/W104.1 regression-evidence manifest (regressionManifest.test.ts),
which fails the moment a named suite, fixture, host, or packed-consumer
file goes missing.
W96.2/W104.1 regression-evidence manifest (regressionManifest.test.ts and
scripts/w104-manifest.test.ts), which fails the moment a named suite, fixture,
host, built-in campaign/version, or packed-consumer file goes missing; the v0.10.0
compatibility baseline comparison (W104.2, scripts/capture-compat-baseline.test.ts);
and the representative-save load-through-SessionStore proof (W104.3,
scripts/capture-save-fixtures.test.ts).
2. The replay regression oracle (07-replay.md), run locally against the
baseline tag's own committed fixtures and outcomes -- the same
REPLAY_BASELINE_DIR mechanism .github/workflows/ci.yml's
Expand Down
69 changes: 69 additions & 0 deletions src/engine/fixtures/compat/v0.10.0/bulgaria-bureaucracy.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
{
"label": "bulgaria-bureaucracy",
"campaignId": "bulgaria-bureaucracy",
"validation": {
"errors": [],
"warnings": []
},
"initialScene": {
"gameId": "counting-game-id-0",
"status": "active",
"body": {
"textKey": "bureaucracy.municipality.text",
"text": "You arrive at the municipality at 08:03. The office opened at 08:00. A handwritten note says the meeting ends at 11:30; three nearby doors disagree about the year."
},
"actions": [
{
"id": "wait",
"labelKey": "bureaucracy.municipality.choice_wait",
"available": true
},
{
"id": "ask_guard",
"labelKey": "bureaucracy.municipality.choice_ask_guard",
"available": true
},
{
"id": "coffee",
"labelKey": "bureaucracy.municipality.choice_coffee",
"available": true
},
{
"id": "try_another_entrance",
"labelKey": "bureaucracy.municipality.choice_try_another_entrance",
"available": true
}
],
"view": {
"gameId": "counting-game-id-0",
"status": "active",
"kindView": {
"turn": 0,
"stats": [
{
"var": "connections",
"labelKey": "bureaucracy.var_connections.label",
"value": 0,
"min": 0,
"max": 12
},
{
"var": "preparation",
"labelKey": "bureaucracy.var_preparation.label",
"value": 0,
"min": 0,
"max": 12
},
{
"var": "pressure",
"labelKey": "bureaucracy.var_pressure.label",
"value": 0,
"min": 0,
"max": 12
}
],
"unlockedAchievements": []
}
}
}
}
184 changes: 184 additions & 0 deletions src/engine/fixtures/compat/v0.10.0/long-horizon-win.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,184 @@
{
"label": "long-horizon-win",
"campaignId": "long-horizon-win",
"validation": {
"errors": [],
"warnings": [
{
"code": "unreachable_content",
"messageKey": "simulation.reason.unreachable_content",
"path": "housing-upgraded"
},
{
"code": "unreachable_content",
"messageKey": "simulation.reason.unreachable_content",
"path": "housing-upgraded"
}
]
},
"initialScene": {
"gameId": "counting-game-id-0",
"status": "active",
"body": {
"textKey": "long-horizon.scene.status",
"text": "Week 1 of Year 1. Cash: $200.00. Health 80 · Energy 50 · Happiness 60 · Stress 20 · Satiety 80."
},
"actions": [
{
"id": "plan.add",
"labelKey": "long-horizon.action.plan-add.label",
"available": true
},
{
"id": "plan.remove",
"labelKey": "long-horizon.action.plan-remove.label",
"available": true
},
{
"id": "plan.clear",
"labelKey": "long-horizon.action.plan-clear.label",
"available": true
},
{
"id": "end_week",
"labelKey": "long-horizon.action.end-week.label",
"available": true
}
],
"view": {
"gameId": "counting-game-id-0",
"status": "active",
"kindView": {
"calendar": {
"currentWeek": 1,
"currentYear": 1,
"totalTimeUnits": 14,
"committedTimeUnits": 0,
"availableTimeUnits": 14
},
"identity": {
"actorId": "player",
"name": "Alex",
"age": 28,
"backgroundId": "background-default"
},
"currentLocationId": "home",
"finances": {
"cashCents": 20000,
"savingsCents": 0,
"debtCents": 0,
"weeklyIncomeCents": 0,
"weeklyExpensesCents": 0,
"overdueBalanceCents": 0,
"accounts": []
},
"needs": {
"health": 80,
"energy": 50,
"happiness": 60,
"stress": 20,
"satiety": 80
},
"attributes": {
"intelligence": 50,
"discipline": 50,
"charisma": 50,
"creativity": 50,
"resilience": 50,
"wisdom": 50
},
"education": {
"enrollments": [],
"credentials": [],
"completedCourseIds": [],
"failedCourseIds": []
},
"career": {
"history": [],
"totalWeeksEmployed": 0,
"pendingApplications": [],
"highestTierAchieved": "entry"
},
"housing": {
"definitionId": "housing-modest",
"movedInWeek": 1,
"ownership": "renting",
"damage": 0,
"weeklyCostCents": 4000,
"depositPaidCents": 0,
"rentDueWeek": 1,
"overdueRentCents": 0,
"missedPayments": 0,
"evictionStage": "none"
},
"inventory": [],
"relationships": [],
"skills": {
"bookkeeping": 0
},
"traits": [],
"reputation": {},
"activeEffects": [],
"activeOpportunities": [],
"pendingEventResponses": [],
"goals": [
{
"definitionId": "goal-established",
"status": "active",
"satisfiedThisWeek": false,
"consecutiveWeeksSatisfied": 0,
"progressNotes": []
}
],
"plan": {
"week": 1,
"actions": [],
"availableActionTypes": [
"work",
"work_overtime",
"search_for_work",
"apply_for_job",
"negotiate_job_terms",
"attend_class",
"study",
"enroll_course",
"withdraw_course",
"shop",
"eat",
"rest",
"exercise",
"socialize",
"travel",
"maintain_item",
"repair_item",
"sell_item",
"pay_bills",
"borrow_money",
"repay_debt",
"deposit_savings",
"invest",
"move_housing",
"start_project",
"work_on_project",
"start_business",
"operate_business",
"accept_opportunity",
"decline_opportunity",
"respond_to_event"
]
},
"world": {
"locations": [],
"jobMarket": {
"openings": []
},
"economy": {
"sectorDemand": {},
"marketPrices": {},
"indicators": {}
}
}
}
}
}
}
Loading
Loading