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 Industry That Did Not Arrive: Output Without Jobs
content/narratives/2026-08-10-the-industry-that-did-not-arrive
Bangladesh Bureau of Statistics: the text names it (publication_bindings: exact_name_en 'Bangladesh Bureau of Statistics', paragraph 38)
Ministry of Industries: the text names it (publication_bindings: exact_name_en 'Ministry of Industries', paragraph 38)
Ministry of Labour and Employment: the text names it (publication_bindings: exact_name_en 'Ministry of Labour and Employment', paragraph 38)
National Board of Revenue: the text names it (publication_bindings: exact_name_en 'National Board of Revenue', paragraph 38)
Narrative18 Manufacturing diversification
content/narratives/2026-09-06-bangladesh-2036-ch18-manufacturing-diversification
Bangladesh Bank: the text names it (publication_bindings: registry_acronym 'BB', paragraph 15)
Bangladesh Bureau of Statistics: the text names it (publication_bindings: registry_acronym 'BBS', paragraph 14)
Bangladesh Economic Zones Authority: the text names it (publication_bindings: registry_acronym 'BEZA', paragraph 12)
Bangladesh Export Processing Zones Authority: the text names it (publication_bindings: registry_acronym 'BEPZA', paragraph 9)
Bangladesh Investment Development Authority: the text names it (publication_bindings: registry_acronym 'BIDA', paragraph 23)
Bangladesh Jute Mills Corporation: the text names it (publication_bindings: exact_name_en 'Bangladesh Jute Mills Corporation', paragraph 23)
Bangladesh Trade and Tariff Commission: the text names it (publication_bindings: registry_acronym 'BTTC', paragraph 17)
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).
Export Promotion Bureau: the text names it (publication_bindings: exact_name_en 'Export Promotion Bureau', paragraph 17)
ICT Division: the text names it (publication_bindings: exact_name_en 'ICT Division', paragraph 13)
Ministry of Industries: the text names it (publication_bindings: exact_name_en 'Ministry of Industries', paragraph 57)
Narrative55 Startups, venture capital and innovation
content/narratives/2026-09-06-bangladesh-2036-ch55-startups-venture-innovation
Bangladesh Bank: the text names it (publication_bindings: registry_acronym 'BB', paragraph 10)
Bangladesh Investment Development Authority: the text names it (publication_bindings: registry_acronym 'BIDA', paragraph 19)
Bangladesh Securities and Exchange Commission: the text names it (publication_bindings: registry_acronym 'BSEC', paragraph 9)
ICT Division: the text names it (publication_bindings: exact_name_en 'ICT Division', paragraph 8)
Insurance Development and Regulatory Authority: the text names it (publication_bindings: registry_acronym 'IDRA', paragraph 24)
Ministry of Industries: the text names it (publication_bindings: exact_name_en 'Ministry of Industries', paragraph 55)
Ministry of Science and Technology: the text names it (publication_bindings: exact_name_en 'Ministry of Science and Technology', paragraph 7)
University Grants Commission of Bangladesh: the text names it (publication_bindings: registry_acronym 'UGC', paragraph 16)
Narrative57 Blue economy and the maritime domain
content/narratives/2026-09-06-bangladesh-2036-ch57-blue-economy-maritime
Bangladesh Petroleum Exploration and Production Company Limited: the text names it (publication_bindings: registry_acronym 'BAPEX', paragraph 13)
Bangladesh Shipping Corporation: the text names it (publication_bindings: exact_name_en 'Bangladesh Shipping Corporation', paragraph 10)
Department of Fisheries: the text names it (publication_bindings: registry_acronym 'DoF', paragraph 6)
Energy and Mineral Resources Division: the text names it (publication_bindings: exact_name_en 'Energy and Mineral Resources Division', paragraph 27)
Finance Division: the text names it (publication_bindings: exact_name_en 'Finance Division', paragraph 58)
Legislative and Parliamentary Affairs Division: the text names it (publication_bindings: exact_name_en 'Legislative and Parliamentary Affairs Division', paragraph 49)
Ministry of Finance: the text names it (publication_bindings: registry_acronym 'MoF', paragraph 11)
Ministry of Industries: the text names it (publication_bindings: exact_name_en 'Ministry of Industries', paragraph 15)
Ministry of Shipping: the text names it (publication_bindings: exact_name_en 'Ministry of Shipping', paragraph 30)
Petrobangla: the text names it (publication_bindings: exact_name_en 'Petrobangla', paragraph 13)