TAP version 13
# Subtest: same seed, same plan; another seed, another plan
ok 1 - same seed, same plan; another seed, another plan
  ---
  duration_ms: 8467.884766
  ...
# Subtest: hamlet on plain: plots do not overlap plots, roads, squares or water; each touches its road
ok 2 - hamlet on plain: plots do not overlap plots, roads, squares or water; each touches its road
  ---
  duration_ms: 6607.574003
  ...
# Subtest: hamlet on plain: building count, plinth and party rules
ok 3 - hamlet on plain: building count, plinth and party rules
  ---
  duration_ms: 2.902372
  ...
# Subtest: hamlet on river: plots do not overlap plots, roads, squares or water; each touches its road
ok 4 - hamlet on river: plots do not overlap plots, roads, squares or water; each touches its road
  ---
  duration_ms: 5469.086256
  ...
# Subtest: hamlet on river: building count, plinth and party rules
ok 5 - hamlet on river: building count, plinth and party rules
  ---
  duration_ms: 4.271437
  ...
# Subtest: hamlet on crossroads: plots do not overlap plots, roads, squares or water; each touches its road
ok 6 - hamlet on crossroads: plots do not overlap plots, roads, squares or water; each touches its road
  ---
  duration_ms: 6062.586771
  ...
# Subtest: hamlet on crossroads: building count, plinth and party rules
ok 7 - hamlet on crossroads: building count, plinth and party rules
  ---
  duration_ms: 1.491067
  ...
# Subtest: hamlet on hill: plots do not overlap plots, roads, squares or water; each touches its road
ok 8 - hamlet on hill: plots do not overlap plots, roads, squares or water; each touches its road
  ---
  duration_ms: 10646.205644
  ...
# Subtest: hamlet on hill: building count, plinth and party rules
ok 9 - hamlet on hill: building count, plinth and party rules
  ---
  duration_ms: 1.984155
  ...
# Subtest: hamlet on spur: plots do not overlap plots, roads, squares or water; each touches its road
ok 10 - hamlet on spur: plots do not overlap plots, roads, squares or water; each touches its road
  ---
  duration_ms: 7709.389741
  ...
# Subtest: hamlet on spur: building count, plinth and party rules
ok 11 - hamlet on spur: building count, plinth and party rules
  ---
  duration_ms: 1.759311
  ...
# Subtest: hamlet on coast: plots do not overlap plots, roads, squares or water; each touches its road
ok 12 - hamlet on coast: plots do not overlap plots, roads, squares or water; each touches its road
  ---
  duration_ms: 5480.061026
  ...
# Subtest: hamlet on coast: building count, plinth and party rules
ok 13 - hamlet on coast: building count, plinth and party rules
  ---
  duration_ms: 1.372025
  ...
# Subtest: village on plain: plots do not overlap plots, roads, squares or water; each touches its road
ok 14 - village on plain: plots do not overlap plots, roads, squares or water; each touches its road
  ---
  duration_ms: 52317.894792
  ...
# Subtest: village on plain: building count, plinth and party rules
ok 15 - village on plain: building count, plinth and party rules
  ---
  duration_ms: 6.066949
  ...
# Subtest: village on river: plots do not overlap plots, roads, squares or water; each touches its road
ok 16 - village on river: plots do not overlap plots, roads, squares or water; each touches its road
  ---
  duration_ms: 44229.933262
  ...
# Subtest: village on river: building count, plinth and party rules
ok 17 - village on river: building count, plinth and party rules
  ---
  duration_ms: 3.387261
  ...
# Subtest: village on crossroads: plots do not overlap plots, roads, squares or water; each touches its road
ok 18 - village on crossroads: plots do not overlap plots, roads, squares or water; each touches its road
  ---
  duration_ms: 60250.912118
  ...
# Subtest: village on crossroads: building count, plinth and party rules
ok 19 - village on crossroads: building count, plinth and party rules
  ---
  duration_ms: 4.840008
  ...
# Subtest: village on hill: plots do not overlap plots, roads, squares or water; each touches its road
not ok 20 - village on hill: plots do not overlap plots, roads, squares or water; each touches its road
  ---
  duration_ms: 43742.869164
  location: '/home/claude-agent/forge-build/forge-assets/.forge-worktrees/1791495173-9ed74d/omg/kit/building/test/settlement.test.mjs:54:3'
  failureType: 'testCodeFailure'
  error: 'village/hill/seed 1: p0 front is 4.5 m from its road'
  code: 'ERR_ASSERTION'
  name: 'AssertionError'
  expected: true
  actual: false
  operator: '=='
  stack: |-
    TestContext.<anonymous> (file:///home/claude-agent/forge-build/forge-assets/.forge-worktrees/1791495173-9ed74d/omg/kit/building/test/settlement.test.mjs:69:16)
    Test.runInAsyncScope (node:async_hooks:206:9)
    Test.run (node:internal/test_runner/test:796:25)
    Test.processPendingSubtests (node:internal/test_runner/test:526:18)
    Test.postRun (node:internal/test_runner/test:889:19)
    Test.run (node:internal/test_runner/test:835:12)
    async Test.processPendingSubtests (node:internal/test_runner/test:526:7)
  ...
# Subtest: village on hill: building count, plinth and party rules
ok 21 - village on hill: building count, plinth and party rules
  ---
  duration_ms: 4.492361
  ...
# Subtest: village on spur: plots do not overlap plots, roads, squares or water; each touches its road
not ok 22 - village on spur: plots do not overlap plots, roads, squares or water; each touches its road
  ---
  duration_ms: 32529.168494
  location: '/home/claude-agent/forge-build/forge-assets/.forge-worktrees/1791495173-9ed74d/omg/kit/building/test/settlement.test.mjs:54:3'
  failureType: 'testCodeFailure'
  error: 'village/spur/seed 3: p1 front is 3.1 m from its road'
  code: 'ERR_ASSERTION'
  name: 'AssertionError'
  expected: true
  actual: false
  operator: '=='
  stack: |-
    TestContext.<anonymous> (file:///home/claude-agent/forge-build/forge-assets/.forge-worktrees/1791495173-9ed74d/omg/kit/building/test/settlement.test.mjs:69:16)
    Test.runInAsyncScope (node:async_hooks:206:9)
    Test.run (node:internal/test_runner/test:796:25)
    Test.processPendingSubtests (node:internal/test_runner/test:526:18)
    Test.postRun (node:internal/test_runner/test:889:19)
    Test.run (node:internal/test_runner/test:835:12)
    async Test.processPendingSubtests (node:internal/test_runner/test:526:7)
  ...
# Subtest: village on spur: building count, plinth and party rules
ok 23 - village on spur: building count, plinth and party rules
  ---
  duration_ms: 5.921907
  ...
# Subtest: village on coast: plots do not overlap plots, roads, squares or water; each touches its road
not ok 24 - village on coast: plots do not overlap plots, roads, squares or water; each touches its road
  ---
  duration_ms: 25887.763735
  location: '/home/claude-agent/forge-build/forge-assets/.forge-worktrees/1791495173-9ed74d/omg/kit/building/test/settlement.test.mjs:54:3'
  failureType: 'testCodeFailure'
  error: 'village/coast/seed 2: p1 front is 3.5 m from its road'
  code: 'ERR_ASSERTION'
  name: 'AssertionError'
  expected: true
  actual: false
  operator: '=='
  stack: |-
    TestContext.<anonymous> (file:///home/claude-agent/forge-build/forge-assets/.forge-worktrees/1791495173-9ed74d/omg/kit/building/test/settlement.test.mjs:69:16)
    Test.runInAsyncScope (node:async_hooks:206:9)
    Test.run (node:internal/test_runner/test:796:25)
    Test.processPendingSubtests (node:internal/test_runner/test:526:18)
    Test.postRun (node:internal/test_runner/test:889:19)
    Test.run (node:internal/test_runner/test:835:12)
    async Test.processPendingSubtests (node:internal/test_runner/test:526:7)
  ...
# Subtest: village on coast: building count, plinth and party rules
ok 25 - village on coast: building count, plinth and party rules
  ---
  duration_ms: 6.700162
  ...
# Subtest: town on plain: plots do not overlap plots, roads, squares or water; each touches its road
not ok 26 - town on plain: plots do not overlap plots, roads, squares or water; each touches its road
  ---
  duration_ms: 43928.927715
  location: '/home/claude-agent/forge-build/forge-assets/.forge-worktrees/1791495173-9ed74d/omg/kit/building/test/settlement.test.mjs:54:3'
  failureType: 'testCodeFailure'
  error: 'town/plain/seed 1: p0 front is 6.4 m from its road'
  code: 'ERR_ASSERTION'
  name: 'AssertionError'
  expected: true
  actual: false
  operator: '=='
  stack: |-
    TestContext.<anonymous> (file:///home/claude-agent/forge-build/forge-assets/.forge-worktrees/1791495173-9ed74d/omg/kit/building/test/settlement.test.mjs:69:16)
    Test.runInAsyncScope (node:async_hooks:206:9)
    Test.run (node:internal/test_runner/test:796:25)
    Test.processPendingSubtests (node:internal/test_runner/test:526:18)
    Test.postRun (node:internal/test_runner/test:889:19)
    Test.run (node:internal/test_runner/test:835:12)
    async Test.processPendingSubtests (node:internal/test_runner/test:526:7)
  ...
# Subtest: town on plain: building count, plinth and party rules
ok 27 - town on plain: building count, plinth and party rules
  ---
  duration_ms: 6.366916
  ...
# Subtest: town on river: plots do not overlap plots, roads, squares or water; each touches its road
not ok 28 - town on river: plots do not overlap plots, roads, squares or water; each touches its road
  ---
  duration_ms: 47798.601326
  location: '/home/claude-agent/forge-build/forge-assets/.forge-worktrees/1791495173-9ed74d/omg/kit/building/test/settlement.test.mjs:54:3'
  failureType: 'testCodeFailure'
  error: 'town/river/seed 11: p0 front is 3.7 m from its road'
  code: 'ERR_ASSERTION'
  name: 'AssertionError'
  expected: true
  actual: false
  operator: '=='
  stack: |-
    TestContext.<anonymous> (file:///home/claude-agent/forge-build/forge-assets/.forge-worktrees/1791495173-9ed74d/omg/kit/building/test/settlement.test.mjs:69:16)
    Test.runInAsyncScope (node:async_hooks:206:9)
    Test.run (node:internal/test_runner/test:796:25)
    Test.processPendingSubtests (node:internal/test_runner/test:526:18)
    Test.postRun (node:internal/test_runner/test:889:19)
    Test.run (node:internal/test_runner/test:835:12)
    async Test.processPendingSubtests (node:internal/test_runner/test:526:7)
  ...
# Subtest: town on river: building count, plinth and party rules
ok 29 - town on river: building count, plinth and party rules
  ---
  duration_ms: 6.087552
  ...
# Subtest: town on crossroads: plots do not overlap plots, roads, squares or water; each touches its road
ok 30 - town on crossroads: plots do not overlap plots, roads, squares or water; each touches its road
  ---
  duration_ms: 85428.648917
  ...
# Subtest: town on crossroads: building count, plinth and party rules
ok 31 - town on crossroads: building count, plinth and party rules
  ---
  duration_ms: 4.589965
  ...
# Subtest: town on hill: plots do not overlap plots, roads, squares or water; each touches its road
not ok 32 - town on hill: plots do not overlap plots, roads, squares or water; each touches its road
  ---
  duration_ms: 71750.636241
  location: '/home/claude-agent/forge-build/forge-assets/.forge-worktrees/1791495173-9ed74d/omg/kit/building/test/settlement.test.mjs:54:3'
  failureType: 'testCodeFailure'
  error: 'town/hill/seed 1: p0 front is 5.4 m from its road'
  code: 'ERR_ASSERTION'
  name: 'AssertionError'
  expected: true
  actual: false
  operator: '=='
  stack: |-
    TestContext.<anonymous> (file:///home/claude-agent/forge-build/forge-assets/.forge-worktrees/1791495173-9ed74d/omg/kit/building/test/settlement.test.mjs:69:16)
    Test.runInAsyncScope (node:async_hooks:206:9)
    Test.run (node:internal/test_runner/test:796:25)
    Test.processPendingSubtests (node:internal/test_runner/test:526:18)
    Test.postRun (node:internal/test_runner/test:889:19)
    Test.run (node:internal/test_runner/test:835:12)
    async Test.processPendingSubtests (node:internal/test_runner/test:526:7)
  ...
# Subtest: town on hill: building count, plinth and party rules
ok 33 - town on hill: building count, plinth and party rules
  ---
  duration_ms: 3.919592
  ...
# Subtest: town on spur: plots do not overlap plots, roads, squares or water; each touches its road
not ok 34 - town on spur: plots do not overlap plots, roads, squares or water; each touches its road
  ---
  duration_ms: 55829.680799
  location: '/home/claude-agent/forge-build/forge-assets/.forge-worktrees/1791495173-9ed74d/omg/kit/building/test/settlement.test.mjs:54:3'
  failureType: 'testCodeFailure'
  error: 'town/spur/seed 1: p0 front is 5.5 m from its road'
  code: 'ERR_ASSERTION'
  name: 'AssertionError'
  expected: true
  actual: false
  operator: '=='
  stack: |-
    TestContext.<anonymous> (file:///home/claude-agent/forge-build/forge-assets/.forge-worktrees/1791495173-9ed74d/omg/kit/building/test/settlement.test.mjs:69:16)
    Test.runInAsyncScope (node:async_hooks:206:9)
    Test.run (node:internal/test_runner/test:796:25)
    Test.processPendingSubtests (node:internal/test_runner/test:526:18)
    Test.postRun (node:internal/test_runner/test:889:19)
    Test.run (node:internal/test_runner/test:835:12)
    async Test.processPendingSubtests (node:internal/test_runner/test:526:7)
  ...
# Subtest: town on spur: building count, plinth and party rules
ok 35 - town on spur: building count, plinth and party rules
  ---
  duration_ms: 4.089636
  ...
# Subtest: town on coast: plots do not overlap plots, roads, squares or water; each touches its road
not ok 36 - town on coast: plots do not overlap plots, roads, squares or water; each touches its road
  ---
  duration_ms: 36598.188082
  location: '/home/claude-agent/forge-build/forge-assets/.forge-worktrees/1791495173-9ed74d/omg/kit/building/test/settlement.test.mjs:54:3'
  failureType: 'testCodeFailure'
  error: 'town/coast/seed 1: p0 front is 5.4 m from its road'
  code: 'ERR_ASSERTION'
  name: 'AssertionError'
  expected: true
  actual: false
  operator: '=='
  stack: |-
    TestContext.<anonymous> (file:///home/claude-agent/forge-build/forge-assets/.forge-worktrees/1791495173-9ed74d/omg/kit/building/test/settlement.test.mjs:69:16)
    Test.runInAsyncScope (node:async_hooks:206:9)
    Test.run (node:internal/test_runner/test:796:25)
    Test.processPendingSubtests (node:internal/test_runner/test:526:18)
    Test.postRun (node:internal/test_runner/test:889:19)
    Test.run (node:internal/test_runner/test:835:12)
    async Test.processPendingSubtests (node:internal/test_runner/test:526:7)
  ...
# Subtest: town on coast: building count, plinth and party rules
ok 37 - town on coast: building count, plinth and party rules
  ---
  duration_ms: 5.586103
  ...
# Subtest: city on plain: plots do not overlap plots, roads, squares or water; each touches its road
not ok 38 - city on plain: plots do not overlap plots, roads, squares or water; each touches its road
  ---
  duration_ms: 42018.248188
  location: '/home/claude-agent/forge-build/forge-assets/.forge-worktrees/1791495173-9ed74d/omg/kit/building/test/settlement.test.mjs:54:3'
  failureType: 'testCodeFailure'
  error: 'city/plain/seed 1: p0 front is 6.2 m from its road'
  code: 'ERR_ASSERTION'
  name: 'AssertionError'
  expected: true
  actual: false
  operator: '=='
  stack: |-
    TestContext.<anonymous> (file:///home/claude-agent/forge-build/forge-assets/.forge-worktrees/1791495173-9ed74d/omg/kit/building/test/settlement.test.mjs:69:16)
    Test.runInAsyncScope (node:async_hooks:206:9)
    Test.run (node:internal/test_runner/test:796:25)
    Test.processPendingSubtests (node:internal/test_runner/test:526:18)
    Test.postRun (node:internal/test_runner/test:889:19)
    Test.run (node:internal/test_runner/test:835:12)
    async Test.processPendingSubtests (node:internal/test_runner/test:526:7)
  ...
# Subtest: city on plain: building count, plinth and party rules
ok 39 - city on plain: building count, plinth and party rules
  ---
  duration_ms: 4.235918
  ...
# Subtest: city on river: plots do not overlap plots, roads, squares or water; each touches its road
not ok 40 - city on river: plots do not overlap plots, roads, squares or water; each touches its road
  ---
  duration_ms: 36405.391792
  location: '/home/claude-agent/forge-build/forge-assets/.forge-worktrees/1791495173-9ed74d/omg/kit/building/test/settlement.test.mjs:54:3'
  failureType: 'testCodeFailure'
  error: 'city/river/seed 1: L0 (cathedral) covers road r4'
  code: 'ERR_ASSERTION'
  name: 'AssertionError'
  expected: true
  actual: false
  operator: '=='
  stack: |-
    TestContext.<anonymous> (file:///home/claude-agent/forge-build/forge-assets/.forge-worktrees/1791495173-9ed74d/omg/kit/building/test/settlement.test.mjs:62:171)
    Test.runInAsyncScope (node:async_hooks:206:9)
    Test.run (node:internal/test_runner/test:796:25)
    Test.processPendingSubtests (node:internal/test_runner/test:526:18)
    Test.postRun (node:internal/test_runner/test:889:19)
    Test.run (node:internal/test_runner/test:835:12)
    async Test.processPendingSubtests (node:internal/test_runner/test:526:7)
  ...
# Subtest: city on river: building count, plinth and party rules
ok 41 - city on river: building count, plinth and party rules
  ---
  duration_ms: 3.374423
  ...
# Subtest: city on crossroads: plots do not overlap plots, roads, squares or water; each touches its road
not ok 42 - city on crossroads: plots do not overlap plots, roads, squares or water; each touches its road
  ---
  duration_ms: 52454.823813
  location: '/home/claude-agent/forge-build/forge-assets/.forge-worktrees/1791495173-9ed74d/omg/kit/building/test/settlement.test.mjs:54:3'
  failureType: 'testCodeFailure'
  error: 'city/crossroads/seed 1: L0 (cathedral) covers road r5'
  code: 'ERR_ASSERTION'
  name: 'AssertionError'
  expected: true
  actual: false
  operator: '=='
  stack: |-
    TestContext.<anonymous> (file:///home/claude-agent/forge-build/forge-assets/.forge-worktrees/1791495173-9ed74d/omg/kit/building/test/settlement.test.mjs:62:171)
    Test.runInAsyncScope (node:async_hooks:206:9)
    Test.run (node:internal/test_runner/test:796:25)
    Test.processPendingSubtests (node:internal/test_runner/test:526:18)
    Test.postRun (node:internal/test_runner/test:889:19)
    Test.run (node:internal/test_runner/test:835:12)
    async Test.processPendingSubtests (node:internal/test_runner/test:526:7)
  ...
# Subtest: city on crossroads: building count, plinth and party rules
ok 43 - city on crossroads: building count, plinth and party rules
  ---
  duration_ms: 3.947834
  ...
# Subtest: city on hill: plots do not overlap plots, roads, squares or water; each touches its road
not ok 44 - city on hill: plots do not overlap plots, roads, squares or water; each touches its road
  ---
  duration_ms: 83149.285324
  location: '/home/claude-agent/forge-build/forge-assets/.forge-worktrees/1791495173-9ed74d/omg/kit/building/test/settlement.test.mjs:54:3'
  failureType: 'testCodeFailure'
  error: 'city/hill/seed 2: p0 front is 6.9 m from its road'
  code: 'ERR_ASSERTION'
  name: 'AssertionError'
  expected: true
  actual: false
  operator: '=='
  stack: |-
    TestContext.<anonymous> (file:///home/claude-agent/forge-build/forge-assets/.forge-worktrees/1791495173-9ed74d/omg/kit/building/test/settlement.test.mjs:69:16)
    Test.runInAsyncScope (node:async_hooks:206:9)
    Test.run (node:internal/test_runner/test:796:25)
    Test.processPendingSubtests (node:internal/test_runner/test:526:18)
    Test.postRun (node:internal/test_runner/test:889:19)
    Test.run (node:internal/test_runner/test:835:12)
    async Test.processPendingSubtests (node:internal/test_runner/test:526:7)
  ...
# Subtest: city on hill: building count, plinth and party rules
ok 45 - city on hill: building count, plinth and party rules
  ---
  duration_ms: 2.941734
  ...
# Subtest: city on spur: plots do not overlap plots, roads, squares or water; each touches its road
not ok 46 - city on spur: plots do not overlap plots, roads, squares or water; each touches its road
  ---
  duration_ms: 38836.041736
  location: '/home/claude-agent/forge-build/forge-assets/.forge-worktrees/1791495173-9ed74d/omg/kit/building/test/settlement.test.mjs:54:3'
  failureType: 'testCodeFailure'
  error: 'city/spur/seed 1: p0 front is 6.1 m from its road'
  code: 'ERR_ASSERTION'
  name: 'AssertionError'
  expected: true
  actual: false
  operator: '=='
  stack: |-
    TestContext.<anonymous> (file:///home/claude-agent/forge-build/forge-assets/.forge-worktrees/1791495173-9ed74d/omg/kit/building/test/settlement.test.mjs:69:16)
    Test.runInAsyncScope (node:async_hooks:206:9)
    Test.run (node:internal/test_runner/test:796:25)
    Test.processPendingSubtests (node:internal/test_runner/test:526:18)
    Test.postRun (node:internal/test_runner/test:889:19)
    Test.run (node:internal/test_runner/test:835:12)
    async Test.processPendingSubtests (node:internal/test_runner/test:526:7)
  ...
# Subtest: city on spur: building count, plinth and party rules
ok 47 - city on spur: building count, plinth and party rules
  ---
  duration_ms: 2.731891
  ...
# Subtest: city on coast: plots do not overlap plots, roads, squares or water; each touches its road
not ok 48 - city on coast: plots do not overlap plots, roads, squares or water; each touches its road
  ---
  duration_ms: 32802.775386
  location: '/home/claude-agent/forge-build/forge-assets/.forge-worktrees/1791495173-9ed74d/omg/kit/building/test/settlement.test.mjs:54:3'
  failureType: 'testCodeFailure'
  error: 'city/coast/seed 1: p0 front is 6.1 m from its road'
  code: 'ERR_ASSERTION'
  name: 'AssertionError'
  expected: true
  actual: false
  operator: '=='
  stack: |-
    TestContext.<anonymous> (file:///home/claude-agent/forge-build/forge-assets/.forge-worktrees/1791495173-9ed74d/omg/kit/building/test/settlement.test.mjs:69:16)
    Test.runInAsyncScope (node:async_hooks:206:9)
    Test.run (node:internal/test_runner/test:796:25)
    Test.processPendingSubtests (node:internal/test_runner/test:526:18)
    Test.postRun (node:internal/test_runner/test:889:19)
    Test.run (node:internal/test_runner/test:835:12)
    async Test.processPendingSubtests (node:internal/test_runner/test:526:7)
  ...
# Subtest: city on coast: building count, plinth and party rules
ok 49 - city on coast: building count, plinth and party rules
  ---
  duration_ms: 4.378162
  ...
# Subtest: trades stand where the law puts them
not ok 50 - trades stand where the law puts them
  ---
  duration_ms: 11.232808
  location: '/home/claude-agent/forge-build/forge-assets/.forge-worktrees/1791495173-9ed74d/omg/kit/building/test/settlement.test.mjs:90:1'
  failureType: 'testCodeFailure'
  error: 'village/river/seed 3: bakery far from the square'
  code: 'ERR_ASSERTION'
  name: 'AssertionError'
  expected: true
  actual: false
  operator: '=='
  stack: |-
    TestContext.<anonymous> (file:///home/claude-agent/forge-build/forge-assets/.forge-worktrees/1791495173-9ed74d/omg/kit/building/test/settlement.test.mjs:99:36)
    Test.runInAsyncScope (node:async_hooks:206:9)
    Test.run (node:internal/test_runner/test:796:25)
    Test.processPendingSubtests (node:internal/test_runner/test:526:18)
    Test.postRun (node:internal/test_runner/test:889:19)
    Test.run (node:internal/test_runner/test:835:12)
    async Test.processPendingSubtests (node:internal/test_runner/test:526:7)
  ...
# Subtest: the church crowns the high point on hills and spurs, and faces east on the square elsewhere
not ok 51 - the church crowns the high point on hills and spurs, and faces east on the square elsewhere
  ---
  duration_ms: 4.468483
  location: '/home/claude-agent/forge-build/forge-assets/.forge-worktrees/1791495173-9ed74d/omg/kit/building/test/settlement.test.mjs:107:1'
  failureType: 'testCodeFailure'
  error: 'village/river/seed 1: church is not east of the square'
  code: 'ERR_ASSERTION'
  name: 'AssertionError'
  expected: true
  actual: false
  operator: '=='
  stack: |-
    TestContext.<anonymous> (file:///home/claude-agent/forge-build/forge-assets/.forge-worktrees/1791495173-9ed74d/omg/kit/building/test/settlement.test.mjs:118:14)
    Test.runInAsyncScope (node:async_hooks:206:9)
    Test.run (node:internal/test_runner/test:796:25)
    Test.processPendingSubtests (node:internal/test_runner/test:526:18)
    Test.postRun (node:internal/test_runner/test:889:19)
    Test.run (node:internal/test_runner/test:835:12)
    async Test.processPendingSubtests (node:internal/test_runner/test:526:7)
  ...
# Subtest: walls: gates sit on main roads, towers every 40-60 m, none on villages
ok 52 - walls: gates sit on main roads, towers every 40-60 m, none on villages
  ---
  duration_ms: 143.361502
  ...
# Subtest: hills: ridges run parallel to the contours; the plinth carries the drop
ok 53 - hills: ridges run parallel to the contours; the plinth carries the drop
  ---
  duration_ms: 2142.291388
  ...
# Subtest: a game-given heightAt skips the generated terrain
ok 54 - a game-given heightAt skips the generated terrain
  ---
  duration_ms: 777.942368
  ...
1..54
# tests 54
# suites 0
# pass 38
# fail 16
# cancelled 0
# skipped 0
# todo 0
# duration_ms 941369.277668
