Skip to content

World stage c1: places (the static side), after the rounding of drawn reals (WM.60) - #32

Merged
jonwillits merged 1 commit into
mainfrom
world-c1
Oct 21, 2026
Merged

jonwillits merged 1 commit into
mainfrom
world-c1

Conversation

@jonwillits

Copy link
Copy Markdown
Contributor

Item 1, Jon's ruling WM.60: every real the world draws and stores is rounded to 4 decimals
when drawn (a numeric fluent's drift, each entity's initial value of a numeric fluent, a numeric
effect's constant), so the same seed gives the same world on an ARM and an x86 machine. The
tiny and default worlds changed once (tiny 6834c215f732, default cc1e27fac819 with places off);
the tiny fixtures were regenerated, the hand-written ones did not change.

Stage c1 of docs/specs/WORLD_PHASE_C.md:

  • the taxonomy's labels.kind (entity | place): a Labels record, Threshold.prefix, and
    FeatureSet.scalar_prefix; the entity outputs are byte-identical (golden hashes unchanged);
  • data/taxonomy/places_default.yaml (12 places) and places_tiny.yaml (4 places);
  • the world's places and place_event_types blocks, the streams world:places and
    world:place_event_types after every earlier stream, the second taxonomy run in memory
    (places/ and places.csv), and places: null as the off setting (the places_off baseline);
  • place event types PLACEEVENTTYPE. with requirements over the agent's and the place's
    features (the constraint sampler over two pools; CONSTRAINT.PLACEEVENTTYPE..), redrawn
    when degenerate over the world's bindings; no preconditions or effects in this stage;
  • the definition's place and place_binding scopes and place symbol kinds, with the agreement
    test over every place and every entity-and-place binding; the runtime's able and
    legal_bindings over places, apply refusing a place event; the fixtures' places table and the
    brute-force evaluator over places;
  • EVERYPLACE and the place comparison classes, with mixed comparisons refused;
  • CAN.PLACEEVENTTYPE in capacities.csv and CANBE.PLACEEVENTTYPE in place_capacities.csv, the
    place rows of relation_proportions.csv and event_type_stats.csv, the places block of
    world_stats.yaml, and view --places;
  • tests: test_world_rounding.py, test_world_places.py, test_taxonomy_labels.py, and the world
    tests updated for the performable event types, the places table, and the new columns.

Runs regenerated (the b3b folders moved aside as *_pre_c1); the snapshot rewritten with every
baseline and the new places_off; the guides' figures rewritten by the script. The corpora
changed only through item 1 (documents identical with places on and off); the word forms were
not remade (the requests are unchanged), and both corpora were rendered.

Documents: docs/proposals/2026-10-16-world-stage-c1-decisions.md; WM.60 and WM.E240 to
WM.E255 in docs/DECISIONS.md; as-built notes in WORLD_PHASE_C.md and WORLD_AND_LANGUAGE.md;
WORLD.md, TAXONOMY.md, docs/guides/README.md, CLAUDE.md, and the fixtures' README.

Default world 6.4 s (6.3 s in b3b), default corpus 134 s (141 s in b3b).

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

… reals (WM.60)

Item 1, Jon's ruling WM.60: every real the world draws and stores is rounded to 4 decimals
when drawn (a numeric fluent's drift, each entity's initial value of a numeric fluent, a numeric
effect's constant), so the same seed gives the same world on an ARM and an x86 machine. The
tiny and default worlds changed once (tiny 6834c215f732, default cc1e27fac819 with places off);
the tiny fixtures were regenerated, the hand-written ones did not change.

Stage c1 of docs/specs/WORLD_PHASE_C.md:
- the taxonomy's labels.kind (entity | place): a Labels record, Threshold.prefix, and
  FeatureSet.scalar_prefix; the entity outputs are byte-identical (golden hashes unchanged);
- data/taxonomy/places_default.yaml (12 places) and places_tiny.yaml (4 places);
- the world's places and place_event_types blocks, the streams world:places and
  world:place_event_types after every earlier stream, the second taxonomy run in memory
  (places/ and places.csv), and places: null as the off setting (the places_off baseline);
- place event types PLACEEVENTTYPE.<n> with requirements over the agent's and the place's
  features (the constraint sampler over two pools; CONSTRAINT.PLACEEVENTTYPE.<n>.<k>), redrawn
  when degenerate over the world's bindings; no preconditions or effects in this stage;
- the definition's place and place_binding scopes and place symbol kinds, with the agreement
  test over every place and every entity-and-place binding; the runtime's able and
  legal_bindings over places, apply refusing a place event; the fixtures' places table and the
  brute-force evaluator over places;
- EVERYPLACE and the place comparison classes, with mixed comparisons refused;
- CAN.PLACEEVENTTYPE in capacities.csv and CANBE.PLACEEVENTTYPE in place_capacities.csv, the
  place rows of relation_proportions.csv and event_type_stats.csv, the places block of
  world_stats.yaml, and view --places;
- tests: test_world_rounding.py, test_world_places.py, test_taxonomy_labels.py, and the world
  tests updated for the performable event types, the places table, and the new columns.

Runs regenerated (the b3b folders moved aside as *_pre_c1); the snapshot rewritten with every
baseline and the new places_off; the guides' figures rewritten by the script. The corpora
changed only through item 1 (documents identical with places on and off); the word forms were
not remade (the requests are unchanged), and both corpora were rendered.

Documents: docs/proposals/2026-10-16-world-stage-c1-decisions.md; WM.60 and WM.E240 to
WM.E255 in docs/DECISIONS.md; as-built notes in WORLD_PHASE_C.md and WORLD_AND_LANGUAGE.md;
WORLD.md, TAXONOMY.md, docs/guides/README.md, CLAUDE.md, and the fixtures' README.

Default world 6.4 s (6.3 s in b3b), default corpus 134 s (141 s in b3b).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@jonwillits
jonwillits merged commit a8e5046 into main Oct 21, 2026
1 check failed
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