{
  "fixture": true,
  "packet_type": "bounded-model-input",
  "question": "What needs decision before the 9:30 project planning session?",
  "as_of": "2026-08-07T09:00:00Z",
  "contract_ref": "query-packet.json",
  "sources": [
    {
      "id": "meeting-context",
      "title": "Planning context",
      "page_ref": "pages/meeting-context.md",
      "raw_ref": "raw/planning-session-2026-08-07.md",
      "raw_sha256": "c5c2a0c6fbfd63758875e6a9377329cdaafb486d1d84d1a088cf02f9603a40ca",
      "updated": "2026-08-07",
      "hop": 0,
      "evidence_class": "meeting-context",
      "tags": ["recompose", "decision", "meeting"],
      "confidence": "medium",
      "contested": true,
      "excerpt": "Confirm the six-hour weather freshness boundary. Preserve source authority through read-only adapters. The route should remain stable while evidence refreshes; this conflicts with an earlier temporary-route note."
    },
    {
      "id": "source-sovereignty",
      "title": "Source sovereignty",
      "page_ref": "pages/source-sovereignty.md",
      "raw_ref": "raw/decision-record-004.md",
      "raw_sha256": "5b58b7d97559dfa6ffb7e8819ccc8095f8d48f19060cb55f4cb8369bb50dac45",
      "updated": "2026-08-06",
      "hop": 1,
      "evidence_class": "architecture",
      "tags": ["recompose", "decision", "architecture"],
      "confidence": "high",
      "contested": false,
      "excerpt": "Source systems remain authoritative. Recompose reads selected fields through bounded adapters and must not become an omnibus datastore."
    },
    {
      "id": "freshness-boundaries",
      "title": "Freshness boundaries",
      "page_ref": "pages/freshness-boundaries.md",
      "raw_ref": "raw/adapter-contract-weather.md",
      "raw_sha256": "4f7c7dd919b247d7c987b96ffa9d39e176538390d1627fbe400aa2fcb4b3b88e",
      "updated": "2026-08-07",
      "hop": 1,
      "evidence_class": "trust",
      "tags": ["recompose", "decision", "trust"],
      "confidence": "high",
      "contested": false,
      "excerpt": "Weather evidence is usable for six hours. Once stale, the adapter withholds last-known values until fresh evidence arrives."
    },
    {
      "id": "route-lifecycle",
      "title": "Route lifecycle",
      "page_ref": "pages/route-lifecycle.md",
      "raw_ref": "raw/design-note-route-lifecycle.md",
      "raw_sha256": "0c69c4d01ce6be734c683abb6f3ca10996c0b4207f0c4cce55d292a149ecad41",
      "updated": "2026-08-07",
      "hop": 1,
      "evidence_class": "architecture",
      "tags": ["recompose", "decision", "architecture"],
      "confidence": "medium",
      "contested": true,
      "excerpt": "An earlier design note calls the composed route temporary and disposable after its immediate horizon."
    }
  ],
  "claim_map": [
    {
      "claim_id": "freshness-decision",
      "disposition": "usable",
      "source_ids": ["freshness-boundaries", "meeting-context"]
    },
    {
      "claim_id": "source-authority-decision",
      "disposition": "usable",
      "source_ids": ["source-sovereignty", "meeting-context"]
    },
    {
      "claim_id": "route-lifecycle",
      "disposition": "withhold-for-review",
      "source_ids": ["route-lifecycle", "meeting-context"]
    }
  ]
}
