{
  "input_hash": "95f069b48d72b80e5232663de3b6cd8d2d95a5746d7c7619dc38338206a0bb76",
  "output_hash": "8ac052b6ef649fc905944e9836bca28e92eb859bf3b193a8d2860b167cdd6f70",
  "output": {
    "state": {
      "schema_version": "sim-1.0.0",
      "record_id": "saltwind-sound-01-state",
      "record_status": "SIMULATION",
      "source": {
        "kind": "INITIALIZATION",
        "campaign_id": "saltwind-sound-01",
        "turn_id": "turn-001",
        "notes": "Fresh synthetic Saltwind initialization under explicit GM simulation authorization; no historical campaign imports."
      },
      "generation": {
        "source_version": "saltwind-sound-01-turn-002",
        "generated_at": "2026-09-07T17:40:28.065Z",
        "tool_version": "simulation-runner-1.0.0"
      },
      "campaign": {
        "id": "saltwind-sound-01",
        "name": "Simulation: Saltwind Sound",
        "rules_version": "saltwind-v0.2-sim1",
        "status": "ACTIVE",
        "current_turn": 2
      },
      "calendar": {
        "current_key": "Y01-M08",
        "display_label": "Mid-autumn, Year 1",
        "year": 1,
        "month": 8,
        "next_key": "Y01-M09",
        "legacy_source_label": null
      },
      "turn": {
        "id": "turn-002",
        "number": 2,
        "status": "ADJUDICATION_APPROVED",
        "deadline": "2026-09-07T17:40:28.065Z",
        "maximum_submission_words": 1500,
        "current_blocker": null,
        "status_history": [
          {
            "status": "OPEN",
            "at": "2026-09-07T17:40:28.065Z",
            "approval_id": null
          },
          {
            "status": "INTAKE_LOCKED",
            "at": "2026-09-07T17:40:28.121Z",
            "approval_id": null
          },
          {
            "status": "ANALYZED",
            "at": "2026-09-07T17:41:45.850Z",
            "approval_id": null
          },
          {
            "status": "ADJUDICATION_APPROVED",
            "at": "2026-09-07T17:43:26.202Z",
            "approval_id": "T002-A-GM"
          }
        ],
        "intake": [
          {
            "id": "T002-I-player1",
            "player_id": "player1",
            "classification": "VALID",
            "counts_as_miss": false,
            "consecutive_misses_before": 0,
            "consecutive_misses_after": 0,
            "word_count": 1093,
            "byte_count": 6682,
            "archive_path": "turns/turn-002/intake/player1/submission.md",
            "checksum_sha256": "fe1c29940158e95758a06814f802f3939c46f5d81e929dc83a36b929f7949e11",
            "ruling_id": null
          },
          {
            "id": "T002-I-player2",
            "player_id": "player2",
            "classification": "VALID",
            "counts_as_miss": false,
            "consecutive_misses_before": 0,
            "consecutive_misses_after": 0,
            "word_count": 1315,
            "byte_count": 8211,
            "archive_path": "turns/turn-002/intake/player2/submission.md",
            "checksum_sha256": "e940d55b62e54904e5f2c2db129270c7179b927d5eecc22117cf25858b22abdd",
            "ruling_id": null
          },
          {
            "id": "T002-I-player3",
            "player_id": "player3",
            "classification": "VALID",
            "counts_as_miss": false,
            "consecutive_misses_before": 0,
            "consecutive_misses_after": 0,
            "word_count": 989,
            "byte_count": 6344,
            "archive_path": "turns/turn-002/intake/player3/submission.md",
            "checksum_sha256": "85277c77fb9068639dcea832e5f961b47dd44970c49f43d25ec225c0f881bcb8",
            "ruling_id": null
          },
          {
            "id": "T002-I-player4",
            "player_id": "player4",
            "classification": "VALID",
            "counts_as_miss": false,
            "consecutive_misses_before": 0,
            "consecutive_misses_after": 0,
            "word_count": 940,
            "byte_count": 5794,
            "archive_path": "turns/turn-002/intake/player4/submission.md",
            "checksum_sha256": "30c232865221f2d609d5f63a49114ffa7e52020a7772775d02b384efa32e1aad",
            "ruling_id": null
          }
        ]
      },
      "players": [
        {
          "id": "player1",
          "clan_id": "saltmere",
          "leader_character_id": "saltmere-leader",
          "leader_title": "Leader of Saltmere",
          "control_status": "ACTIVE",
          "eligible": true,
          "expected_submission": true,
          "consecutive_misses": 0,
          "influence": "SUPPORTIVE"
        },
        {
          "id": "player2",
          "clan_id": "keelstrand",
          "leader_character_id": "keelstrand-leader",
          "leader_title": "Leader of Keelstrand",
          "control_status": "ACTIVE",
          "eligible": true,
          "expected_submission": true,
          "consecutive_misses": 0,
          "influence": "SUPPORTIVE"
        },
        {
          "id": "player3",
          "clan_id": "high-barley",
          "leader_character_id": "high-barley-leader",
          "leader_title": "Leader of High Barley",
          "control_status": "ACTIVE",
          "eligible": true,
          "expected_submission": true,
          "consecutive_misses": 0,
          "influence": "SUPPORTIVE"
        },
        {
          "id": "player4",
          "clan_id": "ternhaven",
          "leader_character_id": "ternhaven-leader",
          "leader_title": "Leader of Ternhaven",
          "control_status": "ACTIVE",
          "eligible": true,
          "expected_submission": true,
          "consecutive_misses": 0,
          "influence": "SUPPORTIVE"
        }
      ],
      "places": [
        {
          "id": "sound",
          "name": "Saltwind Sound",
          "kind": "REGION",
          "population": null,
          "summary": "A mundane narrow coastal sound with four resident communities, navigable shore segments and uncertain reception. No compulsory regional crisis.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "saltmere",
          "name": "Saltmere",
          "kind": "SETTLEMENT",
          "population": 151,
          "summary": "Your village stands on the western shallows of a narrow sound. Brine pools lie east, garden strips on the low rise west, and a coppice beyond them. A shingle path leads north to an empty marker beach; reeds conceal the shore south. The tidal mud looks walkable from above but holds deep runnels. Your two shallow fishing skiffs can follow the western shore in settled weather; neither is suited to an exposed crossing in a gale.",
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player1"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "keelstrand",
          "name": "Keelstrand",
          "kind": "SETTLEMENT",
          "population": 149,
          "summary": "Your settlement occupies the northern timbered creek of the sound. The boat shed sits above the tide; the nearest straight timber grows uphill and must be dragged down a stony track. A western shore path reaches an empty marker beach in half a fair-weather day. A pack trail climbs southeast toward grazing country. Beyond its first ridge you have no current map. Your old fishing boat works within the creek; the unfinished larger boat cannot yet float.",
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player2"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "high-barley",
          "name": "High Barley",
          "kind": "SETTLEMENT",
          "population": 153,
          "summary": "Your village lies on a southern upland shelf above the eastern side of the sound. Fields surround the houses; rough grazing and a spring lie uphill. A pack trail runs northwest over a ridge; another descends east through alder ground toward distant coastal smoke. A small stream ford near the east descent rises after rain. You own pack goats and hauling frames, not a seaworthy boat. No coast-to-coast shortcut crosses the steep central ravine.",
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player3"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "ternhaven",
          "name": "Ternhaven",
          "kind": "SETTLEMENT",
          "population": 150,
          "summary": "Your village sits inside the southeastern hooked inlet. Its inner landing is sheltered; beyond the bar, wind and ebb can make even a short boat journey dangerous. An alder path climbs west to a stream ford and upland meadow. The coast curves north around the eastern arm of the sound. Two small fishing boats work near shore; you have no current safe-weather survey of the full sound.",
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player4"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        }
      ],
      "characters": [
        {
          "id": "saltmere-leader",
          "name": "Leader of Saltmere",
          "status": "ACTIVE",
          "home_place_id": "saltmere",
          "role": "Recognized player leader with modern memories",
          "goals": [
            "Determined by isolated player submissions"
          ],
          "fears": [
            "Not prescribed"
          ],
          "relationships": [],
          "initiative": "May continue familiar tasks, inspect an observed problem, warn or appeal within known local capacity. No unobserved plans or foreign secrets are known.",
          "red_line": "Will object to immediate unsupported danger; further escalation requires established cause and means.",
          "escalation_position": "Ordinary cooperation with voiced local disagreement; no violent mobilization.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "saltmere-c1",
          "name": "Nessa",
          "status": "ACTIVE",
          "home_place_id": "saltmere",
          "role": "pan tender",
          "goals": [
            "protect skilled work and her witnessed fuel promise"
          ],
          "fears": [
            "being treated as expendable"
          ],
          "relationships": [
            "saltmere-r1"
          ],
          "initiative": "May continue familiar tasks, inspect an observed problem, warn or appeal within known local capacity. No unobserved plans or foreign secrets are known.",
          "red_line": "Will object to immediate unsupported danger; further escalation requires established cause and means.",
          "escalation_position": "Ordinary cooperation with voiced local disagreement; no violent mobilization.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "saltmere-c2",
          "name": "Orin",
          "status": "ACTIVE",
          "home_place_id": "saltmere",
          "role": "net captain",
          "goals": [
            "preserve the catch and fair household shares"
          ],
          "fears": [
            "losing food to production targets"
          ],
          "relationships": [],
          "initiative": "May continue familiar tasks, inspect an observed problem, warn or appeal within known local capacity. No unobserved plans or foreign secrets are known.",
          "red_line": "Will object to immediate unsupported danger; further escalation requires established cause and means.",
          "escalation_position": "Ordinary cooperation with voiced local disagreement; no violent mobilization.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "saltmere-c3",
          "name": "Sava",
          "status": "ACTIVE",
          "home_place_id": "saltmere",
          "role": "basket and drying-rack maker",
          "goals": [
            "test small improvements without wasting supplies"
          ],
          "fears": [
            "being ordered to scale an untested device"
          ],
          "relationships": [],
          "initiative": "May continue familiar tasks, inspect an observed problem, warn or appeal within known local capacity. No unobserved plans or foreign secrets are known.",
          "red_line": "Will object to immediate unsupported danger; further escalation requires established cause and means.",
          "escalation_position": "Ordinary cooperation with voiced local disagreement; no violent mobilization.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "saltmere-c4",
          "name": "Fen",
          "status": "ACTIVE",
          "home_place_id": "saltmere",
          "role": "bank and water keeper",
          "goals": [
            "maintain safe banks and clean drinking water"
          ],
          "fears": [
            "a warning being dismissed"
          ],
          "relationships": [],
          "initiative": "May continue familiar tasks, inspect an observed problem, warn or appeal within known local capacity. No unobserved plans or foreign secrets are known.",
          "red_line": "Will object to immediate unsupported danger; further escalation requires established cause and means.",
          "escalation_position": "Ordinary cooperation with voiced local disagreement; no violent mobilization.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "saltmere-c5",
          "name": "Evi",
          "status": "ACTIVE",
          "home_place_id": "saltmere",
          "role": "shore walker",
          "goals": [
            "keep routes usable and journeys bounded"
          ],
          "fears": [
            "being sent onto mud without a retreat"
          ],
          "relationships": [],
          "initiative": "May continue familiar tasks, inspect an observed problem, warn or appeal within known local capacity. No unobserved plans or foreign secrets are known.",
          "red_line": "Will object to immediate unsupported danger; further escalation requires established cause and means.",
          "escalation_position": "Ordinary cooperation with voiced local disagreement; no violent mobilization.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "saltmere-c6",
          "name": "Daro",
          "status": "ACTIVE",
          "home_place_id": "saltmere",
          "role": "storekeeper",
          "goals": [
            "make ration and fuel allocations believable"
          ],
          "fears": [
            "being accused of hiding shortages"
          ],
          "relationships": [],
          "initiative": "May continue familiar tasks, inspect an observed problem, warn or appeal within known local capacity. No unobserved plans or foreign secrets are known.",
          "red_line": "Will object to immediate unsupported danger; further escalation requires established cause and means.",
          "escalation_position": "Ordinary cooperation with voiced local disagreement; no violent mobilization.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "keelstrand-leader",
          "name": "Leader of Keelstrand",
          "status": "ACTIVE",
          "home_place_id": "keelstrand",
          "role": "Recognized player leader with modern memories",
          "goals": [
            "Determined by isolated player submissions"
          ],
          "fears": [
            "Not prescribed"
          ],
          "relationships": [],
          "initiative": "May continue familiar tasks, inspect an observed problem, warn or appeal within known local capacity. No unobserved plans or foreign secrets are known.",
          "red_line": "Will object to immediate unsupported danger; further escalation requires established cause and means.",
          "escalation_position": "Ordinary cooperation with voiced local disagreement; no violent mobilization.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "keelstrand-c1",
          "name": "Mara",
          "status": "ACTIVE",
          "home_place_id": "keelstrand",
          "role": "master carpenter",
          "goals": [
            "finish a durable boat and retain the yard’s reputation"
          ],
          "fears": [
            "being forced to launch unsafe work"
          ],
          "relationships": [
            "keelstrand-r1"
          ],
          "initiative": "May continue familiar tasks, inspect an observed problem, warn or appeal within known local capacity. No unobserved plans or foreign secrets are known.",
          "red_line": "Will object to immediate unsupported danger; further escalation requires established cause and means.",
          "escalation_position": "Ordinary cooperation with voiced local disagreement; no violent mobilization.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "keelstrand-c2",
          "name": "Arel",
          "status": "ACTIVE",
          "home_place_id": "keelstrand",
          "role": "fishing household speaker",
          "goals": [
            "receive the boat promised for shared food contributions"
          ],
          "fears": [
            "another indefinite postponement"
          ],
          "relationships": [],
          "initiative": "May continue familiar tasks, inspect an observed problem, warn or appeal within known local capacity. No unobserved plans or foreign secrets are known.",
          "red_line": "Will object to immediate unsupported danger; further escalation requires established cause and means.",
          "escalation_position": "Ordinary cooperation with voiced local disagreement; no violent mobilization.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "keelstrand-c3",
          "name": "Tor",
          "status": "ACTIVE",
          "home_place_id": "keelstrand",
          "role": "shelter keeper",
          "goals": [
            "get dry sleeping spaces before cold rain"
          ],
          "fears": [
            "the yard always taking first claim"
          ],
          "relationships": [],
          "initiative": "May continue familiar tasks, inspect an observed problem, warn or appeal within known local capacity. No unobserved plans or foreign secrets are known.",
          "red_line": "Will object to immediate unsupported danger; further escalation requires established cause and means.",
          "escalation_position": "Ordinary cooperation with voiced local disagreement; no violent mobilization.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "keelstrand-c4",
          "name": "Ivo",
          "status": "ACTIVE",
          "home_place_id": "keelstrand",
          "role": "timber and path scout",
          "goals": [
            "bring back usable timber safely"
          ],
          "fears": [
            "a preventable lifting accident"
          ],
          "relationships": [],
          "initiative": "May continue familiar tasks, inspect an observed problem, warn or appeal within known local capacity. No unobserved plans or foreign secrets are known.",
          "red_line": "Will object to immediate unsupported danger; further escalation requires established cause and means.",
          "escalation_position": "Ordinary cooperation with voiced local disagreement; no violent mobilization.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "keelstrand-c5",
          "name": "Pell",
          "status": "ACTIVE",
          "home_place_id": "keelstrand",
          "role": "rope worker with a strained wrist",
          "goals": [
            "teach sound lashings while recovering"
          ],
          "fears": [
            "being expected to haul before healing"
          ],
          "relationships": [],
          "initiative": "May continue familiar tasks, inspect an observed problem, warn or appeal within known local capacity. No unobserved plans or foreign secrets are known.",
          "red_line": "Will object to immediate unsupported danger; further escalation requires established cause and means.",
          "escalation_position": "Ordinary cooperation with voiced local disagreement; no violent mobilization.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "keelstrand-c6",
          "name": "Venn",
          "status": "ACTIVE",
          "home_place_id": "keelstrand",
          "role": "garden and pack keeper",
          "goals": [
            "keep food moving without stripping local work"
          ],
          "fears": [
            "journeys that consume the harvest hands"
          ],
          "relationships": [],
          "initiative": "May continue familiar tasks, inspect an observed problem, warn or appeal within known local capacity. No unobserved plans or foreign secrets are known.",
          "red_line": "Will object to immediate unsupported danger; further escalation requires established cause and means.",
          "escalation_position": "Ordinary cooperation with voiced local disagreement; no violent mobilization.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "high-barley-leader",
          "name": "Leader of High Barley",
          "status": "ACTIVE",
          "home_place_id": "high-barley",
          "role": "Recognized player leader with modern memories",
          "goals": [
            "Determined by isolated player submissions"
          ],
          "fears": [
            "Not prescribed"
          ],
          "relationships": [],
          "initiative": "May continue familiar tasks, inspect an observed problem, warn or appeal within known local capacity. No unobserved plans or foreign secrets are known.",
          "red_line": "Will object to immediate unsupported danger; further escalation requires established cause and means.",
          "escalation_position": "Ordinary cooperation with voiced local disagreement; no violent mobilization.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "high-barley-c1",
          "name": "Hesta",
          "status": "ACTIVE",
          "home_place_id": "high-barley",
          "role": "field steward",
          "goals": [
            "bring the barley under cover before rain"
          ],
          "fears": [
            "avoidable crop loss"
          ],
          "relationships": [
            "high-barley-r1"
          ],
          "initiative": "May continue familiar tasks, inspect an observed problem, warn or appeal within known local capacity. No unobserved plans or foreign secrets are known.",
          "red_line": "Will object to immediate unsupported danger; further escalation requires established cause and means.",
          "escalation_position": "Ordinary cooperation with voiced local disagreement; no violent mobilization.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "high-barley-c2",
          "name": "Cal",
          "status": "ACTIVE",
          "home_place_id": "high-barley",
          "role": "care rota keeper",
          "goals": [
            "make dependent care a real labor commitment"
          ],
          "fears": [
            "quiet abandonment of less productive households"
          ],
          "relationships": [],
          "initiative": "May continue familiar tasks, inspect an observed problem, warn or appeal within known local capacity. No unobserved plans or foreign secrets are known.",
          "red_line": "Will object to immediate unsupported danger; further escalation requires established cause and means.",
          "escalation_position": "Ordinary cooperation with voiced local disagreement; no violent mobilization.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "high-barley-c3",
          "name": "Beren",
          "status": "ACTIVE",
          "home_place_id": "high-barley",
          "role": "seed and threshing keeper",
          "goals": [
            "protect seed and dry handling"
          ],
          "fears": [
            "eating next year’s seed to conceal a shortfall"
          ],
          "relationships": [],
          "initiative": "May continue familiar tasks, inspect an observed problem, warn or appeal within known local capacity. No unobserved plans or foreign secrets are known.",
          "red_line": "Will object to immediate unsupported danger; further escalation requires established cause and means.",
          "escalation_position": "Ordinary cooperation with voiced local disagreement; no violent mobilization.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "high-barley-c4",
          "name": "Osa",
          "status": "ACTIVE",
          "home_place_id": "high-barley",
          "role": "goat and pack handler",
          "goals": [
            "use modest transport reliably"
          ],
          "fears": [
            "overloaded animals on wet slopes"
          ],
          "relationships": [],
          "initiative": "May continue familiar tasks, inspect an observed problem, warn or appeal within known local capacity. No unobserved plans or foreign secrets are known.",
          "red_line": "Will object to immediate unsupported danger; further escalation requires established cause and means.",
          "escalation_position": "Ordinary cooperation with voiced local disagreement; no violent mobilization.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "high-barley-c5",
          "name": "Leth",
          "status": "ACTIVE",
          "home_place_id": "high-barley",
          "role": "storehouse keeper",
          "goals": [
            "separate good grain from damp lots"
          ],
          "fears": [
            "being blamed before the stores are inspected"
          ],
          "relationships": [],
          "initiative": "May continue familiar tasks, inspect an observed problem, warn or appeal within known local capacity. No unobserved plans or foreign secrets are known.",
          "red_line": "Will object to immediate unsupported danger; further escalation requires established cause and means.",
          "escalation_position": "Ordinary cooperation with voiced local disagreement; no violent mobilization.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "high-barley-c6",
          "name": "Jun",
          "status": "ACTIVE",
          "home_place_id": "high-barley",
          "role": "spring and ford watcher",
          "goals": [
            "keep safe water and a usable descent"
          ],
          "fears": [
            "a crossing attempted during rising water"
          ],
          "relationships": [],
          "initiative": "May continue familiar tasks, inspect an observed problem, warn or appeal within known local capacity. No unobserved plans or foreign secrets are known.",
          "red_line": "Will object to immediate unsupported danger; further escalation requires established cause and means.",
          "escalation_position": "Ordinary cooperation with voiced local disagreement; no violent mobilization.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "ternhaven-leader",
          "name": "Leader of Ternhaven",
          "status": "ACTIVE",
          "home_place_id": "ternhaven",
          "role": "Recognized player leader with modern memories",
          "goals": [
            "Determined by isolated player submissions"
          ],
          "fears": [
            "Not prescribed"
          ],
          "relationships": [],
          "initiative": "May continue familiar tasks, inspect an observed problem, warn or appeal within known local capacity. No unobserved plans or foreign secrets are known.",
          "red_line": "Will object to immediate unsupported danger; further escalation requires established cause and means.",
          "escalation_position": "Ordinary cooperation with voiced local disagreement; no violent mobilization.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "ternhaven-c1",
          "name": "Del",
          "status": "ACTIVE",
          "home_place_id": "ternhaven",
          "role": "keeper of hospitality customs",
          "goals": [
            "honor a bounded welcome without shame"
          ],
          "fears": [
            "a visitor turned away in immediate danger"
          ],
          "relationships": [
            "ternhaven-r1"
          ],
          "initiative": "May continue familiar tasks, inspect an observed problem, warn or appeal within known local capacity. No unobserved plans or foreign secrets are known.",
          "red_line": "Will object to immediate unsupported danger; further escalation requires established cause and means.",
          "escalation_position": "Ordinary cooperation with voiced local disagreement; no violent mobilization.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "ternhaven-c2",
          "name": "Ves",
          "status": "ACTIVE",
          "home_place_id": "ternhaven",
          "role": "household stores speaker",
          "goals": [
            "protect resident meals and dry beds"
          ],
          "fears": [
            "open-ended promises charged to unwilling homes"
          ],
          "relationships": [],
          "initiative": "May continue familiar tasks, inspect an observed problem, warn or appeal within known local capacity. No unobserved plans or foreign secrets are known.",
          "red_line": "Will object to immediate unsupported danger; further escalation requires established cause and means.",
          "escalation_position": "Ordinary cooperation with voiced local disagreement; no violent mobilization.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "ternhaven-c3",
          "name": "Ruan",
          "status": "ACTIVE",
          "home_place_id": "ternhaven",
          "role": "net and landing captain",
          "goals": [
            "keep crews fishing and landings orderly"
          ],
          "fears": [
            "hosting duties swallowing safe fishing days"
          ],
          "relationships": [],
          "initiative": "May continue familiar tasks, inspect an observed problem, warn or appeal within known local capacity. No unobserved plans or foreign secrets are known.",
          "red_line": "Will object to immediate unsupported danger; further escalation requires established cause and means.",
          "escalation_position": "Ordinary cooperation with voiced local disagreement; no violent mobilization.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "ternhaven-c4",
          "name": "Kiri",
          "status": "ACTIVE",
          "home_place_id": "ternhaven",
          "role": "boat and mooring tender",
          "goals": [
            "inspect gear before winter strain"
          ],
          "fears": [
            "being pressured to launch with suspect rope"
          ],
          "relationships": [],
          "initiative": "May continue familiar tasks, inspect an observed problem, warn or appeal within known local capacity. No unobserved plans or foreign secrets are known.",
          "red_line": "Will object to immediate unsupported danger; further escalation requires established cause and means.",
          "escalation_position": "Ordinary cooperation with voiced local disagreement; no violent mobilization.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "ternhaven-c5",
          "name": "Seli",
          "status": "ACTIVE",
          "home_place_id": "ternhaven",
          "role": "alder-path guide",
          "goals": [
            "make careful journeys with clear return terms"
          ],
          "fears": [
            "being treated as an unlimited messenger"
          ],
          "relationships": [],
          "initiative": "May continue familiar tasks, inspect an observed problem, warn or appeal within known local capacity. No unobserved plans or foreign secrets are known.",
          "red_line": "Will object to immediate unsupported danger; further escalation requires established cause and means.",
          "escalation_position": "Ordinary cooperation with voiced local disagreement; no violent mobilization.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "ternhaven-c6",
          "name": "Wen",
          "status": "ACTIVE",
          "home_place_id": "ternhaven",
          "role": "well and hearth keeper",
          "goals": [
            "maintain water and clean sleeping spaces"
          ],
          "fears": [
            "crowding around damp bedding"
          ],
          "relationships": [],
          "initiative": "May continue familiar tasks, inspect an observed problem, warn or appeal within known local capacity. No unobserved plans or foreign secrets are known.",
          "red_line": "Will object to immediate unsupported danger; further escalation requires established cause and means.",
          "escalation_position": "Ordinary cooperation with voiced local disagreement; no violent mobilization.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "visitor-ressa",
          "name": "Ressa",
          "status": "ACTIVE",
          "home_place_id": "sound",
          "role": "Independent seasonal basket mender traveling with two adult kin",
          "goals": [
            "Trade repairs for food while keeping the party safe"
          ],
          "fears": [
            "Being stranded after a refused open-ended demand"
          ],
          "relationships": [],
          "initiative": "Currently outside the immediate village routes on the southern coast. May approach Ternhaven during a suitable autumn travel window, carrying only personally observed news. No compulsory arrival; no knowledge of current private village conflicts.",
          "red_line": "Will not accept indefinite forced labor.",
          "escalation_position": "Small unarmed traveling household; bargaining or departure, no capacity to seize a village.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        }
      ],
      "factions": [
        {
          "id": "saltmere-households",
          "name": "Saltmere households",
          "scope": "LOCAL",
          "member_summary": "Resident households with differing labor, food and care interests; not a unanimous bloc.",
          "leader_ids": [
            "saltmere-c1",
            "saltmere-c2"
          ],
          "interests": [
            "Household safety",
            "Credible allocation of finite labor"
          ],
          "controlled_resources": [
            "Household work time and customary shares"
          ],
          "current_agenda": "Mid-autumn discipline holds: domestic heating billets are protected, communal hearths share warmth in the evenings, the pan bank is proven under low heat, and northern creek scouting confirms neighboring settlement.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "SALTWIND-INITIALIZATION",
              "T001-D01",
              "T002-D01"
            ]
          }
        },
        {
          "id": "keelstrand-households",
          "name": "Keelstrand households",
          "scope": "LOCAL",
          "member_summary": "Resident households with differing labor, food and care interests; not a unanimous bloc.",
          "leader_ids": [
            "keelstrand-c1",
            "keelstrand-c2"
          ],
          "interests": [
            "Household safety",
            "Credible allocation of finite labor"
          ],
          "controlled_resources": [
            "Household work time and customary shares"
          ],
          "current_agenda": "The yard is secure for winter: the shed post is permanently seated on stone, winter fuel and boat timbers are safely yarded, drainage swales prevent flooding, and ridge scouting confirms upland pastoralists.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "SALTWIND-INITIALIZATION",
              "T001-D02",
              "T002-D02"
            ]
          }
        },
        {
          "id": "high-barley-households",
          "name": "High Barley households",
          "scope": "LOCAL",
          "member_summary": "Resident households with differing labor, food and care interests; not a unanimous bloc.",
          "leader_ids": [
            "high-barley-c1",
            "high-barley-c2"
          ],
          "interests": [
            "Household safety",
            "Credible allocation of finite labor"
          ],
          "controlled_resources": [
            "Household work time and customary shares"
          ],
          "current_agenda": "Harvest is gathered and secured on dunnage, prime seed is protected, fuel is stockpiled for winter, and the care rota and covered bowl continue to unite field workers and caregivers.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "SALTWIND-INITIALIZATION",
              "T001-D03",
              "T002-D03"
            ]
          }
        },
        {
          "id": "ternhaven-households",
          "name": "Ternhaven households",
          "scope": "LOCAL",
          "member_summary": "Resident households with differing labor, food and care interests; not a unanimous bloc.",
          "leader_ids": [
            "ternhaven-c1",
            "ternhaven-c2"
          ],
          "interests": [
            "Household safety",
            "Credible allocation of finite labor"
          ],
          "controlled_resources": [
            "Household work time and customary shares"
          ],
          "current_agenda": "Stores are brought indoors and raised on dunnage, the wellhead is protected from runoff, boats fish safely in the inner inlet, and the peaceful embassy to the upland ford returned successfully.",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "SALTWIND-INITIALIZATION",
              "T001-D05",
              "T002-D05"
            ]
          }
        }
      ],
      "facts": [
        {
          "id": "saltmere-scene",
          "subject_id": "saltmere",
          "statement": "A gust carries white dust across the salt shed. At the hearth, two women hold opposite ends of the same split log. Neither pulls. Beyond them, wet nets drip onto the earth, and people stop talking when you step through the doorway.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player1"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "saltmere-premise",
          "subject_id": "saltmere",
          "statement": "You have awakened without memory of your old identity. You remember ordinary life in a modern society, but no modern equipment has come with you. The 151 people here treat you as their leader. Specific skills may be established through what you credibly attempt; doing or teaching work takes time.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player1"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "saltmere-calendar",
          "subject_id": "saltmere",
          "statement": "It is Early autumn, Year 1 (Y01-M07). The mornings are cool, with intermittent rain and occasional drying days. People expect wetter mid-autumn, stronger late-autumn winds, then short winter days, frost and occasional snow. Sea ice is not dependable. Weather can interrupt outdoor drying and travel; no particular storm or loss is foretold. Preparing roofs, fuel and stores now can work.",
          "domain": "WEATHER",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player1"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "saltmere-map",
          "subject_id": "saltmere",
          "statement": "Your village stands on the western shallows of a narrow sound. Brine pools lie east, garden strips on the low rise west, and a coppice beyond them. A shingle path leads north to an empty marker beach; reeds conceal the shore south. The tidal mud looks walkable from above but holds deep runnels. Your two shallow fishing skiffs can follow the western shore in settled weather; neither is suited to an exposed crossing in a gale.",
          "domain": "GEOGRAPHY",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player1"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "saltmere-conditions",
          "subject_id": "saltmere",
          "statement": "Mid-autumn rains have set in, but perimeter ditches divert runoff from brine pools. A low-heat test boil confirmed the reinforced pan bank holds without seepage. Split willow and alder billets cure under the open-sided shelter. Skiffs remain safely inshore, drying racks are sheltered near homes, and household hearths are shared in the evenings.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player1"
            ]
          },
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "SALTWIND-INITIALIZATION",
              "T001-D01",
              "T002-D01"
            ]
          }
        },
        {
          "id": "saltmere-dispute",
          "subject_id": "saltmere",
          "statement": "Nessa, who tends the pans, asks for the dry billets promised at the last gathering. Orin, whose household fishes, points at the smoking rack and says fish will spoil if the pans take everything. Neither claims that all production must continue: both want the cost of a reduction to be acknowledged. Several families will work on either task, but cannot do both at once.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player1"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "saltmere-warning",
          "subject_id": "saltmere",
          "statement": "After the last high tide, a thin damp line remained under the western pan bank. Fen says the bank has held for years but asks to inspect it at low water before another full boiling. You can see the line; you do not yet know what lies inside the bank.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player1"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "saltmere-opportunity",
          "subject_id": "saltmere",
          "statement": "Sava has woven a small raised drying rack whose fish stayed clean during the last fair spell. It has not been tested through prolonged rain. A sheltered clay hollow could store covered firewood if drained. These are possibilities for patient local work, not reasons you must leave home.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player1"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "saltmere-neighbors",
          "subject_id": "saltmere",
          "statement": "Evi shows you a shaped timber offcut washed onto the marker beach, bearing three chisel notches. From the rise, on clear mornings, you can see smoke north across the creek but cannot count houses. Evi has previously walked as far as the empty marker beach, half a fair-weather day north, and knows its tide retreat. She offers to guide a small party there or carry a message if you choose. No meeting or reply is promised.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player1"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "saltmere-custom",
          "subject_id": "saltmere",
          "statement": "At fuel allocations, each hearth lays a stone beside the claimant it supports. The stones witness a promise; they do not give every household a veto. People currently accept your leadership and await a decision. You may keep work local, change priorities or seek information without promising anyone a grand new order.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player1"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "saltmere-contacts",
          "subject_id": "saltmere",
          "statement": "Nessa is your pan tender. Orin is your net captain. Sava is your basket and drying-rack maker. Fen is your bank and water keeper. Evi is your shore walker. Daro is your storekeeper.",
          "domain": "CHARACTER",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player1"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "saltmere-concealed",
          "subject_id": "saltmere",
          "statement": "A burrowing channel runs inside the western pan bank; it has not reached the spring. Fen knows only the damp line, not the channel. Inspection and packing can contain it; repeated full pans during high tides without repairs can widen seepage and lose brine or work time. Collapse, injury or spring contamination is not automatic.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "saltmere-capacity",
          "subject_id": "saltmere",
          "statement": "151 residents, roughly 78 adults able to share heavy work; caregiving and meals occupy a substantial part of every day. Existing food about six weeks at ordinary consumption, with dependable small catches and roots if local labor continues. Dry fuel about six weeks for cooking alone or three with both industries at full rate; reduced salt output and air drying can preserve independent winter viability. No numeric automatic depletion rule.",
          "domain": "RESOURCE",
          "value": null,
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "keelstrand-scene",
          "subject_id": "keelstrand",
          "statement": "Rain has stopped on the half-built hull. Under its ribs, a child has arranged little boats from scraps. Above you, a roof mat lifts in the wind. A carpenter sets down her adze when the shelter keeper brings a leaking sleeping blanket into the boat shed.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player2"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "keelstrand-premise",
          "subject_id": "keelstrand",
          "statement": "You have awakened without memory of your old identity. You remember ordinary life in a modern society, but no modern equipment has come with you. The 149 people here treat you as their leader. Specific skills may be established through what you credibly attempt; doing or teaching work takes time.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player2"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "keelstrand-calendar",
          "subject_id": "keelstrand",
          "statement": "It is Early autumn, Year 1 (Y01-M07). The mornings are cool, with intermittent rain and occasional drying days. People expect wetter mid-autumn, stronger late-autumn winds, then short winter days, frost and occasional snow. Sea ice is not dependable. Weather can interrupt outdoor drying and travel; no particular storm or loss is foretold. Preparing roofs, fuel and stores now can work.",
          "domain": "WEATHER",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player2"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "keelstrand-map",
          "subject_id": "keelstrand",
          "statement": "Your settlement occupies the northern timbered creek of the sound. The boat shed sits above the tide; the nearest straight timber grows uphill and must be dragged down a stony track. A western shore path reaches an empty marker beach in half a fair-weather day. A pack trail climbs southeast toward grazing country. Beyond its first ridge you have no current map. Your old fishing boat works within the creek; the unfinished larger boat cannot yet float.",
          "domain": "GEOGRAPHY",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player2"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "keelstrand-conditions",
          "subject_id": "keelstrand",
          "statement": "The boat shed corner post is permanently underpinned on a raised stone plinth with sistered hardwood. Straight building timbers and winter fuel are sledded down and stacked on raised skids. Drainage swales protect dwellings, Pell's apprentices are spinning cordage and rendering pitch, and Ivo has confirmed upland herds to the southeast.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player2"
            ]
          },
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "SALTWIND-INITIALIZATION",
              "T001-D02",
              "T002-D02"
            ]
          }
        },
        {
          "id": "keelstrand-dispute",
          "subject_id": "keelstrand",
          "statement": "Mara promised Arel and the fishing households a sound boat before the late-autumn runs. Arel has helped feed the yard and wants that promise kept. Tor asks that roof crews come first, showing you the wet blanket. Mara says the hull can be safely paused if covered; finishing it while making every roof sound will require more skilled hands than the yard has.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player2"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "keelstrand-warning",
          "subject_id": "keelstrand",
          "statement": "Ivo points out powder beneath one old shed brace and a change in the door gap after rain. The shed still stands. Nobody has opened the brace to see how deep the damage goes. A heavy lift beneath it could be postponed, shored or inspected.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player2"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "keelstrand-opportunity",
          "subject_id": "keelstrand",
          "statement": "Offcuts can repair smaller craft or make simple sled runners. Pell can demonstrate clean lashings while seated; training will occupy both learners and teacher. Covering the hull and renegotiating its delivery would preserve the investment, though people may disagree over what is owed.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player2"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "keelstrand-neighbors",
          "subject_id": "keelstrand",
          "statement": "Venn brings a sack with barley husks caught in its seams, found beside the uphill pack trail, and recalls hearing a distant stock bell there before the last rain. Ivo has walked the western route to the marker beach, half a day away, where salt-smelling cord was once tied around a stake. Neither knows a neighboring leader or their current needs. You could investigate a route, send a bounded message or remain home. A small party following the pack trail can reach the first ridge in a day and return before dark only if it turns back early.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player2"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "keelstrand-custom",
          "subject_id": "keelstrand",
          "statement": "Promises made in the yard are spoken over a laid keel with witnesses. Changed circumstances can reopen terms; that does not make the first promise imaginary. Households accept your authority, while expecting you to say whose work waits.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player2"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "keelstrand-contacts",
          "subject_id": "keelstrand",
          "statement": "Mara is your master carpenter. Arel is your fishing household speaker. Tor is your shelter keeper. Ivo is your timber and path scout. Pell is your rope worker with a strained wrist. Venn is your garden and pack keeper.",
          "domain": "CHARACTER",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player2"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "keelstrand-concealed",
          "subject_id": "keelstrand",
          "statement": "Rot is deep at the foot of the old shed brace but the adjacent frame remains sound. Ivo has observed powder and door movement only. An unsupported heavy hull lift can buckle this brace; inspection or temporary shores substantially reduce that risk. No sabotage, concealed enemy or inevitable collapse exists.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "keelstrand-capacity",
          "subject_id": "keelstrand",
          "statement": "149 residents, about 76 adults sharing heavy work. Food about six weeks plus garden roots and creek fishing; fuel adequate for ordinary cooking and partial heating with replenishment from managed offcuts. A dry local winter is feasible by staging the boat and roofs. Finishing hull requires the scarce carpenter plus several helpers for much of the month; full roof repair competes for that labor.",
          "domain": "RESOURCE",
          "value": null,
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "high-barley-scene",
          "subject_id": "high-barley",
          "statement": "Cut stalks rasp against your legs on the path into the yard. A row of sheaves waits outside the storehouse. At the threshing cloth, a tired man rocks a sleeping child with one foot while keeping grain away from the damp edge.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player3"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "high-barley-premise",
          "subject_id": "high-barley",
          "statement": "You have awakened without memory of your old identity. You remember ordinary life in a modern society, but no modern equipment has come with you. The 153 people here treat you as their leader. Specific skills may be established through what you credibly attempt; doing or teaching work takes time.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player3"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "high-barley-calendar",
          "subject_id": "high-barley",
          "statement": "It is Early autumn, Year 1 (Y01-M07). The mornings are cool, with intermittent rain and occasional drying days. People expect wetter mid-autumn, stronger late-autumn winds, then short winter days, frost and occasional snow. Sea ice is not dependable. Weather can interrupt outdoor drying and travel; no particular storm or loss is foretold. Preparing roofs, fuel and stores now can work.",
          "domain": "WEATHER",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player3"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "high-barley-map",
          "subject_id": "high-barley",
          "statement": "Your village lies on a southern upland shelf above the eastern side of the sound. Fields surround the houses; rough grazing and a spring lie uphill. A pack trail runs northwest over a ridge; another descends east through alder ground toward distant coastal smoke. A small stream ford near the east descent rises after rain. You own pack goats and hauling frames, not a seaworthy boat. No coast-to-coast shortcut crosses the steep central ravine.",
          "domain": "GEOGRAPHY",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player3"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "high-barley-conditions",
          "subject_id": "high-barley",
          "statement": "The barley harvest is complete and safely processed through the wool loft drying hurdles. Grain sacks rest dry on raised dunnage, seed grain is safeguarded under Beren, and winter fuel and straw bedding are stockpiled. Cal's adapted care rota and the covered bowl maintain household unity.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player3"
            ]
          },
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "SALTWIND-INITIALIZATION",
              "T001-D03",
              "T002-D03"
            ]
          }
        },
        {
          "id": "high-barley-dispute",
          "subject_id": "high-barley",
          "statement": "Hesta wants every able pair of hands in the fields during this dry interval. Cal reminds her that dependents still need feeding and tending, and brings you the unfilled household rota. Beren says some sheaves can wait, but not all the exposed crop through repeated rain. Counting caregivers twice will not bring the grain in sooner.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player3"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "high-barley-warning",
          "subject_id": "high-barley",
          "statement": "An earthy smell rises from the lowest store bay after rain, and one sack has a dark patch underneath. Leth says the upper racks smell clean. The smell is evidence of damp, not proof that all grain is spoiled; an inspection can distinguish usable stores from damaged portions.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player3"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "high-barley-opportunity",
          "subject_id": "high-barley",
          "statement": "A disused wool loft could take raised drying hurdles if cleared and kept ventilated. Osa can use the goats to shift small loads without pulling every caregiver into the fields. A smaller surplus may be a sound choice if it preserves care and seed.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player3"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "high-barley-neighbors",
          "subject_id": "high-barley",
          "statement": "Osa found fresh pack impressions on the northwest ridge trail; their destination is beyond the village’s current map. On clear evenings, Jun sees smoke east below the alder descent and has heard gulls and a carried bell. Jun knows the ford and can lead a cautious descent to an empty lower meadow in a day. A message party could continue toward the smoke after checking the route, but no neighbor’s reception or stores are known. You need not make that journey during harvest.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player3"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "high-barley-custom",
          "subject_id": "high-barley",
          "statement": "At harvest, households set aside a covered bowl for those who cannot come to the field. The bowl is a witnessed obligation rather than a claim that care takes no work. People accept your leadership but watch who is asked to carry the burden.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player3"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "high-barley-contacts",
          "subject_id": "high-barley",
          "statement": "Hesta is your field steward. Cal is your care rota keeper. Beren is your seed and threshing keeper. Osa is your goat and pack handler. Leth is your storehouse keeper. Jun is your spring and ford watcher.",
          "domain": "CHARACTER",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player3"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "high-barley-concealed",
          "subject_id": "high-barley",
          "statement": "A cracked buried drain directs rainwater beneath the lowest store bay. Leth knows the smell and dark sack but not the buried crack. Untreated damp can spoil that bay gradually. Raised storage, sorting, drainage or using the loft can contain loss; it does not justify declaring the whole harvest poisoned.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "high-barley-capacity",
          "subject_id": "high-barley",
          "statement": "153 residents, about 79 adults available across heavy work and care. Old food five weeks plus milk and roots; harvest potential enough for six winter months and protected seed, but sustained rain and drying labor constrain the usable surplus. Fuel from local brush and managed woodland is adequate with gathering. A smaller surplus and bounded care rota are independently viable.",
          "domain": "RESOURCE",
          "value": null,
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "ternhaven-scene",
          "subject_id": "ternhaven",
          "statement": "A kettle swings above the landing hearth while the inlet lies still beyond the bar. Beside it, spare sleeping mats are stacked against sacks of meal. The person counting the mats has stopped at the same place twice. Out on the beach, a net crew waves you toward a catch that needs sorting.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player4"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "ternhaven-premise",
          "subject_id": "ternhaven",
          "statement": "You have awakened without memory of your old identity. You remember ordinary life in a modern society, but no modern equipment has come with you. The 150 people here treat you as their leader. Specific skills may be established through what you credibly attempt; doing or teaching work takes time.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player4"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "ternhaven-calendar",
          "subject_id": "ternhaven",
          "statement": "It is Early autumn, Year 1 (Y01-M07). The mornings are cool, with intermittent rain and occasional drying days. People expect wetter mid-autumn, stronger late-autumn winds, then short winter days, frost and occasional snow. Sea ice is not dependable. Weather can interrupt outdoor drying and travel; no particular storm or loss is foretold. Preparing roofs, fuel and stores now can work.",
          "domain": "WEATHER",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player4"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "ternhaven-map",
          "subject_id": "ternhaven",
          "statement": "Your village sits inside the southeastern hooked inlet. Its inner landing is sheltered; beyond the bar, wind and ebb can make even a short boat journey dangerous. An alder path climbs west to a stream ford and upland meadow. The coast curves north around the eastern arm of the sound. Two small fishing boats work near shore; you have no current safe-weather survey of the full sound.",
          "domain": "GEOGRAPHY",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player4"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "ternhaven-conditions",
          "subject_id": "ternhaven",
          "statement": "Outdoor racks have been cleared and split fish and roots brought indoors. Curing continues over the landing hearth, meal sacks and root stores are raised on timber dunnage, and ditches protect the fresh-water wellhead. Boats fish only in the inner inlet and are beached during gales, while net mending and cordage twisting proceed inside.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player4"
            ]
          },
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "SALTWIND-INITIALIZATION",
              "T001-D05",
              "T002-D05"
            ]
          }
        },
        {
          "id": "ternhaven-dispute",
          "subject_id": "ternhaven",
          "statement": "Del recalls an old obligation to give seasonal visitors a dry first night and a meal. Ves asks whether an old welcome now means feeding whoever arrives all winter. No visitors are presently here and no arrival date is agreed. Ruan says limits spoken before arrival would be easier to honor than angry exclusions at the door.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player4"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "ternhaven-warning",
          "subject_id": "ternhaven",
          "statement": "Kiri shows you a pale frayed strand in the outer mooring rope and says the float jerked sharply on the last ebb. The rope still holds the small working boat. The cause and condition below water have not been inspected. The inner beach remains available for hauling boats above the tide.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player4"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "ternhaven-opportunity",
          "subject_id": "ternhaven",
          "statement": "An upper drying ledge could take racks without occupying guest space. Guests could be offered bounded work or service if they consent; there is no assurance any will come or accept. Maintaining local catches and limiting hospitality can be a complete strategy.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player4"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "ternhaven-neighbors",
          "subject_id": "ternhaven",
          "statement": "Seli saw smoke above the westward slope after the last clear evening and found barley husks beside the upper ford on an earlier walk. She can reach that ford in a day along the alder path. Del remembers traveling basket menders who sometimes use this landing in autumn, but knows neither their present position nor other leaders’ wishes. A shore or uphill message is possible if someone makes the journey. Smoke and old visits establish that you are not alone, not that a treaty exists.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player4"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "ternhaven-custom",
          "subject_id": "ternhaven",
          "statement": "The first guest meal is traditionally placed at the edge of the hearth where both host and visitor can see it. Older hosts disagree about what follows that first night. You hold the recognized leadership seat; an honest limit, a negotiated welcome or a quiet month of local work remains yours to choose.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player4"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "ternhaven-contacts",
          "subject_id": "ternhaven",
          "statement": "Del is your keeper of hospitality customs. Ves is your household stores speaker. Ruan is your net and landing captain. Kiri is your boat and mooring tender. Seli is your alder-path guide. Wen is your well and hearth keeper.",
          "domain": "CHARACTER",
          "value": null,
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player4"
            ]
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "ternhaven-concealed",
          "subject_id": "ternhaven",
          "statement": "The mooring rope is rubbing against an old submerged stone edge outside the inner beach; no person has cut it. Kiri knows the fray and jerking only. Inspection, replacement or hauling inland can prevent a break. A break could lose gear if the outer mooring continues in rough ebb, but cannot on its own justify drowning a leader.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "ternhaven-capacity",
          "subject_id": "ternhaven",
          "statement": "150 residents, about 77 adults sharing heavy work and care. Food five to six weeks plus sustainable local fishing and roots if crews are maintained. Fuel enough for ordinary month with local replenishment. The hall can house a small visiting party briefly; prolonged support of a large party displaces resident stores and dry-space uses. Refusing future nonemergency hospitality carries no automatic survival penalty.",
          "domain": "RESOURCE",
          "value": null,
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "sound-geography",
          "subject_id": "sound",
          "statement": "Objective geography: Saltmere on west shallows; Keelstrand at north creek; High Barley on southeast upland shelf; Ternhaven inside southeast hook below High Barley. Saltmere–Keelstrand shore trail takes one fair-weather day, with marker beach midway. Keelstrand–High Barley ridge pack trail takes two fair-weather days one way; High Barley–Ternhaven alder/ford path takes two fair-weather days one way, lower meadow/ford midway. Keelstrand–Ternhaven shore boat journey takes two daylight stages in settled weather, with beach stops; Saltmere–Ternhaven takes two daylight stages around shore or one exposed day across sound in suitable craft and weather. Listed craft support sheltered legs, not automatic exposed crossings. Heavy loads roughly double walking times. Rain can close the ford for a day or more; riders must inspect water level. Winter journeys need dry stores, companions and turnback margins, often doubling fair-weather times. Every community has at least one locally known approach to a connecting route, so a deliberate bounded expedition can make contact by Turn 002, or earlier if supported. No leader knows exact foreign geography from this fact.",
          "domain": "GEOGRAPHY",
          "value": null,
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "sound-weather-range",
          "subject_id": "sound",
          "statement": "Calendar Y01-M07 to M12: early, mid, late autumn then early, mid, late winter. Seasonal rain, gusts, frost and occasional snow constrain drying, fishing, care and travel. Do not prescribe a catastrophe. Establish actual weather and consequences during adjudication, preserve sensible preparation, and do not add new survival mechanics.",
          "domain": "WEATHER",
          "value": null,
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "sound-visitors",
          "subject_id": "sound",
          "statement": "Ressa and two adult kin are independent seasonal basket menders south along the coast. Del recalls past traveling menders but has no current location or arrival commitment. They can bring only directly observed route conditions and voluntary messages. Their agency is conditional, not a scheduled encounter. No external army, organized predatory faction, magic, or predetermined winner exists.",
          "domain": "WORLD",
          "value": null,
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "domain": "WORLD",
          "id": "fact-saltmere-bank-reinforcement",
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "T001-D01"
            ]
          },
          "statement": "Fen and the leader inspected the western pan bank at low water, discovering small seepage channels through the lower earth. Fen's crew packed and reinforced the bank with dense clay from the rise and turf sods, stabilizing the foundation before any boiling resumes.",
          "subject_id": "saltmere",
          "value": null,
          "visibility": {
            "player_ids": [
              "player1"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "domain": "RESOURCE",
          "id": "fact-saltmere-stores-and-shelter",
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "T001-D01"
            ]
          },
          "statement": "Saltmere's two damaged roofs were re-thatched with marsh reeds before mid-autumn rains. Garden roots were lifted and stored dry. The autumn fish catch was divided between the smokehouse using allocated dry billets, dry-salting with reserve cakes, and Sava's canopied drying racks, preventing spoilage.",
          "subject_id": "saltmere",
          "value": null,
          "visibility": {
            "player_ids": [
              "player1"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "domain": "RESOURCE",
          "id": "fact-saltmere-fuel-coppice",
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "T001-D01"
            ]
          },
          "statement": "Work crews coppiced willow and alder, limbing billets to season for winter. Shallow drainage trenches were dug around the sheltered clay hollow, and an open-sided thatched timber shelter was constructed where fresh wood sits raised on stringers.",
          "subject_id": "saltmere",
          "value": null,
          "visibility": {
            "player_ids": [
              "player1"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "domain": "WORLD",
          "id": "fact-saltmere-marker-beach-patrol",
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "T001-D01"
            ]
          },
          "statement": "Evi completed a cautious day patrol to the marker beach. She observed additional worked timber offcuts in the flotsam and sighted hearth smoke across the northern creek from cover, returning safely before nightfall without being detected or making contact.",
          "subject_id": "saltmere",
          "value": null,
          "visibility": {
            "player_ids": [
              "player1"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "domain": "WORLD",
          "id": "fact-keelstrand-shed-shoring",
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "T001-D02"
            ]
          },
          "statement": "Mara and Ivo inspected the boat shed brace, finding rot concentrated at the foot of the post while adjacent framing remains solid. Sturdy timber props were erected to shore the corner and cross-beam, stabilizing the shed against autumn winds.",
          "subject_id": "keelstrand",
          "value": null,
          "visibility": {
            "player_ids": [
              "player2"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "domain": "RESOURCE",
          "id": "fact-keelstrand-roofs-and-boats",
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "T001-D02"
            ]
          },
          "statement": "The unfinished hull was securely cradled and sealed beneath pitched thatch. Mara overhauled and caulked the existing fishing boat with seasoned offcuts. Pell trained apprentices in knotting and split-root lashings, enabling Tor's crews to tie thatch and seal all four leaking houses.",
          "subject_id": "keelstrand",
          "value": null,
          "visibility": {
            "player_ids": [
              "player2"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "domain": "RESOURCE",
          "id": "fact-keelstrand-stores-and-sleds",
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "T001-D02"
            ]
          },
          "statement": "Carpenters shaped two wooden drag-sleds from heavy offcuts to haul timber over the stony track without fraying rope. Venn lifted garden roots and beans into dry straw pits, and surplus creek fish were smoked and salted.",
          "subject_id": "keelstrand",
          "value": null,
          "visibility": {
            "player_ids": [
              "player2"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "domain": "WORLD",
          "id": "fact-keelstrand-ridge-patrol",
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "T001-D02"
            ]
          },
          "statement": "Ivo scouted the southeast pack trail to the first ridgeline, observing pack animal tracks and spotting distant upland grazing herds before executing a midday turnaround and returning safely before nightfall.",
          "subject_id": "keelstrand",
          "value": null,
          "visibility": {
            "player_ids": [
              "player2"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "domain": "WORLD",
          "id": "fact-high-barley-care-and-harvest",
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "T001-D03"
            ]
          },
          "statement": "Cal's care rota was instituted, gathering dependents in central spaces and relieving weary caregivers, with the covered bowl honored at every evening meal. Hesta paced the barley cut to dry intervals, while Osa used pack goats with hauling frames to carry sheaves, keeping harvest flowing without overburdening households.",
          "subject_id": "high-barley",
          "value": null,
          "visibility": {
            "player_ids": [
              "player3"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "domain": "RESOURCE",
          "id": "fact-high-barley-storehouse-and-loft",
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "T001-D03"
            ]
          },
          "statement": "Leth and the leader sorted the lower store bay, salvaging damp grain for immediate meals and removing mold. Raised timber dunnage was laid to lift sacks off the floor, Beren converted the disused wool loft into ventilated drying hurdles, and prime seed grain was secured on upper racks.",
          "subject_id": "high-barley",
          "value": null,
          "visibility": {
            "player_ids": [
              "player3"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "domain": "WORLD",
          "id": "fact-high-barley-ford-surveillance",
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "T001-D04"
            ]
          },
          "statement": "Jun observed two distant coastal travelers advance along the alder path to the edge of the stream ford and lower meadow. The scouts observed the shelf from cover and withdrew peacefully eastward down the alder path without attempting to cross the ford or approach the village.",
          "subject_id": "high-barley",
          "value": null,
          "visibility": {
            "player_ids": [
              "player3"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "domain": "GEOGRAPHY",
          "id": "fact-ternhaven-alder-scout-report",
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "T001-D04"
            ]
          },
          "statement": "Seli completed a three-day reconnaissance along the alder path to the stream ford and lower meadow. She confirmed the trail is passable in early autumn, found fresh goat and pack tracks near the water, and sighted dwellings on the high upland shelf above before withdrawing eastward in accordance with orders.",
          "subject_id": "sound",
          "value": null,
          "visibility": {
            "player_ids": [
              "player4"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "domain": "WORLD",
          "id": "fact-ternhaven-mooring-and-boats",
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "T001-D05"
            ]
          },
          "statement": "Both fishing boats were safely hauled onto the inner beach above high tide. During slack water, Kiri inspected the outer mooring and discovered the rope chafing against a submerged stone edge; the mooring was cleared and re-rigged with tested cordage, while inshore fishing continued safely.",
          "subject_id": "ternhaven",
          "value": null,
          "visibility": {
            "player_ids": [
              "player4"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "domain": "RESOURCE",
          "id": "fact-ternhaven-stores-and-hearth",
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "T001-D05"
            ]
          },
          "statement": "Work crews built drying racks on the upper ledge to dry split fish and roots off the ground. The landing hall roof seam was re-thatched and pitched, dry firewood was secured under lean-tos, and coughing children were nursed to recovery by the central hearth.",
          "subject_id": "ternhaven",
          "value": null,
          "visibility": {
            "player_ids": [
              "player4"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "domain": "WORLD",
          "id": "fact-ternhaven-hospitality-policy",
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "T001-D05"
            ]
          },
          "statement": "The leader established an explicit village hospitality rule: visitors receive shelter and a hearth meal for their first night under custom; on the second day, guests must provide reciprocal labor or receive travel rations and depart peacefully.",
          "subject_id": "ternhaven",
          "value": null,
          "visibility": {
            "player_ids": [
              "player4"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "domain": "WORLD",
          "id": "fact-saltmere-pan-thermal-test",
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "T002-D01"
            ]
          },
          "statement": "Nessa conducted a low-intensity test boil on an inland pan using salvaged drift and deadfall, while Fen monitored the western bank at low water. The clay reinforcement remained solid without cracking or seepage, confirming stability under low heat while core dry billets remain reserved for domestic warmth.",
          "subject_id": "saltmere",
          "value": null,
          "visibility": {
            "player_ids": [
              "player1"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "domain": "WORLD",
          "id": "fact-saltmere-creek-reconnaissance",
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "T002-D01"
            ]
          },
          "statement": "Evi and a companion reached the southern bank of the northern creek under cover of dunes. They observed an active boat yard on the opposite bank with timber sleds, an overhauled fishing craft, and permanent thatched dwellings, confirming a substantial neighboring settlement before withdrawing unseen.",
          "subject_id": "sound",
          "value": null,
          "visibility": {
            "player_ids": [
              "player1"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "domain": "RESOURCE",
          "id": "fact-saltmere-fuel-and-stores-discipline",
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "T002-D01"
            ]
          },
          "statement": "Fresh willow and alder billets were split into thin laths and stacked under the drained hollow shelter, accelerating seasoning. Inshore fishing continued in calm windows, drying racks were sheltered beside longhouses, and Daro's weekly inspection confirmed stored grain and cured fish remain free of mold.",
          "subject_id": "saltmere",
          "value": null,
          "visibility": {
            "player_ids": [
              "player1"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "domain": "WORLD",
          "id": "fact-keelstrand-shed-underpinning",
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "T002-D02"
            ]
          },
          "statement": "Mara and Ivo jacked the boat shed cross-beam, excavated to firm subsoil, and seated a broad flat river stone plinth. The rotted base of the corner post was cut away, charred against fungus, and fitted with a seasoned timber block sistered with hardwood splints and treenails, permanently securing the structure.",
          "subject_id": "keelstrand",
          "value": null,
          "visibility": {
            "player_ids": [
              "player2"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "domain": "RESOURCE",
          "id": "fact-keelstrand-sled-timber-and-fuel",
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "T002-D02"
            ]
          },
          "statement": "Work crews cleared and corduroyed the uphill track, using the two drag-sleds to haul straight trunk timbers, curved framing knees, and bundled deadwood before rains softened the trail. Logs were debarked and stacked on skids under thatched lean-tos to season for spring.",
          "subject_id": "keelstrand",
          "value": null,
          "visibility": {
            "player_ids": [
              "player2"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "domain": "WORLD",
          "id": "fact-keelstrand-fiber-and-swales",
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "T002-D02"
            ]
          },
          "statement": "Tor organized swales along uphill walls to direct runoff toward the creek, inspected central hearth clearances, and culled storage pits. Pell led apprentices in retting and spinning nettle and bast fibers into cordage, while caulking pitch was rendered from resin, charcoal, and ash.",
          "subject_id": "keelstrand",
          "value": null,
          "visibility": {
            "player_ids": [
              "player2"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "domain": "WORLD",
          "id": "fact-keelstrand-ridge-and-marker-patrols",
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "T002-D02"
            ]
          },
          "statement": "Ivo scouted the western marker beach, finding the stake intact with faint shore tracks nearby. Later, from a concealed observation post on the southeast ridge, Ivo observed managed pack goat herds grazing across the distant upland shelf before executing a disciplined midday return.",
          "subject_id": "sound",
          "value": null,
          "visibility": {
            "player_ids": [
              "player2"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "domain": "RESOURCE",
          "id": "fact-high-barley-harvest-conclusion",
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "T002-D03"
            ]
          },
          "statement": "Hesta's teams completed final sickle sweeps of standing barley during dry spells. Beren managed a continuous rotation through the wool loft drying hurdles to threshing cloths, ensuring the entire crop was cured, winnowed, and bagged without rain spoilage, with straw bundled for goat fodder and bedding.",
          "subject_id": "high-barley",
          "value": null,
          "visibility": {
            "player_ids": [
              "player3"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "domain": "RESOURCE",
          "id": "fact-high-barley-store-and-fuel-security",
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "T002-D03"
            ]
          },
          "statement": "Leth stacked all newly harvested grain sacks exclusively on raised dunnage away from outer walls, maintaining daily moisture checks. Beren secured prime seed grain in marked sacks on the driest upper racks, while goat-hauling teams stockpiled deadwood, brush, and peat under covered eaves.",
          "subject_id": "high-barley",
          "value": null,
          "visibility": {
            "player_ids": [
              "player3"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "domain": "WORLD",
          "id": "fact-ford-contact-high-barley-view",
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "T002-D04"
            ]
          },
          "statement": "A four-person delegation from the coastal inlet, led by a woman named Del and the guide Seli, hailed Jun from the eastern bank of the stream ford. They approached openly and unarmored, presenting a woven gift basket of cured smoked fish and clean sea-salt. High Barley's leader and elders met them at the stream, exchanging peaceful greetings and learning that their village, Ternhaven, is a coastal fishing settlement seeking peaceful trade, while maintaining the stream barrier without admitting visitors up to the shelf.",
          "subject_id": "high-barley",
          "value": null,
          "visibility": {
            "player_ids": [
              "player3"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "domain": "WORLD",
          "id": "fact-ford-contact-ternhaven-view",
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "T002-D04"
            ]
          },
          "statement": "Del and Seli led Ternhaven's four-person embassy along the alder path to the stream ford, observing a stone boundary cairn bearing a woven willow ring. They were hailed across the water by the ford watcher Jun and met by the upland leader and elders. Del presented the gift basket of smoked fish and sea-salt, explained Ternhaven's hospitality customs, and discussed future barter. The upland community, High Barley, received the gift courteously and affirmed peaceful relations across the stream, while keeping the meeting at the water boundary.",
          "subject_id": "ternhaven",
          "value": null,
          "visibility": {
            "player_ids": [
              "player4"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "domain": "RESOURCE",
          "id": "fact-ternhaven-stores-and-wellhead-defense",
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "T002-D05"
            ]
          },
          "statement": "Ves and Wen cleared all dried fish and roots from the upper ledge racks into the landing hall ahead of driving rains. Sacks and root bundles were raised on timber dunnage away from walls, while shallow diversion ditches were dug uphill from the fresh-water wellhead to steer autumn mud and runoff away from the water supply.",
          "subject_id": "ternhaven",
          "value": null,
          "visibility": {
            "player_ids": [
              "player4"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "domain": "WORLD",
          "id": "fact-ternhaven-marine-safety-and-craft",
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "T002-D05"
            ]
          },
          "statement": "Ruan confined fishing strictly to the sheltered inner inlet, hauling both craft above the storm line during rough swells. Kiri inspected the re-rigged mooring at slack tides, while net crews utilized stormy days inside the hall to twist fresh cordage from bast stores and repair damaged netting.",
          "subject_id": "ternhaven",
          "value": null,
          "visibility": {
            "player_ids": [
              "player4"
            ],
            "scope": "PLAYERS"
          }
        }
      ],
      "knowledge": [
        {
          "id": "K-saltmere-scene",
          "holder_id": "saltmere-leader",
          "player_id": "player1",
          "fact_id": "saltmere-scene",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-saltmere-premise",
          "holder_id": "saltmere-leader",
          "player_id": "player1",
          "fact_id": "saltmere-premise",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-saltmere-calendar",
          "holder_id": "saltmere-leader",
          "player_id": "player1",
          "fact_id": "saltmere-calendar",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-saltmere-map",
          "holder_id": "saltmere-leader",
          "player_id": "player1",
          "fact_id": "saltmere-map",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-saltmere-conditions",
          "holder_id": "saltmere-leader",
          "player_id": "player1",
          "fact_id": "saltmere-conditions",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-saltmere-dispute",
          "holder_id": "saltmere-leader",
          "player_id": "player1",
          "fact_id": "saltmere-dispute",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-saltmere-warning",
          "holder_id": "saltmere-leader",
          "player_id": "player1",
          "fact_id": "saltmere-warning",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-saltmere-opportunity",
          "holder_id": "saltmere-leader",
          "player_id": "player1",
          "fact_id": "saltmere-opportunity",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-saltmere-neighbors",
          "holder_id": "saltmere-leader",
          "player_id": "player1",
          "fact_id": "saltmere-neighbors",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-saltmere-custom",
          "holder_id": "saltmere-leader",
          "player_id": "player1",
          "fact_id": "saltmere-custom",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-saltmere-contacts",
          "holder_id": "saltmere-leader",
          "player_id": "player1",
          "fact_id": "saltmere-contacts",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-keelstrand-scene",
          "holder_id": "keelstrand-leader",
          "player_id": "player2",
          "fact_id": "keelstrand-scene",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-keelstrand-premise",
          "holder_id": "keelstrand-leader",
          "player_id": "player2",
          "fact_id": "keelstrand-premise",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-keelstrand-calendar",
          "holder_id": "keelstrand-leader",
          "player_id": "player2",
          "fact_id": "keelstrand-calendar",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-keelstrand-map",
          "holder_id": "keelstrand-leader",
          "player_id": "player2",
          "fact_id": "keelstrand-map",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-keelstrand-conditions",
          "holder_id": "keelstrand-leader",
          "player_id": "player2",
          "fact_id": "keelstrand-conditions",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-keelstrand-dispute",
          "holder_id": "keelstrand-leader",
          "player_id": "player2",
          "fact_id": "keelstrand-dispute",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-keelstrand-warning",
          "holder_id": "keelstrand-leader",
          "player_id": "player2",
          "fact_id": "keelstrand-warning",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-keelstrand-opportunity",
          "holder_id": "keelstrand-leader",
          "player_id": "player2",
          "fact_id": "keelstrand-opportunity",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-keelstrand-neighbors",
          "holder_id": "keelstrand-leader",
          "player_id": "player2",
          "fact_id": "keelstrand-neighbors",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-keelstrand-custom",
          "holder_id": "keelstrand-leader",
          "player_id": "player2",
          "fact_id": "keelstrand-custom",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-keelstrand-contacts",
          "holder_id": "keelstrand-leader",
          "player_id": "player2",
          "fact_id": "keelstrand-contacts",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-high-barley-scene",
          "holder_id": "high-barley-leader",
          "player_id": "player3",
          "fact_id": "high-barley-scene",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-high-barley-premise",
          "holder_id": "high-barley-leader",
          "player_id": "player3",
          "fact_id": "high-barley-premise",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-high-barley-calendar",
          "holder_id": "high-barley-leader",
          "player_id": "player3",
          "fact_id": "high-barley-calendar",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-high-barley-map",
          "holder_id": "high-barley-leader",
          "player_id": "player3",
          "fact_id": "high-barley-map",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-high-barley-conditions",
          "holder_id": "high-barley-leader",
          "player_id": "player3",
          "fact_id": "high-barley-conditions",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-high-barley-dispute",
          "holder_id": "high-barley-leader",
          "player_id": "player3",
          "fact_id": "high-barley-dispute",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-high-barley-warning",
          "holder_id": "high-barley-leader",
          "player_id": "player3",
          "fact_id": "high-barley-warning",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-high-barley-opportunity",
          "holder_id": "high-barley-leader",
          "player_id": "player3",
          "fact_id": "high-barley-opportunity",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-high-barley-neighbors",
          "holder_id": "high-barley-leader",
          "player_id": "player3",
          "fact_id": "high-barley-neighbors",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-high-barley-custom",
          "holder_id": "high-barley-leader",
          "player_id": "player3",
          "fact_id": "high-barley-custom",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-high-barley-contacts",
          "holder_id": "high-barley-leader",
          "player_id": "player3",
          "fact_id": "high-barley-contacts",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-ternhaven-scene",
          "holder_id": "ternhaven-leader",
          "player_id": "player4",
          "fact_id": "ternhaven-scene",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-ternhaven-premise",
          "holder_id": "ternhaven-leader",
          "player_id": "player4",
          "fact_id": "ternhaven-premise",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-ternhaven-calendar",
          "holder_id": "ternhaven-leader",
          "player_id": "player4",
          "fact_id": "ternhaven-calendar",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-ternhaven-map",
          "holder_id": "ternhaven-leader",
          "player_id": "player4",
          "fact_id": "ternhaven-map",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-ternhaven-conditions",
          "holder_id": "ternhaven-leader",
          "player_id": "player4",
          "fact_id": "ternhaven-conditions",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-ternhaven-dispute",
          "holder_id": "ternhaven-leader",
          "player_id": "player4",
          "fact_id": "ternhaven-dispute",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-ternhaven-warning",
          "holder_id": "ternhaven-leader",
          "player_id": "player4",
          "fact_id": "ternhaven-warning",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-ternhaven-opportunity",
          "holder_id": "ternhaven-leader",
          "player_id": "player4",
          "fact_id": "ternhaven-opportunity",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-ternhaven-neighbors",
          "holder_id": "ternhaven-leader",
          "player_id": "player4",
          "fact_id": "ternhaven-neighbors",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-ternhaven-custom",
          "holder_id": "ternhaven-leader",
          "player_id": "player4",
          "fact_id": "ternhaven-custom",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "id": "K-ternhaven-contacts",
          "holder_id": "ternhaven-leader",
          "player_id": "player4",
          "fact_id": "ternhaven-contacts",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED",
          "source_type": "INITIAL",
          "propagation_path": [],
          "learned_turn": 0
        },
        {
          "confidence": "CONFIRMED",
          "epistemic_status": "OBSERVED",
          "fact_id": "fact-saltmere-bank-reinforcement",
          "holder_id": "saltmere-leader",
          "id": "K-saltmere-bank-reinforcement",
          "learned_turn": 1,
          "player_id": "player1",
          "propagation_path": [],
          "source_type": "DIRECT_OBSERVATION"
        },
        {
          "confidence": "CONFIRMED",
          "epistemic_status": "OBSERVED",
          "fact_id": "fact-saltmere-stores-and-shelter",
          "holder_id": "saltmere-leader",
          "id": "K-saltmere-stores-and-shelter",
          "learned_turn": 1,
          "player_id": "player1",
          "propagation_path": [],
          "source_type": "DIRECT_OBSERVATION"
        },
        {
          "confidence": "CONFIRMED",
          "epistemic_status": "OBSERVED",
          "fact_id": "fact-saltmere-fuel-coppice",
          "holder_id": "saltmere-leader",
          "id": "K-saltmere-fuel-coppice",
          "learned_turn": 1,
          "player_id": "player1",
          "propagation_path": [],
          "source_type": "DIRECT_OBSERVATION"
        },
        {
          "confidence": "CONFIRMED",
          "epistemic_status": "REPORTED",
          "fact_id": "fact-saltmere-marker-beach-patrol",
          "holder_id": "saltmere-leader",
          "id": "K-saltmere-marker-beach-patrol",
          "learned_turn": 1,
          "player_id": "player1",
          "propagation_path": [
            "saltmere-c5"
          ],
          "source_type": "PROPAGATED"
        },
        {
          "confidence": "CONFIRMED",
          "epistemic_status": "OBSERVED",
          "fact_id": "fact-keelstrand-shed-shoring",
          "holder_id": "keelstrand-leader",
          "id": "K-keelstrand-shed-shoring",
          "learned_turn": 1,
          "player_id": "player2",
          "propagation_path": [],
          "source_type": "DIRECT_OBSERVATION"
        },
        {
          "confidence": "CONFIRMED",
          "epistemic_status": "OBSERVED",
          "fact_id": "fact-keelstrand-roofs-and-boats",
          "holder_id": "keelstrand-leader",
          "id": "K-keelstrand-roofs-and-boats",
          "learned_turn": 1,
          "player_id": "player2",
          "propagation_path": [],
          "source_type": "DIRECT_OBSERVATION"
        },
        {
          "confidence": "CONFIRMED",
          "epistemic_status": "OBSERVED",
          "fact_id": "fact-keelstrand-stores-and-sleds",
          "holder_id": "keelstrand-leader",
          "id": "K-keelstrand-stores-and-sleds",
          "learned_turn": 1,
          "player_id": "player2",
          "propagation_path": [],
          "source_type": "DIRECT_OBSERVATION"
        },
        {
          "confidence": "CONFIRMED",
          "epistemic_status": "REPORTED",
          "fact_id": "fact-keelstrand-ridge-patrol",
          "holder_id": "keelstrand-leader",
          "id": "K-keelstrand-ridge-patrol",
          "learned_turn": 1,
          "player_id": "player2",
          "propagation_path": [
            "keelstrand-c4"
          ],
          "source_type": "PROPAGATED"
        },
        {
          "confidence": "CONFIRMED",
          "epistemic_status": "OBSERVED",
          "fact_id": "fact-high-barley-care-and-harvest",
          "holder_id": "high-barley-leader",
          "id": "K-high-barley-care-and-harvest",
          "learned_turn": 1,
          "player_id": "player3",
          "propagation_path": [],
          "source_type": "DIRECT_OBSERVATION"
        },
        {
          "confidence": "CONFIRMED",
          "epistemic_status": "OBSERVED",
          "fact_id": "fact-high-barley-storehouse-and-loft",
          "holder_id": "high-barley-leader",
          "id": "K-high-barley-storehouse-and-loft",
          "learned_turn": 1,
          "player_id": "player3",
          "propagation_path": [],
          "source_type": "DIRECT_OBSERVATION"
        },
        {
          "confidence": "CONFIRMED",
          "epistemic_status": "REPORTED",
          "fact_id": "fact-high-barley-ford-surveillance",
          "holder_id": "high-barley-leader",
          "id": "K-high-barley-ford-surveillance",
          "learned_turn": 1,
          "player_id": "player3",
          "propagation_path": [
            "high-barley-c6"
          ],
          "source_type": "PROPAGATED"
        },
        {
          "confidence": "CONFIRMED",
          "epistemic_status": "REPORTED",
          "fact_id": "fact-ternhaven-alder-scout-report",
          "holder_id": "ternhaven-leader",
          "id": "K-ternhaven-alder-scout-report",
          "learned_turn": 1,
          "player_id": "player4",
          "propagation_path": [
            "ternhaven-c5"
          ],
          "source_type": "PROPAGATED"
        },
        {
          "confidence": "CONFIRMED",
          "epistemic_status": "OBSERVED",
          "fact_id": "fact-ternhaven-mooring-and-boats",
          "holder_id": "ternhaven-leader",
          "id": "K-ternhaven-mooring-and-boats",
          "learned_turn": 1,
          "player_id": "player4",
          "propagation_path": [],
          "source_type": "DIRECT_OBSERVATION"
        },
        {
          "confidence": "CONFIRMED",
          "epistemic_status": "OBSERVED",
          "fact_id": "fact-ternhaven-stores-and-hearth",
          "holder_id": "ternhaven-leader",
          "id": "K-ternhaven-stores-and-hearth",
          "learned_turn": 1,
          "player_id": "player4",
          "propagation_path": [],
          "source_type": "DIRECT_OBSERVATION"
        },
        {
          "confidence": "CONFIRMED",
          "epistemic_status": "OBSERVED",
          "fact_id": "fact-ternhaven-hospitality-policy",
          "holder_id": "ternhaven-leader",
          "id": "K-ternhaven-hospitality-policy",
          "learned_turn": 1,
          "player_id": "player4",
          "propagation_path": [],
          "source_type": "DIRECT_OBSERVATION"
        },
        {
          "confidence": "CONFIRMED",
          "epistemic_status": "OBSERVED",
          "fact_id": "fact-saltmere-pan-thermal-test",
          "holder_id": "saltmere-leader",
          "id": "K-saltmere-pan-thermal-test",
          "learned_turn": 2,
          "player_id": "player1",
          "propagation_path": [],
          "source_type": "DIRECT_OBSERVATION"
        },
        {
          "confidence": "CONFIRMED",
          "epistemic_status": "REPORTED",
          "fact_id": "fact-saltmere-creek-reconnaissance",
          "holder_id": "saltmere-leader",
          "id": "K-saltmere-creek-reconnaissance",
          "learned_turn": 2,
          "player_id": "player1",
          "propagation_path": [
            "saltmere-c5"
          ],
          "source_type": "PROPAGATED"
        },
        {
          "confidence": "CONFIRMED",
          "epistemic_status": "OBSERVED",
          "fact_id": "fact-saltmere-fuel-and-stores-discipline",
          "holder_id": "saltmere-leader",
          "id": "K-saltmere-fuel-and-stores-discipline",
          "learned_turn": 2,
          "player_id": "player1",
          "propagation_path": [],
          "source_type": "DIRECT_OBSERVATION"
        },
        {
          "confidence": "CONFIRMED",
          "epistemic_status": "OBSERVED",
          "fact_id": "fact-keelstrand-shed-underpinning",
          "holder_id": "keelstrand-leader",
          "id": "K-keelstrand-shed-underpinning",
          "learned_turn": 2,
          "player_id": "player2",
          "propagation_path": [],
          "source_type": "DIRECT_OBSERVATION"
        },
        {
          "confidence": "CONFIRMED",
          "epistemic_status": "OBSERVED",
          "fact_id": "fact-keelstrand-sled-timber-and-fuel",
          "holder_id": "keelstrand-leader",
          "id": "K-keelstrand-sled-timber-and-fuel",
          "learned_turn": 2,
          "player_id": "player2",
          "propagation_path": [],
          "source_type": "DIRECT_OBSERVATION"
        },
        {
          "confidence": "CONFIRMED",
          "epistemic_status": "OBSERVED",
          "fact_id": "fact-keelstrand-fiber-and-swales",
          "holder_id": "keelstrand-leader",
          "id": "K-keelstrand-fiber-and-swales",
          "learned_turn": 2,
          "player_id": "player2",
          "propagation_path": [],
          "source_type": "DIRECT_OBSERVATION"
        },
        {
          "confidence": "CONFIRMED",
          "epistemic_status": "REPORTED",
          "fact_id": "fact-keelstrand-ridge-and-marker-patrols",
          "holder_id": "keelstrand-leader",
          "id": "K-keelstrand-ridge-and-marker-patrols",
          "learned_turn": 2,
          "player_id": "player2",
          "propagation_path": [
            "keelstrand-c4"
          ],
          "source_type": "PROPAGATED"
        },
        {
          "confidence": "CONFIRMED",
          "epistemic_status": "OBSERVED",
          "fact_id": "fact-high-barley-harvest-conclusion",
          "holder_id": "high-barley-leader",
          "id": "K-high-barley-harvest-conclusion",
          "learned_turn": 2,
          "player_id": "player3",
          "propagation_path": [],
          "source_type": "DIRECT_OBSERVATION"
        },
        {
          "confidence": "CONFIRMED",
          "epistemic_status": "OBSERVED",
          "fact_id": "fact-high-barley-store-and-fuel-security",
          "holder_id": "high-barley-leader",
          "id": "K-high-barley-store-and-fuel-security",
          "learned_turn": 2,
          "player_id": "player3",
          "propagation_path": [],
          "source_type": "DIRECT_OBSERVATION"
        },
        {
          "confidence": "CONFIRMED",
          "epistemic_status": "OBSERVED",
          "fact_id": "fact-ford-contact-high-barley-view",
          "holder_id": "high-barley-leader",
          "id": "K-ford-contact-high-barley-view",
          "learned_turn": 2,
          "player_id": "player3",
          "propagation_path": [],
          "source_type": "DIRECT_OBSERVATION"
        },
        {
          "confidence": "CONFIRMED",
          "epistemic_status": "REPORTED",
          "fact_id": "fact-ford-contact-ternhaven-view",
          "holder_id": "ternhaven-leader",
          "id": "K-ford-contact-ternhaven-view",
          "learned_turn": 2,
          "player_id": "player4",
          "propagation_path": [
            "ternhaven-c1",
            "ternhaven-c5"
          ],
          "source_type": "PROPAGATED"
        },
        {
          "confidence": "CONFIRMED",
          "epistemic_status": "OBSERVED",
          "fact_id": "fact-ternhaven-stores-and-wellhead-defense",
          "holder_id": "ternhaven-leader",
          "id": "K-ternhaven-stores-and-wellhead-defense",
          "learned_turn": 2,
          "player_id": "player4",
          "propagation_path": [],
          "source_type": "DIRECT_OBSERVATION"
        },
        {
          "confidence": "CONFIRMED",
          "epistemic_status": "OBSERVED",
          "fact_id": "fact-ternhaven-marine-safety-and-craft",
          "holder_id": "ternhaven-leader",
          "id": "K-ternhaven-marine-safety-and-craft",
          "learned_turn": 2,
          "player_id": "player4",
          "propagation_path": [],
          "source_type": "DIRECT_OBSERVATION"
        }
      ],
      "relationships": [
        {
          "id": "saltmere-r1",
          "source_id": "saltmere-c1",
          "target_id": "saltmere-c2",
          "basis": "Nessa, who tends the pans, asks for the dry billets promised at the last gathering. Orin, whose household fishes, points at the smoking rack and says fish will spoil if the pans take everything. Neither claims that all production must continue: both want the cost of a reduction to be acknowledged. Several families will work on either task, but cannot do both at once.",
          "stance": "Accepts the shared compromise of smokehouse fuel priority and dry-salting while boiling is paused for bank repairs.",
          "intensity": "LOW",
          "confidence": "CONFIRMED",
          "obligation_ids": [
            "saltmere-custom"
          ],
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "SALTWIND-INITIALIZATION",
              "T001-D01"
            ]
          }
        },
        {
          "id": "keelstrand-r1",
          "source_id": "keelstrand-c1",
          "target_id": "keelstrand-c2",
          "basis": "Mara promised Arel and the fishing households a sound boat before the late-autumn runs. Arel has helped feed the yard and wants that promise kept. Tor asks that roof crews come first, showing you the wet blanket. Mara says the hull can be safely paused if covered; finishing it while making every roof sound will require more skilled hands than the yard has.",
          "stance": "Cooperating peacefully under the witnessed keel compromise, with fishing households receiving roof repairs and guaranteed food shares while the big boat waits.",
          "intensity": "LOW",
          "confidence": "CONFIRMED",
          "obligation_ids": [
            "keelstrand-custom"
          ],
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "SALTWIND-INITIALIZATION",
              "T001-D02"
            ]
          }
        },
        {
          "id": "high-barley-r1",
          "source_id": "high-barley-c1",
          "target_id": "high-barley-c2",
          "basis": "Hesta wants every able pair of hands in the fields during this dry interval. Cal reminds her that dependents still need feeding and tending, and brings you the unfilled household rota. Beren says some sheaves can wait, but not all the exposed crop through repeated rain. Counting caregivers twice will not bring the grain in sooner.",
          "stance": "Working cooperatively under the protected care rota and covered-bowl recognition, balancing field work with household needs.",
          "intensity": "LOW",
          "confidence": "CONFIRMED",
          "obligation_ids": [
            "high-barley-custom"
          ],
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "SALTWIND-INITIALIZATION",
              "T001-D03"
            ]
          }
        },
        {
          "id": "ternhaven-r1",
          "source_id": "ternhaven-c1",
          "target_id": "ternhaven-c2",
          "basis": "Del recalls an old obligation to give seasonal visitors a dry first night and a meal. Ves asks whether an old welcome now means feeding whoever arrives all winter. No visitors are presently here and no arrival date is agreed. Ruan says limits spoken before arrival would be easier to honor than angry exclusions at the door.",
          "stance": "In agreement following the enactment of the two-stage hospitality rule, balancing traditional welcome with resident store protection.",
          "intensity": "LOW",
          "confidence": "CONFIRMED",
          "obligation_ids": [
            "ternhaven-custom"
          ],
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "SALTWIND-INITIALIZATION",
              "T001-D05"
            ]
          }
        },
        {
          "basis": "Peaceful border encounter at the stream ford; Ternhaven presented a gift of salt and smoked fish, and High Barley acknowledged peaceful intentions while guarding the ford.",
          "confidence": "CONFIRMED",
          "id": "rel-high-barley-ternhaven",
          "intensity": "LOW",
          "obligation_ids": [],
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "T002-D04"
            ]
          },
          "source_id": "high-barley-leader",
          "stance": "Guarded respect and openness to future seasonal barter across the stream ford.",
          "target_id": "ternhaven-leader",
          "visibility": {
            "player_ids": [],
            "scope": "GM_ONLY"
          }
        },
        {
          "basis": "Del and Seli met High Barley elders at the stream ford, presenting coastal gift provisions and receiving respectful acknowledgment and boundary recognition.",
          "confidence": "CONFIRMED",
          "id": "rel-ternhaven-high-barley",
          "intensity": "LOW",
          "obligation_ids": [],
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "T002-D04"
            ]
          },
          "source_id": "ternhaven-leader",
          "stance": "Courteous and hopeful for upland barter in grain, hides, or wool, respecting their boundary vigilance.",
          "target_id": "high-barley-leader",
          "visibility": {
            "player_ids": [],
            "scope": "GM_ONLY"
          }
        }
      ],
      "institutions": [],
      "obligations": [
        {
          "id": "saltmere-custom",
          "party_ids": [
            "saltmere-c1",
            "saltmere-c2",
            "saltmere-leader"
          ],
          "terms": "At fuel allocations, each hearth lays a stone beside the claimant it supports. The stones witness a promise; they do not give every household a veto. People currently accept your leadership and await a decision. You may keep work local, change priorities or seek information without promising anyone a grand new order.",
          "status": "ACTIVE",
          "witness_ids": [
            "saltmere-c3"
          ],
          "due_key": null,
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "keelstrand-custom",
          "party_ids": [
            "keelstrand-c1",
            "keelstrand-c2",
            "keelstrand-leader"
          ],
          "terms": "Promises made in the yard are spoken over a laid keel with witnesses. Changed circumstances can reopen terms; that does not make the first promise imaginary. Households accept your authority, while expecting you to say whose work waits.",
          "status": "ACTIVE",
          "witness_ids": [
            "keelstrand-c3"
          ],
          "due_key": null,
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "high-barley-custom",
          "party_ids": [
            "high-barley-c1",
            "high-barley-c2",
            "high-barley-leader"
          ],
          "terms": "At harvest, households set aside a covered bowl for those who cannot come to the field. The bowl is a witnessed obligation rather than a claim that care takes no work. People accept your leadership but watch who is asked to carry the burden.",
          "status": "ACTIVE",
          "witness_ids": [
            "high-barley-c3"
          ],
          "due_key": null,
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        },
        {
          "id": "ternhaven-custom",
          "party_ids": [
            "ternhaven-c1",
            "ternhaven-c2",
            "ternhaven-leader"
          ],
          "terms": "The first guest meal is placed at the edge of the hearth under ancient custom, granting a dry first night. By established village policy, guests staying beyond the first night must contribute reciprocal labor or receive one day's travel rations and depart in peace.",
          "status": "ACTIVE",
          "witness_ids": [
            "ternhaven-c3"
          ],
          "due_key": null,
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "SALTWIND-INITIALIZATION",
              "T001-D05"
            ]
          }
        }
      ],
      "pressures": [
        {
          "id": "saltmere-pressure",
          "subject_id": "saltmere",
          "name": "Opening allocation conflict",
          "state": "Fuel compromise enacted: dry billets prioritized for fish smoking, boiling paused while the pan bank was packed and reinforced with clay, and dry-salting used to preserve catch without household grievance.",
          "progress": null,
          "maximum": null,
          "status": "COMPLETED",
          "last_updated_turn": 0,
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "SALTWIND-INITIALIZATION",
              "T001-D01"
            ]
          }
        },
        {
          "id": "keelstrand-pressure",
          "subject_id": "keelstrand",
          "name": "Opening allocation conflict",
          "state": "Keel compromise honored: large hull safely sealed under thatch, fishing households prioritized for roof repair and food shares, and old boat overhauled for autumn fishing.",
          "progress": null,
          "maximum": null,
          "status": "COMPLETED",
          "last_updated_turn": 0,
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "SALTWIND-INITIALIZATION",
              "T001-D02"
            ]
          }
        },
        {
          "id": "high-barley-pressure",
          "subject_id": "high-barley",
          "name": "Opening allocation conflict",
          "state": "Labor balance achieved: Cal's care rota established and honored with the covered bowl, while goat hauling and loft drying hurdles enable steady harvest without caregiver burnout.",
          "progress": null,
          "maximum": null,
          "status": "COMPLETED",
          "last_updated_turn": 0,
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "SALTWIND-INITIALIZATION",
              "T001-D03"
            ]
          }
        },
        {
          "id": "ternhaven-pressure",
          "subject_id": "ternhaven",
          "name": "Opening allocation conflict",
          "state": "Hospitality policy enacted: first-night welcome honored under Del's custom, with reciprocal labor or respectful departure required thereafter, satisfying Ves and Ruan.",
          "progress": null,
          "maximum": null,
          "status": "COMPLETED",
          "last_updated_turn": 0,
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "APPROVED_DECISION",
            "source_ids": [
              "SALTWIND-INITIALIZATION",
              "T001-D05"
            ]
          }
        }
      ],
      "rules": [
        {
          "id": "saltwind-baseline",
          "name": "Frozen v0.2 simulation baseline",
          "status": "ACTIVE",
          "scope": "CAMPAIGN",
          "effect": "Mundane causality; 1500 words; simultaneous monthly turns; six anchored scores and P=.65 mean+.35 minimum; causal uncertainty target and prerequisites; persistent bounded character agency; privacy; specific AI_GM elimination and emergent activation gates within SIMULATION only. General mechanics fixed; source rules bundle supplies detail.",
          "approval_id": "SIM-BOOTSTRAP-saltwind-sound-01",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          },
          "provenance": {
            "source_kind": "PRIOR_STATE",
            "source_ids": [
              "SALTWIND-INITIALIZATION"
            ]
          }
        }
      ],
      "attractors": [],
      "decisions": [
        {
          "id": "T001-D01",
          "title": "Saltmere Fuel Allocation, Pan Bank Reinforcement, and Food Preservation",
          "type": "GROUPED_REVERSIBLE",
          "status": "APPROVED",
          "affected_player_ids": [
            "player1"
          ],
          "approval_id": "T001-A-GM",
          "summary": "Player 1's plan astutely addresses the immediate fuel dispute by prioritizing dry billets for fish smoking while pausing full salt boiling to inspect and reinforce the leaking pan bank. Using stored salt cakes for dry-salting and Sava's canopied drying racks absorbs the surplus catch without overtaxing fuel reserves. Preventive coppicing and drainage preparation in the clay hollow secure future wood, and Evi's patrol strictly obeys observational caution.\nThe fuel allocation conflict is peacefully resolved with dry billets allocated to fish smoking, solar pan management maintained, and stored salt cakes utilized for dry curing. Fen and the leader inspect the pan bank at low tide, finding seepage channels that are packed and reinforced with clay and turf. The two leaking roofs are thatched, garden roots stored dry, willow coppiced and stacked in a drained hollow shelter, and Evi scouts the marker beach safely from cover."
        },
        {
          "id": "T001-D02",
          "title": "Keelstrand Hull Construction Pause, Shed Shoring, and Roofing Priority",
          "type": "GROUPED_REVERSIBLE",
          "status": "APPROVED",
          "affected_player_ids": [
            "player2"
          ],
          "approval_id": "T001-A-GM",
          "summary": "Player 2 makes a disciplined and well-orchestrated decision to prioritize leaking sleeping quarters over capital shipbuilding ahead of winter rains. Pausing the large hull under pitched thatch prevents joint rot, while overhauling the old boat maintains autumn fishing. Shoring the boat shed brace before heavy work mitigates structural collapse risk, and deploying Pell to run a lashing school turns an injured specialist into an effective training asset.\nThe unfinished hull is securely cradled and sealed under thatch, with completion deferred to spring. Mara overhauls and caulks the existing fishing boat. Tor's crews, supported by Pell's newly trained apprentices, tie thatch on all four leaking houses. The rotted shed brace is shored with props, stabilizing the building. Heavy offcuts become two drag-sleds, garden crops are stored in straw pits, and Ivo conducts a bounded scout up the southeast trail to the ridge line."
        },
        {
          "id": "T001-D03",
          "title": "High Barley Care Rota Protection, Storehouse Salvage, and Harvest Pacing",
          "type": "GROUPED_REVERSIBLE",
          "status": "APPROVED",
          "affected_player_ids": [
            "player3"
          ],
          "approval_id": "T001-A-GM",
          "summary": "Player 3 grounds their plan in realistic human capacity, formally establishing Cal's dependent care rota and observing the covered bowl custom to prevent caregiver burnout. Pacing harvest cutting strictly to drying throughput prevents grain spoilage. Sorting the lower store bay and erecting raised dunnage protects stored sacks from rising damp, while converting the wool loft into ventilated drying hurdles adds vital indoor processing capacity. Deploying pack goats for sheaf hauling relieves human labor.\nCal's care rota is established and honored with the covered bowl, maintaining household morale and protecting caregivers. Barley harvesting proceeds steadily during dry weather, hauled by Osa's pack goats. In the storehouse, Leth and the leader separate damp grain for immediate consumption, compost spoiled grain, and install raised timber dunnage. Beren converts the disused wool loft into ventilated hurdle drying space, and prime seed is safeguarded on upper racks. Outward travel down to the coast is avoided."
        },
        {
          "id": "T001-D04",
          "title": "Eastern Trail Reconnaissance: Ternhaven Alder Scout and High Barley Ford Surveillance",
          "type": "CROSS_PLAYER",
          "status": "APPROVED",
          "affected_player_ids": [
            "player3",
            "player4"
          ],
          "approval_id": "T001-A-GM",
          "summary": "The simultaneous reconnaissance operations resolve with realistic spatial and temporal pacing. Seli's 3-day scout from Ternhaven along the alder path reaches the stream ford and lower meadow, discovering signs of upland cultivation. Jun, maintaining high-shelf watch in High Barley, spots the scouts at the meadow margin. Respecting strict orders of engagement, Seli observes from cover and withdraws eastward down the alder path toward Ternhaven without crossing the ford or forcing contact, establishing mutual awareness without friction.\nSeli completes a three-day scout along the alder trail to the stream ford, noting pack tracks and sighting upland structures on the high shelf before withdrawing peacefully eastward. Jun observes the coastal scouts from the high shelf above the ford, noting their peaceful demeanor and eastward return. Both leaders acquire credible, evidence-limited knowledge of neighboring presence."
        },
        {
          "id": "T001-D05",
          "title": "Ternhaven Mooring Line Relocation, Boat Safety, and Hospitality Rule Enactment",
          "type": "GROUPED_REVERSIBLE",
          "status": "APPROVED",
          "affected_player_ids": [
            "player4"
          ],
          "approval_id": "T001-A-GM",
          "summary": "Player 4's plan immediately eliminates marine risk by hauling boats onto the inner beach pending inspection of the suspect mooring. Inspecting the line at calm slack tide discovers and resolves underwater stone chafing before rope breakage occurs. The two-stage hospitality rule masterfully reconciles Del's traditional welcome (dry first night, hearth meal) with Ves and Ruan's resource concerns (reciprocal labor required thereafter or respectful departure with rations). Building upper ledge drying racks and pitching roof seams protects village stores.\nBoth fishing boats are kept safe on the inner beach while Kiri inspects the underwater mooring, finding the chafing stone and re-rigging the line with sound rope. Drying racks are constructed on the upper ledge, the landing hall roof seam is pitched, and coughing children are nursed at the hearth. The two-stage hospitality rule is established and accepted by the community."
        },
        {
          "id": "T002-D01",
          "title": "Saltmere Pan Bank Thermal Testing, Runoff Diversion, and Northern Creek Surveillance",
          "type": "GROUPED_REVERSIBLE",
          "status": "APPROVED",
          "affected_player_ids": [
            "player1"
          ],
          "approval_id": "T002-A-GM",
          "summary": "Player 1's plan is grounded, disciplined, and within clan capabilities. Fen and Nessa execute a low-heat test boil on a single inland pan using deadfall/driftwood, avoiding thermal blowout of the packed clay bank and preserving core dry billets for winter heating. Perimeter runoff ditches effectively divert rainwater from the brine basins. Sava moves drying racks into shelter, and Orin keeps skiffs to nearshore seining. Evi conducts a cautious patrol to the southern bank of the northern creek without crossing, observing Keelstrand's yard from concealment and withdrawing safely before nightfall. Power 0.80 (Strong) supports high quality and caution without complications.\nThe low-heat thermal test confirms the reinforced western pan bank holds without cracking or weeping under low heat, while reserving dry billets for domestic warmth. Runoff diversion trenches protect brine concentrations from rain dilution. Thin willow and alder billets dry faster under the hollow shelter. Skiffs remain safe, and drying racks are sheltered. Evi's patrol reaches the southern bank of the northern creek, observing an active timber and boat-building settlement (Keelstrand) from concealment without crossing or being detected."
        },
        {
          "id": "T002-D02",
          "title": "Keelstrand Boat Shed Permanent Foundation Underpinning and Sled-Hauling Operations",
          "type": "GROUPED_REVERSIBLE",
          "status": "APPROVED",
          "affected_player_ids": [
            "player2"
          ],
          "approval_id": "T002-A-GM",
          "summary": "Player 2's plan demonstrates exceptional carpentry grounding and operational focus. Mara and Ivo jack the cross-beam, excise the rotted post base, bed a broad river stone plinth, and sister a seasoned timber block pinned with hardwood treenails and pitched caulking, permanently eliminating structural failure risk. Uphill track corduroying and drag-sled logging successfully bring down straight boat timber and winter deadwood before autumn rains turn the track to mud. Tor's swale ditches protect structures from runoff. Pell's fiber works and pitch rendering maximize wet-day productivity. Ivo's scouting safely verifies the western marker beach and southeast ridge. Strong power (0.80) ensures high craft durability and flawless scout restraint.\nThe boat shed foundation is permanently repaired atop a stone plinth with sistered timber, securing the building against winter gales. Straight timber and fuel are safely sledded down and stacked on raised skids. Dwellings and the yard are protected by drainage swales. Pell's team produces spun cordage and caulking pitch. Ivo confirms the western marker beach remains undisturbed with faint coastal foot traffic, and observes grazing goat herds on the southeast upland shelf from concealed ridge watch before returning safely."
        },
        {
          "id": "T002-D03",
          "title": "High Barley Final Harvest Processing, Storehouse Dunnage Hygiene, and Boundary Fortification",
          "type": "GROUPED_REVERSIBLE",
          "status": "APPROVED",
          "affected_player_ids": [
            "player3"
          ],
          "approval_id": "T002-A-GM",
          "summary": "Player 3 executes a comprehensive, well-sequenced agricultural closing plan. Concluding field sweeps during dry intervals feed directly into Beren's wool loft hurdle rotation, ensuring continuous drying throughput without bottlenecks or rain mold. Threshed grain is stacked on raised dunnage away from walls, and Beren segregates prime seed grain on upper racks. Winter fuel is gathered from deadwood and peat using goat hauling frames, while thatch spars are tightened. Cal adapts the care rota to indoor processing and preserves the covered bowl. Strong power (0.80) ensures full grain salvation and high community morale.\nThe barley harvest is successfully concluded and fully preserved; threshed grain sits dry on storehouse dunnage, prime seed grain is safely isolated, and barley straw provides winter fodder and bedding. Winter fuel is stockpiled under eaves, dwellings are tightened against gales, and the care rota and covered bowl maintain strong social solidarity."
        },
        {
          "id": "T002-D04",
          "title": "Eastern Stream Ford Contact: Ternhaven Embassy and High Barley Boundary Reception",
          "type": "CROSS_PLAYER",
          "status": "APPROVED",
          "affected_player_ids": [
            "player3",
            "player4"
          ],
          "approval_id": "T002-A-GM",
          "summary": "Both leaders demonstrate high diplomatic grounding, mutual restraint, and excellent coordination with established character agency. Del and Seli lead an unarmored, peaceful 4-person delegation along the alder path to the stream ford, carrying a gift basket of cured smoked fish and sea-salt. Jun observes their approach, notes their open hands, and hails them across the stream while notifying High Barley's leader. Jun's stone cairn and willow ring signal inhabited, vigilant, yet peaceful territory. High Barley's leader and elders meet the embassy across the stream barrier. Del delivers Ternhaven's traveler greetings, shares their two-stage hospitality rule, presents the guest-gift basket, and discusses future quiet barter. High Barley accepts the gift, confirms peaceful intentions, but maintains boundary discipline by keeping the meeting at the ford rather than permitting unvetted ascent to the shelf. Both delegations part with enhanced mutual understanding and verified security. Strong power on both sides (0.80) ensures no misunderstandings, accidents, or boundary friction.\nPeaceful first contact is successfully achieved at the stream ford without tension or incident. Ternhaven's delegation presents a gift basket of cured fish and sea-salt, conveys their hospitality terms, and confirms High Barley as an established upland farming community before returning home safely. High Barley receives the coastal gift, recognizes Ternhaven as a peaceful coastal fishing village, and establishes stable, guarded diplomatic relations across the stream ford barrier."
        },
        {
          "id": "T002-D05",
          "title": "Ternhaven Storm Defense, Upper Ledge Store Clearance, and Indoor Curing Shift",
          "type": "GROUPED_REVERSIBLE",
          "status": "APPROVED",
          "affected_player_ids": [
            "player4"
          ],
          "approval_id": "T002-A-GM",
          "summary": "Player 4 implements timely, grounded storm precautions. Outdoor drying racks on the upper ledge are cleared into the landing hall and storehouses before autumn rains cause rot. Incoming catches and root crops are transitioned to indoor curing and overhead smoking with managed roof vent airflow. Storehouse goods are elevated on split-timber dunnage, and uphill diversion ditches protect the fresh-water wellhead from mud runoff. Inshore boating limits are strictly observed inside the hooked inlet, boats are beached during rough weather, and foul-weather labor is shifted to cordage twisting and net mending. Strong power (0.80) ensures food stores and boats remain undamaged throughout mid-autumn squalls.\nFood stores are fully protected from coastal rot by moving outdoor racks inside, elevating goods on dunnage, and transitioning to indoor smoking. Wellhead drainage prevents muddy contamination. Fishing boats and crews remain safe inside the hooked inlet and are hauled out during gales, with crews producing replacement cordage and mended nets."
        }
      ],
      "approvals": [
        {
          "id": "SIM-BOOTSTRAP-saltwind-sound-01",
          "kind": "RULE_ACTIVATION",
          "authority": "SIMULATION_POLICY",
          "approved_at": "2026-09-07T16:18:33.294Z",
          "target_ids": [
            "saltwind-baseline"
          ],
          "scope": "Run configuration imports the selected rules as simulation baseline only."
        },
        {
          "id": "T001-A-GM",
          "kind": "ADJUDICATION",
          "authority": "AI_GM",
          "approved_at": "2026-09-07T16:21:20.635Z",
          "target_ids": [
            "T001-D01",
            "T001-D02",
            "T001-D03",
            "T001-D04",
            "T001-D05"
          ],
          "scope": "AI GM reviewed the complete locked simultaneous turn."
        },
        {
          "id": "T001-A-DELIVERY",
          "kind": "DELIVERY",
          "authority": "AI_GM",
          "approved_at": "2026-09-07T16:35:08.253Z",
          "target_ids": [
            "player1",
            "player2",
            "player3",
            "player4"
          ],
          "scope": "Independent AI narrative review passed: Joint causal consistency and narrative disclosure audit passed across all four clans.\n\n1. Causality & Prerequisites: All player plans operate strictly within mundane physical limits and established clan capabilities. Labor allocations, seasonal constraints, and resource trade-offs (e.g., green wood seasoning in Saltmere, pausing the large hull to secure roofs in Keelstrand, pacing barley cutting to loft drying capacity in High Barley, and beaching boats pending slack-water mooring repairs in Ternhaven) are fully grounded. No missing prerequisites were bypassed or magically granted by leadership scores.\n\n2. Simultaneous Interactions & Contact Pacing: Cross-clan movements resolve with realistic spatial and temporal pacing. In the west/north, Player 1's scout (Evi) reaches the marker beach and observes smoke across the creek without crossing, while Player 2's scout (Ivo) explores the southeast ridge trail with a strict midday turnaround, avoiding collision. In the east/upland, Player 4's alder scout (Seli) advances to the stream ford/meadow on a 3-day scout and sights upland dwellings, while Player 3's watcher (Jun) monitors the ford from the high shelf. Neither forced contact or diplomatic overreach occurs, and mutual awareness is established with strict observational boundaries.\n\n3. Character Agency & Dramatic Pressure: Named NPCs act strictly according to established knowledge, motives, and local customs (witnessed stones, keel vows, covered bowls, hearth hospitality). Grievances and allocation disputes were de-escalated through grounded compromise rather than arbitrary compliance or score override. Trope reviews correctly resulted in REJECTED_ALL dispositions, ensuring no contrived literary tropes or forced dramatic escalations were imposed.\n\n4. Narrative Disclosures & Information Privacy: All four private narrative reports strictly preserve epistemic boundaries. Concealed structural conditions (pan bank seepage channel, boat shed rot, cracked storehouse drain, submerged mooring rock) were revealed only to the extent physically uncovered by active inspection. No hidden scores, GM reasoning, trope names, other players' private intentions, or omniscient geographic facts leaked into player reports. Machine visibility envelopes align with authored prose, and uncertainty regarding neighboring clans and approaching weather is properly preserved.\n\n5. Mechanics, Scoring & Validation: Submissions complied with word counts (738 to 1050 words) with concise-submission fairness maintained. Substantive decisions (5 approved) fit the required target, without unauthorized rule or victory activations. No eliminations occurred."
        },
        {
          "id": "T002-A-GM",
          "kind": "ADJUDICATION",
          "authority": "AI_GM",
          "approved_at": "2026-09-07T17:43:26.202Z",
          "target_ids": [
            "T002-D01",
            "T002-D02",
            "T002-D03",
            "T002-D04",
            "T002-D05"
          ],
          "scope": "AI GM reviewed the complete locked simultaneous turn."
        }
      ],
      "state_changes": [
        {
          "id": "T001-SC-1",
          "subject_id": "saltmere-pressure",
          "prior_value": "{\"id\":\"saltmere-pressure\",\"subject_id\":\"saltmere\",\"name\":\"Opening allocation conflict\",\"state\":\"Nessa, who tends the pans, asks for the dry billets promised at the last gathering. Orin, whose household fishes, points at the smoking rack and says fish will spoil if the pans take everything. Neither claims that all production must continue: both want the cost of a reduction to be acknowledged. Several families will work on either task, but cannot do both at once.\",\"progress\":null,\"maximum\":null,\"status\":\"ACTIVE\",\"last_updated_turn\":0,\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"PRIOR_STATE\",\"source_ids\":[\"SALTWIND-INITIALIZATION\"]}}",
          "new_value": "{\"id\":\"saltmere-pressure\",\"subject_id\":\"saltmere\",\"name\":\"Opening allocation conflict\",\"state\":\"Nessa, who tends the pans, asks for the dry billets promised at the last gathering. Orin, whose household fishes, points at the smoking rack and says fish will spoil if the pans take everything. Neither claims that all production must continue: both want the cost of a reduction to be acknowledged. Several families will work on either task, but cannot do both at once.\",\"progress\":null,\"maximum\":null,\"status\":\"COMPLETED\",\"last_updated_turn\":0,\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D01\"]}}",
          "decision_ids": [
            "T001-D01"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-2",
          "subject_id": "saltmere-pressure",
          "prior_value": "{\"id\":\"saltmere-pressure\",\"subject_id\":\"saltmere\",\"name\":\"Opening allocation conflict\",\"state\":\"Nessa, who tends the pans, asks for the dry billets promised at the last gathering. Orin, whose household fishes, points at the smoking rack and says fish will spoil if the pans take everything. Neither claims that all production must continue: both want the cost of a reduction to be acknowledged. Several families will work on either task, but cannot do both at once.\",\"progress\":null,\"maximum\":null,\"status\":\"COMPLETED\",\"last_updated_turn\":0,\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D01\"]}}",
          "new_value": "{\"id\":\"saltmere-pressure\",\"subject_id\":\"saltmere\",\"name\":\"Opening allocation conflict\",\"state\":\"Fuel compromise enacted: dry billets prioritized for fish smoking, boiling paused while the pan bank was packed and reinforced with clay, and dry-salting used to preserve catch without household grievance.\",\"progress\":null,\"maximum\":null,\"status\":\"COMPLETED\",\"last_updated_turn\":0,\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D01\"]}}",
          "decision_ids": [
            "T001-D01"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-3",
          "subject_id": "saltmere-households",
          "prior_value": "{\"id\":\"saltmere-households\",\"name\":\"Saltmere households\",\"scope\":\"LOCAL\",\"member_summary\":\"Resident households with differing labor, food and care interests; not a unanimous bloc.\",\"leader_ids\":[\"saltmere-c1\",\"saltmere-c2\"],\"interests\":[\"Household safety\",\"Credible allocation of finite labor\"],\"controlled_resources\":[\"Household work time and customary shares\"],\"current_agenda\":\"Nessa, who tends the pans, asks for the dry billets promised at the last gathering. Orin, whose household fishes, points at the smoking rack and says fish will spoil if the pans take everything. Neither claims that all production must continue: both want the cost of a reduction to be acknowledged. Several families will work on either task, but cannot do both at once.\",\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"PRIOR_STATE\",\"source_ids\":[\"SALTWIND-INITIALIZATION\"]}}",
          "new_value": "{\"id\":\"saltmere-households\",\"name\":\"Saltmere households\",\"scope\":\"LOCAL\",\"member_summary\":\"Resident households with differing labor, food and care interests; not a unanimous bloc.\",\"leader_ids\":[\"saltmere-c1\",\"saltmere-c2\"],\"interests\":[\"Household safety\",\"Credible allocation of finite labor\"],\"controlled_resources\":[\"Household work time and customary shares\"],\"current_agenda\":\"Early autumn fuel compromise is holding: Nessa accepted paused boiling while repairing the pan bank, and Orin secured dry billets for smoking alongside dry-salting.\",\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D01\"]}}",
          "decision_ids": [
            "T001-D01"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-4",
          "subject_id": "saltmere-r1",
          "prior_value": "{\"id\":\"saltmere-r1\",\"source_id\":\"saltmere-c1\",\"target_id\":\"saltmere-c2\",\"basis\":\"Nessa, who tends the pans, asks for the dry billets promised at the last gathering. Orin, whose household fishes, points at the smoking rack and says fish will spoil if the pans take everything. Neither claims that all production must continue: both want the cost of a reduction to be acknowledged. Several families will work on either task, but cannot do both at once.\",\"stance\":\"Disagrees over the present allocation, while accepting ordinary discussion.\",\"intensity\":\"MATERIAL\",\"confidence\":\"CONFIRMED\",\"obligation_ids\":[\"saltmere-custom\"],\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"PRIOR_STATE\",\"source_ids\":[\"SALTWIND-INITIALIZATION\"]}}",
          "new_value": "{\"id\":\"saltmere-r1\",\"source_id\":\"saltmere-c1\",\"target_id\":\"saltmere-c2\",\"basis\":\"Nessa, who tends the pans, asks for the dry billets promised at the last gathering. Orin, whose household fishes, points at the smoking rack and says fish will spoil if the pans take everything. Neither claims that all production must continue: both want the cost of a reduction to be acknowledged. Several families will work on either task, but cannot do both at once.\",\"stance\":\"Accepts the shared compromise of smokehouse fuel priority and dry-salting while boiling is paused for bank repairs.\",\"intensity\":\"MATERIAL\",\"confidence\":\"CONFIRMED\",\"obligation_ids\":[\"saltmere-custom\"],\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D01\"]}}",
          "decision_ids": [
            "T001-D01"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-5",
          "subject_id": "saltmere-r1",
          "prior_value": "{\"id\":\"saltmere-r1\",\"source_id\":\"saltmere-c1\",\"target_id\":\"saltmere-c2\",\"basis\":\"Nessa, who tends the pans, asks for the dry billets promised at the last gathering. Orin, whose household fishes, points at the smoking rack and says fish will spoil if the pans take everything. Neither claims that all production must continue: both want the cost of a reduction to be acknowledged. Several families will work on either task, but cannot do both at once.\",\"stance\":\"Accepts the shared compromise of smokehouse fuel priority and dry-salting while boiling is paused for bank repairs.\",\"intensity\":\"MATERIAL\",\"confidence\":\"CONFIRMED\",\"obligation_ids\":[\"saltmere-custom\"],\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D01\"]}}",
          "new_value": "{\"id\":\"saltmere-r1\",\"source_id\":\"saltmere-c1\",\"target_id\":\"saltmere-c2\",\"basis\":\"Nessa, who tends the pans, asks for the dry billets promised at the last gathering. Orin, whose household fishes, points at the smoking rack and says fish will spoil if the pans take everything. Neither claims that all production must continue: both want the cost of a reduction to be acknowledged. Several families will work on either task, but cannot do both at once.\",\"stance\":\"Accepts the shared compromise of smokehouse fuel priority and dry-salting while boiling is paused for bank repairs.\",\"intensity\":\"LOW\",\"confidence\":\"CONFIRMED\",\"obligation_ids\":[\"saltmere-custom\"],\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D01\"]}}",
          "decision_ids": [
            "T001-D01"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-6",
          "subject_id": "saltmere-conditions",
          "prior_value": "{\"id\":\"saltmere-conditions\",\"subject_id\":\"saltmere\",\"statement\":\"The storekeeper shows you dry fish, peas and barley sufficient for several weeks of ordinary meals, with garden roots still to lift. There are spare salt cakes, working pans, repairable nets, hand axes and few spare cutting edges. No forge operates here. The dry wood stack cannot sustain both full salt boiling and the customary smoking of the autumn catch. Willow cutting and air drying can add future fuel, but fresh wood will not immediately replace dry billets. Houses are standing; two thatched roofs need patching. Drinking water comes from a spring above the pools. There is no present outbreak or organized armed threat.\",\"domain\":\"WORLD\",\"value\":null,\"visibility\":{\"scope\":\"PLAYERS\",\"player_ids\":[\"player1\"]},\"provenance\":{\"source_kind\":\"PRIOR_STATE\",\"source_ids\":[\"SALTWIND-INITIALIZATION\"]}}",
          "new_value": "{\"id\":\"saltmere-conditions\",\"subject_id\":\"saltmere\",\"statement\":\"Two roofs have been re-thatched against rain. Garden roots are lifted and stored, while the autumn catch is secured through smoking, dry-salting with reserve cakes, and Sava's canopied racks. Fresh willow billets season in a drained, thatched hollow shelter, and the western pan bank has been reinforced.\",\"domain\":\"WORLD\",\"value\":null,\"visibility\":{\"scope\":\"PLAYERS\",\"player_ids\":[\"player1\"]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D01\"]}}",
          "decision_ids": [
            "T001-D01"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player1"
            ]
          }
        },
        {
          "id": "T001-SC-7",
          "subject_id": "fact-saltmere-bank-reinforcement",
          "prior_value": "null",
          "new_value": "{\"domain\":\"WORLD\",\"id\":\"fact-saltmere-bank-reinforcement\",\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"T001-D01\"]},\"statement\":\"Fen and the leader inspected the western pan bank at low water, discovering small seepage channels through the lower earth. Fen's crew packed and reinforced the bank with dense clay from the rise and turf sods, stabilizing the foundation before any boiling resumes.\",\"subject_id\":\"saltmere\",\"value\":null,\"visibility\":{\"player_ids\":[\"player1\"],\"scope\":\"PLAYERS\"}}",
          "decision_ids": [
            "T001-D01"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "player_ids": [
              "player1"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "id": "T001-SC-8",
          "subject_id": "K-saltmere-bank-reinforcement",
          "prior_value": "null",
          "new_value": "{\"confidence\":\"CONFIRMED\",\"epistemic_status\":\"OBSERVED\",\"fact_id\":\"fact-saltmere-bank-reinforcement\",\"holder_id\":\"saltmere-leader\",\"id\":\"K-saltmere-bank-reinforcement\",\"learned_turn\":1,\"player_id\":\"player1\",\"propagation_path\":[],\"source_type\":\"DIRECT_OBSERVATION\"}",
          "decision_ids": [
            "T001-D01"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-9",
          "subject_id": "fact-saltmere-stores-and-shelter",
          "prior_value": "null",
          "new_value": "{\"domain\":\"RESOURCE\",\"id\":\"fact-saltmere-stores-and-shelter\",\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"T001-D01\"]},\"statement\":\"Saltmere's two damaged roofs were re-thatched with marsh reeds before mid-autumn rains. Garden roots were lifted and stored dry. The autumn fish catch was divided between the smokehouse using allocated dry billets, dry-salting with reserve cakes, and Sava's canopied drying racks, preventing spoilage.\",\"subject_id\":\"saltmere\",\"value\":null,\"visibility\":{\"player_ids\":[\"player1\"],\"scope\":\"PLAYERS\"}}",
          "decision_ids": [
            "T001-D01"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "player_ids": [
              "player1"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "id": "T001-SC-10",
          "subject_id": "K-saltmere-stores-and-shelter",
          "prior_value": "null",
          "new_value": "{\"confidence\":\"CONFIRMED\",\"epistemic_status\":\"OBSERVED\",\"fact_id\":\"fact-saltmere-stores-and-shelter\",\"holder_id\":\"saltmere-leader\",\"id\":\"K-saltmere-stores-and-shelter\",\"learned_turn\":1,\"player_id\":\"player1\",\"propagation_path\":[],\"source_type\":\"DIRECT_OBSERVATION\"}",
          "decision_ids": [
            "T001-D01"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-11",
          "subject_id": "fact-saltmere-fuel-coppice",
          "prior_value": "null",
          "new_value": "{\"domain\":\"RESOURCE\",\"id\":\"fact-saltmere-fuel-coppice\",\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"T001-D01\"]},\"statement\":\"Work crews coppiced willow and alder, limbing billets to season for winter. Shallow drainage trenches were dug around the sheltered clay hollow, and an open-sided thatched timber shelter was constructed where fresh wood sits raised on stringers.\",\"subject_id\":\"saltmere\",\"value\":null,\"visibility\":{\"player_ids\":[\"player1\"],\"scope\":\"PLAYERS\"}}",
          "decision_ids": [
            "T001-D01"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "player_ids": [
              "player1"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "id": "T001-SC-12",
          "subject_id": "K-saltmere-fuel-coppice",
          "prior_value": "null",
          "new_value": "{\"confidence\":\"CONFIRMED\",\"epistemic_status\":\"OBSERVED\",\"fact_id\":\"fact-saltmere-fuel-coppice\",\"holder_id\":\"saltmere-leader\",\"id\":\"K-saltmere-fuel-coppice\",\"learned_turn\":1,\"player_id\":\"player1\",\"propagation_path\":[],\"source_type\":\"DIRECT_OBSERVATION\"}",
          "decision_ids": [
            "T001-D01"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-13",
          "subject_id": "fact-saltmere-marker-beach-patrol",
          "prior_value": "null",
          "new_value": "{\"domain\":\"WORLD\",\"id\":\"fact-saltmere-marker-beach-patrol\",\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"T001-D01\"]},\"statement\":\"Evi completed a cautious day patrol to the marker beach. She observed additional worked timber offcuts in the flotsam and sighted hearth smoke across the northern creek from cover, returning safely before nightfall without being detected or making contact.\",\"subject_id\":\"saltmere\",\"value\":null,\"visibility\":{\"player_ids\":[\"player1\"],\"scope\":\"PLAYERS\"}}",
          "decision_ids": [
            "T001-D01"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "player_ids": [
              "player1"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "id": "T001-SC-14",
          "subject_id": "K-saltmere-marker-beach-patrol",
          "prior_value": "null",
          "new_value": "{\"confidence\":\"CONFIRMED\",\"epistemic_status\":\"REPORTED\",\"fact_id\":\"fact-saltmere-marker-beach-patrol\",\"holder_id\":\"saltmere-leader\",\"id\":\"K-saltmere-marker-beach-patrol\",\"learned_turn\":1,\"player_id\":\"player1\",\"propagation_path\":[\"saltmere-c5\"],\"source_type\":\"PROPAGATED\"}",
          "decision_ids": [
            "T001-D01"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-15",
          "subject_id": "keelstrand-pressure",
          "prior_value": "{\"id\":\"keelstrand-pressure\",\"subject_id\":\"keelstrand\",\"name\":\"Opening allocation conflict\",\"state\":\"Mara promised Arel and the fishing households a sound boat before the late-autumn runs. Arel has helped feed the yard and wants that promise kept. Tor asks that roof crews come first, showing you the wet blanket. Mara says the hull can be safely paused if covered; finishing it while making every roof sound will require more skilled hands than the yard has.\",\"progress\":null,\"maximum\":null,\"status\":\"ACTIVE\",\"last_updated_turn\":0,\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"PRIOR_STATE\",\"source_ids\":[\"SALTWIND-INITIALIZATION\"]}}",
          "new_value": "{\"id\":\"keelstrand-pressure\",\"subject_id\":\"keelstrand\",\"name\":\"Opening allocation conflict\",\"state\":\"Mara promised Arel and the fishing households a sound boat before the late-autumn runs. Arel has helped feed the yard and wants that promise kept. Tor asks that roof crews come first, showing you the wet blanket. Mara says the hull can be safely paused if covered; finishing it while making every roof sound will require more skilled hands than the yard has.\",\"progress\":null,\"maximum\":null,\"status\":\"COMPLETED\",\"last_updated_turn\":0,\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D02\"]}}",
          "decision_ids": [
            "T001-D02"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-16",
          "subject_id": "keelstrand-pressure",
          "prior_value": "{\"id\":\"keelstrand-pressure\",\"subject_id\":\"keelstrand\",\"name\":\"Opening allocation conflict\",\"state\":\"Mara promised Arel and the fishing households a sound boat before the late-autumn runs. Arel has helped feed the yard and wants that promise kept. Tor asks that roof crews come first, showing you the wet blanket. Mara says the hull can be safely paused if covered; finishing it while making every roof sound will require more skilled hands than the yard has.\",\"progress\":null,\"maximum\":null,\"status\":\"COMPLETED\",\"last_updated_turn\":0,\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D02\"]}}",
          "new_value": "{\"id\":\"keelstrand-pressure\",\"subject_id\":\"keelstrand\",\"name\":\"Opening allocation conflict\",\"state\":\"Keel compromise honored: large hull safely sealed under thatch, fishing households prioritized for roof repair and food shares, and old boat overhauled for autumn fishing.\",\"progress\":null,\"maximum\":null,\"status\":\"COMPLETED\",\"last_updated_turn\":0,\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D02\"]}}",
          "decision_ids": [
            "T001-D02"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-17",
          "subject_id": "keelstrand-households",
          "prior_value": "{\"id\":\"keelstrand-households\",\"name\":\"Keelstrand households\",\"scope\":\"LOCAL\",\"member_summary\":\"Resident households with differing labor, food and care interests; not a unanimous bloc.\",\"leader_ids\":[\"keelstrand-c1\",\"keelstrand-c2\"],\"interests\":[\"Household safety\",\"Credible allocation of finite labor\"],\"controlled_resources\":[\"Household work time and customary shares\"],\"current_agenda\":\"Mara promised Arel and the fishing households a sound boat before the late-autumn runs. Arel has helped feed the yard and wants that promise kept. Tor asks that roof crews come first, showing you the wet blanket. Mara says the hull can be safely paused if covered; finishing it while making every roof sound will require more skilled hands than the yard has.\",\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"PRIOR_STATE\",\"source_ids\":[\"SALTWIND-INITIALIZATION\"]}}",
          "new_value": "{\"id\":\"keelstrand-households\",\"name\":\"Keelstrand households\",\"scope\":\"LOCAL\",\"member_summary\":\"Resident households with differing labor, food and care interests; not a unanimous bloc.\",\"leader_ids\":[\"keelstrand-c1\",\"keelstrand-c2\"],\"interests\":[\"Household safety\",\"Credible allocation of finite labor\"],\"controlled_resources\":[\"Household work time and customary shares\"],\"current_agenda\":\"The keel agreement is holding: sleeping quarters are weatherproofed, fishing families received garden shares, and the yard focuses on old boat maintenance and sled hauling.\",\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D02\"]}}",
          "decision_ids": [
            "T001-D02"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-18",
          "subject_id": "keelstrand-r1",
          "prior_value": "{\"id\":\"keelstrand-r1\",\"source_id\":\"keelstrand-c1\",\"target_id\":\"keelstrand-c2\",\"basis\":\"Mara promised Arel and the fishing households a sound boat before the late-autumn runs. Arel has helped feed the yard and wants that promise kept. Tor asks that roof crews come first, showing you the wet blanket. Mara says the hull can be safely paused if covered; finishing it while making every roof sound will require more skilled hands than the yard has.\",\"stance\":\"Disagrees over the present allocation, while accepting ordinary discussion.\",\"intensity\":\"MATERIAL\",\"confidence\":\"CONFIRMED\",\"obligation_ids\":[\"keelstrand-custom\"],\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"PRIOR_STATE\",\"source_ids\":[\"SALTWIND-INITIALIZATION\"]}}",
          "new_value": "{\"id\":\"keelstrand-r1\",\"source_id\":\"keelstrand-c1\",\"target_id\":\"keelstrand-c2\",\"basis\":\"Mara promised Arel and the fishing households a sound boat before the late-autumn runs. Arel has helped feed the yard and wants that promise kept. Tor asks that roof crews come first, showing you the wet blanket. Mara says the hull can be safely paused if covered; finishing it while making every roof sound will require more skilled hands than the yard has.\",\"stance\":\"Cooperating peacefully under the witnessed keel compromise, with fishing households receiving roof repairs and guaranteed food shares while the big boat waits.\",\"intensity\":\"MATERIAL\",\"confidence\":\"CONFIRMED\",\"obligation_ids\":[\"keelstrand-custom\"],\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D02\"]}}",
          "decision_ids": [
            "T001-D02"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-19",
          "subject_id": "keelstrand-r1",
          "prior_value": "{\"id\":\"keelstrand-r1\",\"source_id\":\"keelstrand-c1\",\"target_id\":\"keelstrand-c2\",\"basis\":\"Mara promised Arel and the fishing households a sound boat before the late-autumn runs. Arel has helped feed the yard and wants that promise kept. Tor asks that roof crews come first, showing you the wet blanket. Mara says the hull can be safely paused if covered; finishing it while making every roof sound will require more skilled hands than the yard has.\",\"stance\":\"Cooperating peacefully under the witnessed keel compromise, with fishing households receiving roof repairs and guaranteed food shares while the big boat waits.\",\"intensity\":\"MATERIAL\",\"confidence\":\"CONFIRMED\",\"obligation_ids\":[\"keelstrand-custom\"],\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D02\"]}}",
          "new_value": "{\"id\":\"keelstrand-r1\",\"source_id\":\"keelstrand-c1\",\"target_id\":\"keelstrand-c2\",\"basis\":\"Mara promised Arel and the fishing households a sound boat before the late-autumn runs. Arel has helped feed the yard and wants that promise kept. Tor asks that roof crews come first, showing you the wet blanket. Mara says the hull can be safely paused if covered; finishing it while making every roof sound will require more skilled hands than the yard has.\",\"stance\":\"Cooperating peacefully under the witnessed keel compromise, with fishing households receiving roof repairs and guaranteed food shares while the big boat waits.\",\"intensity\":\"LOW\",\"confidence\":\"CONFIRMED\",\"obligation_ids\":[\"keelstrand-custom\"],\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D02\"]}}",
          "decision_ids": [
            "T001-D02"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-20",
          "subject_id": "keelstrand-conditions",
          "prior_value": "{\"id\":\"keelstrand-conditions\",\"subject_id\":\"keelstrand\",\"statement\":\"Households have dried fish, beans and roots sufficient for several weeks, with garden crops still available. Timber and seasoned offcuts are plentiful by coastal standards, but sound cordage, resin and sharp tool edges are limited. Roof thatch is gathered but needs hands to tie it. Four houses leak over sleeping places. Most villagers are healthy; Pell is nursing a strained wrist and cannot haul beams. There is no standing force beyond ordinary watch and hunting tools.\",\"domain\":\"WORLD\",\"value\":null,\"visibility\":{\"scope\":\"PLAYERS\",\"player_ids\":[\"player2\"]},\"provenance\":{\"source_kind\":\"PRIOR_STATE\",\"source_ids\":[\"SALTWIND-INITIALIZATION\"]}}",
          "new_value": "{\"id\":\"keelstrand-conditions\",\"subject_id\":\"keelstrand\",\"statement\":\"All four leaking houses have been re-thatched and lashed water-tight. The boat shed is safely shored with props, the unfinished hull is protected under pitched thatch, and the old fishing boat has been overhauled and caulked. Garden roots and beans are safely stored in straw pits, and two wooden drag-sleds are ready for timber hauling.\",\"domain\":\"WORLD\",\"value\":null,\"visibility\":{\"scope\":\"PLAYERS\",\"player_ids\":[\"player2\"]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D02\"]}}",
          "decision_ids": [
            "T001-D02"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player2"
            ]
          }
        },
        {
          "id": "T001-SC-21",
          "subject_id": "fact-keelstrand-shed-shoring",
          "prior_value": "null",
          "new_value": "{\"domain\":\"WORLD\",\"id\":\"fact-keelstrand-shed-shoring\",\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"T001-D02\"]},\"statement\":\"Mara and Ivo inspected the boat shed brace, finding rot concentrated at the foot of the post while adjacent framing remains solid. Sturdy timber props were erected to shore the corner and cross-beam, stabilizing the shed against autumn winds.\",\"subject_id\":\"keelstrand\",\"value\":null,\"visibility\":{\"player_ids\":[\"player2\"],\"scope\":\"PLAYERS\"}}",
          "decision_ids": [
            "T001-D02"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "player_ids": [
              "player2"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "id": "T001-SC-22",
          "subject_id": "K-keelstrand-shed-shoring",
          "prior_value": "null",
          "new_value": "{\"confidence\":\"CONFIRMED\",\"epistemic_status\":\"OBSERVED\",\"fact_id\":\"fact-keelstrand-shed-shoring\",\"holder_id\":\"keelstrand-leader\",\"id\":\"K-keelstrand-shed-shoring\",\"learned_turn\":1,\"player_id\":\"player2\",\"propagation_path\":[],\"source_type\":\"DIRECT_OBSERVATION\"}",
          "decision_ids": [
            "T001-D02"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-23",
          "subject_id": "fact-keelstrand-roofs-and-boats",
          "prior_value": "null",
          "new_value": "{\"domain\":\"RESOURCE\",\"id\":\"fact-keelstrand-roofs-and-boats\",\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"T001-D02\"]},\"statement\":\"The unfinished hull was securely cradled and sealed beneath pitched thatch. Mara overhauled and caulked the existing fishing boat with seasoned offcuts. Pell trained apprentices in knotting and split-root lashings, enabling Tor's crews to tie thatch and seal all four leaking houses.\",\"subject_id\":\"keelstrand\",\"value\":null,\"visibility\":{\"player_ids\":[\"player2\"],\"scope\":\"PLAYERS\"}}",
          "decision_ids": [
            "T001-D02"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "player_ids": [
              "player2"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "id": "T001-SC-24",
          "subject_id": "K-keelstrand-roofs-and-boats",
          "prior_value": "null",
          "new_value": "{\"confidence\":\"CONFIRMED\",\"epistemic_status\":\"OBSERVED\",\"fact_id\":\"fact-keelstrand-roofs-and-boats\",\"holder_id\":\"keelstrand-leader\",\"id\":\"K-keelstrand-roofs-and-boats\",\"learned_turn\":1,\"player_id\":\"player2\",\"propagation_path\":[],\"source_type\":\"DIRECT_OBSERVATION\"}",
          "decision_ids": [
            "T001-D02"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-25",
          "subject_id": "fact-keelstrand-stores-and-sleds",
          "prior_value": "null",
          "new_value": "{\"domain\":\"RESOURCE\",\"id\":\"fact-keelstrand-stores-and-sleds\",\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"T001-D02\"]},\"statement\":\"Carpenters shaped two wooden drag-sleds from heavy offcuts to haul timber over the stony track without fraying rope. Venn lifted garden roots and beans into dry straw pits, and surplus creek fish were smoked and salted.\",\"subject_id\":\"keelstrand\",\"value\":null,\"visibility\":{\"player_ids\":[\"player2\"],\"scope\":\"PLAYERS\"}}",
          "decision_ids": [
            "T001-D02"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "player_ids": [
              "player2"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "id": "T001-SC-26",
          "subject_id": "K-keelstrand-stores-and-sleds",
          "prior_value": "null",
          "new_value": "{\"confidence\":\"CONFIRMED\",\"epistemic_status\":\"OBSERVED\",\"fact_id\":\"fact-keelstrand-stores-and-sleds\",\"holder_id\":\"keelstrand-leader\",\"id\":\"K-keelstrand-stores-and-sleds\",\"learned_turn\":1,\"player_id\":\"player2\",\"propagation_path\":[],\"source_type\":\"DIRECT_OBSERVATION\"}",
          "decision_ids": [
            "T001-D02"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-27",
          "subject_id": "fact-keelstrand-ridge-patrol",
          "prior_value": "null",
          "new_value": "{\"domain\":\"WORLD\",\"id\":\"fact-keelstrand-ridge-patrol\",\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"T001-D02\"]},\"statement\":\"Ivo scouted the southeast pack trail to the first ridgeline, observing pack animal tracks and spotting distant upland grazing herds before executing a midday turnaround and returning safely before nightfall.\",\"subject_id\":\"keelstrand\",\"value\":null,\"visibility\":{\"player_ids\":[\"player2\"],\"scope\":\"PLAYERS\"}}",
          "decision_ids": [
            "T001-D02"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "player_ids": [
              "player2"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "id": "T001-SC-28",
          "subject_id": "K-keelstrand-ridge-patrol",
          "prior_value": "null",
          "new_value": "{\"confidence\":\"CONFIRMED\",\"epistemic_status\":\"REPORTED\",\"fact_id\":\"fact-keelstrand-ridge-patrol\",\"holder_id\":\"keelstrand-leader\",\"id\":\"K-keelstrand-ridge-patrol\",\"learned_turn\":1,\"player_id\":\"player2\",\"propagation_path\":[\"keelstrand-c4\"],\"source_type\":\"PROPAGATED\"}",
          "decision_ids": [
            "T001-D02"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-29",
          "subject_id": "high-barley-pressure",
          "prior_value": "{\"id\":\"high-barley-pressure\",\"subject_id\":\"high-barley\",\"name\":\"Opening allocation conflict\",\"state\":\"Hesta wants every able pair of hands in the fields during this dry interval. Cal reminds her that dependents still need feeding and tending, and brings you the unfilled household rota. Beren says some sheaves can wait, but not all the exposed crop through repeated rain. Counting caregivers twice will not bring the grain in sooner.\",\"progress\":null,\"maximum\":null,\"status\":\"ACTIVE\",\"last_updated_turn\":0,\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"PRIOR_STATE\",\"source_ids\":[\"SALTWIND-INITIALIZATION\"]}}",
          "new_value": "{\"id\":\"high-barley-pressure\",\"subject_id\":\"high-barley\",\"name\":\"Opening allocation conflict\",\"state\":\"Hesta wants every able pair of hands in the fields during this dry interval. Cal reminds her that dependents still need feeding and tending, and brings you the unfilled household rota. Beren says some sheaves can wait, but not all the exposed crop through repeated rain. Counting caregivers twice will not bring the grain in sooner.\",\"progress\":null,\"maximum\":null,\"status\":\"COMPLETED\",\"last_updated_turn\":0,\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D03\"]}}",
          "decision_ids": [
            "T001-D03"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-30",
          "subject_id": "high-barley-pressure",
          "prior_value": "{\"id\":\"high-barley-pressure\",\"subject_id\":\"high-barley\",\"name\":\"Opening allocation conflict\",\"state\":\"Hesta wants every able pair of hands in the fields during this dry interval. Cal reminds her that dependents still need feeding and tending, and brings you the unfilled household rota. Beren says some sheaves can wait, but not all the exposed crop through repeated rain. Counting caregivers twice will not bring the grain in sooner.\",\"progress\":null,\"maximum\":null,\"status\":\"COMPLETED\",\"last_updated_turn\":0,\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D03\"]}}",
          "new_value": "{\"id\":\"high-barley-pressure\",\"subject_id\":\"high-barley\",\"name\":\"Opening allocation conflict\",\"state\":\"Labor balance achieved: Cal's care rota established and honored with the covered bowl, while goat hauling and loft drying hurdles enable steady harvest without caregiver burnout.\",\"progress\":null,\"maximum\":null,\"status\":\"COMPLETED\",\"last_updated_turn\":0,\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D03\"]}}",
          "decision_ids": [
            "T001-D03"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-31",
          "subject_id": "high-barley-households",
          "prior_value": "{\"id\":\"high-barley-households\",\"name\":\"High Barley households\",\"scope\":\"LOCAL\",\"member_summary\":\"Resident households with differing labor, food and care interests; not a unanimous bloc.\",\"leader_ids\":[\"high-barley-c1\",\"high-barley-c2\"],\"interests\":[\"Household safety\",\"Credible allocation of finite labor\"],\"controlled_resources\":[\"Household work time and customary shares\"],\"current_agenda\":\"Hesta wants every able pair of hands in the fields during this dry interval. Cal reminds her that dependents still need feeding and tending, and brings you the unfilled household rota. Beren says some sheaves can wait, but not all the exposed crop through repeated rain. Counting caregivers twice will not bring the grain in sooner.\",\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"PRIOR_STATE\",\"source_ids\":[\"SALTWIND-INITIALIZATION\"]}}",
          "new_value": "{\"id\":\"high-barley-households\",\"name\":\"High Barley households\",\"scope\":\"LOCAL\",\"member_summary\":\"Resident households with differing labor, food and care interests; not a unanimous bloc.\",\"leader_ids\":[\"high-barley-c1\",\"high-barley-c2\"],\"interests\":[\"Household safety\",\"Credible allocation of finite labor\"],\"controlled_resources\":[\"Household work time and customary shares\"],\"current_agenda\":\"Caregivers and field workers are aligned: the covered bowl is honored nightly, dependents are cared for centrally, and goat hauling keeps sheaves moving into the loft.\",\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D03\"]}}",
          "decision_ids": [
            "T001-D03"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-32",
          "subject_id": "high-barley-r1",
          "prior_value": "{\"id\":\"high-barley-r1\",\"source_id\":\"high-barley-c1\",\"target_id\":\"high-barley-c2\",\"basis\":\"Hesta wants every able pair of hands in the fields during this dry interval. Cal reminds her that dependents still need feeding and tending, and brings you the unfilled household rota. Beren says some sheaves can wait, but not all the exposed crop through repeated rain. Counting caregivers twice will not bring the grain in sooner.\",\"stance\":\"Disagrees over the present allocation, while accepting ordinary discussion.\",\"intensity\":\"MATERIAL\",\"confidence\":\"CONFIRMED\",\"obligation_ids\":[\"high-barley-custom\"],\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"PRIOR_STATE\",\"source_ids\":[\"SALTWIND-INITIALIZATION\"]}}",
          "new_value": "{\"id\":\"high-barley-r1\",\"source_id\":\"high-barley-c1\",\"target_id\":\"high-barley-c2\",\"basis\":\"Hesta wants every able pair of hands in the fields during this dry interval. Cal reminds her that dependents still need feeding and tending, and brings you the unfilled household rota. Beren says some sheaves can wait, but not all the exposed crop through repeated rain. Counting caregivers twice will not bring the grain in sooner.\",\"stance\":\"Working cooperatively under the protected care rota and covered-bowl recognition, balancing field work with household needs.\",\"intensity\":\"MATERIAL\",\"confidence\":\"CONFIRMED\",\"obligation_ids\":[\"high-barley-custom\"],\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D03\"]}}",
          "decision_ids": [
            "T001-D03"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-33",
          "subject_id": "high-barley-r1",
          "prior_value": "{\"id\":\"high-barley-r1\",\"source_id\":\"high-barley-c1\",\"target_id\":\"high-barley-c2\",\"basis\":\"Hesta wants every able pair of hands in the fields during this dry interval. Cal reminds her that dependents still need feeding and tending, and brings you the unfilled household rota. Beren says some sheaves can wait, but not all the exposed crop through repeated rain. Counting caregivers twice will not bring the grain in sooner.\",\"stance\":\"Working cooperatively under the protected care rota and covered-bowl recognition, balancing field work with household needs.\",\"intensity\":\"MATERIAL\",\"confidence\":\"CONFIRMED\",\"obligation_ids\":[\"high-barley-custom\"],\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D03\"]}}",
          "new_value": "{\"id\":\"high-barley-r1\",\"source_id\":\"high-barley-c1\",\"target_id\":\"high-barley-c2\",\"basis\":\"Hesta wants every able pair of hands in the fields during this dry interval. Cal reminds her that dependents still need feeding and tending, and brings you the unfilled household rota. Beren says some sheaves can wait, but not all the exposed crop through repeated rain. Counting caregivers twice will not bring the grain in sooner.\",\"stance\":\"Working cooperatively under the protected care rota and covered-bowl recognition, balancing field work with household needs.\",\"intensity\":\"LOW\",\"confidence\":\"CONFIRMED\",\"obligation_ids\":[\"high-barley-custom\"],\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D03\"]}}",
          "decision_ids": [
            "T001-D03"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-34",
          "subject_id": "high-barley-conditions",
          "prior_value": "{\"id\":\"high-barley-conditions\",\"subject_id\":\"high-barley\",\"statement\":\"The standing barley is ripe. Covered old grain and beans will feed ordinary meals for several weeks, with milk, roots and a modest flock besides. A successful local harvest would cover winter eating and next year’s seed; the margin depends on drying and preserving the crop. Seed is kept separately by custom. Sickles, threshing cloths and baskets work, but dry covered floor space is tight. Homes are weatherproof except for minor eave leaks. Several caregivers are exhausted; there is no epidemic or present military threat.\",\"domain\":\"WORLD\",\"value\":null,\"visibility\":{\"scope\":\"PLAYERS\",\"player_ids\":[\"player3\"]},\"provenance\":{\"source_kind\":\"PRIOR_STATE\",\"source_ids\":[\"SALTWIND-INITIALIZATION\"]}}",
          "new_value": "{\"id\":\"high-barley-conditions\",\"subject_id\":\"high-barley\",\"statement\":\"The barley harvest is successfully progressing, paced to dry spells and loft hurdle capacity. Cal's care rota protects household welfare, and the covered bowl is observed. The lower store bay is secured on raised dunnage, prime seed is separated on upper racks, and minor eave leaks have been patched.\",\"domain\":\"WORLD\",\"value\":null,\"visibility\":{\"scope\":\"PLAYERS\",\"player_ids\":[\"player3\"]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D03\"]}}",
          "decision_ids": [
            "T001-D03"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player3"
            ]
          }
        },
        {
          "id": "T001-SC-35",
          "subject_id": "fact-high-barley-care-and-harvest",
          "prior_value": "null",
          "new_value": "{\"domain\":\"WORLD\",\"id\":\"fact-high-barley-care-and-harvest\",\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"T001-D03\"]},\"statement\":\"Cal's care rota was instituted, gathering dependents in central spaces and relieving weary caregivers, with the covered bowl honored at every evening meal. Hesta paced the barley cut to dry intervals, while Osa used pack goats with hauling frames to carry sheaves, keeping harvest flowing without overburdening households.\",\"subject_id\":\"high-barley\",\"value\":null,\"visibility\":{\"player_ids\":[\"player3\"],\"scope\":\"PLAYERS\"}}",
          "decision_ids": [
            "T001-D03"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "player_ids": [
              "player3"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "id": "T001-SC-36",
          "subject_id": "K-high-barley-care-and-harvest",
          "prior_value": "null",
          "new_value": "{\"confidence\":\"CONFIRMED\",\"epistemic_status\":\"OBSERVED\",\"fact_id\":\"fact-high-barley-care-and-harvest\",\"holder_id\":\"high-barley-leader\",\"id\":\"K-high-barley-care-and-harvest\",\"learned_turn\":1,\"player_id\":\"player3\",\"propagation_path\":[],\"source_type\":\"DIRECT_OBSERVATION\"}",
          "decision_ids": [
            "T001-D03"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-37",
          "subject_id": "fact-high-barley-storehouse-and-loft",
          "prior_value": "null",
          "new_value": "{\"domain\":\"RESOURCE\",\"id\":\"fact-high-barley-storehouse-and-loft\",\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"T001-D03\"]},\"statement\":\"Leth and the leader sorted the lower store bay, salvaging damp grain for immediate meals and removing mold. Raised timber dunnage was laid to lift sacks off the floor, Beren converted the disused wool loft into ventilated drying hurdles, and prime seed grain was secured on upper racks.\",\"subject_id\":\"high-barley\",\"value\":null,\"visibility\":{\"player_ids\":[\"player3\"],\"scope\":\"PLAYERS\"}}",
          "decision_ids": [
            "T001-D03"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "player_ids": [
              "player3"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "id": "T001-SC-38",
          "subject_id": "K-high-barley-storehouse-and-loft",
          "prior_value": "null",
          "new_value": "{\"confidence\":\"CONFIRMED\",\"epistemic_status\":\"OBSERVED\",\"fact_id\":\"fact-high-barley-storehouse-and-loft\",\"holder_id\":\"high-barley-leader\",\"id\":\"K-high-barley-storehouse-and-loft\",\"learned_turn\":1,\"player_id\":\"player3\",\"propagation_path\":[],\"source_type\":\"DIRECT_OBSERVATION\"}",
          "decision_ids": [
            "T001-D03"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-39",
          "subject_id": "fact-high-barley-ford-surveillance",
          "prior_value": "null",
          "new_value": "{\"domain\":\"WORLD\",\"id\":\"fact-high-barley-ford-surveillance\",\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"T001-D04\"]},\"statement\":\"Jun observed two distant coastal travelers advance along the alder path to the edge of the stream ford and lower meadow. The scouts observed the shelf from cover and withdrew peacefully eastward down the alder path without attempting to cross the ford or approach the village.\",\"subject_id\":\"high-barley\",\"value\":null,\"visibility\":{\"player_ids\":[\"player3\"],\"scope\":\"PLAYERS\"}}",
          "decision_ids": [
            "T001-D04"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "player_ids": [
              "player3"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "id": "T001-SC-40",
          "subject_id": "K-high-barley-ford-surveillance",
          "prior_value": "null",
          "new_value": "{\"confidence\":\"CONFIRMED\",\"epistemic_status\":\"REPORTED\",\"fact_id\":\"fact-high-barley-ford-surveillance\",\"holder_id\":\"high-barley-leader\",\"id\":\"K-high-barley-ford-surveillance\",\"learned_turn\":1,\"player_id\":\"player3\",\"propagation_path\":[\"high-barley-c6\"],\"source_type\":\"PROPAGATED\"}",
          "decision_ids": [
            "T001-D04"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-41",
          "subject_id": "fact-ternhaven-alder-scout-report",
          "prior_value": "null",
          "new_value": "{\"domain\":\"GEOGRAPHY\",\"id\":\"fact-ternhaven-alder-scout-report\",\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"T001-D04\"]},\"statement\":\"Seli completed a three-day reconnaissance along the alder path to the stream ford and lower meadow. She confirmed the trail is passable in early autumn, found fresh goat and pack tracks near the water, and sighted dwellings on the high upland shelf above before withdrawing eastward in accordance with orders.\",\"subject_id\":\"sound\",\"value\":null,\"visibility\":{\"player_ids\":[\"player4\"],\"scope\":\"PLAYERS\"}}",
          "decision_ids": [
            "T001-D04"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "player_ids": [
              "player4"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "id": "T001-SC-42",
          "subject_id": "K-ternhaven-alder-scout-report",
          "prior_value": "null",
          "new_value": "{\"confidence\":\"CONFIRMED\",\"epistemic_status\":\"REPORTED\",\"fact_id\":\"fact-ternhaven-alder-scout-report\",\"holder_id\":\"ternhaven-leader\",\"id\":\"K-ternhaven-alder-scout-report\",\"learned_turn\":1,\"player_id\":\"player4\",\"propagation_path\":[\"ternhaven-c5\"],\"source_type\":\"PROPAGATED\"}",
          "decision_ids": [
            "T001-D04"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-43",
          "subject_id": "ternhaven-pressure",
          "prior_value": "{\"id\":\"ternhaven-pressure\",\"subject_id\":\"ternhaven\",\"name\":\"Opening allocation conflict\",\"state\":\"Del recalls an old obligation to give seasonal visitors a dry first night and a meal. Ves asks whether an old welcome now means feeding whoever arrives all winter. No visitors are presently here and no arrival date is agreed. Ruan says limits spoken before arrival would be easier to honor than angry exclusions at the door.\",\"progress\":null,\"maximum\":null,\"status\":\"ACTIVE\",\"last_updated_turn\":0,\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"PRIOR_STATE\",\"source_ids\":[\"SALTWIND-INITIALIZATION\"]}}",
          "new_value": "{\"id\":\"ternhaven-pressure\",\"subject_id\":\"ternhaven\",\"name\":\"Opening allocation conflict\",\"state\":\"Del recalls an old obligation to give seasonal visitors a dry first night and a meal. Ves asks whether an old welcome now means feeding whoever arrives all winter. No visitors are presently here and no arrival date is agreed. Ruan says limits spoken before arrival would be easier to honor than angry exclusions at the door.\",\"progress\":null,\"maximum\":null,\"status\":\"COMPLETED\",\"last_updated_turn\":0,\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D05\"]}}",
          "decision_ids": [
            "T001-D05"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-44",
          "subject_id": "ternhaven-pressure",
          "prior_value": "{\"id\":\"ternhaven-pressure\",\"subject_id\":\"ternhaven\",\"name\":\"Opening allocation conflict\",\"state\":\"Del recalls an old obligation to give seasonal visitors a dry first night and a meal. Ves asks whether an old welcome now means feeding whoever arrives all winter. No visitors are presently here and no arrival date is agreed. Ruan says limits spoken before arrival would be easier to honor than angry exclusions at the door.\",\"progress\":null,\"maximum\":null,\"status\":\"COMPLETED\",\"last_updated_turn\":0,\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D05\"]}}",
          "new_value": "{\"id\":\"ternhaven-pressure\",\"subject_id\":\"ternhaven\",\"name\":\"Opening allocation conflict\",\"state\":\"Hospitality policy enacted: first-night welcome honored under Del's custom, with reciprocal labor or respectful departure required thereafter, satisfying Ves and Ruan.\",\"progress\":null,\"maximum\":null,\"status\":\"COMPLETED\",\"last_updated_turn\":0,\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D05\"]}}",
          "decision_ids": [
            "T001-D05"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-45",
          "subject_id": "ternhaven-households",
          "prior_value": "{\"id\":\"ternhaven-households\",\"name\":\"Ternhaven households\",\"scope\":\"LOCAL\",\"member_summary\":\"Resident households with differing labor, food and care interests; not a unanimous bloc.\",\"leader_ids\":[\"ternhaven-c1\",\"ternhaven-c2\"],\"interests\":[\"Household safety\",\"Credible allocation of finite labor\"],\"controlled_resources\":[\"Household work time and customary shares\"],\"current_agenda\":\"Del recalls an old obligation to give seasonal visitors a dry first night and a meal. Ves asks whether an old welcome now means feeding whoever arrives all winter. No visitors are presently here and no arrival date is agreed. Ruan says limits spoken before arrival would be easier to honor than angry exclusions at the door.\",\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"PRIOR_STATE\",\"source_ids\":[\"SALTWIND-INITIALIZATION\"]}}",
          "new_value": "{\"id\":\"ternhaven-households\",\"name\":\"Ternhaven households\",\"scope\":\"LOCAL\",\"member_summary\":\"Resident households with differing labor, food and care interests; not a unanimous bloc.\",\"leader_ids\":[\"ternhaven-c1\",\"ternhaven-c2\"],\"interests\":[\"Household safety\",\"Credible allocation of finite labor\"],\"controlled_resources\":[\"Household work time and customary shares\"],\"current_agenda\":\"The landing community is united behind the two-stage hospitality rule; drying racks are filled on the upper ledge, and boats are safely handled.\",\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D05\"]}}",
          "decision_ids": [
            "T001-D05"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-46",
          "subject_id": "ternhaven-r1",
          "prior_value": "{\"id\":\"ternhaven-r1\",\"source_id\":\"ternhaven-c1\",\"target_id\":\"ternhaven-c2\",\"basis\":\"Del recalls an old obligation to give seasonal visitors a dry first night and a meal. Ves asks whether an old welcome now means feeding whoever arrives all winter. No visitors are presently here and no arrival date is agreed. Ruan says limits spoken before arrival would be easier to honor than angry exclusions at the door.\",\"stance\":\"Disagrees over the present allocation, while accepting ordinary discussion.\",\"intensity\":\"MATERIAL\",\"confidence\":\"CONFIRMED\",\"obligation_ids\":[\"ternhaven-custom\"],\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"PRIOR_STATE\",\"source_ids\":[\"SALTWIND-INITIALIZATION\"]}}",
          "new_value": "{\"id\":\"ternhaven-r1\",\"source_id\":\"ternhaven-c1\",\"target_id\":\"ternhaven-c2\",\"basis\":\"Del recalls an old obligation to give seasonal visitors a dry first night and a meal. Ves asks whether an old welcome now means feeding whoever arrives all winter. No visitors are presently here and no arrival date is agreed. Ruan says limits spoken before arrival would be easier to honor than angry exclusions at the door.\",\"stance\":\"In agreement following the enactment of the two-stage hospitality rule, balancing traditional welcome with resident store protection.\",\"intensity\":\"MATERIAL\",\"confidence\":\"CONFIRMED\",\"obligation_ids\":[\"ternhaven-custom\"],\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D05\"]}}",
          "decision_ids": [
            "T001-D05"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-47",
          "subject_id": "ternhaven-r1",
          "prior_value": "{\"id\":\"ternhaven-r1\",\"source_id\":\"ternhaven-c1\",\"target_id\":\"ternhaven-c2\",\"basis\":\"Del recalls an old obligation to give seasonal visitors a dry first night and a meal. Ves asks whether an old welcome now means feeding whoever arrives all winter. No visitors are presently here and no arrival date is agreed. Ruan says limits spoken before arrival would be easier to honor than angry exclusions at the door.\",\"stance\":\"In agreement following the enactment of the two-stage hospitality rule, balancing traditional welcome with resident store protection.\",\"intensity\":\"MATERIAL\",\"confidence\":\"CONFIRMED\",\"obligation_ids\":[\"ternhaven-custom\"],\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D05\"]}}",
          "new_value": "{\"id\":\"ternhaven-r1\",\"source_id\":\"ternhaven-c1\",\"target_id\":\"ternhaven-c2\",\"basis\":\"Del recalls an old obligation to give seasonal visitors a dry first night and a meal. Ves asks whether an old welcome now means feeding whoever arrives all winter. No visitors are presently here and no arrival date is agreed. Ruan says limits spoken before arrival would be easier to honor than angry exclusions at the door.\",\"stance\":\"In agreement following the enactment of the two-stage hospitality rule, balancing traditional welcome with resident store protection.\",\"intensity\":\"LOW\",\"confidence\":\"CONFIRMED\",\"obligation_ids\":[\"ternhaven-custom\"],\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D05\"]}}",
          "decision_ids": [
            "T001-D05"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-48",
          "subject_id": "ternhaven-custom",
          "prior_value": "{\"id\":\"ternhaven-custom\",\"party_ids\":[\"ternhaven-c1\",\"ternhaven-c2\",\"ternhaven-leader\"],\"terms\":\"The first guest meal is traditionally placed at the edge of the hearth where both host and visitor can see it. Older hosts disagree about what follows that first night. You hold the recognized leadership seat; an honest limit, a negotiated welcome or a quiet month of local work remains yours to choose.\",\"status\":\"ACTIVE\",\"witness_ids\":[\"ternhaven-c3\"],\"due_key\":null,\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"PRIOR_STATE\",\"source_ids\":[\"SALTWIND-INITIALIZATION\"]}}",
          "new_value": "{\"id\":\"ternhaven-custom\",\"party_ids\":[\"ternhaven-c1\",\"ternhaven-c2\",\"ternhaven-leader\"],\"terms\":\"The first guest meal is placed at the edge of the hearth under ancient custom, granting a dry first night. By established village policy, guests staying beyond the first night must contribute reciprocal labor or receive one day's travel rations and depart in peace.\",\"status\":\"ACTIVE\",\"witness_ids\":[\"ternhaven-c3\"],\"due_key\":null,\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D05\"]}}",
          "decision_ids": [
            "T001-D05"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-49",
          "subject_id": "ternhaven-conditions",
          "prior_value": "{\"id\":\"ternhaven-conditions\",\"subject_id\":\"ternhaven\",\"statement\":\"Dry fish, roots and barley meal support several weeks of ordinary meals. Local catches and root beds can sustain the community if crews retain time for them. Fuel and mending twine are adequate for ordinary work but not limitless. Most roofs are sound; the landing hall has a damp corner. The fresh-water well is uphill of the beach. A few children have seasonal coughs, with no evidence of an outbreak. Hospitality uses food, dry space and labor that are already doing other work.\",\"domain\":\"WORLD\",\"value\":null,\"visibility\":{\"scope\":\"PLAYERS\",\"player_ids\":[\"player4\"]},\"provenance\":{\"source_kind\":\"PRIOR_STATE\",\"source_ids\":[\"SALTWIND-INITIALIZATION\"]}}",
          "new_value": "{\"id\":\"ternhaven-conditions\",\"subject_id\":\"ternhaven\",\"statement\":\"The outer mooring has been inspected, freed from a rock snag, and re-rigged with sound cordage, while boats remain safely beached between runs. The upper drying ledge has new racks, the landing hall roof is sealed, and firewood is sheltered. Children with coughs are recovering, and household stores are well-managed.\",\"domain\":\"WORLD\",\"value\":null,\"visibility\":{\"scope\":\"PLAYERS\",\"player_ids\":[\"player4\"]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D05\"]}}",
          "decision_ids": [
            "T001-D05"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player4"
            ]
          }
        },
        {
          "id": "T001-SC-50",
          "subject_id": "fact-ternhaven-mooring-and-boats",
          "prior_value": "null",
          "new_value": "{\"domain\":\"WORLD\",\"id\":\"fact-ternhaven-mooring-and-boats\",\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"T001-D05\"]},\"statement\":\"Both fishing boats were safely hauled onto the inner beach above high tide. During slack water, Kiri inspected the outer mooring and discovered the rope chafing against a submerged stone edge; the mooring was cleared and re-rigged with tested cordage, while inshore fishing continued safely.\",\"subject_id\":\"ternhaven\",\"value\":null,\"visibility\":{\"player_ids\":[\"player4\"],\"scope\":\"PLAYERS\"}}",
          "decision_ids": [
            "T001-D05"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "player_ids": [
              "player4"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "id": "T001-SC-51",
          "subject_id": "K-ternhaven-mooring-and-boats",
          "prior_value": "null",
          "new_value": "{\"confidence\":\"CONFIRMED\",\"epistemic_status\":\"OBSERVED\",\"fact_id\":\"fact-ternhaven-mooring-and-boats\",\"holder_id\":\"ternhaven-leader\",\"id\":\"K-ternhaven-mooring-and-boats\",\"learned_turn\":1,\"player_id\":\"player4\",\"propagation_path\":[],\"source_type\":\"DIRECT_OBSERVATION\"}",
          "decision_ids": [
            "T001-D05"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-52",
          "subject_id": "fact-ternhaven-stores-and-hearth",
          "prior_value": "null",
          "new_value": "{\"domain\":\"RESOURCE\",\"id\":\"fact-ternhaven-stores-and-hearth\",\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"T001-D05\"]},\"statement\":\"Work crews built drying racks on the upper ledge to dry split fish and roots off the ground. The landing hall roof seam was re-thatched and pitched, dry firewood was secured under lean-tos, and coughing children were nursed to recovery by the central hearth.\",\"subject_id\":\"ternhaven\",\"value\":null,\"visibility\":{\"player_ids\":[\"player4\"],\"scope\":\"PLAYERS\"}}",
          "decision_ids": [
            "T001-D05"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "player_ids": [
              "player4"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "id": "T001-SC-53",
          "subject_id": "K-ternhaven-stores-and-hearth",
          "prior_value": "null",
          "new_value": "{\"confidence\":\"CONFIRMED\",\"epistemic_status\":\"OBSERVED\",\"fact_id\":\"fact-ternhaven-stores-and-hearth\",\"holder_id\":\"ternhaven-leader\",\"id\":\"K-ternhaven-stores-and-hearth\",\"learned_turn\":1,\"player_id\":\"player4\",\"propagation_path\":[],\"source_type\":\"DIRECT_OBSERVATION\"}",
          "decision_ids": [
            "T001-D05"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T001-SC-54",
          "subject_id": "fact-ternhaven-hospitality-policy",
          "prior_value": "null",
          "new_value": "{\"domain\":\"WORLD\",\"id\":\"fact-ternhaven-hospitality-policy\",\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"T001-D05\"]},\"statement\":\"The leader established an explicit village hospitality rule: visitors receive shelter and a hearth meal for their first night under custom; on the second day, guests must provide reciprocal labor or receive travel rations and depart peacefully.\",\"subject_id\":\"ternhaven\",\"value\":null,\"visibility\":{\"player_ids\":[\"player4\"],\"scope\":\"PLAYERS\"}}",
          "decision_ids": [
            "T001-D05"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "player_ids": [
              "player4"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "id": "T001-SC-55",
          "subject_id": "K-ternhaven-hospitality-policy",
          "prior_value": "null",
          "new_value": "{\"confidence\":\"CONFIRMED\",\"epistemic_status\":\"OBSERVED\",\"fact_id\":\"fact-ternhaven-hospitality-policy\",\"holder_id\":\"ternhaven-leader\",\"id\":\"K-ternhaven-hospitality-policy\",\"learned_turn\":1,\"player_id\":\"player4\",\"propagation_path\":[],\"source_type\":\"DIRECT_OBSERVATION\"}",
          "decision_ids": [
            "T001-D05"
          ],
          "applied_at": "2026-09-07T16:21:20.635Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T002-SC-56",
          "subject_id": "saltmere-conditions",
          "prior_value": "{\"id\":\"saltmere-conditions\",\"subject_id\":\"saltmere\",\"statement\":\"Two roofs have been re-thatched against rain. Garden roots are lifted and stored, while the autumn catch is secured through smoking, dry-salting with reserve cakes, and Sava's canopied racks. Fresh willow billets season in a drained, thatched hollow shelter, and the western pan bank has been reinforced.\",\"domain\":\"WORLD\",\"value\":null,\"visibility\":{\"scope\":\"PLAYERS\",\"player_ids\":[\"player1\"]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D01\"]}}",
          "new_value": "{\"id\":\"saltmere-conditions\",\"subject_id\":\"saltmere\",\"statement\":\"Mid-autumn rains have set in, but perimeter ditches divert runoff from brine pools. A low-heat test boil confirmed the reinforced pan bank holds without seepage. Split willow and alder billets cure under the open-sided shelter. Skiffs remain safely inshore, drying racks are sheltered near homes, and household hearths are shared in the evenings.\",\"domain\":\"WORLD\",\"value\":null,\"visibility\":{\"scope\":\"PLAYERS\",\"player_ids\":[\"player1\"]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D01\",\"T002-D01\"]}}",
          "decision_ids": [
            "T002-D01"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player1"
            ]
          }
        },
        {
          "id": "T002-SC-57",
          "subject_id": "fact-saltmere-pan-thermal-test",
          "prior_value": "null",
          "new_value": "{\"domain\":\"WORLD\",\"id\":\"fact-saltmere-pan-thermal-test\",\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"T002-D01\"]},\"statement\":\"Nessa conducted a low-intensity test boil on an inland pan using salvaged drift and deadfall, while Fen monitored the western bank at low water. The clay reinforcement remained solid without cracking or seepage, confirming stability under low heat while core dry billets remain reserved for domestic warmth.\",\"subject_id\":\"saltmere\",\"value\":null,\"visibility\":{\"player_ids\":[\"player1\"],\"scope\":\"PLAYERS\"}}",
          "decision_ids": [
            "T002-D01"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "player_ids": [
              "player1"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "id": "T002-SC-58",
          "subject_id": "K-saltmere-pan-thermal-test",
          "prior_value": "null",
          "new_value": "{\"confidence\":\"CONFIRMED\",\"epistemic_status\":\"OBSERVED\",\"fact_id\":\"fact-saltmere-pan-thermal-test\",\"holder_id\":\"saltmere-leader\",\"id\":\"K-saltmere-pan-thermal-test\",\"learned_turn\":2,\"player_id\":\"player1\",\"propagation_path\":[],\"source_type\":\"DIRECT_OBSERVATION\"}",
          "decision_ids": [
            "T002-D01"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T002-SC-59",
          "subject_id": "fact-saltmere-creek-reconnaissance",
          "prior_value": "null",
          "new_value": "{\"domain\":\"WORLD\",\"id\":\"fact-saltmere-creek-reconnaissance\",\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"T002-D01\"]},\"statement\":\"Evi and a companion reached the southern bank of the northern creek under cover of dunes. They observed an active boat yard on the opposite bank with timber sleds, an overhauled fishing craft, and permanent thatched dwellings, confirming a substantial neighboring settlement before withdrawing unseen.\",\"subject_id\":\"sound\",\"value\":null,\"visibility\":{\"player_ids\":[\"player1\"],\"scope\":\"PLAYERS\"}}",
          "decision_ids": [
            "T002-D01"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "player_ids": [
              "player1"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "id": "T002-SC-60",
          "subject_id": "K-saltmere-creek-reconnaissance",
          "prior_value": "null",
          "new_value": "{\"confidence\":\"CONFIRMED\",\"epistemic_status\":\"REPORTED\",\"fact_id\":\"fact-saltmere-creek-reconnaissance\",\"holder_id\":\"saltmere-leader\",\"id\":\"K-saltmere-creek-reconnaissance\",\"learned_turn\":2,\"player_id\":\"player1\",\"propagation_path\":[\"saltmere-c5\"],\"source_type\":\"PROPAGATED\"}",
          "decision_ids": [
            "T002-D01"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T002-SC-61",
          "subject_id": "fact-saltmere-fuel-and-stores-discipline",
          "prior_value": "null",
          "new_value": "{\"domain\":\"RESOURCE\",\"id\":\"fact-saltmere-fuel-and-stores-discipline\",\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"T002-D01\"]},\"statement\":\"Fresh willow and alder billets were split into thin laths and stacked under the drained hollow shelter, accelerating seasoning. Inshore fishing continued in calm windows, drying racks were sheltered beside longhouses, and Daro's weekly inspection confirmed stored grain and cured fish remain free of mold.\",\"subject_id\":\"saltmere\",\"value\":null,\"visibility\":{\"player_ids\":[\"player1\"],\"scope\":\"PLAYERS\"}}",
          "decision_ids": [
            "T002-D01"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "player_ids": [
              "player1"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "id": "T002-SC-62",
          "subject_id": "K-saltmere-fuel-and-stores-discipline",
          "prior_value": "null",
          "new_value": "{\"confidence\":\"CONFIRMED\",\"epistemic_status\":\"OBSERVED\",\"fact_id\":\"fact-saltmere-fuel-and-stores-discipline\",\"holder_id\":\"saltmere-leader\",\"id\":\"K-saltmere-fuel-and-stores-discipline\",\"learned_turn\":2,\"player_id\":\"player1\",\"propagation_path\":[],\"source_type\":\"DIRECT_OBSERVATION\"}",
          "decision_ids": [
            "T002-D01"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T002-SC-63",
          "subject_id": "saltmere-households",
          "prior_value": "{\"id\":\"saltmere-households\",\"name\":\"Saltmere households\",\"scope\":\"LOCAL\",\"member_summary\":\"Resident households with differing labor, food and care interests; not a unanimous bloc.\",\"leader_ids\":[\"saltmere-c1\",\"saltmere-c2\"],\"interests\":[\"Household safety\",\"Credible allocation of finite labor\"],\"controlled_resources\":[\"Household work time and customary shares\"],\"current_agenda\":\"Early autumn fuel compromise is holding: Nessa accepted paused boiling while repairing the pan bank, and Orin secured dry billets for smoking alongside dry-salting.\",\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D01\"]}}",
          "new_value": "{\"id\":\"saltmere-households\",\"name\":\"Saltmere households\",\"scope\":\"LOCAL\",\"member_summary\":\"Resident households with differing labor, food and care interests; not a unanimous bloc.\",\"leader_ids\":[\"saltmere-c1\",\"saltmere-c2\"],\"interests\":[\"Household safety\",\"Credible allocation of finite labor\"],\"controlled_resources\":[\"Household work time and customary shares\"],\"current_agenda\":\"Mid-autumn discipline holds: domestic heating billets are protected, communal hearths share warmth in the evenings, the pan bank is proven under low heat, and northern creek scouting confirms neighboring settlement.\",\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D01\",\"T002-D01\"]}}",
          "decision_ids": [
            "T002-D01"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T002-SC-64",
          "subject_id": "keelstrand-conditions",
          "prior_value": "{\"id\":\"keelstrand-conditions\",\"subject_id\":\"keelstrand\",\"statement\":\"All four leaking houses have been re-thatched and lashed water-tight. The boat shed is safely shored with props, the unfinished hull is protected under pitched thatch, and the old fishing boat has been overhauled and caulked. Garden roots and beans are safely stored in straw pits, and two wooden drag-sleds are ready for timber hauling.\",\"domain\":\"WORLD\",\"value\":null,\"visibility\":{\"scope\":\"PLAYERS\",\"player_ids\":[\"player2\"]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D02\"]}}",
          "new_value": "{\"id\":\"keelstrand-conditions\",\"subject_id\":\"keelstrand\",\"statement\":\"The boat shed corner post is permanently underpinned on a raised stone plinth with sistered hardwood. Straight building timbers and winter fuel are sledded down and stacked on raised skids. Drainage swales protect dwellings, Pell's apprentices are spinning cordage and rendering pitch, and Ivo has confirmed upland herds to the southeast.\",\"domain\":\"WORLD\",\"value\":null,\"visibility\":{\"scope\":\"PLAYERS\",\"player_ids\":[\"player2\"]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D02\",\"T002-D02\"]}}",
          "decision_ids": [
            "T002-D02"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player2"
            ]
          }
        },
        {
          "id": "T002-SC-65",
          "subject_id": "fact-keelstrand-shed-underpinning",
          "prior_value": "null",
          "new_value": "{\"domain\":\"WORLD\",\"id\":\"fact-keelstrand-shed-underpinning\",\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"T002-D02\"]},\"statement\":\"Mara and Ivo jacked the boat shed cross-beam, excavated to firm subsoil, and seated a broad flat river stone plinth. The rotted base of the corner post was cut away, charred against fungus, and fitted with a seasoned timber block sistered with hardwood splints and treenails, permanently securing the structure.\",\"subject_id\":\"keelstrand\",\"value\":null,\"visibility\":{\"player_ids\":[\"player2\"],\"scope\":\"PLAYERS\"}}",
          "decision_ids": [
            "T002-D02"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "player_ids": [
              "player2"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "id": "T002-SC-66",
          "subject_id": "K-keelstrand-shed-underpinning",
          "prior_value": "null",
          "new_value": "{\"confidence\":\"CONFIRMED\",\"epistemic_status\":\"OBSERVED\",\"fact_id\":\"fact-keelstrand-shed-underpinning\",\"holder_id\":\"keelstrand-leader\",\"id\":\"K-keelstrand-shed-underpinning\",\"learned_turn\":2,\"player_id\":\"player2\",\"propagation_path\":[],\"source_type\":\"DIRECT_OBSERVATION\"}",
          "decision_ids": [
            "T002-D02"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T002-SC-67",
          "subject_id": "fact-keelstrand-sled-timber-and-fuel",
          "prior_value": "null",
          "new_value": "{\"domain\":\"RESOURCE\",\"id\":\"fact-keelstrand-sled-timber-and-fuel\",\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"T002-D02\"]},\"statement\":\"Work crews cleared and corduroyed the uphill track, using the two drag-sleds to haul straight trunk timbers, curved framing knees, and bundled deadwood before rains softened the trail. Logs were debarked and stacked on skids under thatched lean-tos to season for spring.\",\"subject_id\":\"keelstrand\",\"value\":null,\"visibility\":{\"player_ids\":[\"player2\"],\"scope\":\"PLAYERS\"}}",
          "decision_ids": [
            "T002-D02"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "player_ids": [
              "player2"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "id": "T002-SC-68",
          "subject_id": "K-keelstrand-sled-timber-and-fuel",
          "prior_value": "null",
          "new_value": "{\"confidence\":\"CONFIRMED\",\"epistemic_status\":\"OBSERVED\",\"fact_id\":\"fact-keelstrand-sled-timber-and-fuel\",\"holder_id\":\"keelstrand-leader\",\"id\":\"K-keelstrand-sled-timber-and-fuel\",\"learned_turn\":2,\"player_id\":\"player2\",\"propagation_path\":[],\"source_type\":\"DIRECT_OBSERVATION\"}",
          "decision_ids": [
            "T002-D02"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T002-SC-69",
          "subject_id": "fact-keelstrand-fiber-and-swales",
          "prior_value": "null",
          "new_value": "{\"domain\":\"WORLD\",\"id\":\"fact-keelstrand-fiber-and-swales\",\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"T002-D02\"]},\"statement\":\"Tor organized swales along uphill walls to direct runoff toward the creek, inspected central hearth clearances, and culled storage pits. Pell led apprentices in retting and spinning nettle and bast fibers into cordage, while caulking pitch was rendered from resin, charcoal, and ash.\",\"subject_id\":\"keelstrand\",\"value\":null,\"visibility\":{\"player_ids\":[\"player2\"],\"scope\":\"PLAYERS\"}}",
          "decision_ids": [
            "T002-D02"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "player_ids": [
              "player2"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "id": "T002-SC-70",
          "subject_id": "K-keelstrand-fiber-and-swales",
          "prior_value": "null",
          "new_value": "{\"confidence\":\"CONFIRMED\",\"epistemic_status\":\"OBSERVED\",\"fact_id\":\"fact-keelstrand-fiber-and-swales\",\"holder_id\":\"keelstrand-leader\",\"id\":\"K-keelstrand-fiber-and-swales\",\"learned_turn\":2,\"player_id\":\"player2\",\"propagation_path\":[],\"source_type\":\"DIRECT_OBSERVATION\"}",
          "decision_ids": [
            "T002-D02"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T002-SC-71",
          "subject_id": "fact-keelstrand-ridge-and-marker-patrols",
          "prior_value": "null",
          "new_value": "{\"domain\":\"WORLD\",\"id\":\"fact-keelstrand-ridge-and-marker-patrols\",\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"T002-D02\"]},\"statement\":\"Ivo scouted the western marker beach, finding the stake intact with faint shore tracks nearby. Later, from a concealed observation post on the southeast ridge, Ivo observed managed pack goat herds grazing across the distant upland shelf before executing a disciplined midday return.\",\"subject_id\":\"sound\",\"value\":null,\"visibility\":{\"player_ids\":[\"player2\"],\"scope\":\"PLAYERS\"}}",
          "decision_ids": [
            "T002-D02"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "player_ids": [
              "player2"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "id": "T002-SC-72",
          "subject_id": "K-keelstrand-ridge-and-marker-patrols",
          "prior_value": "null",
          "new_value": "{\"confidence\":\"CONFIRMED\",\"epistemic_status\":\"REPORTED\",\"fact_id\":\"fact-keelstrand-ridge-and-marker-patrols\",\"holder_id\":\"keelstrand-leader\",\"id\":\"K-keelstrand-ridge-and-marker-patrols\",\"learned_turn\":2,\"player_id\":\"player2\",\"propagation_path\":[\"keelstrand-c4\"],\"source_type\":\"PROPAGATED\"}",
          "decision_ids": [
            "T002-D02"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T002-SC-73",
          "subject_id": "keelstrand-households",
          "prior_value": "{\"id\":\"keelstrand-households\",\"name\":\"Keelstrand households\",\"scope\":\"LOCAL\",\"member_summary\":\"Resident households with differing labor, food and care interests; not a unanimous bloc.\",\"leader_ids\":[\"keelstrand-c1\",\"keelstrand-c2\"],\"interests\":[\"Household safety\",\"Credible allocation of finite labor\"],\"controlled_resources\":[\"Household work time and customary shares\"],\"current_agenda\":\"The keel agreement is holding: sleeping quarters are weatherproofed, fishing families received garden shares, and the yard focuses on old boat maintenance and sled hauling.\",\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D02\"]}}",
          "new_value": "{\"id\":\"keelstrand-households\",\"name\":\"Keelstrand households\",\"scope\":\"LOCAL\",\"member_summary\":\"Resident households with differing labor, food and care interests; not a unanimous bloc.\",\"leader_ids\":[\"keelstrand-c1\",\"keelstrand-c2\"],\"interests\":[\"Household safety\",\"Credible allocation of finite labor\"],\"controlled_resources\":[\"Household work time and customary shares\"],\"current_agenda\":\"The yard is secure for winter: the shed post is permanently seated on stone, winter fuel and boat timbers are safely yarded, drainage swales prevent flooding, and ridge scouting confirms upland pastoralists.\",\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D02\",\"T002-D02\"]}}",
          "decision_ids": [
            "T002-D02"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T002-SC-74",
          "subject_id": "high-barley-conditions",
          "prior_value": "{\"id\":\"high-barley-conditions\",\"subject_id\":\"high-barley\",\"statement\":\"The barley harvest is successfully progressing, paced to dry spells and loft hurdle capacity. Cal's care rota protects household welfare, and the covered bowl is observed. The lower store bay is secured on raised dunnage, prime seed is separated on upper racks, and minor eave leaks have been patched.\",\"domain\":\"WORLD\",\"value\":null,\"visibility\":{\"scope\":\"PLAYERS\",\"player_ids\":[\"player3\"]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D03\"]}}",
          "new_value": "{\"id\":\"high-barley-conditions\",\"subject_id\":\"high-barley\",\"statement\":\"The barley harvest is complete and safely processed through the wool loft drying hurdles. Grain sacks rest dry on raised dunnage, seed grain is safeguarded under Beren, and winter fuel and straw bedding are stockpiled. Cal's adapted care rota and the covered bowl maintain household unity.\",\"domain\":\"WORLD\",\"value\":null,\"visibility\":{\"scope\":\"PLAYERS\",\"player_ids\":[\"player3\"]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D03\",\"T002-D03\"]}}",
          "decision_ids": [
            "T002-D03"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player3"
            ]
          }
        },
        {
          "id": "T002-SC-75",
          "subject_id": "fact-high-barley-harvest-conclusion",
          "prior_value": "null",
          "new_value": "{\"domain\":\"RESOURCE\",\"id\":\"fact-high-barley-harvest-conclusion\",\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"T002-D03\"]},\"statement\":\"Hesta's teams completed final sickle sweeps of standing barley during dry spells. Beren managed a continuous rotation through the wool loft drying hurdles to threshing cloths, ensuring the entire crop was cured, winnowed, and bagged without rain spoilage, with straw bundled for goat fodder and bedding.\",\"subject_id\":\"high-barley\",\"value\":null,\"visibility\":{\"player_ids\":[\"player3\"],\"scope\":\"PLAYERS\"}}",
          "decision_ids": [
            "T002-D03"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "player_ids": [
              "player3"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "id": "T002-SC-76",
          "subject_id": "K-high-barley-harvest-conclusion",
          "prior_value": "null",
          "new_value": "{\"confidence\":\"CONFIRMED\",\"epistemic_status\":\"OBSERVED\",\"fact_id\":\"fact-high-barley-harvest-conclusion\",\"holder_id\":\"high-barley-leader\",\"id\":\"K-high-barley-harvest-conclusion\",\"learned_turn\":2,\"player_id\":\"player3\",\"propagation_path\":[],\"source_type\":\"DIRECT_OBSERVATION\"}",
          "decision_ids": [
            "T002-D03"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T002-SC-77",
          "subject_id": "fact-high-barley-store-and-fuel-security",
          "prior_value": "null",
          "new_value": "{\"domain\":\"RESOURCE\",\"id\":\"fact-high-barley-store-and-fuel-security\",\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"T002-D03\"]},\"statement\":\"Leth stacked all newly harvested grain sacks exclusively on raised dunnage away from outer walls, maintaining daily moisture checks. Beren secured prime seed grain in marked sacks on the driest upper racks, while goat-hauling teams stockpiled deadwood, brush, and peat under covered eaves.\",\"subject_id\":\"high-barley\",\"value\":null,\"visibility\":{\"player_ids\":[\"player3\"],\"scope\":\"PLAYERS\"}}",
          "decision_ids": [
            "T002-D03"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "player_ids": [
              "player3"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "id": "T002-SC-78",
          "subject_id": "K-high-barley-store-and-fuel-security",
          "prior_value": "null",
          "new_value": "{\"confidence\":\"CONFIRMED\",\"epistemic_status\":\"OBSERVED\",\"fact_id\":\"fact-high-barley-store-and-fuel-security\",\"holder_id\":\"high-barley-leader\",\"id\":\"K-high-barley-store-and-fuel-security\",\"learned_turn\":2,\"player_id\":\"player3\",\"propagation_path\":[],\"source_type\":\"DIRECT_OBSERVATION\"}",
          "decision_ids": [
            "T002-D03"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T002-SC-79",
          "subject_id": "high-barley-households",
          "prior_value": "{\"id\":\"high-barley-households\",\"name\":\"High Barley households\",\"scope\":\"LOCAL\",\"member_summary\":\"Resident households with differing labor, food and care interests; not a unanimous bloc.\",\"leader_ids\":[\"high-barley-c1\",\"high-barley-c2\"],\"interests\":[\"Household safety\",\"Credible allocation of finite labor\"],\"controlled_resources\":[\"Household work time and customary shares\"],\"current_agenda\":\"Caregivers and field workers are aligned: the covered bowl is honored nightly, dependents are cared for centrally, and goat hauling keeps sheaves moving into the loft.\",\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D03\"]}}",
          "new_value": "{\"id\":\"high-barley-households\",\"name\":\"High Barley households\",\"scope\":\"LOCAL\",\"member_summary\":\"Resident households with differing labor, food and care interests; not a unanimous bloc.\",\"leader_ids\":[\"high-barley-c1\",\"high-barley-c2\"],\"interests\":[\"Household safety\",\"Credible allocation of finite labor\"],\"controlled_resources\":[\"Household work time and customary shares\"],\"current_agenda\":\"Harvest is gathered and secured on dunnage, prime seed is protected, fuel is stockpiled for winter, and the care rota and covered bowl continue to unite field workers and caregivers.\",\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D03\",\"T002-D03\"]}}",
          "decision_ids": [
            "T002-D03"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T002-SC-80",
          "subject_id": "fact-ford-contact-high-barley-view",
          "prior_value": "null",
          "new_value": "{\"domain\":\"WORLD\",\"id\":\"fact-ford-contact-high-barley-view\",\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"T002-D04\"]},\"statement\":\"A four-person delegation from the coastal inlet, led by a woman named Del and the guide Seli, hailed Jun from the eastern bank of the stream ford. They approached openly and unarmored, presenting a woven gift basket of cured smoked fish and clean sea-salt. High Barley's leader and elders met them at the stream, exchanging peaceful greetings and learning that their village, Ternhaven, is a coastal fishing settlement seeking peaceful trade, while maintaining the stream barrier without admitting visitors up to the shelf.\",\"subject_id\":\"high-barley\",\"value\":null,\"visibility\":{\"player_ids\":[\"player3\"],\"scope\":\"PLAYERS\"}}",
          "decision_ids": [
            "T002-D04"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "player_ids": [
              "player3"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "id": "T002-SC-81",
          "subject_id": "K-ford-contact-high-barley-view",
          "prior_value": "null",
          "new_value": "{\"confidence\":\"CONFIRMED\",\"epistemic_status\":\"OBSERVED\",\"fact_id\":\"fact-ford-contact-high-barley-view\",\"holder_id\":\"high-barley-leader\",\"id\":\"K-ford-contact-high-barley-view\",\"learned_turn\":2,\"player_id\":\"player3\",\"propagation_path\":[],\"source_type\":\"DIRECT_OBSERVATION\"}",
          "decision_ids": [
            "T002-D04"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T002-SC-82",
          "subject_id": "fact-ford-contact-ternhaven-view",
          "prior_value": "null",
          "new_value": "{\"domain\":\"WORLD\",\"id\":\"fact-ford-contact-ternhaven-view\",\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"T002-D04\"]},\"statement\":\"Del and Seli led Ternhaven's four-person embassy along the alder path to the stream ford, observing a stone boundary cairn bearing a woven willow ring. They were hailed across the water by the ford watcher Jun and met by the upland leader and elders. Del presented the gift basket of smoked fish and sea-salt, explained Ternhaven's hospitality customs, and discussed future barter. The upland community, High Barley, received the gift courteously and affirmed peaceful relations across the stream, while keeping the meeting at the water boundary.\",\"subject_id\":\"ternhaven\",\"value\":null,\"visibility\":{\"player_ids\":[\"player4\"],\"scope\":\"PLAYERS\"}}",
          "decision_ids": [
            "T002-D04"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "player_ids": [
              "player4"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "id": "T002-SC-83",
          "subject_id": "K-ford-contact-ternhaven-view",
          "prior_value": "null",
          "new_value": "{\"confidence\":\"CONFIRMED\",\"epistemic_status\":\"REPORTED\",\"fact_id\":\"fact-ford-contact-ternhaven-view\",\"holder_id\":\"ternhaven-leader\",\"id\":\"K-ford-contact-ternhaven-view\",\"learned_turn\":2,\"player_id\":\"player4\",\"propagation_path\":[\"ternhaven-c1\",\"ternhaven-c5\"],\"source_type\":\"PROPAGATED\"}",
          "decision_ids": [
            "T002-D04"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T002-SC-84",
          "subject_id": "rel-high-barley-ternhaven",
          "prior_value": "null",
          "new_value": "{\"basis\":\"Peaceful border encounter at the stream ford; Ternhaven presented a gift of salt and smoked fish, and High Barley acknowledged peaceful intentions while guarding the ford.\",\"confidence\":\"CONFIRMED\",\"id\":\"rel-high-barley-ternhaven\",\"intensity\":\"LOW\",\"obligation_ids\":[],\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"T002-D04\"]},\"source_id\":\"high-barley-leader\",\"stance\":\"Guarded respect and openness to future seasonal barter across the stream ford.\",\"target_id\":\"ternhaven-leader\",\"visibility\":{\"player_ids\":[],\"scope\":\"GM_ONLY\"}}",
          "decision_ids": [
            "T002-D04"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "player_ids": [],
            "scope": "GM_ONLY"
          }
        },
        {
          "id": "T002-SC-85",
          "subject_id": "rel-ternhaven-high-barley",
          "prior_value": "null",
          "new_value": "{\"basis\":\"Del and Seli met High Barley elders at the stream ford, presenting coastal gift provisions and receiving respectful acknowledgment and boundary recognition.\",\"confidence\":\"CONFIRMED\",\"id\":\"rel-ternhaven-high-barley\",\"intensity\":\"LOW\",\"obligation_ids\":[],\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"T002-D04\"]},\"source_id\":\"ternhaven-leader\",\"stance\":\"Courteous and hopeful for upland barter in grain, hides, or wool, respecting their boundary vigilance.\",\"target_id\":\"high-barley-leader\",\"visibility\":{\"player_ids\":[],\"scope\":\"GM_ONLY\"}}",
          "decision_ids": [
            "T002-D04"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "player_ids": [],
            "scope": "GM_ONLY"
          }
        },
        {
          "id": "T002-SC-86",
          "subject_id": "ternhaven-conditions",
          "prior_value": "{\"id\":\"ternhaven-conditions\",\"subject_id\":\"ternhaven\",\"statement\":\"The outer mooring has been inspected, freed from a rock snag, and re-rigged with sound cordage, while boats remain safely beached between runs. The upper drying ledge has new racks, the landing hall roof is sealed, and firewood is sheltered. Children with coughs are recovering, and household stores are well-managed.\",\"domain\":\"WORLD\",\"value\":null,\"visibility\":{\"scope\":\"PLAYERS\",\"player_ids\":[\"player4\"]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D05\"]}}",
          "new_value": "{\"id\":\"ternhaven-conditions\",\"subject_id\":\"ternhaven\",\"statement\":\"Outdoor racks have been cleared and split fish and roots brought indoors. Curing continues over the landing hearth, meal sacks and root stores are raised on timber dunnage, and ditches protect the fresh-water wellhead. Boats fish only in the inner inlet and are beached during gales, while net mending and cordage twisting proceed inside.\",\"domain\":\"WORLD\",\"value\":null,\"visibility\":{\"scope\":\"PLAYERS\",\"player_ids\":[\"player4\"]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D05\",\"T002-D05\"]}}",
          "decision_ids": [
            "T002-D05"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "scope": "PLAYERS",
            "player_ids": [
              "player4"
            ]
          }
        },
        {
          "id": "T002-SC-87",
          "subject_id": "fact-ternhaven-stores-and-wellhead-defense",
          "prior_value": "null",
          "new_value": "{\"domain\":\"RESOURCE\",\"id\":\"fact-ternhaven-stores-and-wellhead-defense\",\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"T002-D05\"]},\"statement\":\"Ves and Wen cleared all dried fish and roots from the upper ledge racks into the landing hall ahead of driving rains. Sacks and root bundles were raised on timber dunnage away from walls, while shallow diversion ditches were dug uphill from the fresh-water wellhead to steer autumn mud and runoff away from the water supply.\",\"subject_id\":\"ternhaven\",\"value\":null,\"visibility\":{\"player_ids\":[\"player4\"],\"scope\":\"PLAYERS\"}}",
          "decision_ids": [
            "T002-D05"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "player_ids": [
              "player4"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "id": "T002-SC-88",
          "subject_id": "K-ternhaven-stores-and-wellhead-defense",
          "prior_value": "null",
          "new_value": "{\"confidence\":\"CONFIRMED\",\"epistemic_status\":\"OBSERVED\",\"fact_id\":\"fact-ternhaven-stores-and-wellhead-defense\",\"holder_id\":\"ternhaven-leader\",\"id\":\"K-ternhaven-stores-and-wellhead-defense\",\"learned_turn\":2,\"player_id\":\"player4\",\"propagation_path\":[],\"source_type\":\"DIRECT_OBSERVATION\"}",
          "decision_ids": [
            "T002-D05"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T002-SC-89",
          "subject_id": "fact-ternhaven-marine-safety-and-craft",
          "prior_value": "null",
          "new_value": "{\"domain\":\"WORLD\",\"id\":\"fact-ternhaven-marine-safety-and-craft\",\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"T002-D05\"]},\"statement\":\"Ruan confined fishing strictly to the sheltered inner inlet, hauling both craft above the storm line during rough swells. Kiri inspected the re-rigged mooring at slack tides, while net crews utilized stormy days inside the hall to twist fresh cordage from bast stores and repair damaged netting.\",\"subject_id\":\"ternhaven\",\"value\":null,\"visibility\":{\"player_ids\":[\"player4\"],\"scope\":\"PLAYERS\"}}",
          "decision_ids": [
            "T002-D05"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "player_ids": [
              "player4"
            ],
            "scope": "PLAYERS"
          }
        },
        {
          "id": "T002-SC-90",
          "subject_id": "K-ternhaven-marine-safety-and-craft",
          "prior_value": "null",
          "new_value": "{\"confidence\":\"CONFIRMED\",\"epistemic_status\":\"OBSERVED\",\"fact_id\":\"fact-ternhaven-marine-safety-and-craft\",\"holder_id\":\"ternhaven-leader\",\"id\":\"K-ternhaven-marine-safety-and-craft\",\"learned_turn\":2,\"player_id\":\"player4\",\"propagation_path\":[],\"source_type\":\"DIRECT_OBSERVATION\"}",
          "decision_ids": [
            "T002-D05"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        },
        {
          "id": "T002-SC-91",
          "subject_id": "ternhaven-households",
          "prior_value": "{\"id\":\"ternhaven-households\",\"name\":\"Ternhaven households\",\"scope\":\"LOCAL\",\"member_summary\":\"Resident households with differing labor, food and care interests; not a unanimous bloc.\",\"leader_ids\":[\"ternhaven-c1\",\"ternhaven-c2\"],\"interests\":[\"Household safety\",\"Credible allocation of finite labor\"],\"controlled_resources\":[\"Household work time and customary shares\"],\"current_agenda\":\"The landing community is united behind the two-stage hospitality rule; drying racks are filled on the upper ledge, and boats are safely handled.\",\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D05\"]}}",
          "new_value": "{\"id\":\"ternhaven-households\",\"name\":\"Ternhaven households\",\"scope\":\"LOCAL\",\"member_summary\":\"Resident households with differing labor, food and care interests; not a unanimous bloc.\",\"leader_ids\":[\"ternhaven-c1\",\"ternhaven-c2\"],\"interests\":[\"Household safety\",\"Credible allocation of finite labor\"],\"controlled_resources\":[\"Household work time and customary shares\"],\"current_agenda\":\"Stores are brought indoors and raised on dunnage, the wellhead is protected from runoff, boats fish safely in the inner inlet, and the peaceful embassy to the upland ford returned successfully.\",\"visibility\":{\"scope\":\"GM_ONLY\",\"player_ids\":[]},\"provenance\":{\"source_kind\":\"APPROVED_DECISION\",\"source_ids\":[\"SALTWIND-INITIALIZATION\",\"T001-D05\",\"T002-D05\"]}}",
          "decision_ids": [
            "T002-D05"
          ],
          "applied_at": "2026-09-07T17:43:26.202Z",
          "visibility": {
            "scope": "GM_ONLY",
            "player_ids": []
          }
        }
      ],
      "results": [],
      "deliveries": []
    },
    "gm": {
      "decisions": [
        {
          "activated_rule_ids": [],
          "activated_victory_ids": [],
          "changes": [
            {
              "collection": "facts",
              "field": "statement",
              "id": "saltmere-conditions",
              "value": "Mid-autumn rains have set in, but perimeter ditches divert runoff from brine pools. A low-heat test boil confirmed the reinforced pan bank holds without seepage. Split willow and alder billets cure under the open-sided shelter. Skiffs remain safely inshore, drying racks are sheltered near homes, and household hearths are shared in the evenings."
            },
            {
              "collection": "facts",
              "field": "",
              "id": "fact-saltmere-pan-thermal-test",
              "value": {
                "domain": "WORLD",
                "id": "fact-saltmere-pan-thermal-test",
                "provenance": {
                  "source_ids": [
                    "T002-D01"
                  ],
                  "source_kind": "APPROVED_DECISION"
                },
                "statement": "Nessa conducted a low-intensity test boil on an inland pan using salvaged drift and deadfall, while Fen monitored the western bank at low water. The clay reinforcement remained solid without cracking or seepage, confirming stability under low heat while core dry billets remain reserved for domestic warmth.",
                "subject_id": "saltmere",
                "value": null,
                "visibility": {
                  "player_ids": [
                    "player1"
                  ],
                  "scope": "PLAYERS"
                }
              }
            },
            {
              "collection": "knowledge",
              "field": "",
              "id": "K-saltmere-pan-thermal-test",
              "value": {
                "confidence": "CONFIRMED",
                "epistemic_status": "OBSERVED",
                "fact_id": "fact-saltmere-pan-thermal-test",
                "holder_id": "saltmere-leader",
                "id": "K-saltmere-pan-thermal-test",
                "learned_turn": 2,
                "player_id": "player1",
                "propagation_path": [],
                "source_type": "DIRECT_OBSERVATION"
              }
            },
            {
              "collection": "facts",
              "field": "",
              "id": "fact-saltmere-creek-reconnaissance",
              "value": {
                "domain": "WORLD",
                "id": "fact-saltmere-creek-reconnaissance",
                "provenance": {
                  "source_ids": [
                    "T002-D01"
                  ],
                  "source_kind": "APPROVED_DECISION"
                },
                "statement": "Evi and a companion reached the southern bank of the northern creek under cover of dunes. They observed an active boat yard on the opposite bank with timber sleds, an overhauled fishing craft, and permanent thatched dwellings, confirming a substantial neighboring settlement before withdrawing unseen.",
                "subject_id": "sound",
                "value": null,
                "visibility": {
                  "player_ids": [
                    "player1"
                  ],
                  "scope": "PLAYERS"
                }
              }
            },
            {
              "collection": "knowledge",
              "field": "",
              "id": "K-saltmere-creek-reconnaissance",
              "value": {
                "confidence": "CONFIRMED",
                "epistemic_status": "REPORTED",
                "fact_id": "fact-saltmere-creek-reconnaissance",
                "holder_id": "saltmere-leader",
                "id": "K-saltmere-creek-reconnaissance",
                "learned_turn": 2,
                "player_id": "player1",
                "propagation_path": [
                  "saltmere-c5"
                ],
                "source_type": "PROPAGATED"
              }
            },
            {
              "collection": "facts",
              "field": "",
              "id": "fact-saltmere-fuel-and-stores-discipline",
              "value": {
                "domain": "RESOURCE",
                "id": "fact-saltmere-fuel-and-stores-discipline",
                "provenance": {
                  "source_ids": [
                    "T002-D01"
                  ],
                  "source_kind": "APPROVED_DECISION"
                },
                "statement": "Fresh willow and alder billets were split into thin laths and stacked under the drained hollow shelter, accelerating seasoning. Inshore fishing continued in calm windows, drying racks were sheltered beside longhouses, and Daro's weekly inspection confirmed stored grain and cured fish remain free of mold.",
                "subject_id": "saltmere",
                "value": null,
                "visibility": {
                  "player_ids": [
                    "player1"
                  ],
                  "scope": "PLAYERS"
                }
              }
            },
            {
              "collection": "knowledge",
              "field": "",
              "id": "K-saltmere-fuel-and-stores-discipline",
              "value": {
                "confidence": "CONFIRMED",
                "epistemic_status": "OBSERVED",
                "fact_id": "fact-saltmere-fuel-and-stores-discipline",
                "holder_id": "saltmere-leader",
                "id": "K-saltmere-fuel-and-stores-discipline",
                "learned_turn": 2,
                "player_id": "player1",
                "propagation_path": [],
                "source_type": "DIRECT_OBSERVATION"
              }
            },
            {
              "collection": "factions",
              "field": "current_agenda",
              "id": "saltmere-households",
              "value": "Mid-autumn discipline holds: domestic heating billets are protected, communal hearths share warmth in the evenings, the pan bank is proven under low heat, and northern creek scouting confirms neighboring settlement."
            }
          ],
          "eliminated_player_ids": [],
          "id": "T002-D01",
          "outcome": "The low-heat thermal test confirms the reinforced western pan bank holds without cracking or weeping under low heat, while reserving dry billets for domestic warmth. Runoff diversion trenches protect brine concentrations from rain dilution. Thin willow and alder billets dry faster under the hollow shelter. Skiffs remain safe, and drying racks are sheltered. Evi's patrol reaches the southern bank of the northern creek, observing an active timber and boat-building settlement (Keelstrand) from concealment without crossing or being detected.",
          "rationale": "Player 1's plan is grounded, disciplined, and within clan capabilities. Fen and Nessa execute a low-heat test boil on a single inland pan using deadfall/driftwood, avoiding thermal blowout of the packed clay bank and preserving core dry billets for winter heating. Perimeter runoff ditches effectively divert rainwater from the brine basins. Sava moves drying racks into shelter, and Orin keeps skiffs to nearshore seining. Evi conducts a cautious patrol to the southern bank of the northern creek without crossing, observing Keelstrand's yard from concealment and withdrawing safely before nightfall. Power 0.80 (Strong) supports high quality and caution without complications.",
          "verdict": "ACCEPT",
          "warning_and_causal_support": "Fully grounded in established clan resources, geography, and prior turn reinforcements. No elimination candidate; player control remains active and fully supported."
        },
        {
          "activated_rule_ids": [],
          "activated_victory_ids": [],
          "changes": [
            {
              "collection": "facts",
              "field": "statement",
              "id": "keelstrand-conditions",
              "value": "The boat shed corner post is permanently underpinned on a raised stone plinth with sistered hardwood. Straight building timbers and winter fuel are sledded down and stacked on raised skids. Drainage swales protect dwellings, Pell's apprentices are spinning cordage and rendering pitch, and Ivo has confirmed upland herds to the southeast."
            },
            {
              "collection": "facts",
              "field": "",
              "id": "fact-keelstrand-shed-underpinning",
              "value": {
                "domain": "WORLD",
                "id": "fact-keelstrand-shed-underpinning",
                "provenance": {
                  "source_ids": [
                    "T002-D02"
                  ],
                  "source_kind": "APPROVED_DECISION"
                },
                "statement": "Mara and Ivo jacked the boat shed cross-beam, excavated to firm subsoil, and seated a broad flat river stone plinth. The rotted base of the corner post was cut away, charred against fungus, and fitted with a seasoned timber block sistered with hardwood splints and treenails, permanently securing the structure.",
                "subject_id": "keelstrand",
                "value": null,
                "visibility": {
                  "player_ids": [
                    "player2"
                  ],
                  "scope": "PLAYERS"
                }
              }
            },
            {
              "collection": "knowledge",
              "field": "",
              "id": "K-keelstrand-shed-underpinning",
              "value": {
                "confidence": "CONFIRMED",
                "epistemic_status": "OBSERVED",
                "fact_id": "fact-keelstrand-shed-underpinning",
                "holder_id": "keelstrand-leader",
                "id": "K-keelstrand-shed-underpinning",
                "learned_turn": 2,
                "player_id": "player2",
                "propagation_path": [],
                "source_type": "DIRECT_OBSERVATION"
              }
            },
            {
              "collection": "facts",
              "field": "",
              "id": "fact-keelstrand-sled-timber-and-fuel",
              "value": {
                "domain": "RESOURCE",
                "id": "fact-keelstrand-sled-timber-and-fuel",
                "provenance": {
                  "source_ids": [
                    "T002-D02"
                  ],
                  "source_kind": "APPROVED_DECISION"
                },
                "statement": "Work crews cleared and corduroyed the uphill track, using the two drag-sleds to haul straight trunk timbers, curved framing knees, and bundled deadwood before rains softened the trail. Logs were debarked and stacked on skids under thatched lean-tos to season for spring.",
                "subject_id": "keelstrand",
                "value": null,
                "visibility": {
                  "player_ids": [
                    "player2"
                  ],
                  "scope": "PLAYERS"
                }
              }
            },
            {
              "collection": "knowledge",
              "field": "",
              "id": "K-keelstrand-sled-timber-and-fuel",
              "value": {
                "confidence": "CONFIRMED",
                "epistemic_status": "OBSERVED",
                "fact_id": "fact-keelstrand-sled-timber-and-fuel",
                "holder_id": "keelstrand-leader",
                "id": "K-keelstrand-sled-timber-and-fuel",
                "learned_turn": 2,
                "player_id": "player2",
                "propagation_path": [],
                "source_type": "DIRECT_OBSERVATION"
              }
            },
            {
              "collection": "facts",
              "field": "",
              "id": "fact-keelstrand-fiber-and-swales",
              "value": {
                "domain": "WORLD",
                "id": "fact-keelstrand-fiber-and-swales",
                "provenance": {
                  "source_ids": [
                    "T002-D02"
                  ],
                  "source_kind": "APPROVED_DECISION"
                },
                "statement": "Tor organized swales along uphill walls to direct runoff toward the creek, inspected central hearth clearances, and culled storage pits. Pell led apprentices in retting and spinning nettle and bast fibers into cordage, while caulking pitch was rendered from resin, charcoal, and ash.",
                "subject_id": "keelstrand",
                "value": null,
                "visibility": {
                  "player_ids": [
                    "player2"
                  ],
                  "scope": "PLAYERS"
                }
              }
            },
            {
              "collection": "knowledge",
              "field": "",
              "id": "K-keelstrand-fiber-and-swales",
              "value": {
                "confidence": "CONFIRMED",
                "epistemic_status": "OBSERVED",
                "fact_id": "fact-keelstrand-fiber-and-swales",
                "holder_id": "keelstrand-leader",
                "id": "K-keelstrand-fiber-and-swales",
                "learned_turn": 2,
                "player_id": "player2",
                "propagation_path": [],
                "source_type": "DIRECT_OBSERVATION"
              }
            },
            {
              "collection": "facts",
              "field": "",
              "id": "fact-keelstrand-ridge-and-marker-patrols",
              "value": {
                "domain": "WORLD",
                "id": "fact-keelstrand-ridge-and-marker-patrols",
                "provenance": {
                  "source_ids": [
                    "T002-D02"
                  ],
                  "source_kind": "APPROVED_DECISION"
                },
                "statement": "Ivo scouted the western marker beach, finding the stake intact with faint shore tracks nearby. Later, from a concealed observation post on the southeast ridge, Ivo observed managed pack goat herds grazing across the distant upland shelf before executing a disciplined midday return.",
                "subject_id": "sound",
                "value": null,
                "visibility": {
                  "player_ids": [
                    "player2"
                  ],
                  "scope": "PLAYERS"
                }
              }
            },
            {
              "collection": "knowledge",
              "field": "",
              "id": "K-keelstrand-ridge-and-marker-patrols",
              "value": {
                "confidence": "CONFIRMED",
                "epistemic_status": "REPORTED",
                "fact_id": "fact-keelstrand-ridge-and-marker-patrols",
                "holder_id": "keelstrand-leader",
                "id": "K-keelstrand-ridge-and-marker-patrols",
                "learned_turn": 2,
                "player_id": "player2",
                "propagation_path": [
                  "keelstrand-c4"
                ],
                "source_type": "PROPAGATED"
              }
            },
            {
              "collection": "factions",
              "field": "current_agenda",
              "id": "keelstrand-households",
              "value": "The yard is secure for winter: the shed post is permanently seated on stone, winter fuel and boat timbers are safely yarded, drainage swales prevent flooding, and ridge scouting confirms upland pastoralists."
            }
          ],
          "eliminated_player_ids": [],
          "id": "T002-D02",
          "outcome": "The boat shed foundation is permanently repaired atop a stone plinth with sistered timber, securing the building against winter gales. Straight timber and fuel are safely sledded down and stacked on raised skids. Dwellings and the yard are protected by drainage swales. Pell's team produces spun cordage and caulking pitch. Ivo confirms the western marker beach remains undisturbed with faint coastal foot traffic, and observes grazing goat herds on the southeast upland shelf from concealed ridge watch before returning safely.",
          "rationale": "Player 2's plan demonstrates exceptional carpentry grounding and operational focus. Mara and Ivo jack the cross-beam, excise the rotted post base, bed a broad river stone plinth, and sister a seasoned timber block pinned with hardwood treenails and pitched caulking, permanently eliminating structural failure risk. Uphill track corduroying and drag-sled logging successfully bring down straight boat timber and winter deadwood before autumn rains turn the track to mud. Tor's swale ditches protect structures from runoff. Pell's fiber works and pitch rendering maximize wet-day productivity. Ivo's scouting safely verifies the western marker beach and southeast ridge. Strong power (0.80) ensures high craft durability and flawless scout restraint.",
          "verdict": "ACCEPT",
          "warning_and_causal_support": "Causally sound joinery, hauling, and scouting grounded in verified assets (shored frame, drag-sleds, apprentices). No elimination candidate; control status remains active."
        },
        {
          "activated_rule_ids": [],
          "activated_victory_ids": [],
          "changes": [
            {
              "collection": "facts",
              "field": "statement",
              "id": "high-barley-conditions",
              "value": "The barley harvest is complete and safely processed through the wool loft drying hurdles. Grain sacks rest dry on raised dunnage, seed grain is safeguarded under Beren, and winter fuel and straw bedding are stockpiled. Cal's adapted care rota and the covered bowl maintain household unity."
            },
            {
              "collection": "facts",
              "field": "",
              "id": "fact-high-barley-harvest-conclusion",
              "value": {
                "domain": "RESOURCE",
                "id": "fact-high-barley-harvest-conclusion",
                "provenance": {
                  "source_ids": [
                    "T002-D03"
                  ],
                  "source_kind": "APPROVED_DECISION"
                },
                "statement": "Hesta's teams completed final sickle sweeps of standing barley during dry spells. Beren managed a continuous rotation through the wool loft drying hurdles to threshing cloths, ensuring the entire crop was cured, winnowed, and bagged without rain spoilage, with straw bundled for goat fodder and bedding.",
                "subject_id": "high-barley",
                "value": null,
                "visibility": {
                  "player_ids": [
                    "player3"
                  ],
                  "scope": "PLAYERS"
                }
              }
            },
            {
              "collection": "knowledge",
              "field": "",
              "id": "K-high-barley-harvest-conclusion",
              "value": {
                "confidence": "CONFIRMED",
                "epistemic_status": "OBSERVED",
                "fact_id": "fact-high-barley-harvest-conclusion",
                "holder_id": "high-barley-leader",
                "id": "K-high-barley-harvest-conclusion",
                "learned_turn": 2,
                "player_id": "player3",
                "propagation_path": [],
                "source_type": "DIRECT_OBSERVATION"
              }
            },
            {
              "collection": "facts",
              "field": "",
              "id": "fact-high-barley-store-and-fuel-security",
              "value": {
                "domain": "RESOURCE",
                "id": "fact-high-barley-store-and-fuel-security",
                "provenance": {
                  "source_ids": [
                    "T002-D03"
                  ],
                  "source_kind": "APPROVED_DECISION"
                },
                "statement": "Leth stacked all newly harvested grain sacks exclusively on raised dunnage away from outer walls, maintaining daily moisture checks. Beren secured prime seed grain in marked sacks on the driest upper racks, while goat-hauling teams stockpiled deadwood, brush, and peat under covered eaves.",
                "subject_id": "high-barley",
                "value": null,
                "visibility": {
                  "player_ids": [
                    "player3"
                  ],
                  "scope": "PLAYERS"
                }
              }
            },
            {
              "collection": "knowledge",
              "field": "",
              "id": "K-high-barley-store-and-fuel-security",
              "value": {
                "confidence": "CONFIRMED",
                "epistemic_status": "OBSERVED",
                "fact_id": "fact-high-barley-store-and-fuel-security",
                "holder_id": "high-barley-leader",
                "id": "K-high-barley-store-and-fuel-security",
                "learned_turn": 2,
                "player_id": "player3",
                "propagation_path": [],
                "source_type": "DIRECT_OBSERVATION"
              }
            },
            {
              "collection": "factions",
              "field": "current_agenda",
              "id": "high-barley-households",
              "value": "Harvest is gathered and secured on dunnage, prime seed is protected, fuel is stockpiled for winter, and the care rota and covered bowl continue to unite field workers and caregivers."
            }
          ],
          "eliminated_player_ids": [],
          "id": "T002-D03",
          "outcome": "The barley harvest is successfully concluded and fully preserved; threshed grain sits dry on storehouse dunnage, prime seed grain is safely isolated, and barley straw provides winter fodder and bedding. Winter fuel is stockpiled under eaves, dwellings are tightened against gales, and the care rota and covered bowl maintain strong social solidarity.",
          "rationale": "Player 3 executes a comprehensive, well-sequenced agricultural closing plan. Concluding field sweeps during dry intervals feed directly into Beren's wool loft hurdle rotation, ensuring continuous drying throughput without bottlenecks or rain mold. Threshed grain is stacked on raised dunnage away from walls, and Beren segregates prime seed grain on upper racks. Winter fuel is gathered from deadwood and peat using goat hauling frames, while thatch spars are tightened. Cal adapts the care rota to indoor processing and preserves the covered bowl. Strong power (0.80) ensures full grain salvation and high community morale.",
          "verdict": "ACCEPT",
          "warning_and_causal_support": "Agricultural pacing, storage dunnage, and social care rota are thoroughly supported by village labor and prior state. No elimination candidate; control status remains active."
        },
        {
          "activated_rule_ids": [],
          "activated_victory_ids": [],
          "changes": [
            {
              "collection": "facts",
              "field": "",
              "id": "fact-ford-contact-high-barley-view",
              "value": {
                "domain": "WORLD",
                "id": "fact-ford-contact-high-barley-view",
                "provenance": {
                  "source_ids": [
                    "T002-D04"
                  ],
                  "source_kind": "APPROVED_DECISION"
                },
                "statement": "A four-person delegation from the coastal inlet, led by a woman named Del and the guide Seli, hailed Jun from the eastern bank of the stream ford. They approached openly and unarmored, presenting a woven gift basket of cured smoked fish and clean sea-salt. High Barley's leader and elders met them at the stream, exchanging peaceful greetings and learning that their village, Ternhaven, is a coastal fishing settlement seeking peaceful trade, while maintaining the stream barrier without admitting visitors up to the shelf.",
                "subject_id": "high-barley",
                "value": null,
                "visibility": {
                  "player_ids": [
                    "player3"
                  ],
                  "scope": "PLAYERS"
                }
              }
            },
            {
              "collection": "knowledge",
              "field": "",
              "id": "K-ford-contact-high-barley-view",
              "value": {
                "confidence": "CONFIRMED",
                "epistemic_status": "OBSERVED",
                "fact_id": "fact-ford-contact-high-barley-view",
                "holder_id": "high-barley-leader",
                "id": "K-ford-contact-high-barley-view",
                "learned_turn": 2,
                "player_id": "player3",
                "propagation_path": [],
                "source_type": "DIRECT_OBSERVATION"
              }
            },
            {
              "collection": "facts",
              "field": "",
              "id": "fact-ford-contact-ternhaven-view",
              "value": {
                "domain": "WORLD",
                "id": "fact-ford-contact-ternhaven-view",
                "provenance": {
                  "source_ids": [
                    "T002-D04"
                  ],
                  "source_kind": "APPROVED_DECISION"
                },
                "statement": "Del and Seli led Ternhaven's four-person embassy along the alder path to the stream ford, observing a stone boundary cairn bearing a woven willow ring. They were hailed across the water by the ford watcher Jun and met by the upland leader and elders. Del presented the gift basket of smoked fish and sea-salt, explained Ternhaven's hospitality customs, and discussed future barter. The upland community, High Barley, received the gift courteously and affirmed peaceful relations across the stream, while keeping the meeting at the water boundary.",
                "subject_id": "ternhaven",
                "value": null,
                "visibility": {
                  "player_ids": [
                    "player4"
                  ],
                  "scope": "PLAYERS"
                }
              }
            },
            {
              "collection": "knowledge",
              "field": "",
              "id": "K-ford-contact-ternhaven-view",
              "value": {
                "confidence": "CONFIRMED",
                "epistemic_status": "REPORTED",
                "fact_id": "fact-ford-contact-ternhaven-view",
                "holder_id": "ternhaven-leader",
                "id": "K-ford-contact-ternhaven-view",
                "learned_turn": 2,
                "player_id": "player4",
                "propagation_path": [
                  "ternhaven-c1",
                  "ternhaven-c5"
                ],
                "source_type": "PROPAGATED"
              }
            },
            {
              "collection": "relationships",
              "field": "",
              "id": "rel-high-barley-ternhaven",
              "value": {
                "basis": "Peaceful border encounter at the stream ford; Ternhaven presented a gift of salt and smoked fish, and High Barley acknowledged peaceful intentions while guarding the ford.",
                "confidence": "CONFIRMED",
                "id": "rel-high-barley-ternhaven",
                "intensity": "LOW",
                "obligation_ids": [],
                "provenance": {
                  "source_ids": [
                    "T002-D04"
                  ],
                  "source_kind": "APPROVED_DECISION"
                },
                "source_id": "high-barley-leader",
                "stance": "Guarded respect and openness to future seasonal barter across the stream ford.",
                "target_id": "ternhaven-leader",
                "visibility": {
                  "player_ids": [],
                  "scope": "GM_ONLY"
                }
              }
            },
            {
              "collection": "relationships",
              "field": "",
              "id": "rel-ternhaven-high-barley",
              "value": {
                "basis": "Del and Seli met High Barley elders at the stream ford, presenting coastal gift provisions and receiving respectful acknowledgment and boundary recognition.",
                "confidence": "CONFIRMED",
                "id": "rel-ternhaven-high-barley",
                "intensity": "LOW",
                "obligation_ids": [],
                "provenance": {
                  "source_ids": [
                    "T002-D04"
                  ],
                  "source_kind": "APPROVED_DECISION"
                },
                "source_id": "ternhaven-leader",
                "stance": "Courteous and hopeful for upland barter in grain, hides, or wool, respecting their boundary vigilance.",
                "target_id": "high-barley-leader",
                "visibility": {
                  "player_ids": [],
                  "scope": "GM_ONLY"
                }
              }
            }
          ],
          "eliminated_player_ids": [],
          "id": "T002-D04",
          "outcome": "Peaceful first contact is successfully achieved at the stream ford without tension or incident. Ternhaven's delegation presents a gift basket of cured fish and sea-salt, conveys their hospitality terms, and confirms High Barley as an established upland farming community before returning home safely. High Barley receives the coastal gift, recognizes Ternhaven as a peaceful coastal fishing village, and establishes stable, guarded diplomatic relations across the stream ford barrier.",
          "rationale": "Both leaders demonstrate high diplomatic grounding, mutual restraint, and excellent coordination with established character agency. Del and Seli lead an unarmored, peaceful 4-person delegation along the alder path to the stream ford, carrying a gift basket of cured smoked fish and sea-salt. Jun observes their approach, notes their open hands, and hails them across the stream while notifying High Barley's leader. Jun's stone cairn and willow ring signal inhabited, vigilant, yet peaceful territory. High Barley's leader and elders meet the embassy across the stream barrier. Del delivers Ternhaven's traveler greetings, shares their two-stage hospitality rule, presents the guest-gift basket, and discusses future quiet barter. High Barley accepts the gift, confirms peaceful intentions, but maintains boundary discipline by keeping the meeting at the ford rather than permitting unvetted ascent to the shelf. Both delegations part with enhanced mutual understanding and verified security. Strong power on both sides (0.80) ensures no misunderstandings, accidents, or boundary friction.",
          "verdict": "ACCEPT",
          "warning_and_causal_support": "Bilateral simultaneous contact resolved in accordance with both players' submitted protocols, geographic travel timing, and non-violent character agency. No elimination candidate."
        },
        {
          "activated_rule_ids": [],
          "activated_victory_ids": [],
          "changes": [
            {
              "collection": "facts",
              "field": "statement",
              "id": "ternhaven-conditions",
              "value": "Outdoor racks have been cleared and split fish and roots brought indoors. Curing continues over the landing hearth, meal sacks and root stores are raised on timber dunnage, and ditches protect the fresh-water wellhead. Boats fish only in the inner inlet and are beached during gales, while net mending and cordage twisting proceed inside."
            },
            {
              "collection": "facts",
              "field": "",
              "id": "fact-ternhaven-stores-and-wellhead-defense",
              "value": {
                "domain": "RESOURCE",
                "id": "fact-ternhaven-stores-and-wellhead-defense",
                "provenance": {
                  "source_ids": [
                    "T002-D05"
                  ],
                  "source_kind": "APPROVED_DECISION"
                },
                "statement": "Ves and Wen cleared all dried fish and roots from the upper ledge racks into the landing hall ahead of driving rains. Sacks and root bundles were raised on timber dunnage away from walls, while shallow diversion ditches were dug uphill from the fresh-water wellhead to steer autumn mud and runoff away from the water supply.",
                "subject_id": "ternhaven",
                "value": null,
                "visibility": {
                  "player_ids": [
                    "player4"
                  ],
                  "scope": "PLAYERS"
                }
              }
            },
            {
              "collection": "knowledge",
              "field": "",
              "id": "K-ternhaven-stores-and-wellhead-defense",
              "value": {
                "confidence": "CONFIRMED",
                "epistemic_status": "OBSERVED",
                "fact_id": "fact-ternhaven-stores-and-wellhead-defense",
                "holder_id": "ternhaven-leader",
                "id": "K-ternhaven-stores-and-wellhead-defense",
                "learned_turn": 2,
                "player_id": "player4",
                "propagation_path": [],
                "source_type": "DIRECT_OBSERVATION"
              }
            },
            {
              "collection": "facts",
              "field": "",
              "id": "fact-ternhaven-marine-safety-and-craft",
              "value": {
                "domain": "WORLD",
                "id": "fact-ternhaven-marine-safety-and-craft",
                "provenance": {
                  "source_ids": [
                    "T002-D05"
                  ],
                  "source_kind": "APPROVED_DECISION"
                },
                "statement": "Ruan confined fishing strictly to the sheltered inner inlet, hauling both craft above the storm line during rough swells. Kiri inspected the re-rigged mooring at slack tides, while net crews utilized stormy days inside the hall to twist fresh cordage from bast stores and repair damaged netting.",
                "subject_id": "ternhaven",
                "value": null,
                "visibility": {
                  "player_ids": [
                    "player4"
                  ],
                  "scope": "PLAYERS"
                }
              }
            },
            {
              "collection": "knowledge",
              "field": "",
              "id": "K-ternhaven-marine-safety-and-craft",
              "value": {
                "confidence": "CONFIRMED",
                "epistemic_status": "OBSERVED",
                "fact_id": "fact-ternhaven-marine-safety-and-craft",
                "holder_id": "ternhaven-leader",
                "id": "K-ternhaven-marine-safety-and-craft",
                "learned_turn": 2,
                "player_id": "player4",
                "propagation_path": [],
                "source_type": "DIRECT_OBSERVATION"
              }
            },
            {
              "collection": "factions",
              "field": "current_agenda",
              "id": "ternhaven-households",
              "value": "Stores are brought indoors and raised on dunnage, the wellhead is protected from runoff, boats fish safely in the inner inlet, and the peaceful embassy to the upland ford returned successfully."
            }
          ],
          "eliminated_player_ids": [],
          "id": "T002-D05",
          "outcome": "Food stores are fully protected from coastal rot by moving outdoor racks inside, elevating goods on dunnage, and transitioning to indoor smoking. Wellhead drainage prevents muddy contamination. Fishing boats and crews remain safe inside the hooked inlet and are hauled out during gales, with crews producing replacement cordage and mended nets.",
          "rationale": "Player 4 implements timely, grounded storm precautions. Outdoor drying racks on the upper ledge are cleared into the landing hall and storehouses before autumn rains cause rot. Incoming catches and root crops are transitioned to indoor curing and overhead smoking with managed roof vent airflow. Storehouse goods are elevated on split-timber dunnage, and uphill diversion ditches protect the fresh-water wellhead from mud runoff. Inshore boating limits are strictly observed inside the hooked inlet, boats are beached during rough weather, and foul-weather labor is shifted to cordage twisting and net mending. Strong power (0.80) ensures food stores and boats remain undamaged throughout mid-autumn squalls.",
          "verdict": "ACCEPT",
          "warning_and_causal_support": "Grounded in established landing facilities, storage constraints, and fishing craft. No elimination candidate; control status remains active."
        }
      ],
      "program_observations": [
        "Organic Contact Pacing: Turn 002 demonstrates that unrestricted written plans allow players to discover neighbors organically through cautious reconnaissance (Saltmere observing Keelstrand across the creek; Keelstrand observing High Barley herds from the ridge; Ternhaven and High Barley achieving first contact at the stream ford) without forced convergence or artificial encounters. Natural barriers (creek, ridge, stream ford) serve as vital physical and psychological firewalls that allow contact without compromising village defense.",
        "Character Agency and Custom Continuity: Delegation of diplomatic and logistical tasks to named characters (Del, Seli, Jun, Mara, Ivo, Fen, Beren, Cal, Ves) preserved character agency while respecting clan customs (Ternhaven's two-stage hospitality rule, High Barley's covered bowl and boundary cairn, Saltmere's witnessed stones). Character decisions were faithful to their established fears and goals rather than functioning as omniscient player proxies.",
        "Information Disclosure Boundaries: Narrowly targeted observation facts and knowledge propagation paths successfully insulate hidden truths (pan bank seepage channel, boat shed rot depth, storehouse drainage crack, underwater mooring rock) while rewarding active physical inspection with partial, evidence-limited discoveries.",
        "Trope Screening Hygiene: Automatic trope retrieval for border encounters returned speculative, highly destructive archetypes (all-the-tropes:broken-pedestal and all-the-tropes:doomed-hometown). Strict causal filtering correctly rejected these candidates, demonstrating the essential role of causal gates in preventing narrative drama injection into mundane simulation."
      ],
      "trope_reviews": [
        {
          "actor": "Del, Seli, Jun, and High Barley elders",
          "capacity": "Small traveling party and defensive border watch, neither possessing the inclination nor capacity for town destruction or heroic disillusionment.",
          "disposition": "REJECTED_ALL",
          "id": "PR-T002-01",
          "knowledge": "Neither party views the other as an idol to be broken, nor does any external catastrophe threaten to annihilate either settlement.",
          "minimum_action": "A peaceful, cautious exchange of greetings, gifts, and diplomatic terms across the stream ford.",
          "motive": "Both groups seek peaceful boundary verification, mutual trade opportunities, and security against unknown threats.",
          "opportunity": "Meeting across the stream ford during daylight.",
          "precautions": "Ternhaven approached unarmored with open hands and gift baskets; High Barley maintained the stream barrier, greeted them firmly, and barred unvetted shelf access.",
          "reason": "Both retrieved tropes ('Broken Pedestal' and 'Doomed Hometown') represent extreme melodramatic archetypes that violate the established causal range, require invented destructive forces, and contradict the disciplined precautions and grounded mundane reality of the encounter.",
          "selected_ids": [],
          "trigger": "Visual sighting and approach at the eastern stream ford."
        }
      ]
    },
    "disclosures": [
      {
        "player_id": "player1",
        "fact_id": "saltmere-conditions",
        "fact": {
          "id": "saltmere-conditions",
          "statement": "Mid-autumn rains have set in, but perimeter ditches divert runoff from brine pools. A low-heat test boil confirmed the reinforced pan bank holds without seepage. Split willow and alder billets cure under the open-sided shelter. Skiffs remain safely inshore, drying racks are sheltered near homes, and household hearths are shared in the evenings.",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED"
        },
        "knowledge": [
          {
            "id": "K-saltmere-conditions",
            "holder_id": "saltmere-leader",
            "player_id": "player1",
            "fact_id": "saltmere-conditions",
            "epistemic_status": "OBSERVED",
            "confidence": "CONFIRMED",
            "source_type": "INITIAL",
            "propagation_path": [],
            "learned_turn": 0
          }
        ]
      },
      {
        "player_id": "player1",
        "fact_id": "fact-saltmere-pan-thermal-test",
        "fact": {
          "id": "fact-saltmere-pan-thermal-test",
          "statement": "Nessa conducted a low-intensity test boil on an inland pan using salvaged drift and deadfall, while Fen monitored the western bank at low water. The clay reinforcement remained solid without cracking or seepage, confirming stability under low heat while core dry billets remain reserved for domestic warmth.",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED"
        },
        "knowledge": [
          {
            "confidence": "CONFIRMED",
            "epistemic_status": "OBSERVED",
            "fact_id": "fact-saltmere-pan-thermal-test",
            "holder_id": "saltmere-leader",
            "id": "K-saltmere-pan-thermal-test",
            "learned_turn": 2,
            "player_id": "player1",
            "propagation_path": [],
            "source_type": "DIRECT_OBSERVATION"
          }
        ]
      },
      {
        "player_id": "player1",
        "fact_id": "fact-saltmere-creek-reconnaissance",
        "fact": {
          "id": "fact-saltmere-creek-reconnaissance",
          "statement": "Evi and a companion reached the southern bank of the northern creek under cover of dunes. They observed an active boat yard on the opposite bank with timber sleds, an overhauled fishing craft, and permanent thatched dwellings, confirming a substantial neighboring settlement before withdrawing unseen.",
          "epistemic_status": "REPORTED",
          "confidence": "CONFIRMED"
        },
        "knowledge": [
          {
            "confidence": "CONFIRMED",
            "epistemic_status": "REPORTED",
            "fact_id": "fact-saltmere-creek-reconnaissance",
            "holder_id": "saltmere-leader",
            "id": "K-saltmere-creek-reconnaissance",
            "learned_turn": 2,
            "player_id": "player1",
            "propagation_path": [
              "saltmere-c5"
            ],
            "source_type": "PROPAGATED"
          }
        ]
      },
      {
        "player_id": "player1",
        "fact_id": "fact-saltmere-fuel-and-stores-discipline",
        "fact": {
          "id": "fact-saltmere-fuel-and-stores-discipline",
          "statement": "Fresh willow and alder billets were split into thin laths and stacked under the drained hollow shelter, accelerating seasoning. Inshore fishing continued in calm windows, drying racks were sheltered beside longhouses, and Daro's weekly inspection confirmed stored grain and cured fish remain free of mold.",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED"
        },
        "knowledge": [
          {
            "confidence": "CONFIRMED",
            "epistemic_status": "OBSERVED",
            "fact_id": "fact-saltmere-fuel-and-stores-discipline",
            "holder_id": "saltmere-leader",
            "id": "K-saltmere-fuel-and-stores-discipline",
            "learned_turn": 2,
            "player_id": "player1",
            "propagation_path": [],
            "source_type": "DIRECT_OBSERVATION"
          }
        ]
      },
      {
        "player_id": "player2",
        "fact_id": "keelstrand-conditions",
        "fact": {
          "id": "keelstrand-conditions",
          "statement": "The boat shed corner post is permanently underpinned on a raised stone plinth with sistered hardwood. Straight building timbers and winter fuel are sledded down and stacked on raised skids. Drainage swales protect dwellings, Pell's apprentices are spinning cordage and rendering pitch, and Ivo has confirmed upland herds to the southeast.",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED"
        },
        "knowledge": [
          {
            "id": "K-keelstrand-conditions",
            "holder_id": "keelstrand-leader",
            "player_id": "player2",
            "fact_id": "keelstrand-conditions",
            "epistemic_status": "OBSERVED",
            "confidence": "CONFIRMED",
            "source_type": "INITIAL",
            "propagation_path": [],
            "learned_turn": 0
          }
        ]
      },
      {
        "player_id": "player2",
        "fact_id": "fact-keelstrand-shed-underpinning",
        "fact": {
          "id": "fact-keelstrand-shed-underpinning",
          "statement": "Mara and Ivo jacked the boat shed cross-beam, excavated to firm subsoil, and seated a broad flat river stone plinth. The rotted base of the corner post was cut away, charred against fungus, and fitted with a seasoned timber block sistered with hardwood splints and treenails, permanently securing the structure.",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED"
        },
        "knowledge": [
          {
            "confidence": "CONFIRMED",
            "epistemic_status": "OBSERVED",
            "fact_id": "fact-keelstrand-shed-underpinning",
            "holder_id": "keelstrand-leader",
            "id": "K-keelstrand-shed-underpinning",
            "learned_turn": 2,
            "player_id": "player2",
            "propagation_path": [],
            "source_type": "DIRECT_OBSERVATION"
          }
        ]
      },
      {
        "player_id": "player2",
        "fact_id": "fact-keelstrand-sled-timber-and-fuel",
        "fact": {
          "id": "fact-keelstrand-sled-timber-and-fuel",
          "statement": "Work crews cleared and corduroyed the uphill track, using the two drag-sleds to haul straight trunk timbers, curved framing knees, and bundled deadwood before rains softened the trail. Logs were debarked and stacked on skids under thatched lean-tos to season for spring.",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED"
        },
        "knowledge": [
          {
            "confidence": "CONFIRMED",
            "epistemic_status": "OBSERVED",
            "fact_id": "fact-keelstrand-sled-timber-and-fuel",
            "holder_id": "keelstrand-leader",
            "id": "K-keelstrand-sled-timber-and-fuel",
            "learned_turn": 2,
            "player_id": "player2",
            "propagation_path": [],
            "source_type": "DIRECT_OBSERVATION"
          }
        ]
      },
      {
        "player_id": "player2",
        "fact_id": "fact-keelstrand-fiber-and-swales",
        "fact": {
          "id": "fact-keelstrand-fiber-and-swales",
          "statement": "Tor organized swales along uphill walls to direct runoff toward the creek, inspected central hearth clearances, and culled storage pits. Pell led apprentices in retting and spinning nettle and bast fibers into cordage, while caulking pitch was rendered from resin, charcoal, and ash.",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED"
        },
        "knowledge": [
          {
            "confidence": "CONFIRMED",
            "epistemic_status": "OBSERVED",
            "fact_id": "fact-keelstrand-fiber-and-swales",
            "holder_id": "keelstrand-leader",
            "id": "K-keelstrand-fiber-and-swales",
            "learned_turn": 2,
            "player_id": "player2",
            "propagation_path": [],
            "source_type": "DIRECT_OBSERVATION"
          }
        ]
      },
      {
        "player_id": "player2",
        "fact_id": "fact-keelstrand-ridge-and-marker-patrols",
        "fact": {
          "id": "fact-keelstrand-ridge-and-marker-patrols",
          "statement": "Ivo scouted the western marker beach, finding the stake intact with faint shore tracks nearby. Later, from a concealed observation post on the southeast ridge, Ivo observed managed pack goat herds grazing across the distant upland shelf before executing a disciplined midday return.",
          "epistemic_status": "REPORTED",
          "confidence": "CONFIRMED"
        },
        "knowledge": [
          {
            "confidence": "CONFIRMED",
            "epistemic_status": "REPORTED",
            "fact_id": "fact-keelstrand-ridge-and-marker-patrols",
            "holder_id": "keelstrand-leader",
            "id": "K-keelstrand-ridge-and-marker-patrols",
            "learned_turn": 2,
            "player_id": "player2",
            "propagation_path": [
              "keelstrand-c4"
            ],
            "source_type": "PROPAGATED"
          }
        ]
      },
      {
        "player_id": "player3",
        "fact_id": "high-barley-conditions",
        "fact": {
          "id": "high-barley-conditions",
          "statement": "The barley harvest is complete and safely processed through the wool loft drying hurdles. Grain sacks rest dry on raised dunnage, seed grain is safeguarded under Beren, and winter fuel and straw bedding are stockpiled. Cal's adapted care rota and the covered bowl maintain household unity.",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED"
        },
        "knowledge": [
          {
            "id": "K-high-barley-conditions",
            "holder_id": "high-barley-leader",
            "player_id": "player3",
            "fact_id": "high-barley-conditions",
            "epistemic_status": "OBSERVED",
            "confidence": "CONFIRMED",
            "source_type": "INITIAL",
            "propagation_path": [],
            "learned_turn": 0
          }
        ]
      },
      {
        "player_id": "player3",
        "fact_id": "fact-high-barley-harvest-conclusion",
        "fact": {
          "id": "fact-high-barley-harvest-conclusion",
          "statement": "Hesta's teams completed final sickle sweeps of standing barley during dry spells. Beren managed a continuous rotation through the wool loft drying hurdles to threshing cloths, ensuring the entire crop was cured, winnowed, and bagged without rain spoilage, with straw bundled for goat fodder and bedding.",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED"
        },
        "knowledge": [
          {
            "confidence": "CONFIRMED",
            "epistemic_status": "OBSERVED",
            "fact_id": "fact-high-barley-harvest-conclusion",
            "holder_id": "high-barley-leader",
            "id": "K-high-barley-harvest-conclusion",
            "learned_turn": 2,
            "player_id": "player3",
            "propagation_path": [],
            "source_type": "DIRECT_OBSERVATION"
          }
        ]
      },
      {
        "player_id": "player3",
        "fact_id": "fact-high-barley-store-and-fuel-security",
        "fact": {
          "id": "fact-high-barley-store-and-fuel-security",
          "statement": "Leth stacked all newly harvested grain sacks exclusively on raised dunnage away from outer walls, maintaining daily moisture checks. Beren secured prime seed grain in marked sacks on the driest upper racks, while goat-hauling teams stockpiled deadwood, brush, and peat under covered eaves.",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED"
        },
        "knowledge": [
          {
            "confidence": "CONFIRMED",
            "epistemic_status": "OBSERVED",
            "fact_id": "fact-high-barley-store-and-fuel-security",
            "holder_id": "high-barley-leader",
            "id": "K-high-barley-store-and-fuel-security",
            "learned_turn": 2,
            "player_id": "player3",
            "propagation_path": [],
            "source_type": "DIRECT_OBSERVATION"
          }
        ]
      },
      {
        "player_id": "player3",
        "fact_id": "fact-ford-contact-high-barley-view",
        "fact": {
          "id": "fact-ford-contact-high-barley-view",
          "statement": "A four-person delegation from the coastal inlet, led by a woman named Del and the guide Seli, hailed Jun from the eastern bank of the stream ford. They approached openly and unarmored, presenting a woven gift basket of cured smoked fish and clean sea-salt. High Barley's leader and elders met them at the stream, exchanging peaceful greetings and learning that their village, Ternhaven, is a coastal fishing settlement seeking peaceful trade, while maintaining the stream barrier without admitting visitors up to the shelf.",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED"
        },
        "knowledge": [
          {
            "confidence": "CONFIRMED",
            "epistemic_status": "OBSERVED",
            "fact_id": "fact-ford-contact-high-barley-view",
            "holder_id": "high-barley-leader",
            "id": "K-ford-contact-high-barley-view",
            "learned_turn": 2,
            "player_id": "player3",
            "propagation_path": [],
            "source_type": "DIRECT_OBSERVATION"
          }
        ]
      },
      {
        "player_id": "player4",
        "fact_id": "ternhaven-conditions",
        "fact": {
          "id": "ternhaven-conditions",
          "statement": "Outdoor racks have been cleared and split fish and roots brought indoors. Curing continues over the landing hearth, meal sacks and root stores are raised on timber dunnage, and ditches protect the fresh-water wellhead. Boats fish only in the inner inlet and are beached during gales, while net mending and cordage twisting proceed inside.",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED"
        },
        "knowledge": [
          {
            "id": "K-ternhaven-conditions",
            "holder_id": "ternhaven-leader",
            "player_id": "player4",
            "fact_id": "ternhaven-conditions",
            "epistemic_status": "OBSERVED",
            "confidence": "CONFIRMED",
            "source_type": "INITIAL",
            "propagation_path": [],
            "learned_turn": 0
          }
        ]
      },
      {
        "player_id": "player4",
        "fact_id": "fact-ford-contact-ternhaven-view",
        "fact": {
          "id": "fact-ford-contact-ternhaven-view",
          "statement": "Del and Seli led Ternhaven's four-person embassy along the alder path to the stream ford, observing a stone boundary cairn bearing a woven willow ring. They were hailed across the water by the ford watcher Jun and met by the upland leader and elders. Del presented the gift basket of smoked fish and sea-salt, explained Ternhaven's hospitality customs, and discussed future barter. The upland community, High Barley, received the gift courteously and affirmed peaceful relations across the stream, while keeping the meeting at the water boundary.",
          "epistemic_status": "REPORTED",
          "confidence": "CONFIRMED"
        },
        "knowledge": [
          {
            "confidence": "CONFIRMED",
            "epistemic_status": "REPORTED",
            "fact_id": "fact-ford-contact-ternhaven-view",
            "holder_id": "ternhaven-leader",
            "id": "K-ford-contact-ternhaven-view",
            "learned_turn": 2,
            "player_id": "player4",
            "propagation_path": [
              "ternhaven-c1",
              "ternhaven-c5"
            ],
            "source_type": "PROPAGATED"
          }
        ]
      },
      {
        "player_id": "player4",
        "fact_id": "fact-ternhaven-stores-and-wellhead-defense",
        "fact": {
          "id": "fact-ternhaven-stores-and-wellhead-defense",
          "statement": "Ves and Wen cleared all dried fish and roots from the upper ledge racks into the landing hall ahead of driving rains. Sacks and root bundles were raised on timber dunnage away from walls, while shallow diversion ditches were dug uphill from the fresh-water wellhead to steer autumn mud and runoff away from the water supply.",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED"
        },
        "knowledge": [
          {
            "confidence": "CONFIRMED",
            "epistemic_status": "OBSERVED",
            "fact_id": "fact-ternhaven-stores-and-wellhead-defense",
            "holder_id": "ternhaven-leader",
            "id": "K-ternhaven-stores-and-wellhead-defense",
            "learned_turn": 2,
            "player_id": "player4",
            "propagation_path": [],
            "source_type": "DIRECT_OBSERVATION"
          }
        ]
      },
      {
        "player_id": "player4",
        "fact_id": "fact-ternhaven-marine-safety-and-craft",
        "fact": {
          "id": "fact-ternhaven-marine-safety-and-craft",
          "statement": "Ruan confined fishing strictly to the sheltered inner inlet, hauling both craft above the storm line during rough swells. Kiri inspected the re-rigged mooring at slack tides, while net crews utilized stormy days inside the hall to twist fresh cordage from bast stores and repair damaged netting.",
          "epistemic_status": "OBSERVED",
          "confidence": "CONFIRMED"
        },
        "knowledge": [
          {
            "confidence": "CONFIRMED",
            "epistemic_status": "OBSERVED",
            "fact_id": "fact-ternhaven-marine-safety-and-craft",
            "holder_id": "ternhaven-leader",
            "id": "K-ternhaven-marine-safety-and-craft",
            "learned_turn": 2,
            "player_id": "player4",
            "propagation_path": [],
            "source_type": "DIRECT_OBSERVATION"
          }
        ]
      }
    ],
    "adjudication_review": {
      "approved": true,
      "causal_consistency": true,
      "disclosures": [
        {
          "approved": true,
          "fact_id": "saltmere-conditions",
          "player_id": "player1",
          "rationale": "Fully supported by direct observation. The Saltmere leader and community directly observe local mid-autumn rain conditions, newly dug perimeter runoff ditches diverting water from brine pools, the successful low-heat test boil on the pan bank without seepage, split willow and alder billets drying in the hollow shelter, fishing skiffs hauled safely inshore, sheltered drying racks near homes, and shared evening hearths. Confirmed confidence and observed epistemic status are causally justified."
        },
        {
          "approved": true,
          "fact_id": "fact-saltmere-pan-thermal-test",
          "player_id": "player1",
          "rationale": "Fully supported by direct observation. Fen and Nessa carried out the low-intensity test boil on an inland pan using salvaged drift and deadfall, while Fen monitored the low-water bank face for thermal effects. The fact accurately describes the observable physical outcome (clay held solid without cracking or seepage) without leaking the hidden underlying burrowing channel noted in GM-only state. Domestic heating billets remained conserved as intended. Confirmed confidence and observed status are sound."
        },
        {
          "approved": true,
          "fact_id": "fact-saltmere-creek-reconnaissance",
          "player_id": "player1",
          "rationale": "Fully supported by evidence-limited scout propagation. Evi and her scouting companion reached the southern creek bank under dune cover and observed Keelstrand's active outdoor yard, drag-sleds, overhauled boat, and dwellings across the water before withdrawing unseen. The statement strictly preserves epistemic boundaries: it describes observable physical features without disclosing the settlement's name, private internal agendas, or unobserved NPC identities. Propagated via saltmere-c5 with reported status and confirmed confidence."
        },
        {
          "approved": true,
          "fact_id": "fact-saltmere-fuel-and-stores-discipline",
          "player_id": "player1",
          "rationale": "Fully supported by direct observation and local reporting. Splitting green willow and alder into thin laths under the open-sided hollow shelter accelerates air drying, while nearshore fishing, rack shelter, and Daro's weekly grain and fish storehouse inspections are routinely observed within the village. No hidden truths or external facts are leaked. Confirmed confidence and observed status are justified."
        },
        {
          "approved": true,
          "fact_id": "keelstrand-conditions",
          "player_id": "player2",
          "rationale": "Fully supported by direct observation and scout reporting. Keelstrand's leader and residents directly witness the permanent stone plinth underpinning of the boat shed corner post, straight timbers and fuel sledded down from the uphill track onto skids, perimeter swale drainage protecting buildings, Pell's apprentices spinning cordage and rendering caulking pitch, and Ivo's report of distant upland herds. Confirmed confidence and observed status are causally sound."
        },
        {
          "approved": true,
          "fact_id": "fact-keelstrand-shed-underpinning",
          "player_id": "player2",
          "rationale": "Fully supported by direct observation. Mara, Ivo, and the leader jacked the cross-beam, excavated to firm subsoil, seated a river stone plinth, and cut away rotted timber, charred the cut face, and sistered a seasoned block with treenails and pitch. Uncovering rot at the foot of the post occurred through direct physical excavation and sawing, accurately reflecting what was materially revealed without leaking wider uninspected frame conditions. Confirmed confidence and observed status are sound."
        },
        {
          "approved": true,
          "fact_id": "fact-keelstrand-sled-timber-and-fuel",
          "player_id": "player2",
          "rationale": "Fully supported by direct observation. Clearing and corduroying the stony track and hauling straight trunk logs, curved knees, and bundled deadwood using the two drag-sleds before heavy rains occurred within the settlement's immediate working perimeter. Debarking and stacking on raised skids under lean-tos were directly managed and verified. Confirmed confidence and observed status are justified."
        },
        {
          "approved": true,
          "fact_id": "fact-keelstrand-fiber-and-swales",
          "player_id": "player2",
          "rationale": "Fully supported by direct observation. Tor's organization of uphill swale ditches, hearth clearance inspections, and root-pit culling, alongside Pell's training of apprentices in bast fiber retting/spinning and resin pitch rendering, represent domestic and craft activities within the village observed firsthand. Confirmed confidence and observed status are sound."
        },
        {
          "approved": true,
          "fact_id": "fact-keelstrand-ridge-and-marker-patrols",
          "player_id": "player2",
          "rationale": "Fully supported by scout reconnaissance propagation. Ivo scouted the western marker beach (observing the intact stake and faint shore tracks) and later conducted a concealed midday watch from the southeast ridge overlooking the upland shelf, spotting managed pack goat herds before returning. Epistemic boundaries are strictly maintained: no foreign clan names, leader identities, or unobserved domestic details are revealed. Propagated via keelstrand-c4 with reported status and confirmed confidence."
        },
        {
          "approved": true,
          "fact_id": "high-barley-conditions",
          "player_id": "player3",
          "rationale": "Fully supported by direct observation. The High Barley leader and villagers directly observe the completion of the barley harvest, the continuous loft hurdle drying rotation, sacks resting dry on raised dunnage, prime seed grain segregated under Beren's custody, stockpiled fuel and bedding straw, and the ongoing solidarity of Cal's care rota and the covered bowl. Confirmed confidence and observed status are justified."
        },
        {
          "approved": true,
          "fact_id": "fact-high-barley-harvest-conclusion",
          "player_id": "player3",
          "rationale": "Fully supported by direct observation. Pacing sickle sweeps to dry spells and rotating harvested sheaves through Beren's wool loft hurdles to threshing cloths successfully cured and bagged the grain while bundling straw for winter goat fodder and bedding. The outcome is causally grounded in village labor capacity and prior improvements. Confirmed confidence and observed status are sound."
        },
        {
          "approved": true,
          "fact_id": "fact-high-barley-store-and-fuel-security",
          "player_id": "player3",
          "rationale": "Fully supported by direct observation. Stacking newly bagged grain sacks on raised dunnage away from walls, conducting moisture checks in the lower bay, isolating prime seed grain on upper racks under Beren, and hauling deadwood and peat via pack goat frames under eaves are routine internal storage tasks observed directly. No leaks of the concealed subsoil drain crack occur. Confirmed confidence and observed status are sound."
        },
        {
          "approved": true,
          "fact_id": "fact-ford-contact-high-barley-view",
          "player_id": "player3",
          "rationale": "Fully supported by direct bilateral observation. High Barley's leader and elders met Ternhaven's 4-person delegation (Del, Seli) at the stream ford after Jun hailed them. Del approached unarmored with open hands, presented a gift basket of cured smoked fish and sea-salt, and introduced Ternhaven as a coastal fishing village seeking peaceful trade. High Barley received the gift while maintaining the stream barrier without permitting ascent to the shelf. Only voluntarily disclosed facts and displayed goods are included. Confirmed confidence and observed status are justified."
        },
        {
          "approved": true,
          "fact_id": "ternhaven-conditions",
          "player_id": "player4",
          "rationale": "Fully supported by direct observation. Ternhaven's leader and residents directly observe outdoor drying racks cleared into the landing hall, curing over the central hearth, meal sacks and root bundles raised on timber dunnage, wellhead diversion ditches, restricted inner inlet fishing with gales haul-out, and indoor cordage and net maintenance. Confirmed confidence and observed status are justified."
        },
        {
          "approved": true,
          "fact_id": "fact-ford-contact-ternhaven-view",
          "player_id": "player4",
          "rationale": "Fully supported by delegation propagation. Del and Seli led the 4-person embassy along the alder trail to the stream ford, observed Jun's stone cairn with the willow ring, were hailed across the water, and met High Barley's leader and elders. Del presented the gift basket, explained Ternhaven's hospitality customs, and discussed barter, with High Barley accepting courteously and affirming peace across the stream. Epistemic boundaries are maintained; no hidden upland harvest or storehouse details leak. Propagated via ternhaven-c1 and ternhaven-c5 with reported status and confirmed confidence."
        },
        {
          "approved": true,
          "fact_id": "fact-ternhaven-stores-and-wellhead-defense",
          "player_id": "player4",
          "rationale": "Fully supported by direct observation. Ves and Wen clearing upper ledge racks before driving rains, elevating meal sacks and root bundles on timber dunnage away from walls, and digging diversion ditches uphill from the fresh-water wellhead to route mud runoff away from drinking water are directly observed physical actions within the landing. Confirmed confidence and observed status are sound."
        },
        {
          "approved": true,
          "fact_id": "fact-ternhaven-marine-safety-and-craft",
          "player_id": "player4",
          "rationale": "Fully supported by direct observation. Ruan restricting fishing boats to the inner reach of the hooked inlet, beaching craft above the storm line during rough water, Kiri inspecting the mooring at slack tide, and net crews mending gear and twisting cordage from bast stores during storm days are directly verified local maritime operations. Confirmed confidence and observed status are sound."
        }
      ],
      "issues": [],
      "rationale": "Joint adjudication review for Turn 002 demonstrates complete causal consistency, disciplined character agency, strict information privacy, and full factual support across all four clans:\n\n1. Causality & Physical Feasibility: All submitted actions respect established mundane constraints, seasonal progression (mid-autumn rain and winds), and prior turn foundations. Saltmere's low-heat pan boil verifies clay bank stability without thermal shock or fuel waste; Keelstrand's jacking and stone plinth installation permanently remedies shed brace rot; High Barley's wool loft hurdle rotation cures grain without bottleneck or mold; and Ternhaven's upper ledge clearance, wellhead ditching, and inshore boating limits protect food, water, and marine craft.\n\n2. Simultaneous Contact & Geographic Pacing: External movements align precisely with established sound geography and travel times. In the west, Saltmere's scout (Evi) reaches the southern creek bank and observes Keelstrand's yard from concealment without crossing, while Keelstrand's scout (Ivo) checks the marker beach and conducts a disciplined midday watch from the southeast ridge. In the east, Ternhaven's 4-person delegation (Del, Seli) traverses the alder path to the stream ford, where High Barley's watcher (Jun) and leader meet them across the water barrier. The encounter is peaceful, courteous, and strictly bounded: gifts of salt and fish are exchanged for peaceful recognition, while the stream barrier is preserved without premature village entry.\n\n3. Character Agency & Dramatic Pressure: Named actors (Fen, Nessa, Evi, Mara, Tor, Pell, Ivo, Hesta, Beren, Cal, Jun, Del, Seli, Ves, Ruan, Kiri, Wen) act in strict alignment with established roles, goals, and fears. Border encounter pressure (PR-T002-01) was rigorously audited against the 8-part causal check; melodramatic tropes ('Broken Pedestal', 'Doomed Hometown') were correctly REJECTED_ALL, maintaining grounded simulation realism.\n\n4. Epistemic Integrity & Disclosures: All 17 newly disclosed or updated facts are strictly evidence-limited. No concealed truths (pan bank seepage channel, deep framing rot, cracked storehouse drain, or underwater mooring stone) leak into player knowledge. Delegations and scouts report only displayed goods, voluntary introductions, and observable physical structures. Corresponding knowledge entries have verified holders, appropriate propagation paths, and justified CONFIRMED confidence.\n\n5. Rules & Governance: Word counts and formats are valid. Exactly five substantive decisions (T002-D01 through T002-D05) are approved, fitting the ordinary turn target. No emergent rules, victory attractors, or player eliminations were proposed or activated. Control statuses remain ACTIVE. Adjudication is approved without issue."
    },
    "adjudication_round": 1
  }
}
