Pipeline architecture · v0.5 · tracks schema v0.3.0

Rural NbS Scan — methodology & pipeline map

Four layers · seven modules + M2b disaster-risk addendum · the T0–T7 schema is the content/code contract · build & stress-test via the wireframe.
Alliance Bioversity International & CIAT
World Bank D591 · June 2026
Pilots: Sierra Leone (FSRP) · Agroforestry
01

Framework primitives — reusable mechanisms every downstream module calls into

5 mechanisms · reusable

Five reusable mechanisms, one schema-driven engine.

Standardisation, weighting, MCDA, the recipe template and the subpractice pattern are the framework primitives every module below reads. They are specified and reusable — the build now is wiring them to the schema and into the wireframe to construct and stress-test the method, not rebuilding the analytical engine. Some run back-end / technical and are not surfaced in the TTL view (tagged below); the TTL tool exposes the simpler controls.

P1 · STANDARDISATION
Membership-function library
Canonical set: trapezoidal · gaussian · linear ↑/↓ · sigmoid · threshold · piecewise. Single list shared by schema & wireframe.
P2 · WEIGHTING
Weighting engine
AHP → CRITIC + Entropy, α-reconciled, weight log per run. TTL view uses simple sliders.
Back-end · technical
P3 · MCDA
MCDA engine
Weighted overlay + classification (in the TTL view) · ±10% sensitivity is back-end. Shipped: src/nbs_ruralscan/runtime/mcda.py (CRITIC · Entropy · AHP · weighted_overlay · sensitivity_perturb · quartile_classify).
P4 · RECIPE
Recipe template
Per-NbS master variable table (def · relevance · normalisation · source).
P5 · SUBPRACTICE
Subpractice pattern
Within-NbS variants (in-situ · micro-catchment · ex-situ · terraces). Not yet surfaced in the wireframe.
Back-end · not in TTL view
02

Pipeline — 7 modules, left → right, the TTL-facing tool consumes in order

M0 → M6 · linear flow
M0
1 / 7
SETUP
Setup & Scope
AOI · NbS · resolution · scenario · ingestion check.
PPete
T0T1T7
M1
2 / 7
SPEC'D
Suitability → Opportunity Space
Fuzzy + MCDA → continuous suitability raster.
PPete
T1T4T7
M2
3 / 7
PARTIAL
Rural Climate Risk
Risk to rural livelihoods · H × E (×AC) · baseline + future. ↓ M2b branches off in parallel (asset risk).
BrBrayden
T1T2
M3
4 / 7
SPEC'D
Opp Space Characterisation
Assembles T5 priorities + descriptors · poverty · biodiversity · IPLC · production · pop · farm size. BIND-resolved per AOI. Spec v0.1.1.
PPete
T1T5
M4
5 / 7
SPEC'D
Priority Hotspots (MCDA)
User-weighted MCDA on T5 priorities (mcda_role=priority) within opp space. M2b applied as scope, never summed. Spec v0.1.1 · uses shipped mcda.py.
PPete
T5
M5
6 / 7
SPEC'D
NbS Scorecard & Response
Likert effects (T6 linked only to T5 priorities) · economic archetype + cost-effectiveness denominators · benefit profile. Spec v0.1.1.
PPete
T3T6
M6
7 / 7
SPEC'D
Implementation Hand-off
Next-step tools · context tailoring · feasibility & domain pointers · FPIC/ESS7 flag on IPLC overlap · country-endorsed source list (context_sensitivity=high). Spec v0.1.1.
PPete MMFL team
T0T6
↳ branches off M2
parallel lens
M2b
addendum
SPEC'D
Project Disaster-Risk Screen
Risk to the investment / asset · WB Climate & Disaster Risk Screening · baseline + future. Two streams at v0.3.0: A = asset hazard exposure (T2 × T3 asset_threat); B = operational/enabling levers (accessibility · tenure incl. IPLC+FPIC · conflict · governance · finance · market · labour). Filter / flag, never summed.
BrBrayden
T1T2T3T7
Evaluated within the M1 opportunity space → later exposed as a third scope on M4 Priority Hotspots. Two-risk distinction: M2 = risk to livelihoods (a need layer); M2b = risk to the investment (a feasibility filter).
QA / QC · all modules BBenson  dataset fitness sign-off · output validation · resolution audit.
Schema
T-chip key
T0NbS registry
T1Data registry
T2Climate risk
T3NbS × hazard × farming
T4Suitability mappings
T5Opportunity space
T6NbS scorecard
T7Geographic context
see ERD v0.3.0
03

Recipe layer — per-NbS content configuration · parameterises the pipeline via schema

4 recipes · 2 draft-0
DRAFT-0
WATER HARVESTING
Draft-0 T0–T7 tables in repo (CSV+JSON) — 27 vars × 6 themes × 5 subpractices. Pattern template for other NbS.
DRAFT-0
AGROFORESTRY
Draft-0 T0–T7 tables in repo (CSV+JSON); pilot NbS — needs full recipe write-up.
OPEN
+ FUTURE NbS
New rows in T0 + new T4 mappings — no code change required.
04

Runtime — method implementation · build & stress-test surface

no GEE compute · local Python + wireframe
BUILD
PYTHON METHOD PACKAGE
src/nbs_ruralscan/ (uv · ruff · ty) — schema_tools · recipe · runtime · ingest · data_loaders. Implements the primitives in Python (xarray · rioxarray · xee); reads T0–T7, never hardcoded. Data pulled into Python from the GEE catalog and other sources; GEE processing runs through xee.
BUILD · LEAD
WIREFRAME → METHOD HARNESS
Pete + Claude — we build the method into the v0.7 wireframe and stress-test it interactively. The primary working surface and WB-facing demonstrator. (Not contractual; GEE App dropped.)
BUILD
COLAB DELIVERABLE NOTEBOOK
Per-pilot — reproducible, the contracted hand-off to the WB technical team.
PHASE 3
PILOT × 2
Apply methodology to 2 LDC pilots — SSA + Asia (or per Dinara's offer).
CONTRACT
The schema (T0–T7) is the seam between content and code. Primitives power the pipeline; recipes parameterise it; runtime consumes recipes through the schema. Analytical rules read from the schema — never hardcoded. New NbS = new schema rows, not new code.

Variable selection — Ani's three principles, sub-step in M1 & M3

  • REDUCEThematic grouping (per recipe) + correlation cluster (per AOI). One representative per cluster enters MCDA.
  • SOURCEGEE catalog → community → upload; data pulled into Python. Fitness-for-purpose precedes platform.
  • EXPLAINEvery variable shipped as a Variable Card: What · Why · How to read · Cluster · Source · Interpretation.

Scope guardrails — for the World Bank deliverable

  • NOWBuild the method into the v0.7 wireframe & stress-test it · agroforestry F1 evidence sweep (18/23 papers) · M2b two-stream (asset hazard + operational levers) · Sierra Leone pilot scaffolding.
  • SOONForest restoration & ANR recipe · climate_risk.py implementation · T3/T6 bounded-corpus discovery sweeps · 2 pilot notebooks · biodiversity layer ratification.
  • LATERRicher scorecard · production hosting.
  • OUTEcosystem service modelling · full CBA · site-level feasibility · participatory weighting.
Status Done Partial Setup To scope
Owners Pete Benson (QA/QC) Namita Brayden MFL team (Sarah · Chris · Evert · Hannes)