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.
4 items.
NarrativeThe Boeing Bill
content/narratives/2026-04-30-biman-boeing-bill
Anti-Corruption Commission: the text names it (publication_bindings: exact_name_en 'Anti-Corruption Commission', paragraph 60)
Bangladesh Petroleum Corporation: the text names it (publication_bindings: exact_name_en 'Bangladesh Petroleum Corporation', paragraph 86)
Bangladesh Sangbad Sangstha: the text names it (publication_bindings: registry_acronym 'BSS', paragraph 89)
Biman Bangladesh Airlines: the text names it (publication_bindings: registry_acronym 'Biman', paragraph 2)
Civil Aviation Authority of Bangladesh: the text names it (publication_bindings: exact_name_en 'Civil Aviation Authority of Bangladesh', paragraph 53)
Ministry of Finance: the text names it (publication_bindings: exact_name_en 'Ministry of Finance', paragraph 89)
NarrativeThe Haat That Eats the Farmer
content/narratives/2026-05-27-haat-eats-farmer
Agency to Innovate (a2i): the text names it (publication_bindings: registry_acronym 'a2i', paragraph 30)
Bangladesh Bank: the text names it (publication_bindings: exact_name_en 'Bangladesh Bank', paragraph 30)
Bangladesh Sangbad Sangstha: the text names it (publication_bindings: registry_acronym 'BSS', paragraph 49)
Chittagong Veterinary and Animal Sciences University: the text names it (publication_bindings: exact_name_en 'Chittagong Veterinary and Animal Sciences University', paragraph 28)
Department of Livestock Services: the text names it (publication_bindings: exact_name_en 'Department of Livestock Services', paragraph 4)
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).
Dhaka North City Corporation: the text names it (publication_bindings: exact_name_en 'Dhaka North City Corporation', paragraph 30)
ICT Division: the text names it (publication_bindings: exact_name_en 'ICT Division', paragraph 30)
Narrativeযে হাট কৃষককে খায়
content/narratives/2026-05-27-haat-eats-farmer-bn
Agency to Innovate (a2i): the text names it (publication_bindings: registry_acronym 'a2i', paragraph 31)
Bangladesh Bank: the text names it (publication_bindings: exact_name_bn+bn_case_suffix 'বাংলাদেশ ব্যাংক', paragraph 31)
Bangladesh Sangbad Sangstha: the text names it (publication_bindings: registry_acronym 'BSS', paragraph 50)
Department of Livestock Services: the text names it (publication_bindings: exact_name_bn 'প্রাণিসম্পদ অধিদপ্তর', paragraph 5)
NarrativeBangladesh 2036: The Decade That Decides
content/narratives/2026-09-06-bangladesh-2036
Bangladesh Bank: series_source+text_binding (series bb_npl_ratio: data_series.source 'bangladesh_bank' names 'bangladesh bank'; 1 more)
Bangladesh Bureau of Educational Information and Statistics: the text names it (publication_bindings: registry_acronym 'BANBEIS', paragraph 44)
Bangladesh Bureau of Statistics: series_source+text_binding (series bbs_gdp_real_growth_rate_pct: data_series.source 'BBS' names 'BBS'; 3 more)
Bangladesh Power Development Board: series_source+text_binding (series bpdb_installed_capacity_mw: data_series.source 'BPDB' names 'BPDB'; 2 more)
Bangladesh Sangbad Sangstha: the text names it (publication_bindings: exact_name_en 'Bangladesh Sangbad Sangstha', paragraph 44)
Bangladesh Telecommunication Regulatory Commission: the text names it (publication_bindings: registry_acronym 'BTRC', paragraph 44)
Bangladesh Water Development Board: series_source+text_binding (series bwdb_flood_affected_pct: data_series.source 'BWDB/BBS' names 'BWDB'; 1 more)
Bureau of Manpower, Employment and Training: the text names it (publication_bindings: registry_acronym 'BMET', paragraph 44)
Department of Youth Development: the text names it (publication_bindings: exact_name_en 'Department of Youth Development', paragraph 45)
Economic Relations Division: the text names it (publication_bindings: registry_acronym 'ERD', paragraph 44)
Export Promotion Bureau: a data series it reads comes from this body (series rmg_export_share_national_pct: data_series.source 'BGMEA / EPB / BBS' names 'EPB')
Finance Division: the text names it (publication_bindings: exact_name_en 'Finance Division', paragraph 9)
Hydrocarbon Unit: a data series it reads comes from this body (series petrobangla_cumulative_gas_production_bcf: data_series.source 'Petrobangla Annual Report 2024 / Hydrocarbon Unit' names 'Hydrocarbon Unit'; 2 more)
ICT Division: the text names it (publication_bindings: exact_name_en 'ICT Division', paragraph 44)
Ministry of Finance: the text names it (publication_bindings: registry_acronym 'MoF', paragraph 44)
National Economic Council: the text names it (publication_bindings: registry_acronym 'NEC', paragraph 44)
North-West Power Generation Company Limited: the text names it (publication_bindings: registry_acronym 'NWPGCL', paragraph 44)
Petrobangla: the text names it (publication_bindings: exact_name_en 'Petrobangla', paragraph 13)
Power Division: the text names it (publication_bindings: exact_name_en 'Power Division', paragraph 44)