Skip to content

Releases: electricsheephq/WorldOS

v1.0.5-rc3 — measurement-unblock + mech fidelity + scorer robustness

19 Jun 20:52
6f921be

Choose a tag to compare

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

19 Jun 16:22
f16f49e

Choose a tag to compare

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

19 Jun 13:51
e7692e8

Choose a tag to compare

Pre-release

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

17 Jun 06:02
3543aec

Choose a tag to compare

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.py renders any playtest as a readable adventure + a structural-coverage stamp.
  • Relationship-engine cues (#961)persist_beat returns an obligations digest every beat (frozen companion / overdue camp / resolvable quest); a SKILL step-6b acts on it; a FATAL structural_completeness gate.
  • 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

16 Jun 22:21
eeac5bf

Choose a tag to compare

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_traveled no 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

16 Jun 11:38
3cbf07f

Choose a tag to compare

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.sh ad-hoc signs by default; never auto-searches the keychain (a bare security find-identity scanned 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 via WORLDOS_SIGN_IDENTITY.
  • #946 — removable-volume prompt + "Viewer did not become ready" on shell launch. The .app merged its full inherited env into every child; GBRAIN_SKILLS_DIR=/Volumes/… (from ~/.zshenv, inherited via open -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)

15 Jun 22:26
b275935

Choose a tag to compare

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_tags on record_decision/persist_beat moves a present companion's approval when a choice matches their content-authored likes/dislikes (DM tags the cause, engine owns the number). Surfaced on scene_context every 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_beat tolerates a bare campaign_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=player resolver, not party[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.

WorldOS v1.0.4-rc1 — Player-Ready Beta candidate

15 Jun 20:27
57cb479

Choose a tag to compare

Playability checkpoint — the first genuinely independent, resumable game.

WorldOS can now be cold-opened, played, quit, and resumed as a real independent game on the production path (play.sh + the OpenWorlds viewer — the exact path the native .app runs). Cut as a save-checkpoint for scoring/comparison as we build toward the v1.0.4 Player-Ready Beta.

What landed

  • State isolation + Resume re-attach (#933) — isolated per-user saves; the launcher surfaces them as resumable; play.sh re-attaches via WORLDOS_RESUME_CAMPAIGN (move sink preserved).
  • Authoritative active hero (#932, #935) — the seated PC is the engine's kind=player actor on both the initial seed and the live correction; fixes the "ACTIVE ASTARION / Lvl 1 Adventurer" mis-seat.
  • Scripted provider hermetic vs injected state dir (#934) — the part-A native gate mints a live can_act:true surface under the app's state-dir injection.

Proven

Real claude DM, headless production path: cold-open seated a proper PC (Rolan, Tiefling Wizard 3 Evoker), live surface, a real player move resolved, save persisted, quit → catalog shows it resumable → resume re-attached the same campaign live. Scripted part-A native gate PASSES on the real built .app.

Known

The literal .app GUI cold-open fires a one-time per-build macOS Keychain prompt (ad-hoc signature); claude setup-token~/.worldos/claude-token makes it popup-free.

Pre-release — not GA. The v1.0.4 Beta tag follows once the deterministic gates + an honest RRI + a real .app dogfood clear the bar.

v1.0.3 — WorldOS

29 May 16:23
b527051

Choose a tag to compare

WorldOS v1.0.3 — the rename release

ClawDnD is now WorldOSsimulate living, AI-generated worlds and play epic D&D 5e inside them.

Shipped as four phased, CI-green PRs so nothing broke mid-flight:

  • Identity (#296): plugin id worldos, macOS app WorldOS.app, repo electricsheephq/WorldOS (the old 100yenadmin/ClawDnD URL redirects).
  • Code + docs (#299): ClawDnD → WorldOS across source and documentation; zero ClawDnD references remain in servers/engine.
  • Env compatibility (#300, non-breaking): WORLDOS_* environment variables now resolve, with the legacy CLAWDND_* retained as a deprecated fallback (one-time warning); ~/.worldos preferred with ~/.clawdnd fallback. Both names still work — no migration required.
  • Version + notes (#301): this cut.

Intentionally unchanged wire contracts (they migrate in their own dedicated releases): the MCP server ids (clawdnd-engine/rules/voice/player) and the dev.clawdnd.app bundle id.

Also folded in since 1.0.2 — OpenWorlds UI-audit fixes: platform-aware title bar (#260), Browse-spellbook CTA + modal (#268), the 12-slot canonical paper-doll (#271), the camp rest action (#282), and the canon-NPC reverse-picker — axe-core 0 across 18 screens. Player-bind correctness: the PC is now always a real canon NPC (load_canon_character(kind="player")), never invented, with the kind="player" ⇒ in-party engine invariant (#162).

Engine 1511 + viewer 146 + voice 17 + rules 16 + axe 0 + license-check green; SwiftPM build clean.

Full details in CHANGELOG.md.

ClawDnD v1.0.2 — OpenWorlds graphics-release burndown

29 May 09:27

Choose a tag to compare

Internal release. Drives the page-by-page OpenWorlds UI audit (epic #242, Phase 5) into the product.

Highlights

  • Accessibility: axe-core 11 → 0 across all 16 screens (focusable scroll regions #291 + seed textarea label #292); health-check --axe baseline locked at 0.
  • Item art that silently 404'd now renders — Character/Forge/Merchant used an undefined window.slug; defined it + wired the Character equipped block (#270).
  • Title-bar/nav-rail overlap fixed on every screen (#260, platform-aware).
  • Demo-world leaks removed — Bestiary "THE MARCHES"→"Sword Coast" (#262/#263), Forge ledger (#264); Create race/class/portrait art wired (#265).
  • Engine play-loop fixeskind="player" always in party (invariant); update_character skills/expertise aliases; auto-hit spells via cast_spell.
  • Proactive QA gatesno_rejected_tool_calls + xp_awarded_on_progression (FATAL) + caster_has_spellbook + quest_objectives_progress (WARN). Combat-fidelity 3.0→3.7.

Engine 1435 + viewer 86 + axe 0 + license-check green. Native app builds clean + codesign valid. Full notes in CHANGELOG.md.