BDPolicyLab analysis in the twin. Part of what the twin can answer. Every figure below is the value the route serves, with its source; the raw response is at /api/twin/absorb/products.
Descriptive, sourced: no model
Basis: BPL products linked to Body or Place by exact name; counts of items, no model.
8 items.
NarrativeBangladesh is Eroding
content/narratives/2026-03-22-bangladesh-eroding
Bangladesh Bureau of Statistics: the text names it (publication_bindings: exact_name_en 'Bangladesh Bureau of Statistics', paragraph 44)
Bangladesh Meteorological Department: the text names it (publication_bindings: exact_name_en 'Bangladesh Meteorological Department', paragraph 39)
Department of Agricultural Extension: the text names it (publication_bindings: exact_name_en 'Department of Agricultural Extension', paragraph 40)
General Economics Division: the text names it (publication_bindings: exact_name_en 'General Economics Division', paragraph 37)
Ministry of Housing and Public Works: the text names it (publication_bindings: exact_name_en 'Ministry of Housing and Public Works', paragraph 38)
Ministry of Water Resources: the text names it (publication_bindings: exact_name_en 'Ministry of Water Resources', paragraph 39)
NarrativeAfter Repatriation Died
content/narratives/2026-05-03-rohingya-permanent-camp
Bangladesh Institute of Development Studies: the text names it (publication_bindings: registry_acronym 'BIDS', paragraph 32)
Bangladesh Meteorological Department: the text names it (publication_bindings: exact_name_en 'Bangladesh Meteorological Department', paragraph 81)
Department of Public Health Engineering: the text names it (publication_bindings: registry_acronym 'DPHE', paragraph 36)
Executive Committee of the National Economic Council: the text names it (publication_bindings: registry_acronym 'ECNEC', paragraph 39)
NGO Affairs Bureau: the text names it (publication_bindings: exact_name_en 'NGO Affairs Bureau', paragraph 45)
72 analyzer modules, each run once offline into a pinned snapshot built 2026-10-02T07:21:38Z; results are not validated.
Kinds: `pub_module` (app/publications/pubs), `publication` (the publication store, app.publications in data/app.duckdb), `narrative` (content/narratives), `story` (the stories table in bdpolicy.db) and `analyzer` (app/analysis). Each item links to Body or Place objects only where a name matches exactly, and every link says how (`via`): - `tag`: a frontmatter or store tag, hyphens and underscores read as spaces, equals the full name_en of a national Body or the title_en of a division or district Place (case-insensitive, whole string). Acronyms and lower tiers are not matched from tags: tag `sob` means state-owned banks in a banking narrative, not Survey of Bangladesh (SoB), and a field office named "Forest" or a union named "Benapole" is a homonym of the topic. Product (DGDA medicine brands) is not matched: brands include common words (Energy, Macro, Forest). - `text_binding`: a narrative's text names the Body by its exact registry name, as bound by scripts/build_publication_bindings.py (publication_bindings.parquet, the file /api/twin/entity/{id}/evidence serves); reused here, not re-derived. - `series_source`: the item reads a series (its analyzers' required_series, or a series name printed in its own code) whose `data_series.source` names a Body. The source is compared whole, split on " / ", and with one trailing parenthetical taken as an alternative name, each part compared whole against Body name_en or acronym. A key matching more than one object is ambiguous and dropped, never resolved by guess. The index is built lazily on first use and cached; nothing here writes. Lane BRN7B: nothing here reads bdpolicy.db or runs an analyzer at request time. The series-to-source map, the stories and every analyzer's stored answer come from two manifest-pinned parquets (bpl_series_source, bpl_analyzer_snapshot; root lake_bpl_absorb) that scripts/twin_bpl_absorb/build_analyzer_snapshot.py builds offline. A missing file, or one whose sha256 is not its pin, raises SnapshotUnavailable (the routes answer 503).
NarrativeThe Agromet Gap
content/narratives/2026-05-09-bd-agromet-gap
Bangladesh Agricultural Research Council: the text names it (publication_bindings: registry_acronym 'BARC', paragraph 10)
Bangladesh Agricultural Research Institute: the text names it (publication_bindings: registry_acronym 'BARI', paragraph 15)
Bangladesh Bureau of Statistics: the text names it (publication_bindings: registry_acronym 'BBS', paragraph 25)
Bangladesh Meteorological Department: the text names it (publication_bindings: registry_acronym 'BMD', paragraph 10)
Bangladesh Rice Research Institute: the text names it (publication_bindings: registry_acronym 'BRRI', paragraph 15)
Bangladesh Water Development Board: the text names it (publication_bindings: exact_name_en 'Bangladesh Water Development Board', paragraph 10)
Department of Agricultural Extension: the text names it (publication_bindings: registry_acronym 'DAE', paragraph 15)
Narrativeহাওর থেকে আমবাগান: যে পূর্বাভাস কৃষকের কাছে পৌঁছায় না
content/narratives/2026-05-09-bd-agromet-gap-bn
Bangladesh Agricultural Research Council: the text names it (publication_bindings: registry_acronym 'BARC', paragraph 12)
Bangladesh Agricultural Research Institute: the text names it (publication_bindings: registry_acronym 'BARI', paragraph 18)
Bangladesh Bureau of Statistics: the text names it (publication_bindings: registry_acronym 'BBS', paragraph 28)
Bangladesh Meteorological Department: the text names it (publication_bindings: exact_name_bn+bn_case_suffix 'বাংলাদেশ আবহাওয়া অধিদপ্তর', paragraph 40)
Bangladesh Rice Research Institute: the text names it (publication_bindings: registry_acronym 'BRRI', paragraph 18)
Bangladesh Water Development Board: the text names it (publication_bindings: registry_acronym 'BWDB', paragraph 5)
Ministry of Agriculture: the text names it (publication_bindings: exact_name_bn+bn_case_suffix 'কৃষি মন্ত্রণালয়', paragraph 24)
Ministry of Defence: the text names it (publication_bindings: exact_name_bn+bn_case_suffix 'প্রতিরক্ষা মন্ত্রণালয়', paragraph 24)
NarrativeWhere the Salt Is
content/narratives/2026-05-16-where-salt-is
Bangladesh Meteorological Department: the text names it (publication_bindings: exact_name_en 'Bangladesh Meteorological Department', paragraph 10)
Bangladesh Rice Research Institute: the text names it (publication_bindings: exact_name_en 'Bangladesh Rice Research Institute', paragraph 3)
Bangladesh Water Development Board: the text names it (publication_bindings: exact_name_en 'Bangladesh Water Development Board', paragraph 23)
Department of Agricultural Extension: the text names it (publication_bindings: exact_name_en 'Department of Agricultural Extension', paragraph 23)
Department of Environment: the text names it (publication_bindings: exact_name_en 'Department of Environment', paragraph 46)
Local Government Engineering Department: the text names it (publication_bindings: exact_name_en 'Local Government Engineering Department', paragraph 23)
Ministry of Disaster Management and Relief: the text names it (publication_bindings: exact_name_en 'Ministry of Disaster Management and Relief', paragraph 23)
Ministry of Environment, Forest and Climate Change: the text names it (publication_bindings: exact_name_en 'Ministry of Environment, Forest and Climate Change', paragraph 23)
Narrativeযেখানে লোনা এসেছে
content/narratives/2026-05-16-where-salt-is-bn
Bangladesh Meteorological Department: the text names it (publication_bindings: exact_name_bn+bn_case_suffix 'বাংলাদেশ আবহাওয়া অধিদপ্তর', paragraph 8)
Bangladesh Rice Research Institute: the text names it (publication_bindings: registry_acronym 'BRRI', paragraph 3)
Bangladesh Water Development Board: the text names it (publication_bindings: exact_name_bn 'বাংলাদেশ পানি উন্নয়ন বোর্ড', paragraph 21)
Department of Agricultural Extension: the text names it (publication_bindings: exact_name_bn+bn_case_suffix 'কৃষি সম্প্রসারণ অধিদপ্তর', paragraph 3)
Local Government Engineering Department: the text names it (publication_bindings: exact_name_bn 'স্থানীয় সরকার প্রকৌশল অধিদপ্তর', paragraph 21)
Ministry of Disaster Management and Relief: the text names it (publication_bindings: exact_name_bn 'দুর্যোগ ব্যবস্থাপনা ও ত্রাণ মন্ত্রণালয়', paragraph 21)
Ministry of Environment, Forest and Climate Change: the text names it (publication_bindings: exact_name_bn 'পরিবেশ, বন ও জলবায়ু পরিবর্তন মন্ত্রণালয়', paragraph 21)
Prime Minister's Office: the text names it (publication_bindings: exact_name_bn+bn_case_suffix 'প্রধানমন্ত্রীর কার্যালয়', paragraph 23)
NarrativeThe Heat Map Bangladesh Needs
content/narratives/2026-08-23-heat-map-bangladesh-needs
Bangladesh Meteorological Department: the text names it (publication_bindings: exact_name_en 'Bangladesh Meteorological Department', paragraph 31)
Narrative29 Coastal zone and disaster risk
content/narratives/2026-09-06-bangladesh-2036-ch29-coastal-disaster-risk
Bangladesh Bureau of Statistics: the text names it (publication_bindings: registry_acronym 'BBS', paragraph 8)
Bangladesh Meteorological Department: the text names it (publication_bindings: exact_name_en 'Bangladesh Meteorological Department', paragraph 21)
Bangladesh Parjatan Corporation: the text names it (publication_bindings: exact_name_en 'Bangladesh Parjatan Corporation', paragraph 54)
Bangladesh Planning Commission: the text names it (publication_bindings: exact_name_en 'Bangladesh Planning Commission', paragraph 58)
Bangladesh Small and Cottage Industries Corporation: the text names it (publication_bindings: registry_acronym 'BSCIC', paragraph 11)
Bangladesh Water Development Board: the text names it (publication_bindings: registry_acronym 'BWDB', paragraph 7)
Department of Disaster Management: the text names it (publication_bindings: registry_acronym 'DDM', paragraph 24)
Department of Fisheries: the text names it (publication_bindings: registry_acronym 'DoF', paragraph 10)
Export Promotion Bureau: the text names it (publication_bindings: registry_acronym 'EPB', paragraph 10)
Forest Department: the text names it (publication_bindings: exact_name_en 'Forest Department', paragraph 11)
General Economics Division: the text names it (publication_bindings: registry_acronym 'GED', paragraph 22)
Insurance Development and Regulatory Authority: the text names it (publication_bindings: registry_acronym 'IDRA', paragraph 18)
Ministry of Disaster Management and Relief: the text names it (publication_bindings: exact_name_en 'Ministry of Disaster Management and Relief', paragraph 23)
Ministry of Finance: the text names it (publication_bindings: registry_acronym 'MoF', paragraph 53)
Ministry of Fisheries and Livestock: the text names it (publication_bindings: exact_name_en 'Ministry of Fisheries and Livestock', paragraph 51)
Ministry of Water Resources: the text names it (publication_bindings: exact_name_en 'Ministry of Water Resources', paragraph 23)
National Economic Council: the text names it (publication_bindings: exact_name_en 'National Economic Council', paragraph 18)
Soil Resources Development Institute: the text names it (publication_bindings: registry_acronym 'SRDI', paragraph 48)