Remaining Tasks — CVCE / Option A / Model Brief
Remaining Tasks — CVCE / Option A / Model Brief
Last updated: 2026-06-25
Tracking the four-task roadmap (Option A porting → PDF pipeline → EV PC data → gap-analysis brief).
✅ Task 1 — Port remaining visual panels into Option A prototype — DONE
All 9 atlas visuals now render from per-case data (no per-file HTML).
- Ported
trade_map,activity_map,sankey,tech_treeinto the prototype. scripts/proto/build_datadriven_proto.R: addedfirmsper case (S&P) + per-tech side-files_tech_<Tech>.json(country-independent tree + sankey).analysis/_proto_datadriven/panel.html: topojson +ISO3N+ 4 new cards/draw fns.- Full regen: 253 case files + 11 tech side-files, 15 MB. All-158 projection ≈ 85 MB / 3.2 min.
✅ Task 2 — PDF rendering (landscape slides) — DONE (polish pending)
Root cause of the old broken PDF: iframes loaded/drew async → print fired before they settled (“Loading…” + distorted). Fixed by rendering each slide from Option A data synchronously.
- New
analysis/_proto_datadriven/viz.js— shared, selector-parameterized rendering core (9 visualshighlights()auto-bullets).
- New
analysis/_proto_datadriven/report.html— landscape slide deck: ToC left · visual · bullets below,@page landscape, one slide per page. PDF validated end-to-end (9/9 pages render).
Polish backlog
- Treemap / tech-tree labels clip at panel edges (e.g. “STREAM” ← UPSTREAM, “Solar Glass; E”).
- Visual selection is URL-param only (
?vis=radar,map,…) — add toolbar checkboxes. - Theme: currently light page + dark figures — decide on one direction.
- Wire
report_builder.html“Save as PDF” →report.htmlfor the current selection (closes the loop between the interactive composer and the print pipeline). - Bullets are auto-generated → later become the analyst’s editable narrative (IR’s reserved text strip).
- Dedupe
panel.htmlontoviz.js(currentlypanel.htmlkeeps its own copy of the draw fns).
⛔ Task 3 — Add EV PC data — BLOCKED (awaiting data)
EVs aren’t in the PC ML dataset, so the EV radar + PC scatter render blank.
- The EV model exists (
RCA EV Analysis.ipynb, RandomForest + SHAP) but its outputs were not shipped —RCA Construction/EV/is an empty folder inML_vars.zip. Seemodel_data_inventory.md. - Action: request the 3 CSVs the notebook writes to
RCA Construction/EV/from Ishana/Alon:ev_rca_by_category_year.csv→ radar axis (pc_rca)predicted_compby country-year → PC scores (pc_scores)shap_df/shap_by_cat(per-HS6 SHAP) →pc_features
- Once received: slot into
data/pc/*for EVs, rebuild radar + scatter (incl. Option A regen).
🟢 Task 4 — Gap-analysis handbook (“Model Implications”) — v1 DRAFT DONE
Handbook for SHAP–RCA gap analysis, written as a manual (per user’s notes), one worked example per WP-4 cell.
- Output:
qmd/report/model_implications_handbook.qmd→ renders HTML + PDF + DOCX (docx = the Google Docs target). “Reading the Capability Map.” - Decisions locked: audience = one source serving internal + public; format = QMD → HTML/PDF, then docx for Google Docs.
- Framework: the WP-4 7-cell grid (SHAP level × RCA level) at two zooms — radar (category) and PC scatter (product). Live R classification from
pc_features.csv+pc_rca.parquet(ref year 2024). - Worked cells (verified): Leverage→Brazil·Biofuel (product) · Build-up→Canada·Batteries · Critical gap→India·Solar · Mature→Canada·Nuclear · Gap→India·Solar·Electronics · Bonus→Brazil·Heat Pumps · Not-priority→India·Solar·Ind.Materials. Full India·Solar diagnostic plot in §5.
Follow-ups
- Product-level scatter examples are currently narrative (e.g. Brazil ethanol “leverage”) — back them with actual HS6 product-RCA × SHAP data from the scatter pipeline.
- Fold in Alon & Ishana’s optimization tool (LLF sensitivity / RCA-impact-by-category) as a forward-looking section (“from gaps to investment sizing”).
- Team review pass (Bentley/Tim/Alon/Ishana), then public-polish from the same source.
- Optional: NZIPL brand styling (dark-green theme, logo) for the public version.
