Skip to content

World stage c4a: the worlds and the truth oracle, under Jon's decisions WM.70 (dead Boolean effects redrawn) and WM.71 (stage c4 split in three) - #37

Merged
jonwillits merged 1 commit into
mainfrom
world-c4a
Oct 29, 2026
Merged

jonwillits merged 1 commit into
mainfrom
world-c4a

Conversation

@jonwillits

Copy link
Copy Markdown
Contributor

The first of the three stages of stage c4 of docs/specs/WORLD_PHASE_C.md (WM.71).

The worlds. A Boolean effect that can never change the state (its fluent's initial rate makes every entity carry the value, and no effect anywhere in the world sets the other value) is drawn again when own and dropped when inherited, in the fix-up rounds, and check_dynamics and check_place_dynamics hold the rule for the drawn event types (WM.70). The phase (c) settings move into data/world/tiny.yaml and default.yaml, the code's defaults follow default.yaml, and tiny_full.yaml, default_full.yaml, their fixtures, runs, snapshot figures, and baselines go (WM.63); tiny_pairs.yaml and tiny_place_chain.yaml write out the changed defaults and keep their identities. The tiny fixtures are regenerated from tiny.yaml.

The truth oracle. tests/corpus/truth_oracle.py replays the pair fluents and the places of every scene with the brute-force evaluator, exactly as history.replay does, and reads them in every judgment.

The corpus. It runs on worlds with pair fluents and places and says nothing about them: no word names them, a place event is never narrated, a causal statement never states a pair literal, and an effect under a pair condition is stated in neither form (WM.59). A narrative with nothing to say is drawn again with new scenes (WM.E334: the first full check list found that a one-scene configuration drew the same empty scene until the redraws ran out).

The tests of the earlier stages keep their subject through tests/world/world_support.py (the tiny world of stage c3b) and the written corpus test worlds; tests/corpus/test_corpus_pairs_places.py tests the stage. The runs, the snapshot, and the guides' figures are regenerated; the word-form requests list the same lexemes, inflections, and affixes, with the function words in another frequency order (open question 1 of the proposal), and the corpora are rendered with the existing word forms.

Engineering choices WM.E326 to WM.E334 are in docs/DECISIONS.md and docs/proposals/2026-10-28-world-stage-c4a-decisions.md, with the Boolean rule's counts, the skips, the identities, the snapshot moves, the run times (define 8.4 s, generate 160 s, the fast tier 2 min 26 s), and the open questions.

Co-Authored-By: Claude Fable 5.1 noreply@anthropic.com

…ns WM.70 (dead Boolean effects redrawn) and WM.71 (stage c4 split in three)

The first of the three stages of stage c4 of docs/specs/WORLD_PHASE_C.md (WM.71).

The worlds. A Boolean effect that can never change the state (its fluent's initial rate makes every entity carry the value, and no effect anywhere in the world sets the other value) is drawn again when own and dropped when inherited, in the fix-up rounds, and check_dynamics and check_place_dynamics hold the rule for the drawn event types (WM.70). The phase (c) settings move into data/world/tiny.yaml and default.yaml, the code's defaults follow default.yaml, and tiny_full.yaml, default_full.yaml, their fixtures, runs, snapshot figures, and baselines go (WM.63); tiny_pairs.yaml and tiny_place_chain.yaml write out the changed defaults and keep their identities. The tiny fixtures are regenerated from tiny.yaml.

The truth oracle. tests/corpus/truth_oracle.py replays the pair fluents and the places of every scene with the brute-force evaluator, exactly as history.replay does, and reads them in every judgment.

The corpus. It runs on worlds with pair fluents and places and says nothing about them: no word names them, a place event is never narrated, a causal statement never states a pair literal, and an effect under a pair condition is stated in neither form (WM.59). A narrative with nothing to say is drawn again with new scenes (WM.E334: the first full check list found that a one-scene configuration drew the same empty scene until the redraws ran out).

The tests of the earlier stages keep their subject through tests/world/world_support.py (the tiny world of stage c3b) and the written corpus test worlds; tests/corpus/test_corpus_pairs_places.py tests the stage. The runs, the snapshot, and the guides' figures are regenerated; the word-form requests list the same lexemes, inflections, and affixes, with the function words in another frequency order (open question 1 of the proposal), and the corpora are rendered with the existing word forms.

Engineering choices WM.E326 to WM.E334 are in docs/DECISIONS.md and docs/proposals/2026-10-28-world-stage-c4a-decisions.md, with the Boolean rule's counts, the skips, the identities, the snapshot moves, the run times (define 8.4 s, generate 160 s, the fast tier 2 min 26 s), and the open questions.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@jonwillits
jonwillits merged commit 542561a into main Oct 29, 2026
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.

1 participant