{
  "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-001",
      "generated_at": "2026-09-07T16:19:05.375Z",
      "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": 1
    },
    "calendar": {
      "current_key": "Y01-M07",
      "display_label": "Early autumn, Year 1",
      "year": 1,
      "month": 7,
      "next_key": "Y01-M08",
      "legacy_source_label": null
    },
    "turn": {
      "id": "turn-001",
      "number": 1,
      "status": "CLOSED",
      "deadline": "2026-09-07T16:19:05.375Z",
      "maximum_submission_words": 1500,
      "current_blocker": null,
      "status_history": [
        {
          "status": "OPEN",
          "at": "2026-09-07T16:19:05.375Z",
          "approval_id": null
        },
        {
          "status": "INTAKE_LOCKED",
          "at": "2026-09-07T16:19:05.435Z",
          "approval_id": null
        },
        {
          "status": "ANALYZED",
          "at": "2026-09-07T16:20:00.625Z",
          "approval_id": null
        },
        {
          "status": "ADJUDICATION_APPROVED",
          "at": "2026-09-07T16:21:20.635Z",
          "approval_id": "T001-A-GM"
        },
        {
          "status": "RESULTS_DRAFTED",
          "at": "2026-09-07T16:35:08.253Z",
          "approval_id": null
        },
        {
          "status": "DELIVERY_APPROVED",
          "at": "2026-09-07T16:35:08.253Z",
          "approval_id": "T001-A-DELIVERY"
        },
        {
          "status": "DELIVERED",
          "at": "2026-09-07T17:40:27.748Z",
          "approval_id": "T001-A-DELIVERY"
        },
        {
          "status": "CLOSED",
          "at": "2026-09-07T17:40:27.748Z",
          "approval_id": null
        }
      ],
      "intake": [
        {
          "id": "T001-I-player1",
          "player_id": "player1",
          "classification": "VALID",
          "counts_as_miss": false,
          "consecutive_misses_before": 0,
          "consecutive_misses_after": 0,
          "word_count": 1005,
          "byte_count": 5879,
          "archive_path": "turns/turn-001/intake/player1/submission.md",
          "checksum_sha256": "c0b26cb67095e11728943d782662758d5fe87fc407e236835469a3f73c8a0540",
          "ruling_id": null
        },
        {
          "id": "T001-I-player2",
          "player_id": "player2",
          "classification": "VALID",
          "counts_as_miss": false,
          "consecutive_misses_before": 0,
          "consecutive_misses_after": 0,
          "word_count": 1050,
          "byte_count": 6388,
          "archive_path": "turns/turn-001/intake/player2/submission.md",
          "checksum_sha256": "1f8ffaba5b1b031f34a3697b99aa6db75e3b030982920a4fbc9b65fbfd622488",
          "ruling_id": null
        },
        {
          "id": "T001-I-player3",
          "player_id": "player3",
          "classification": "VALID",
          "counts_as_miss": false,
          "consecutive_misses_before": 0,
          "consecutive_misses_after": 0,
          "word_count": 738,
          "byte_count": 4580,
          "archive_path": "turns/turn-001/intake/player3/submission.md",
          "checksum_sha256": "b2282dda910dec496641b97e25bd6b2470d702da89aa6128291c314f8c1eb753",
          "ruling_id": null
        },
        {
          "id": "T001-I-player4",
          "player_id": "player4",
          "classification": "VALID",
          "counts_as_miss": false,
          "consecutive_misses_before": 0,
          "consecutive_misses_after": 0,
          "word_count": 883,
          "byte_count": 5287,
          "archive_path": "turns/turn-001/intake/player4/submission.md",
          "checksum_sha256": "3c6aba5192128c980f0f9941880017a76b3a7e92beabff11050d6177ef5b2c4d",
          "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": "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"
          ]
        }
      },
      {
        "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"
          ]
        }
      },
      {
        "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"
          ]
        }
      },
      {
        "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"
          ]
        }
      }
    ],
    "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": "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"
          ]
        }
      },
      {
        "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": "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"
          ]
        }
      },
      {
        "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 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"
          ]
        }
      },
      {
        "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": "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"
          ]
        }
      },
      {
        "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"
        }
      }
    ],
    "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"
      }
    ],
    "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"
          ]
        }
      }
    ],
    "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."
      }
    ],
    "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."
      }
    ],
    "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": []
        }
      }
    ],
    "results": [
      {
        "id": "T001-R-player1",
        "player_id": "player1",
        "source_path": "turns/turn-001/results/player1/RESULTS.md",
        "visible_fact_ids": [
          "saltmere-calendar",
          "saltmere-map",
          "saltmere-conditions",
          "saltmere-dispute",
          "saltmere-warning",
          "saltmere-opportunity",
          "saltmere-neighbors",
          "saltmere-custom",
          "saltmere-contacts",
          "fact-saltmere-bank-reinforcement",
          "fact-saltmere-stores-and-shelter",
          "fact-saltmere-fuel-coppice",
          "fact-saltmere-marker-beach-patrol"
        ],
        "authored": true,
        "approved": true
      },
      {
        "id": "T001-R-player2",
        "player_id": "player2",
        "source_path": "turns/turn-001/results/player2/RESULTS.md",
        "visible_fact_ids": [
          "keelstrand-scene",
          "keelstrand-premise",
          "keelstrand-calendar",
          "keelstrand-map",
          "keelstrand-conditions",
          "keelstrand-dispute",
          "keelstrand-warning",
          "keelstrand-opportunity",
          "keelstrand-neighbors",
          "keelstrand-custom",
          "keelstrand-contacts",
          "fact-keelstrand-shed-shoring",
          "fact-keelstrand-roofs-and-boats",
          "fact-keelstrand-stores-and-sleds",
          "fact-keelstrand-ridge-patrol"
        ],
        "authored": true,
        "approved": true
      },
      {
        "id": "T001-R-player3",
        "player_id": "player3",
        "source_path": "turns/turn-001/results/player3/RESULTS.md",
        "visible_fact_ids": [
          "high-barley-calendar",
          "high-barley-map",
          "high-barley-conditions",
          "high-barley-dispute",
          "high-barley-warning",
          "high-barley-opportunity",
          "high-barley-neighbors",
          "high-barley-custom",
          "high-barley-contacts",
          "fact-high-barley-care-and-harvest",
          "fact-high-barley-storehouse-and-loft",
          "fact-high-barley-ford-surveillance"
        ],
        "authored": true,
        "approved": true
      },
      {
        "id": "T001-R-player4",
        "player_id": "player4",
        "source_path": "turns/turn-001/results/player4/RESULTS.md",
        "visible_fact_ids": [
          "ternhaven-scene",
          "ternhaven-premise",
          "ternhaven-calendar",
          "ternhaven-map",
          "ternhaven-conditions",
          "ternhaven-dispute",
          "ternhaven-warning",
          "ternhaven-opportunity",
          "ternhaven-neighbors",
          "ternhaven-custom",
          "ternhaven-contacts",
          "fact-ternhaven-alder-scout-report",
          "fact-ternhaven-mooring-and-boats",
          "fact-ternhaven-stores-and-hearth",
          "fact-ternhaven-hospitality-policy"
        ],
        "authored": true,
        "approved": true
      }
    ],
    "deliveries": [
      {
        "id": "T001-DEL-player1",
        "result_id": "T001-R-player1",
        "player_id": "player1",
        "source_path": "turns/turn-001/results/player1/RESULTS.md",
        "destination_path": "mailboxes/player1/inbox/turn-001-results/RESULTS.md",
        "source_checksum_sha256": "edee52705853c0f12c0cd8472957a8827b30252b26c25f8be6b00a03922c4856",
        "delivered_checksum_sha256": "edee52705853c0f12c0cd8472957a8827b30252b26c25f8be6b00a03922c4856",
        "approval_id": "T001-A-DELIVERY",
        "delivered_at": "2026-09-07T17:40:27.748Z",
        "verified": true
      },
      {
        "id": "T001-DEL-player2",
        "result_id": "T001-R-player2",
        "player_id": "player2",
        "source_path": "turns/turn-001/results/player2/RESULTS.md",
        "destination_path": "mailboxes/player2/inbox/turn-001-results/RESULTS.md",
        "source_checksum_sha256": "9f47495b05f43eeaa45d642fc16940b3ca657393518c0497e94e0c5d3a4c2841",
        "delivered_checksum_sha256": "9f47495b05f43eeaa45d642fc16940b3ca657393518c0497e94e0c5d3a4c2841",
        "approval_id": "T001-A-DELIVERY",
        "delivered_at": "2026-09-07T17:40:27.748Z",
        "verified": true
      },
      {
        "id": "T001-DEL-player3",
        "result_id": "T001-R-player3",
        "player_id": "player3",
        "source_path": "turns/turn-001/results/player3/RESULTS.md",
        "destination_path": "mailboxes/player3/inbox/turn-001-results/RESULTS.md",
        "source_checksum_sha256": "ee8a3d06d73e2614eceac35478bab57f2fff515d3f233e6d1c0237d12ad2ac8b",
        "delivered_checksum_sha256": "ee8a3d06d73e2614eceac35478bab57f2fff515d3f233e6d1c0237d12ad2ac8b",
        "approval_id": "T001-A-DELIVERY",
        "delivered_at": "2026-09-07T17:40:27.748Z",
        "verified": true
      },
      {
        "id": "T001-DEL-player4",
        "result_id": "T001-R-player4",
        "player_id": "player4",
        "source_path": "turns/turn-001/results/player4/RESULTS.md",
        "destination_path": "mailboxes/player4/inbox/turn-001-results/RESULTS.md",
        "source_checksum_sha256": "3ac758c33c48d7749bb17155e4fe848e0940df5618141352f567b5138b36fad4",
        "delivered_checksum_sha256": "3ac758c33c48d7749bb17155e4fe848e0940df5618141352f567b5138b36fad4",
        "approval_id": "T001-A-DELIVERY",
        "delivered_at": "2026-09-07T17:40:27.748Z",
        "verified": true
      }
    ]
  },
  "views": {
    "TURN_STATUS.md": "c008891bad16352a33f2d42f87cdf4847c4c3229cacf79515d4ce1fbd4097837",
    "INTAKE_MANIFEST.md": "f1fb14d22dc66090dff9914c9dec25ea5d2f700e2863e17094230a1b74a57e6a",
    "ROSTER.md": "6b8fa81d4c1c09cf70e21d888fe9d98a7c9694e2b20bddcce86108995245eb7d",
    "WORLD_STATE.md": "ef25e77b5270434b703285bab176b15c4d0a15f1aa27cf2f7bccf413c6900d19",
    "CAMPAIGN_TIMELINE.md": "ca6be474f39102b16b397d2a2b30726aaf8da7f1eb59c4fbe6b6311aabe83dc1",
    "PRESSURES.md": "29c85da576aff45e3975141b246958447628b21c016d6247a4d3ea412f412220",
    "RELATIONSHIPS_AND_OBLIGATIONS.md": "4f43f657f48673514ccc622b338d7c348b0bd179727507f8b7f506089c7db452",
    "DELIVERY_MANIFEST.md": "6d420861fd71ec5aa0618a5abd3c1ced6c63dacd734e0f565bf71bea736ed016",
    "DISCLOSURE_CHECK_SCAFFOLD.md": "8e7440478652a95afea10b636b3d1cf2ddc2cd564ead7c929c3dc5eccb32533e",
    "CONSISTENCY_REPORT.md": "53f11ce750e9e01f52dc31bc93c0c73a7948432d661f999a47c50f5c4cbef9e2",
    "PLAYER_STATE_player1.md": "5c80a4b09e041ed784eb683ea566d28427342a944918bdda4ad2a85b11869ad5",
    "PLAYER_STATE_player2.md": "5340bdd82c7a072a27db97304c57ea4375e8330f2af57f6ed746691378a9e61a",
    "PLAYER_STATE_player3.md": "ebd2183c0f5f7eb4cee18b0305412a587e51de12296ee6db53a4ea6c12dc188c",
    "PLAYER_STATE_player4.md": "fd3cbd9e8c5d43eb8ec8039222600cd4eec15391f9f937900b3edf6984deefd1",
    "VIEW_MANIFEST.md": "3fbb326354b2de44012740b516fcbfe95fe4ee80ee1db4afa0b9320d98e61676"
  },
  "players": [
    {
      "id": "player1",
      "absent": false,
      "memory": "Beliefs:\n- Food security for the 151 villagers must take absolute priority over export salt production as winter approaches; we have spare salt cakes, but fish and roots cannot be replaced once frost and deep autumn rains set in.\n- The damp line beneath the western pan bank is a critical failure risk; boiling before Fen inspects and repairs it invites a catastrophic breach that could ruin the pans entirely.\n- The notched timber and smoke indicate northern neighbors possessing metal tools or carpentry skill; we need information before establishing contact or showing vulnerability.\n- Community cohesion relies on transparent fairness: Nessa's pan workers and Orin's fishers must see that sacrifice is balanced and shared, not arbitrary.\n\nIntentions:\n- Prioritize fish smoking, root lifting, and roof patching for immediate seasonal readiness.\n- Conserve existing dry billets for smoking while using spare salt cakes to dry-cure part of the catch, stretching fuel.\n- Drain the clay hollow and begin coppicing to establish a sustainable, dry fuel cycle for the coming year.\n- Keep the reconnaissance north strictly observational and low-risk.\n\nUnanswered Questions:\n- What lies inside the western pan bank—burrowing animals, seepage, or structural slumping?\n- Who is burning smoke north of the creek, what is their temperament, and do they have seafaring boats?\n- How much drying weather remains before mid-autumn storms make outdoor air-drying impossible?",
      "submission": "# Council at the Salt Shed: Orders for Early Autumn, Year 1\n\nThe hearth fire reflects off the wet clay floor. I look at Nessa and Orin, and at the split log between the two women. \n\n\"Put the log down on the stack,\" I say. \"Nobody burns a splinter until we have walked the perimeter and seen what the frost will demand of us.\"\n\nI turn first to Nessa, then to Orin, so every family gathered in the shed can hear.\n\n\"Orin, Nessa: neither of you asked for more than your people need to do their work. But if we boil every dry billet into salt and let the autumn catch rot on the shore, we will sit through winter with full salt bins and empty bellies. Salt keeps a belly full only if there is meat to season. Therefore, the fish come first for the dry smokehouse wood.\n\n\"Yet Nessa’s hearths will not be brushed aside. We already have spare salt cakes in Daro’s store. This month, we will not leave the pans idle out of neglect, but out of necessity: Fen has spotted a damp line under the western pan bank. If that bank gives way during a heavy boiling, the brine pools we rely on are ruined for months. We do not burn dry billets over a compromised foundation.\"\n\nI lay my own stone by Orin's marker for the smoking fuel, and then set a second stone between them.\n\n\"Here is how Saltmere spends this month.\"\n\n---\n\n### 1. The Pans and the Bank (Fen & Nessa)\n* **Low-Water Inspection:** Fen will inspect the western pan bank at the next spring tide's lowest water. I will accompany Fen to examine the damp seepage. We need to know whether the water is weeping through a burrow, settling silt, or structural slumping.\n* **Bank Reinforcement:** Before any full boil is authorized, Fen and a crew drawn from the pan tenders will reinforce the western bank using dense clay dug from the hollow rise and packed sod. No heavy boiling runs while the ground is suspect.\n* **Cold-Brine Work & Salt Curing:** While boiling is suspended or kept to gentle, small-batch test fires, Nessa’s crew will manage the brine concentration in the solar shallows on clear drying days. More importantly, Nessa and Daro will bring out a measured portion of our existing salt cakes to dry-salt a fraction of Orin's catch in barrels and woven baskets, reducing the total amount of wood needed for smoking.\n\n### 2. Fishing, Smoking, and Drying (Orin & Sava)\n* **Securing the Catch:** Orin’s skiffs will fish the western shallows whenever settled weather permits, keeping strictly within sight of the home shore. \n* **Combined Preservation:** The catch will be divided three ways to maximize preservation without exhausting wood:\n  1. *Smoking:* The primary portion of fat fish goes to the smokehouse, utilizing the allocated dry billets. Wood must be burned slow and smothered with damp green willow chips to maximize smoke density and stretch billet life.\n  2. *Salting:* Firmer fish will be gutted, split, and dry-salted using stored salt cakes.\n  3. *Rack-Drying:* Sava will expand his raised drying racks on the low rise west of the village, where coastal breezes are strongest. Sava will construct a simple removable thatch canopy over the rack frame to test whether fish can air-dry cleanly while shielded from intermittent autumn drizzle.\n* **Net Maintenance:** Damaged nets are to be brought indoors for evening mending by households resting from outdoor labor.\n\n### 3. Food Stores and Shelter (Daro)\n* **Harvesting Garden Roots:** Before the heavier mid-autumn rains waterlog the low rise, all root vegetables (turnips, parsnips, and greens) must be lifted, cleaned of surface mud, air-dried on dry days, and brought under cover into Daro’s dry store.\n* **Storehouse Inventory:** Daro will maintain a strict tally of the dry fish, barley, peas, lifted roots, and remaining salt cakes. Rations are set to standard baseline portions—no feast, but no starvation rationing while work output is high.\n* **Roof Patching:** Before the first mid-autumn storm, two working teams will cut reed and thatch from the southern marshes to patch the two damaged roofs. No elder or child sleeps under a leaking roof this winter.\n\n### 4. Fuel and the Clay Hollow\n* **Coppicing:** A dedicated cutting party will work the willow coppice beyond the gardens. We will fell fresh willow and alder billets, limbing and splitting them immediately. \n* **Drying & Stacking:** Fresh wood will not burn clean this month, but it will save us in midwinter and next spring. We will dig shallow runoff trenches around the sheltered clay hollow to divert standing water. The hollow will be leveled with gravel from the shingle path, and an open-sided, thatched timber shelter will be raised over it. All newly cut willow and salvaged windfall will be stacked there off the ground on split stringers to season.\n\n### 5. Scouting the Northern Reach (Evi)\n* **Reconnaissance to the Marker Beach:** On the next span of fair weather, Evi will lead a two-person scout northward along the shingle path to the empty marker beach.\n* **Strict Rules of Engagement:**\n  - This is an observational patrol only. No crossing the creek; no signaling; no approaching unknown dwellings.\n  - Evi will examine the tideline for additional worked timber, flotsam, or boat tracks, and observe the smoke across the creek from the cover of the dunes or tree line. She will estimate the distance, number of hearths, and whether any boats or watchtowers are visible.\n  - The patrol must return before nightfall or tide turn. If strangers are sighted, Evi is ordered to observe their gear, numbers, and demeanor from concealment and pull back immediately without making contact.\n\n---\n\nI look across the hearth at Nessa, Fen, and Orin.\n\n\"We have good hands, sound skiffs, and salt under our feet. We will go into winter with patched thatch over our heads, dry wood seasoning in the pit, and fish in both salt and smoke. Take up your tools; let us get to work.\"",
      "report": "The autumn work moved forward without the open contention that had stalled the hearth. By setting aside the split log and laying out a clear division of tasks, the settlement accepted the compromise between the smokehouse and the pans.\n\n### Work Accomplished and Food Stores\n\nThe autumn catch was secured before spoilage could take hold. Orin’s fishers brought in the catch while labor was partitioned across three preservation methods:\n- The allocated dry billets kept the smokehouse running at a slow burn.\n- A portion of Daro’s stored salt cakes was drawn down to dry-salt the firmer fish in baskets and containers, preserving them without demanding additional fire.\n- Sava’s raised drying racks on the rise were fitted with woven thatch canopies, successfully shielding the split fish from intermittent autumn drizzle while allowing the coastal breeze to dry them cleanly.\n\nNearby, garden teams lifted the root crops from the low rise before mid-autumn rains could soak the soil, hauling them clean and dry into Daro's storehouse alongside the dry fish, barley, and peas.\n\n### Shelter, Bank, and Pan Foundations\n\nTwo work crews gathered marsh reeds from the southern shore and re-thatched the two damaged roofs, making the dwellings tight against incoming storms.\n\nAt the lowest ebb of the spring tide, Fen led the inspection beneath the western pan bank. Small seepage channels were discovered cutting through the lower earth where the damp line had shown. Fen’s crew, joined by pan tenders, dug dense clay from the rise and cut turf sods, packing and tamping the lower bank firmly to stabilize the foundation before any full boiling resumes. Nessa’s pans remained cold, but the threat of a bank collapse into the brine pools was halted.\n\n### Fuel and Seasoning\n\nBeyond the garden rise, cutting parties coppiced willow and alder, limbing and splitting the green wood. Around the clay hollow, workers dug shallow drainage channels to carry off runoff and erected an open-sided thatched timber shelter. The fresh billets were stacked inside off the damp earth, resting on split stringers to begin seasoning. While this wood ensures fuel for winter, it remains green and unusable for current hearths.\n\n### Northern Reconnaissance\n\nEvi carried out a day patrol north along the shingle path to the marker beach under fair conditions. Searching the tideline flotsam, she confirmed additional worked timber offcuts bearing tool marks similar to the first notched piece. From the concealment of the dunes, she observed smoke rising across the northern creek. Obeying instructions to avoid contact or signaling, she stayed hidden, made no crossing, and returned safely to Saltmere before nightfall.\n\n### Visible Costs and Immediate Pressures\n\nWhile the immediate harvest and catch have been safeguarded without internal strife, several pressures now face Saltmere as early autumn closes:\n- **Drying Fuel:** Dry billets remain scarce. The fresh wood in the hollow shelter cannot be burned clean yet, leaving fuel reserves tight.\n- **Salt Stores:** Using reserve salt cakes to cure fish averted meat spoilage, but it drew down Daro’s inventory of finished salt.\n- **Pans and Boiling:** The western bank has been reinforced, but boiling has not resumed. Fen and Nessa will need to determine how the packed clay holds under working heat and whether boiling can safely restart.\n- **Approaching Season:** As mid-autumn approaches, weather is expected to turn wetter with stronger winds, threatening outdoor drying and boat travel on the sound.\n- **Northern Presence:** The confirmed smoke and worked flotsam across the northern creek confirm an active presence within half a day's travel, though who they are and their numbers remain unknown."
    },
    {
      "id": "player2",
      "absent": false,
      "memory": "Beliefs:\n- Winter and autumn storms will punish us severely if shelter is neglected; four families sleeping under wet blankets is an unacceptable health and morale failure.\n- Arel and the fishing households had a legitimate grievance regarding the keel-oath, but pragmatism and shared survival must override rigid schedules. Compensating them with boat overhaul, dry homes, and food shares prevents fracture.\n- The boat shed is structurally precarious; the powder beneath the brace suggests insect bore or dry rot, and shifting door gaps mean settling or shearing forces. Shoring is urgent before heavy lifts occur.\n- Neighbors exist nearby: barley husks and stock bells to the southeast point to pastoralists or farmers beyond the ridge; salt-cord at the western beach suggests coastal travelers or fishers.\n\nIntentions:\n- Secure all 4 leaking roofs and shore up the shed brace before mid-autumn downpours begin.\n- Use Pell’s injury productively to build an apprentice cadre in lashings and cordage, multiplying community technical capacity.\n- Keep fishing yields steady via the repaired old craft while pausing the new hull in good condition under protective covering.\n- Maintain cautious, defensive curiosity toward the southeast ridge without risking men overnight or revealing settlement vulnerabilities.\n\nUnanswered Questions:\n- Who is grazing stock or carrying barley over the southeast ridge? Are they seasonal nomads, a settled community, or refugees?\n- Who set the marker stake with salt-smelling cord on the western beach, and do they return seasonally?\n- What caused the powder under the shed brace—beetles, rot, or fungal decay—and does it affect the main ridge beam?\n- Can we establish reliable local cordage fibers (nettle, hemp, bark) before our limited cord supplies fail?",
      "submission": "### The Council at the Keel\n\nI gather Mara, Arel, Tor, and the witnesses beside the half-built hull. I lay my hand on the bare ribbing where the child had been playing with wood scraps, acknowledging the promise spoken over the laid keel.\n\n\"Arel, the yard remembers what was promised, and we have eaten the fish your households brought in. Mara’s word was given in good faith. But look up at that mat lifting in the wind, and look at the blankets Tor brought from the sleeping benches. Four of our houses are letting autumn rain fall directly onto our families' beds. Mid-autumn will bring relentless rain, and late autumn brings freezing gales. A boat finished on time is of little comfort if the crew that takes her out returns to frozen, soaked, feverish hearths.\n\n\"Here is how we honor the keel and protect our people:\n1. **The Hull Pauses Safely:** Mara will pause construction on the big hull immediately. We will cradle and cover her securely with pitched thatch and spare mats to seal out moisture so not a single joint rots or warps before spring.\n2. **The Old Boat Overhauled:** Mara and her woodworkers will immediately use seasoned offcuts to repair, reinforce, and caulk our existing fishing boat. We will ensure she is thoroughly sound for the creek and near-shore runs throughout the autumn.\n3. **Fishing Families First on Roofs:** Tor’s roof-repair crews will make the homes of the fishing households water-tight alongside the other leaking shelters. \n4. **Guaranteed Share:** When the garden harvest comes in, Venn will set aside a full, guaranteed measure of dried beans and roots for the fishing families to offset any lost catch from delaying the bigger boat.\n5. **Spring Keel:** The very first major project of spring thaw, before any new timber is felled, will be the completion and launch of Arel’s vessel.\"\n\nI ask Arel and Mara to clasp hands with me over the keel on these terms.\n\n---\n\n### Shelter & Structural Defense\n\n* **Boat Shed Stabilization:** Before any heavy loads are moved or worked under the shed, Ivo and Mara will inspect the failing brace. We will immediately shore up the corner and main cross-beam using sturdy temporary props cut from our abundant timber stocks, relieving pressure on the suspect timber. They will chip into the brace to determine whether powder indicates dry rot or wood-boring insects. If weakened, they will sister the post with a sound timber or replace it before any work resumes inside.\n* **Tying the Roofs:** Tor will mobilize hands to complete the four leaking roofs. The thatch is already gathered; the bottleneck is tying. We will assign four small teams—pairing able-bodied roof-climbers with apprentices trained by Pell—to re-thatch and lash the four leaky houses, beginning with those where children and elders sleep, working rapidly during the current dry intervals.\n\n---\n\n### The Yard, Cordage & Sleds\n\n* **Pell’s Lashing School:** Pell cannot haul timber with his strained wrist, but his knowledge is vital. We will set Pell up in a dry, sheltered corner of the yard with a seated bench. He is assigned four attentive youths and light-duty workers as apprentices. Pell will teach them proper tensioning, clean knots, and split-root or fiber lashings. Trainees will practice directly on the thatch ties for the village roofs and the protective framework covering the paused hull. Pell will also oversee inspection and gentle conditioning of our limited sound cordage and resin.\n* **Sled Runners:** While Mara overhauls the old boat, a carpenter will use heavy offcuts to shape two simple wooden drag-sleds (stone boats) for the uphill timber track. Dragging beams on sled runners will save both our ropes and our workers' backs from the jagged rocks.\n\n---\n\n### Stores & Sustenance\n\n* **Garden & Foraging:** Venn will oversee the harvesting of remaining root crops, cabbages, and beans ahead of the wetter mid-autumn days. Produce will be cleaned and laid out on drying racks during clear spells, then stored in dry, elevated pits lined with straw.\n* **Fish Catch:** The old boat will remain in steady daily rotation within the creek and sound mouth, weather permitting. Any surplus catch from fair-weather days will be smoked and salted immediately rather than eaten fresh, building our winter reserve.\n* **Firewood:** Offcuts from the yard that are unsuitable for sleds or boat repair, along with deadwood gathered along the creek borders, will be split and stacked under eaves and bark covers to dry before the mid-autumn rains arrive.\n\n---\n\n### Scouting & Reconnaissance\n\n* **The Southeast Pack Trail (Barley & Stock Bell):**\n  Ivo will take one trusted companion on a cautious, single-day scout up the southeast trail toward the grazing ridge. \n  - *Orders:* Travel light and quiet. Inspect the ground where Venn found the barley sack for hoofprints, cart ruts, or droppings. Climb as far as the first ridge line to scan the grazing basin.\n  - *Strict rule:* They must turn back at midday regardless of what they see or hear; no overnighting beyond the ridge. \n  - *Contact protocol:* If they spot travelers or herders from afar, they are to observe numbers, stock types, and direction without revealing themselves. If surprised or intercepted openly, they will identify themselves peacefully as timber-folk of Keelstrand, state that they are tracking stray game along their border path, exchange polite words without making trade commitments or revealing our settlement numbers, and return home.\n* **Western Route Check:**\n  If a clear day permits after shed shoring and roof work are underway, Ivo will take a half-day round trip along the western shore path to the marker beach. He is to observe whether the stake or salt-smelling cord has been disturbed, whether fresh footprints or hull skids mark the sand, and return before evening. We leave no messages or tokens at the marker stake for now.\n\n---\n\n### Daily Rhythm & Leadership\n\nI will spend my mornings between the boat shed and Tor’s roofing crews, lending a shoulder to hoist timbers and thatch bundles, reinforcing that community survival takes precedence over individual pride. Midday will be spent checking with Venn on winter food inventories and reviewing Pell’s apprentices to validate their progress. My focus for this month is singular: warm beds, dry stores, a safe work yard, and knowing who is moving along our ridgeline.",
      "report": "# Turn Report: Keelstrand — Early Autumn, Year 1\n\n### The Keel and the Yard\nThe terms spoken over the laid keel held. Mara halted framing on the unfinished vessel, cradling the hull securely and sealing it beneath pitched thatch so autumn damp cannot reach the bare timbers. With the larger project safely paused, Mara and the yard woodworkers turned to the existing fishing boat, overhauling its seams and caulking it thoroughly with seasoned offcuts. The craft is back in steady rotation within the creek, sound for seasonal runs and keeping fish moving into camp. Arel and the fishing households accepted the delayed completion of the new vessel in exchange for immediate repairs to their living quarters, the overhauled craft, and the promised share of winter stores.\n\n### Shelter, Lashings, and the Shed\nPell conducted instruction from a seated bench, taking on apprentices and teaching them knotting and split-root lashings despite his strained wrist. This newly trained labor resolved the yard's tying bottleneck: working alongside Tor’s crews, the apprentices lashed new thatch across all four leaking houses, leaving every sleeping bench and household water-tight before the heavier rains set in.\n\nAt the boat shed, Mara and Ivo opened up the suspect brace. Rot was discovered concentrated at the foot of the post, though the adjacent framing proved solid. Sturdy timber props were erected to shore both the corner and the cross-beam, successfully stabilizing the structure against the rising autumn winds. The rotted base remains in place beneath the props, but the building no longer shifts when gusts come off the water.\n\n### Stores and Timber Preparations\nCarpenters shaped two heavy wooden drag-sleds from durable offcuts, outfitting them for hauling timber down the stony track without wearing through precious cordage. \n\nVenn completed the harvest ahead of the worsening weather, lifting the garden roots and beans into dry, straw-lined pits where they are safe from rot. Creek fish caught during clear runs were cleaned, salted, and smoked for winter reserves.\n\n### Scouting the Southeast Trail\nIvo scouted southeast along the pack trail toward the grazing country. Reaching the first ridgeline, he observed pack animal tracks cutting through the dirt and reported spotting distant upland grazing herds moving across the basin beyond. Following instructions, he executed a midday turnaround and returned to Keelstrand before nightfall. No contact was initiated, and the western path to the marker beach was not examined this month.\n\n### Immediate Pressures and Open Decisions\n* **Worsening Weather:** Wetter mid-autumn days and increasing coastal winds will soon arrive, followed by late-autumn gales. Outdoor work and drying days will grow shorter and more intermittent.\n* **Structural Shoring:** The boat shed is braced against the wind, but the rotted post foot has only been shored with temporary props rather than repaired or sistered.\n* **Timber on the Hill:** The two drag-sleds are ready, but the straight timber needed for future yard work still stands uphill along the stony track.\n* **The Grazing Basin:** Ivo has confirmed that pack animals and grazing herds are present beyond the first ridge, but their identity, numbers, and intentions remain unknown.\n* **The Spring Keel:** The large hull is preserved under thatch, but the pledge to finish Arel's vessel stands as a major demand on yard labor as soon as winter breaks."
    },
    {
      "id": "player3",
      "absent": false,
      "memory": "Beliefs:\n- Food security and seed preservation must take absolute priority over scouting or foreign contact during early autumn.\n- Burning out caregivers or violating the traditional covered bowl obligation will fracture community trust and morale.\n- A well-cured, modestly sized harvest in dry lofts is vastly superior to a huge harvest that rots from damp and tight storage space.\n- The smoke/bell to the east and tracks to the northwest confirm neighbors/travelers nearby, but contacting them while our food supply is vulnerable is an unwise distraction.\n\nIntentions:\n- Inspect and remediate the damp lower store bay immediately, separating moldy grain and elevating sound sacks on timber dunnage.\n- Convert the disused wool loft into an airy, hurdle-equipped drying space under Beren.\n- Pace Hesta's harvest to our actual covered drying capacity, using Osa's pack goats to handle heavy hauling.\n- Enforce Cal's household care rota and maintain the covered bowl custom so caregivers are respected and supported.\n- Maintain passive watch on the ford and northwest trail; postpone diplomatic or exploratory descent to the coast until the grain is safely stored.\n\nUnanswered Questions:\n- What is the extent of moisture damage in the lower store bay?\n- Who made the pack tracks on the northwest ridge, and what was their direction/intent?\n- What kind of settlement produces the smoke and bell to the east, and are they potential trading partners or rivals?",
      "submission": "# High Barley — Turn 001 (Y01-M07) Plan\n\n### 1. Care Rota, Social Balance, and the Covered Bowl (Cal & Hesta)\nThe harvest cannot be won at the expense of our dependents or the exhaustion of our caregivers. In consultation with Hesta and Cal, we reaffirm that care work is foundational village labor:\n- **Protecting Caregivers:** Cal’s rota is formally established and protected. Caregivers who have carried unbroken burdens are scheduled for immediate relief and rotation. They will not be counted twice or pressured into the field.\n- **Communal Child and Elder Care:** Dependents will be gathered in central, sheltered household spaces during peak working hours so fewer adults can watch over them safely together. This frees up only those who voluntarily wish and feel fit to undertake light harvest tasks (sorting, binding, or tending drying cloths near the houses).\n- **The Covered Bowl:** We strictly observe the traditional covered bowl at every evening meal, witnessing and honoring those who remained in the village tending the young, old, and weary before any grain is stored or distributed.\n\n### 2. Storehouse Salvage and Loft Preparation (Leth & Beren)\nBefore new grain arrives to crowd our floor space, we must secure our existing stock and expand dry capacity:\n- **Lower Store Bay Inspection:** Join Leth immediately to inspect the lower bay. Move the dark-patched sack and neighboring bags into the light. Separate damp or suspect grain from sound stock. Grain that is salvageable but damp will be spread thin to dry for immediate daily consumption; any genuinely spoiled or moldy material will be removed and composted away from storehouse and livestock.\n- **Preventing Rising Damp:** Clean the bay floor and install raised wooden dunnage, timber poles, or dry brush platforms to ensure no sack sits directly on damp earth or stone.\n- **Wool Loft Conversion:** Direct Beren to clear the disused wool loft and construct raised drying hurdles using timber slats and wicker frames. Keep the loft well-ventilated through eave openings and louvers, catching cross-breezes while shielding it from driving rain.\n- **Seed Grain Protection:** Beren will store the prime seed grain separately in the driest upper racks, clearly marked and strictly off-limits for winter rations.\n\n### 3. Harvest Pacing and Goat Hauling (Hesta, Beren, & Osa)\nWe will not rush cutting beyond our ability to dry and preserve the crop. A secure, mold-free harvest is far better than a swollen crop that rots under damp covers:\n- **Weather-Paced Cutting:** Hesta will direct cutting strictly during dry intervals, pacing the harvest rate to match our daily hauling and drying throughput.\n- **Goat Hauling:** Osa will organize the pack goats with hauling frames to carry cut sheaves and grain baskets from field margins up to the village yard. This eliminates the need to press exhausted caregivers into heavy hauling and keeps our able-bodied field workers focused on sickle work and binding.\n- **Threshing & Curing:** Grain brought to the yard will be threshed on dry cloths during clear hours or moved onto the new hurdles in the wool loft to cure under cover. Sheaves will not be left sitting exposed on damp ground outside the storehouse.\n- **Shelter Maintenance:** Perform quick thatch and pitch patching on minor eave leaks across dwellings and storage spaces before mid-autumn rains set in.\n\n### 4. Vigilance and External Restraint (Jun & Osa)\nWith our hands fully committed to the harvest, we avoid outward expeditions:\n- **The East Descent & Smoke:** Jun will monitor the spring and ford, keeping daily watch on water levels and noting any developments regarding the coastal smoke, bell, or gulls. We will **not** send an expedition down to the lower meadow or coast this month; first contact can wait until our winter stores are secured.\n- **The Northwest Trail:** Osa will keep watch for further pack impressions along the ridge while grazing goats, ensuring we have advance warning of any approaches toward our shelf without sending scouts beyond our mapped paths. If strangers appear, they are to be observed from cover and reported directly to me before any approach is made.\n\n### 5. Personal Presence and Coordination\nI will divide my personal time between the storehouse with Leth, the loft conversion with Beren, and hauling coordination with Osa and Hesta. By working alongside the teams on practical bottlenecks—dunnage, hurdles, and pack shifts—I will keep direct oversight on our food stores while demonstrating that leadership carries its share of the harvest burden.",
      "report": "# High Barley — Turn Report: Early Autumn, Year 1\n\nThe yard smells of cut straw, drying chaff, and fresh timber shavings rather than mold. By pacing the harvest to the weather and protecting the village's domestic core, the crop has gained steady ground without breaking the people carrying it.\n\n### Household Care and the Harvest Flow\nCal’s household care rota was instituted across the settlement, gathering children and elderly dependents into central sheltered spaces. Weary caregivers who had shouldered unbroken shifts received genuine rest, and those helping with light binding or sorting near the dwellings did so without neglect behind them. At each evening meal, the covered bowl was set aside and witnessed, honoring those whose labor stayed within the homes and reaffirming trust in your leadership.\n\nIn the fields, Hesta held cutting strictly to the clear drying intervals, matching the sickle teams to the throughput of the drying hurdles rather than piling excess sheaves under unpredictable skies. Osa fitted the pack goats with hauling frames, moving cut bundles steadily up the shelf from the field margins to the yard. The steady goat trains kept the grain moving without requiring field stewards to drag exhausted household tenders into heavy hauling.\n\n### The Storehouse and Wool Loft\nIn the lower store bay, Leth worked alongside you to turn through the stacks and address the damp. The darkened sack and neighboring bags were brought into the light and sorted; salvageable damp grain was set aside for immediate cooking, while moldy portions were cleared out. Sturdy raised timber dunnage now lifts the remaining sacks clear of the floor.\n\nUpstairs, Beren cleared the disused wool loft, framing and mounting raised drying hurdles where cross-drafts through the eaves keep the grain ventilated and off the floorboards. Prime seed grain has been set apart on the clean upper racks, kept distinct from winter rations. Across the dwellings and storehouse, minor eave leaks were patched before heavier rains could test them.\n\n### Watching the Approaches\nRestraint toward the lower valley kept village hands where they were needed, but the eastern approach did not remain quiet. Jun kept watch near the spring and ford and reported that two travelers from the coastal direction advanced along the alder path to the edge of the stream ford and lower meadow. Taking cover, they observed the upland shelf from across the water, then turned and withdrew peacefully down the alder path to the east without attempting a crossing or approaching the village.\n\n### Pressures Ahead\nThe barley harvest is advancing steadily, with cut grain drying safely on the loft hurdles, but mid-autumn approaches with the certainty of wetter days and rising winds before winter frosts set in. Outside the shelf, Jun's report confirms that dwellers near the eastern smoke are aware of your shelf and ford, while the northwest ridge trail with its old pack tracks remains unmapped."
    },
    {
      "id": "player4",
      "absent": false,
      "memory": "Beliefs:\n- Ternhaven has 150 people relying on seasonal catches, root crops, and limited meal/fuel to survive the coming winter. We cannot afford careless losses (like losing a boat to a frayed line) or unmanaged winter guests who consume without contributing.\n- Del's traditional first-night hospitality is valuable for peaceful relations and repute, but Ves and Ruan are right: open-ended winter support would risk famine. Reciprocal labor/trade after night one is fair, clear, and sustainable.\n- The smoke and barley husks near the upper ford likely indicate either traveling artisans (like basket menders) or upland foragers/neighbors. Establishing peaceful situational awareness without overcommitting is essential.\n\nIntentions:\n- Prioritize winter resilience: dry stores, upper ledge drying racks, repaired landing hall roof, stacked dry fuel, and safeguarded boats.\n- Keep boats hauled up on the inner beach whenever mooring is suspect, until Kiri fully inspects and secures the line.\n- Establish a known, respected policy for visitors before they arrive to avoid friction at the door.\n- Use Seli's upland scout to learn who shares this region and explore safe trade (e.g. basket mending, grain).\n\nUnanswered Questions:\n- What caused the float to jerk sharply on the ebb—underwater debris, marine life, or a dragging mooring stone?\n- Who made the smoke west of the ford, and are they transient menders, another settlement, or displaced people?\n- What lies across and around the wider sound once we have safe weather for a proper coastal survey?",
      "submission": "### Council at the Landing Hearth\n\nIn the early morning chill, I sat with Del, Ves, Ruan, Kiri, Seli, and Wen by the landing hearth, where the kettle steamed and the smell of woodsmoke mingled with salt air. I spoke plainly to them so our priorities for early autumn are understood by all 150 of our people.\n\n\"We have fair days ahead before the mid-autumn rains and late winds set in,\" I said. \"Our strength this winter depends on what we store, what we secure, and the clarity with which we treat our neighbors. We will look after our boats, fill our racks, seal our roofs, and set an honest rule for our hearth.\"\n\n---\n\n### 1. Mooring and Boat Safety (Kiri & Ruan)\n\n* **Immediate Precaution:** Until the outer mooring can be thoroughly investigated, both fishing boats must be hauled onto the inner beach above the high-water line whenever they are not actively working. We cannot risk losing a boat to an ebb jerk or a hidden underwater strain.\n* **Mooring Inspection & Repair:** During the next calm slack tide, Kiri and a strong swimmer/diver will inspect the underwater line, anchor/sinker stone, and float assembly to discover what caused the sudden jerk and whether the line is chafing against rock, snared by drift, or rotting. If the frayed strand cannot be cleanly spliced with sound twine, we will re-rig the mooring with tested rope before leaving any craft tied out.\n* **Inshore Fishing:** Ruan’s net crews will continue fishing the sheltered inner waters and the mouth of the hooked inlet while weather permits, strictly avoiding risky runs beyond the bar. Twine will be conserved and mended promptly after every haul.\n\n---\n\n### 2. Stores, Fuel, and Infrastructure (Ves, Wen, & Work Crews)\n\n* **Upper Drying Ledge:** We will build drying racks upon the upper drying ledge immediately. This expands our drying capacity for split fish and sliced root crops on clear, breezy days without cluttering living quarters or guest areas.\n* **Roof Maintenance:** Before the heavier rains arrive, a small crew will repair the damp corner of the landing hall roof, re-thatching and pitching the seam properly to prevent rot and mold in our communal stores.\n* **Fuel and Root Gathering:** While the weather remains dry enough for foot travel, teams will gather and stack dry firewood under lean-to shelters off the wet ground. We will continue steady harvesting of local root beds, balancing daily consumption against what is dried and bagged in meal sacks alongside the barley.\n* **Health and Water:** Wen will keep the uphill wellhead clear of surface runoff and debris. The children with seasonal coughs will be kept warm near the central hearth, given warm broths, and rested out of damp drafts to ensure the illness remains mild and contained.\n\n---\n\n### 3. Policy on Hospitality and Visitors (Del, Ves, & Ruan)\n\nTo balance ancient duty with winter survival, I set our village policy:\n\n* **The First Night:** We honor Del’s custom without hesitation. Any peaceful traveler arriving at our landing will receive a dry place to sleep for their first night, warmth by the hearth, and a guest meal placed at the hearth's edge where host and guest see it together.\n* **The Morning After:** Ves and Ruan’s concerns are entirely valid—our stores cannot feed non-working visitors all winter. When morning comes, Del and Ves will speak our terms openly:\n  * Visitors are welcome to remain longer only if they consent to bounded, reciprocal contribution: basket mending, cordage twisting, roof or net repair, wood hauling, or fair trade of goods.\n  * If guests have neither skills to share nor desire to work, or if our shelter reaches maximum safe capacity, they will be given one day’s travel rations, fresh water, and sent on their way with blessings and respect.\n  * This rule is to be stated calmly and upfront, so no traveler feels misled or excluded in anger at our door.\n\n---\n\n### 4. Upland Scout to the Ford (Seli)\n\n* Seli will take a reliable companion and three days of dry rations for a quiet, careful reconnaissance west along the alder path toward the stream ford and upland meadow.\n* Her task is to observe the area where smoke was sighted and barley husks were found. She will look for tracks, camp remnants, or signs of traveling basket menders or upland folk.\n* **Rules of Engagement:** Seli is to observe from concealment first. If she identifies peaceful travelers (such as itinerant menders), she may make friendly contact, conveying that Ternhaven’s landing offers a warm hearth, shelter, and trade/repair work for those who come peacefully. If she encounters large numbers, armed parties, or suspicious signs, she will withdraw without revealing herself and report back immediately. She is not empowered to bind the village to formal alliances or treaties.\n\n---\n\n### 5. Personal Leadership and Integration\n\nThroughout this month, I will spend my hours working directly with the people: assisting Ruan and the sorting crew on the beach to understand our catch yields, helping Kiri evaluate our cordage and boat timbers, and reviewing the sacks of meal and dried fish with Ves. Working alongside them will anchor my leadership, familiarize me with the community's capabilities, and ensure our preparations for mid-autumn are executed with care and mutual trust.",
      "report": "### Month's Work and Accomplishments\n\nThroughout early autumn, village efforts focused on securing the landing, stores, and craft before heavier weather sets in.\n\n**Boats and the Mooring:** Both fishing boats were hauled safely above the high-water line on the inner beach between runs. During slack water, Kiri dove to inspect the outer mooring and discovered the rope chafing against a submerged stone edge, which had caused the float to jerk sharply. The snag was cleared, and the mooring was re-rigged with sound, tested cordage. With craft safeguarded from sudden ebb strains, Ruan's net crews fished the sheltered inner inlet safely, bringing in catches for sorting and preservation.\n\n**Infrastructure, Stores, and Hearth:** Work crews erected drying racks on the upper ledge, enabling split fish and roots to cure off the ground in the breeze without taking up space needed for sleeping mats. The leaky seam in the landing hall roof was re-thatched and pitched, sealing the hall against rot and damp ahead of mid-autumn rains. Split firewood was stacked and sheltered under lean-tos off the wet soil. Around the central hearth, Wen kept the fire tended and the wellhead clear, while the children suffering from seasonal coughs were kept warm and have now recovered. Ves reports that household stores of roots, meal, and dried fish remain well-managed.\n\n**Hospitality Rule:** An explicit village rule was established at the landing hearth with Del, Ves, and Ruan. Custom is honored on the first night: any arriving visitors will receive a dry shelter and a guest meal placed visibly at the edge of the hearth. On the second morning, the village's terms will be spoken plainly: guests may stay only if they contribute reciprocal labor—such as net mending, cordage twisting, or wood hauling—or else receive travel rations and depart peacefully.\n\n### Upland Reconnaissance\n\nSeli completed her three-day scouting journey along the alder path west to the stream ford and lower meadow. She confirmed that the trail remains fully passable in early autumn. Near the ford, she found fresh goat and pack tracks along the water's edge, and looking upward, she sighted dwellings perched on the high upland shelf. Adhering to instructions, she observed without making direct contact or revealing herself, then withdrew eastward to Ternhaven to report her findings.\n\n### Unresolved Pressures and Observations\n\n* **Upland Neighbors:** The fresh tracks and visible dwellings confirm that people and pack animals are active near the upper ford, but their numbers, disposition, and whether they are Del's traveling basket menders or another community remain unconfirmed.\n* **Changing Season:** The cool, intermittent rains of early autumn will soon transition into heavier mid-autumn downpours and stronger late-autumn winds. While roofs are sealed, wood sheltered, and drying racks filled, long-term winter stores will require continued management.\n* **Water and Travel:** While the inner mooring has held firm since being re-rigged, safe navigation remains bounded inside the hooked bar; open water surveys of the wider sound have not yet been attempted."
    }
  ]
}
