Releases: electricsheephq/WorldOS
Release list
v1.0.5 — Engagement Engined (engine release)
The engine's relationship / quest / camp machinery is DRIVEN, not narrated. v1.0.5 closes the S1 "Engagement Engined" campaign — the milestone that turns the engine's engagement gauges from narration-only into tool-driven state the DM actually moves.
The clean verdict (rri-a1-gate3d @ f71853cc, honest un-gamed ruler)
| Lens | v1.0.5 | note |
|---|---|---|
| Story-craft | 4.2 | best clean measurement in project history |
| Mechanical | 4.1 | |
| 5e-fidelity | 3.7 | |
| Behavioral gate | GREEN — 0 FAILs | both prior blockers cleared |
- Full completed 3-act arc, and — for the first time in a clean release run — organic engagement closures fired:
complete_objective ×2,record_decision ×4,advance_act ×2,adjust_attitude ×2. This is the thing v1.0.5 is about. - 5-persona playtest sweep: 5/5 arc-complete, 0 critical bugs, 0 give-ups, median satisfaction 7, all self-reported (strongest part-B ever).
- Both release blockers fixed + verified in-build: the persist_beat stringified-arg MCP-boundary reject (#1361) and the DM out-of-character narration leak (#1362).
What shipped since rc5 (~30 PRs, by theme)
- Engagement: obligation-cue stack →
next_actionimperative (#1314) → endgame-resolution cue (#1317) → skip-proof wrap window (#1334) — engagement machinery driven, not narrated. - Combat/engine: tactical layer completion (AoE/LoS/terrain/flanking/tactical-AI, epic #1100), AC ownership, tiles.
- QA infra: honest un-gamed ruler + Tier-1.5 mechanism probe (#1336) + QA-economics v2 (#1340); scorer-auth hardening.
- Art pipeline: layered 3-pass room generation, church adopted+live-validated, staging-law prompt.
Honest bar note
4.2/4.1 lands 0.1/0.4 under the 4.3/4.5 story/mechanical aspiration — but that aspiration, and the full 11-gate playable-app release-readiness (RRI), are the bars for the playable-demo rungs (Beta v1.0.9 · Demo v1.0.10 · GA v1.1.0), not for this engine release. The playable-app gates (native .app, cross-persona RRI, image-render) are not measured at this SHA and are deferred to those rungs. Quality iteration continues toward the demo bar post-cut.
Tier
Engine + text tier (T0) + 2D OpenWorlds viewer (T1). The walkable rendered tiers (T2/T3) and their content library are Act II (walk/talk/living-stage all merged post-v1.0.5; the harvest loop HV1-HV5 is code-complete).
Pre-release: cut on the engine bar with the evidence above; owner reviews after. Evidence: qa/scores.db (rri-a1-gate3d, gate3-sweep-partB) + CHANGELOG.
v1.0.5-rc5 — engine-run combat + competent engine AI
Stable development checkpoint — NOT a GA. 16 commits since rc4. The engine now drives combat deterministically (zero LLM tokens) and plays it competently + 5e-faithfully. RRI gameplay gates not yet re-measured under the current ruler sc_f283fdce1d24.
Engine-run combat (epic #1100)
- The monster-AI
pick_action+ auto-looprun_combat_round/run_combat_autonomous(LIVE hostiles-only / TEST full-auto) + double-guarded TEST toggles + a process dice-seed (#1101). - The engine-only combat smoke
qa/combat_smoke.py— all-mechanics-fire + a spell-resolution sweep, a trustworthy mech signal independent of the LLM scorer (#1104). - Combat-control policy (driver-by-purpose) —
docs/roadmap/combat-control-policy.md(#1105).
Engine-AI competence ladder (#1106) — the engine now PLAYS combat well
- v2.0a heals + revives a dying ally (#1108) · v2.0b offensive spell EV + slot economy + concentration (#1109) · v2.0c Action Surge / Second Wind / maneuvers / Sneak Attack / Guided Strike + bonus-action economy (#1110) · the bonus-action spell rule fix (#1115).
- Each adversarially verified before merge — the refute→verify pass caught 4 real 5e bugs the builders' green suites missed (non-byte-identical dice + a TEST-toggle leak #1101, Sneak-Attack-not-once-per-turn #1110, double bonus-action heal #1115). Capstone (0 LLM): cleric heals+revives, rogue sneaks, fighter Action-Surges, party wins — once-per-turn rules hold.
Versioning Phase-1 (#1098) + one-decimal scoring (#1099)
VERSION/__version__ source-of-truth + gate-aware generate_release_notes.py; one-decimal lenses + the fact-fidelity content-loss guard; ruler sc_f283fdce1d24.
Full notes: CHANGELOG.md § [1.0.5-rc5].
v1.0.5-rc4 — GT2 iso-renderer foundation + scorer-opt + mech fidelity + #461 grid
Stable development checkpoint — NOT a GA. 32 commits since rc3. The RRI gameplay gates (story ≥4.3, mechanical ≥4.5, cross-persona sat ≥7) are not yet re-measured under the current ruler sc_d4b93982763a (the last formal RRI was the rc3 partial). GA requires a full non-partial 5-persona RRI on one .app build.
Highlights
- GT2 Godot painterly-isometric renderer (epic #1050) — the vertical slice, CI-gated: the
godot/project + thin-client transport (#1052), WorldView + walkmask + zone markers (#1053), directionalCharacterToken+ sprite-sheet manifest (#1054), click-to-move + Y-sort occlusion (#1055), the headless export/conformance/screenshot CI lane (#1056), the Meshy→Blender asset pipeline (#1062), served_privatefinals via/image(#1063), combat/zone token rendering (#1060), and the renderer knowledge-base HANDOFF (#1094/#1095). - Scorer optimization (#1040): the "combat-scorer hang" was a too-short timeout (#1080);
--effort lowfor the heavy Angry-DM lens (2.2× faster, #1082); deterministic 5e checks moved INTO the gate + the rubric shrunk 32→11 KB (#1083). Edition false-positives gone. - Mechanical fidelity: Battle Master + War-Domain Guided-Strike enforcement (#1081); the deterministic Guiding-Bolt advantage gate (#1086).
- #461 grid / coordinate authority: the additive movement spine (#1046) + grid-mode ranged-in-melee auto-disadvantage (#1088).
- Measurement honesty: differential fact-fidelity — the content-loss measure the 1–5 lens is blind to (#1065/#1068);
qa/closeout.py(#1087); the #842 quota circuit-breaker (#1042).
Full notes: CHANGELOG.md § [1.0.5-rc4].
v1.0.5-rc3 — measurement-unblock + mech fidelity + scorer robustness
Test-proven checkpoint on rc2. #1036 authored-campaign measurement unblocked (#1037 — structural_completeness WARN not FATAL-cap for authored runs, dual-corpus proven). Mech fidelity (#1038 — Champion expanded crit-range + War Caster concentration advantage; 3042 engine tests green). Scorer robustness (#1039 — timeout-guard the lens claude -p). NOT a GA — the GLM re-measure under the current ruler is deferred (scorer hangs on combat-sprint transcripts, #1040). Numbers ruler-fenced (SCORING.md §0). Full notes: CHANGELOG [1.0.5-rc3].
v1.0.5-rc2 — combat fidelity + ruler annotation
Checkpoint on top of rc1. Combat fidelity (#1033): turn-anchor the Guiding Bolt advantage marker (SRD 5.2 duration bug) + Battle Master maneuver cue — found by running the combat-sprint, proven RED→GREEN, adversarial review caught + fixed a dead-caster leak. Scoring-ruler annotation (#1034): scores are fenced by ruler version; current numbers read lower than historic by design. NOT a GA — mech still below 4.5; story BG-caliber + satisfaction green. Full notes: CHANGELOG [1.0.5-rc2].
v1.0.5-rc1 — system-hardening RC
Honest system-hardening RC, NOT a GA. Hardens the measurement (the behavioral gate stops false-capping good play — the ~30% cap was self-inflicted, model-agnostic; a same-SHA 1-v-1 now shows 0/5 RED) and the model architecture (clean GLM↔Claude switching, no leaks; GLM measured comparable, latency the real cost), plus timing instrumentation + the arc-smoke. The RRI gameplay gates (story ≥4.3, mech ≥4.5) are not yet met — gameplay work continues on this honest signal. Full notes: CHANGELOG.md [1.0.5-rc1].
WorldOS v1.0.4-rc5 — the living relationship engine + two golden spines
Companions, camp, and quests that actually engage — proven end-to-end on two golden spines.
A read-the-played-story pass found the craft was BG3-caliber but the engine's companion/quest machinery never engaged in real play (companions narrated not gauged; quests resolved in prose, never evolved) — and nothing scored that as failure. rc5 closes the loop:
- The window (#956/#958) —
story_readout.pyrenders any playtest as a readable adventure + a structural-coverage stamp. - Relationship-engine cues (#961) —
persist_beatreturns an obligations digest every beat (frozen companion / overdue camp / resolvable quest); a SKILL step-6b acts on it; a FATALstructural_completenessgate. - Full-circle scorecard (#963) — scorecards now track + show acts/recruit/camp/approval/quest-resolve+evolve, so a system-skipping run can't look healthy.
- Two golden spines (#962/#964) — Brother Toll (Embergloom) + a new BG spine "The Ledger of Mercy" (Sergeant Ondine Marsh, a real betrayal fork), with full approval vocabularies + multi-gate arcs.
- Harness robustness (#965) — run_duo survives transient API 500s; readout/camp refinements.
Proven: two 24-beat validations — approval climbed (Toll 0→47, Ondine 0→80), arc gates unlocked, camp ran, companion + main quests resolved+evolved, structural_completeness PASSED, story-craft 4.8 on both (bar 4.3). Every system dead in every prior run is alive.
Pre-release checkpoint.
WorldOS v1.0.4-rc4 — felt quality + measurement fidelity
Felt quality + measurement fidelity.
- Planning/theorycraft layer (#951) — half-caster slot trust, market priced-first, camp spell-prep, a feat browser. All wire-up of existing engine machinery (the build-optimizer persona's gaps were reachability, not missing features).
- Story-craft directives (#960) — a running clock must be felt not named; never re-narrate the player's own action; planted texture must pay off.
- QA-harness reliability (#966) — gate fidelity + #623 recovery (adversarially verified; a gate-weakening was caught and closed before merge): a player-process crash is re-measure not a quality fail;
party_traveledno longer false-caps a complete single-scene drama; the Mac-handoff deadline outlasts the cold-open; #623 silent-drop/hang closed. The measurement gates now correctly distinguish harness failures from product quality — so future quality changes can be validated honestly.
Pre-release checkpoint. Full notes in CHANGELOG.md.
WorldOS v1.0.4-rc3 — autonomy unblock + honest Beta baseline
The autonomy unblock — popup P0 fixes + an honest Beta baseline.
Fixed — the macOS prompts that blocked every shell-launched GUI run
- #945 — keychain/codesign prompt on every build.
build_and_run.shad-hoc signs by default; never auto-searches the keychain (a baresecurity find-identityscanned every keychain in the search list, incl. an unrelated product's keychain on a removable volume → keychain-password + removable-volume prompts every build). Stable-cdhash signing opt-in viaWORLDOS_SIGN_IDENTITY. - #946 — removable-volume prompt + "Viewer did not become ready" on shell launch. The
.appmerged its full inherited env into every child;GBRAIN_SKILLS_DIR=/Volumes/…(from~/.zshenv, inherited viaopen -n) made a child enumerate the removable volume → a modal TCC prompt that stalled viewer startup. One root cause, both symptoms. Now strips/Volumes-prefixed inherited vars before spawning children (own roots preserved); QA harness mirrors it. Verified popup-free.
Honest Beta baseline (clean same-SHA 5-persona VM sweep)
- 4 of 5 personas Beta-quality: newbie 8, veteran 7, adversarial 7, narrative 8.
- Engine re-validated SRD-correct — the build-optimizer's "critical" Lv-10 Paladin spell-slot bug is a half-caster-rules false alarm.
- The one real feature gap is the planning/theorycraft layer (spell-prep UI, market catalogue, level-up planner) — the next milestone toward Beta.
Pre-release checkpoint; not yet at the Beta bar. Full notes in CHANGELOG.md.
WorldOS v1.0.4-rc2 — the felt bundle (battle, atlas, companion soul)
The first felt-quality wave on rc1's playable foundation — companions that react, a battle that looks like one, a coherent map, and a measurement-integrity fix that had been silently tanking every score.
What landed
- Companions react to your choices (#940, #941) —
approval_tagsonrecord_decision/persist_beatmoves a present companion's approval when a choice matches their content-authored likes/dislikes (DM tags the cause, engine owns the number). Surfaced onscene_contextevery beat. All 7 BG origins carry a shared snake-case approval vocabulary, so one tag ripples across the party and turns arc gates. Brings the previously-dead likes/dislikes read to life. - Combat looks like a battle (#937) — location scene-art backdrop + condition chips on tokens, atop the already-complete SRD 5.2 turn engine.
- A coherent world map (#939) — geographic axial-hex coordinates for the Baldur's Gate locations (+ ingestion wiring +
map_kind:hex), replacing the force-sim scatter. - Behavioral-gate false-cap killed (#938) —
persist_beattolerates a barecampaign_id; validated live (behavioral RED→GREEN). A single bare model-slip had been RED-capping every lens to 2.5. - Seated hero stays correct (#935) — the live active-hero correction uses the authoritative
kind=playerresolver, notparty[0].
Additive throughout; old snapshots round-trip; engine remains the sole writer.
Pre-release — not GA. The full 5-persona VM RRI sweep + a party-run companion playtest gate the v1.0.4 Beta.