Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
5417 commits
Select commit Hold shift + click to select a range
e4d88ff
chore: Update submodules (#6342)
datacommons-robot-author Jun 6, 2026
7cafe2c
chore: Update submodules (#6343)
datacommons-robot-author Jun 8, 2026
4c98e1f
[v0/v1 migration] Targeted translations (#6346)
nick-nlb Jun 8, 2026
318e06c
chore: Update submodules (#6348)
datacommons-robot-author Jun 9, 2026
c2501ba
chore: Update submodules (#6352)
datacommons-robot-author Jun 10, 2026
e6a6dcd
Delete run_experimental.sh (#6349)
juliawu Jun 10, 2026
8cffadf
Remove draw functions from datacommons JS library (#6350)
juliawu Jun 10, 2026
fddd02f
[v0/v1 migration] Fix bar chart facet selector test (#6351)
nick-nlb Jun 10, 2026
5eb5795
Remove IITM custom DC templates (#6354)
juliawu Jun 10, 2026
b01e2d3
[v0/v1 migration] Remove `v1` path and make `use_v2_api` flag obsolet…
nick-nlb Jun 11, 2026
e7dc244
chore: Update submodules (#6359)
datacommons-robot-author Jun 11, 2026
d69b850
update autopush and staging flags to use v2 resolve for detect-and-fu…
shixiao-coder Jun 11, 2026
d62e230
Fix missing contained child places in the place page (#6358)
nick-nlb Jun 11, 2026
9b26894
Temporarily disable ranking pages with HTTP 503 (#6353)
juliawu Jun 11, 2026
805b799
Set new ranking page flag to false (#6360)
juliawu Jun 11, 2026
8c0c047
chore(deps): Bump @grpc/grpc-js from 1.9.15 to 1.9.16 in /static (#6362)
dependabot[bot] Jun 11, 2026
aac48e9
chore(deps): Bump serialize-javascript from 6.0.2 to 7.0.5 (via audit…
dependabot[bot] Jun 11, 2026
547bd2a
chore(deps): Bump torch from 2.8.0 to 2.12.0 in /nl_server (#6357)
dependabot[bot] Jun 11, 2026
5c828e2
chore(deps): Bump torch from 2.8.0 to 2.12.0 (#6356)
dependabot[bot] Jun 11, 2026
a373f4a
chore: Update submodules (#6371)
datacommons-robot-author Jun 12, 2026
9bf5f35
Add command-line flag for headful webdriver testing mode (#6370)
nick-nlb Jun 12, 2026
9c06547
Revert "chore(deps): Bump serialize-javascript from 6.0.2 to 7.0.5 (v…
dwnoble Jun 12, 2026
44a756d
Update metadata fetches to use provenance id (#6369)
nick-nlb Jun 13, 2026
68fe34e
chore: Update submodules (#6375)
datacommons-robot-author Jun 13, 2026
828ac28
chore: Update submodules (#6376)
datacommons-robot-author Jun 15, 2026
36409ed
chore: Update submodules (#6379)
datacommons-robot-author Jun 16, 2026
f441045
chore(deps): Bump pyjwt from 2.12.1 to 2.13.0 in /server (#6378)
dependabot[bot] Jun 17, 2026
fbc94f2
chore: Update submodules (#6386)
datacommons-robot-author Jun 17, 2026
105c95b
Fix missing githashes on /version page (#6381)
juliawu Jun 17, 2026
407b4e1
[cdc-data] Skip GCS embeddings generation for DCP (#6389)
clincoln8 Jun 17, 2026
621be81
Fix incorrect website hash on /version page of Custom DC (#6390)
juliawu Jun 17, 2026
9946704
Stop releases of datacommons-data in Custom DC release pipeline (#6385)
juliawu Jun 17, 2026
0614049
Custom DC header layout fix (#6391)
nick-nlb Jun 17, 2026
d3fd6f1
Fix substitution parsing error in Cloud Build cdc-services config (#6…
clincoln8 Jun 17, 2026
151ecc7
chore: Update submodules (#6395)
datacommons-robot-author Jun 18, 2026
87249c8
Remove duplicate and unused feature flag nl_use_v2resolve (#6393)
clincoln8 Jun 18, 2026
4c36d8c
Disable NL server startup when RESOLVE_WITH_SPANNER_EMBEDDINGS is tru…
clincoln8 Jun 18, 2026
9531eae
chore: Update submodules (#6400)
datacommons-robot-author Jun 19, 2026
a157202
chore: Update submodules (#6403)
datacommons-robot-author Jun 20, 2026
1ed6ef0
Remove dependency on api/ranking in sitemap script (#6363)
juliawu Jun 22, 2026
2d88069
Remove dynamic enabling now obsolete `use_v2_api` feature flag. (#6396)
nick-nlb Jun 22, 2026
1436693
Integration test golden updates (#6405)
nick-nlb Jun 23, 2026
d7300ce
chore: Update submodules (#6406)
datacommons-robot-author Jun 23, 2026
de48cc0
chore: Update submodules (#6408)
datacommons-robot-author Jun 24, 2026
cc88cd0
Header z-index fix (#6407)
nick-nlb Jun 24, 2026
42d0593
chore: Update submodules (#6409)
datacommons-robot-author Jun 25, 2026
1ba1f9b
chore: Update submodules (#6412)
datacommons-robot-author Jun 26, 2026
82857a4
chore: Update submodules (#6413)
datacommons-robot-author Jun 27, 2026
4ac16c1
chore: Update submodules (#6414)
datacommons-robot-author Jun 29, 2026
8cf29a2
chore: Update submodules (#6417)
datacommons-robot-author Jun 30, 2026
e4a7764
chore: Update submodules (#6419)
datacommons-robot-author Jul 1, 2026
44532bd
chore: Update submodules (#6422)
datacommons-robot-author Jul 2, 2026
f9acbc5
Automated Integration Test Goldens Update from CI (#6418)
datacommons-robot-author Jul 2, 2026
b4e425c
chore: Update submodules (#6425)
datacommons-robot-author Jul 3, 2026
576fc32
fix: Update goldens for failing NL test (#6426)
SandeepTuniki Jul 3, 2026
e3db5ee
feat: Add Croissant JSON-LD metadata for Datasets (#6416)
dtulsyann Jul 3, 2026
6014514
chore: Update submodules (#6427)
datacommons-robot-author Jul 4, 2026
2d0809f
Add croissant feature flag configs for production, autopush and stagi…
dtulsyann Jul 6, 2026
f0463ed
chore: Update submodules (#6428)
datacommons-robot-author Jul 6, 2026
8983c87
update prod to use v2 resolve to detect variables as default option (…
shixiao-coder Jul 6, 2026
3c8a243
chore: Update submodules (#6430)
datacommons-robot-author Jul 7, 2026
d50cb5c
[DCP Ingestion] Cleanup run.sh to use the new script (#6429)
gmechali Jul 7, 2026
fbba15c
chore: Update submodules (#6433)
datacommons-robot-author Jul 8, 2026
227ce3d
Automated Integration Test Goldens Update from CI (#6434)
datacommons-robot-author Jul 9, 2026
e47ceab
Fractional diversion to spanner (#6432)
nick-nlb Jul 9, 2026
8ce99da
Enable redis for datcom-website-dev (#6435)
n-h-diaz Jul 9, 2026
f20d355
chore: Update submodules (#6436)
datacommons-robot-author Jul 9, 2026
d37c6b0
feat: Add extended metadata and validations (#6431)
dtulsyann Jul 9, 2026
66a32d3
chore: Update submodules (#6439)
datacommons-robot-author Jul 10, 2026
8d4d50b
Update NodeJS Goldens (#6437)
shixiao-coder Jul 10, 2026
a228ba7
Automated Integration Test Goldens Update from CI (#6438)
datacommons-robot-author Jul 10, 2026
f4f1684
Paginate descendent places (#6443)
nick-nlb Jul 10, 2026
b168d6d
chore: Update submodules (#6447)
datacommons-robot-author Jul 11, 2026
b772813
Automated Integration Test Goldens Update from CI (#6441)
datacommons-robot-author Jul 13, 2026
7308afe
chore: Update submodules (#6448)
datacommons-robot-author Jul 14, 2026
f253b72
Exclude Place from type ranking (#6450)
nick-nlb Jul 14, 2026
630273b
chore: Update submodules (#6452)
datacommons-robot-author Jul 14, 2026
b3d1d40
[DCP] Clean up cdc_data preprocessor image dependencies (#6449)
clincoln8 Jul 15, 2026
d3116c8
chore: Update submodules (#6453)
datacommons-robot-author Jul 15, 2026
66d5ab8
update v2 resolve feature flag for dev (#6454)
shixiao-coder Jul 15, 2026
6f669d4
Spanner cohort overrides (#6451)
nick-nlb Jul 15, 2026
a058912
Improve place page resilience when no provenance urls are given (#6456)
nick-nlb Jul 16, 2026
4dfd9f0
chore: Update submodules (#6457)
datacommons-robot-author Jul 16, 2026
daebc56
feat: Add Explore dataset link if json-ld data exists (#6458)
dtulsyann Jul 16, 2026
9a775d8
Forward cache bypass header from website to Mixer (#6440)
rohitkumarbhagat Jul 16, 2026
06413a5
chore: Update submodules (#6463)
datacommons-robot-author Jul 17, 2026
6bc34f1
[datacommons-services] Switch DCP feature flags to dcp.yaml and enabl…
clincoln8 Jul 17, 2026
9ca42ec
Update place matching expressions to account for change in place type…
nick-nlb Jul 17, 2026
58b1b4f
chore: Update submodules (#6464)
datacommons-robot-author Jul 17, 2026
e95c09c
Update multi-entity statvar embeddings with Statvars for OECD aid dis…
ajaits Jul 17, 2026
859b662
Download tool (#6411)
pablonoel Jul 17, 2026
b8dcade
Update webdriver tests for Spanner (#6469)
nick-nlb Jul 17, 2026
77b4753
chore: Update submodules (#6470)
datacommons-robot-author Jul 18, 2026
8c94241
Update facet matching logic to fallback to provenanceId (#6472)
nick-nlb Jul 21, 2026
11618bb
Prioritize specific Place types over place in ranking (#6473)
nick-nlb Jul 21, 2026
0169bc9
chore: Update submodules (#6475)
datacommons-robot-author Jul 21, 2026
df9030c
Fix place duplication (#6474)
nick-nlb Jul 21, 2026
217ae32
[v0/v1 migration] Remove use_v2_api feature flag from production conf…
nick-nlb Jul 21, 2026
bcadccd
[v0/v1 migration] Remove use_v2_api feature flag (#6404)
nick-nlb Jul 21, 2026
c6222f8
Update deployment configs (#6339)
juliawu Jul 21, 2026
9e7bc50
Update tests for Spanner (#6478)
nick-nlb Jul 21, 2026
443e3f2
Use paginated results for /provenance (#6477)
n-h-diaz Jul 21, 2026
a8c456d
Turn on autopush Spanner diversion (#6479)
nick-nlb Jul 22, 2026
811c926
chore: Update submodules (#6480)
datacommons-robot-author Jul 22, 2026
6996b6c
chore: Update submodules (#6486)
datacommons-robot-author Jul 22, 2026
6a48717
Automated Integration Test Goldens Update from CI (#6487)
datacommons-robot-author Jul 22, 2026
e2b9888
chore: Update submodules (#6491)
datacommons-robot-author Jul 23, 2026
816267b
chore: Update submodules (#6492)
datacommons-robot-author Jul 23, 2026
9481239
chore: Update submodules (#6494)
datacommons-robot-author Jul 23, 2026
0772b7e
[dcp] Set default SPANNER_SEARCH_CONFIG_PATH to dcp_default.yaml (#6496)
clincoln8 Jul 23, 2026
845f0ea
Mitigate graphql errors with smaller request (#6476)
beets Jul 23, 2026
768cf3e
Update divert to spanner in staging to 100% (#6488)
nick-nlb Jul 23, 2026
501b2fb
Run 5% spanner experiment on prod (#6500)
n-h-diaz Jul 23, 2026
02404e0
chore: Update submodules (#6501)
datacommons-robot-author Jul 23, 2026
390545b
Disable 5% spanner experiment (#6503)
n-h-diaz Jul 23, 2026
53207d2
[cdc_services] pass --host_project flag to mixer in run.sh (#6504)
clincoln8 Jul 23, 2026
430ff7f
Use env var for setting v2/resolve target param when resolver=indicat…
clincoln8 Jul 24, 2026
ff6cf03
chore: Update submodules (#6507)
datacommons-robot-author Jul 24, 2026
ba7604e
fix(build): remove latest tag from cloudbuild.push_image.yaml (#6505)
clincoln8 Jul 24, 2026
2383e40
[cdc_services] Set DC_AGENT_API_ROOT and DC_USE_AGENT_API defaults (#…
clincoln8 Jul 24, 2026
725e0ae
clean(cdc_services): remove obsolete env overrides in update_dcp_flag…
clincoln8 Jul 24, 2026
6e4e775
test golden rebase (#6498)
shixiao-coder Jul 25, 2026
eb74e4e
chore: Update submodules (#6511)
datacommons-robot-author Jul 25, 2026
2d21b28
chore: Update submodules (#6512)
datacommons-robot-author Jul 25, 2026
34732b2
Integration tests create override scaffolding (#6513)
nick-nlb Jul 25, 2026
e190c4b
[Feature Flags] Introduce flags to gate explore more functionality (#…
nick-nlb Jul 25, 2026
96b69d4
chore: Update submodules (#6516)
datacommons-robot-author Jul 26, 2026
3348bef
Proactively remove highlighted queries that need more work (#6514)
beets Jul 26, 2026
af82173
chore: Update submodules (#6518)
datacommons-robot-author Jul 26, 2026
f029ba9
Separate property value calls in triples fetch (#6519)
nick-nlb Jul 26, 2026
3a32343
chore: Update submodules (#6524)
datacommons-robot-author Jul 27, 2026
783c70f
[Feature Flags] Enable Spanner in local and dev (#6526)
nick-nlb Jul 27, 2026
2f81bc1
[Feature Flags] Turn on gated Spanner paths in production (#6527)
nick-nlb Jul 27, 2026
7890442
[Spanner] Set spanner diversion to 10% in production (#6528)
nick-nlb Jul 27, 2026
f140583
chore: Update submodules (#6532)
datacommons-robot-author Jul 28, 2026
4f05a47
[Spanner] Set spanner diversion to 50% in production (#6535)
nick-nlb Jul 28, 2026
a5e3279
chore: Update submodules (#6540)
datacommons-robot-author Jul 29, 2026
bd0404c
Add deployment script for Custom DC "stable" cloud run instance (#6537)
juliawu Jul 29, 2026
73b0baa
Golden updates (#6520)
nick-nlb Jul 29, 2026
c15cb5a
[v0/v1 migration] Remove deprecated ranking pages (#6536)
nick-nlb Jul 29, 2026
098537e
[feature-flags] Add PR warning annotations, oncaller CODEOWNERS, and …
beets Jul 29, 2026
4fe66fe
[Spanner] Set spanner diversion to 100% in production (#6541)
nick-nlb Jul 29, 2026
9e79a52
chore: Update submodules (#6545)
datacommons-robot-author Jul 30, 2026
9676300
Paginate fetch_places (#6544)
n-h-diaz Jul 30, 2026
b4eeaa6
Manually update mixer and import submodules to latest commits (#6550)
juliawu Jul 30, 2026
3beb5f3
add the feature flag use_config_threshold_for_spanner_embedding to ga…
shixiao-coder Jul 30, 2026
7982428
[v0/v1 migration] Remove biomed experiment (#6539)
nick-nlb Jul 30, 2026
2467dbb
add logic to read numerical value from config (#6533)
shixiao-coder Jul 30, 2026
7ded12e
[feature-flags] Update workflow to post to the PR comment thread dire…
beets Jul 30, 2026
cad852f
chore: Update submodules (#6553)
datacommons-robot-author Jul 31, 2026
94036eb
Show Spanner staleness timestamp on version page (#6546)
rohitkumarbhagat Jul 31, 2026
81065cf
Download tool preview and CSV data columns (#6542)
pablonoel Jul 31, 2026
3cbab51
chore: Update submodules (#6556)
datacommons-robot-author Aug 1, 2026
590c26e
chore: Update submodules (#6559)
datacommons-robot-author Aug 4, 2026
5163a18
chore: Update submodules (#6562)
datacommons-robot-author Aug 5, 2026
65bd866
Redo OECD sample to conform to new schema guidelines (#6502)
kmoscoe Aug 5, 2026
6d7f91f
Address zizmor security warnings and enforce least-privilege workflow…
beets Aug 5, 2026
1574ed3
chore: Update submodules (#6569)
datacommons-robot-author Aug 6, 2026
95c1b5b
chore: Update submodules (#6572)
datacommons-robot-author Aug 8, 2026
6eec193
remove unused enable_gemini_3_flash feature flag. (#6345)
shixiao-coder Aug 10, 2026
9aad2de
[oncall cleanup] Disable periodic Node.js query testing (#6567)
n-h-diaz Aug 10, 2026
d75e9f8
fix: add X-Api-Key to CORS allowed headers in nginx configuration (#6…
rohitkumarbhagat Aug 11, 2026
54b5924
chore: Update submodules (#6575)
datacommons-robot-author Aug 11, 2026
d60f8d6
update filter with dual vars and the test to reflect the actual test …
shixiao-coder Aug 11, 2026
2924b9d
[oncall] Fix Explore sanity test context sharing and remove unsupport…
n-h-diaz Aug 12, 2026
b4c6c61
modify the golden tests to adjust for 0.6 threshold (#6577)
shixiao-coder Aug 12, 2026
7a16f45
Update non prod feature flag to 0.6 threshold (#6571)
shixiao-coder Aug 12, 2026
dc388fa
Refine download CSV headers and preview UI (#6558)
pablonoel Aug 12, 2026
29be22a
[v0/v1 migration] Remove deprecated SDG topic generation tools (#6557)
nick-nlb Aug 12, 2026
18cffd3
chore: Update submodules (#6582)
datacommons-robot-author Aug 13, 2026
bc09753
update staging env to use 0.6 threshold for embeddings (#6580)
shixiao-coder Aug 14, 2026
a2ef44d
Update simulated typing to only update the query in the input (#6584)
nick-nlb Aug 14, 2026
768abc4
Update electrification demo test sequence and associated tests (#6585)
nick-nlb Aug 14, 2026
39604fa
chore: Update submodules (#6586)
datacommons-robot-author Aug 15, 2026
41a8e76
chore: Update submodules (#6591)
datacommons-robot-author Aug 18, 2026
3cee4a3
[CICD] Add token based remote (#6592)
gmechali Aug 18, 2026
7b80bbd
add the use_config_threshold_for_spanner_embedding feature flag to pr…
shixiao-coder Aug 18, 2026
c0bb5a1
remove the legacy feature flag of gemini 3 (#6579)
shixiao-coder Aug 18, 2026
a73e31f
Update redirects README to reflect current behavior. (#6593)
nick-nlb Aug 18, 2026
40a5185
chore: Update submodules (#6596)
datacommons-robot-author Aug 19, 2026
f86fa1d
bump threshold to 0.6 for production (#6594)
shixiao-coder Aug 19, 2026
f05ef84
update custom.json to default using 0.6 threshold for spanner embeddi…
shixiao-coder Aug 19, 2026
e33e4ee
chore: Update submodules (#6600)
datacommons-robot-author Aug 20, 2026
732bc9a
there's a new chart added for Goldens, seems to be data related chang…
shixiao-coder Aug 20, 2026
93b31d3
Set default for nodejsApiRoot (#6588)
n-h-diaz Aug 20, 2026
6fa4ed3
feat(nl): add dynamic graph fallback for un-cached topic and peer gro…
clincoln8 Aug 20, 2026
9977bc8
chore: Update submodules (#6602)
datacommons-robot-author Aug 21, 2026
9b48f34
chore: Update submodules (#6604)
datacommons-robot-author Aug 22, 2026
396984b
chore: Update submodules (#6605)
datacommons-robot-author Aug 23, 2026
65786bb
chore: Update submodules (#6607)
datacommons-robot-author Aug 26, 2026
42417b0
chore: Update submodules (#6609)
datacommons-robot-author Aug 27, 2026
4971e84
chore: Update submodules (#6611)
datacommons-robot-author Aug 28, 2026
0f7f795
chore: Update submodules (#6614)
datacommons-robot-author Aug 29, 2026
e972d07
docs: Update clearcache README with datcom-ci project (#6615)
rohitkumarbhagat Aug 31, 2026
0636563
chore: Update submodules (#6618)
datacommons-robot-author Sep 1, 2026
fdd50d9
Tune website container readiness probe parameters (#6624)
rohitkumarbhagat Sep 2, 2026
66c22db
fix: remove MIXER_HASH from website VERSION string (#6620)
beets Sep 2, 2026
315badc
chore: Update submodules (#6629)
datacommons-robot-author Sep 3, 2026
e894de4
Update gunicorn threads (#6626)
shixiao-coder Sep 3, 2026
6afb2f0
chore: Update submodules (#6632)
datacommons-robot-author Sep 4, 2026
1fab4b2
[cdc_services] disable --agent_default_expand_topics flag for mixer (…
clincoln8 Sep 4, 2026
224134a
fix(build): remove apt-get upgrade from nodejs_server Dockerfile (#6633)
clincoln8 Sep 4, 2026
50b4cbf
fix(build): update nodejs_server base image to node:18.20.8-bookworm-…
clincoln8 Sep 4, 2026
8b21946
chore: Update submodules (#6636)
datacommons-robot-author Sep 5, 2026
8fdb81e
chore: Update submodules (#6637)
datacommons-robot-author Sep 6, 2026
a973dcb
chore: Update submodules (#6639)
datacommons-robot-author Sep 8, 2026
28f31e5
chore: migrate gsutil usage to gcloud storage (#6638)
gurusai-voleti Sep 8, 2026
836440d
chore: Update submodules (#6641)
datacommons-robot-author Sep 9, 2026
56e0d65
Update name for base dc. (#6642)
beets Sep 9, 2026
1a8ed7d
chore: Update submodules (#6646)
datacommons-robot-author Sep 10, 2026
1215184
chore: Update submodules (#6650)
datacommons-robot-author Sep 11, 2026
cef8ca4
[cdc_services] allow overriding project_id for dev builds (#6649)
clincoln8 Sep 12, 2026
ae028e7
chore: Update submodules (#6651)
datacommons-robot-author Sep 12, 2026
a52b048
chore: Update submodules (#6653)
datacommons-robot-author Sep 15, 2026
f6d36b7
Automated Integration Test Goldens Update from CI (#6648)
datacommons-robot-author Sep 15, 2026
81a9542
Remove retired DataGemma evaluation tools and unused dependencies (#6…
beets Sep 15, 2026
8f7d50c
chore: Update submodules (#6654)
datacommons-robot-author Sep 16, 2026
345f29c
chore: Update submodules (#6656)
datacommons-robot-author Sep 17, 2026
27a41f4
chore: Update submodules (#6658)
datacommons-robot-author Sep 18, 2026
fd9801d
chore(build): remove legacy nl_server and PyTorch dependencies from c…
clincoln8 Sep 18, 2026
66fd68a
remove the CI/CD for NL server (#6660)
shixiao-coder Sep 18, 2026
e174088
Recover deleted CI (#6662)
shixiao-coder Sep 18, 2026
5ddb482
chore: Update submodules (#6663)
datacommons-robot-author Sep 19, 2026
e7942b0
chore: Update submodules (#6664)
datacommons-robot-author Sep 21, 2026
fbe7652
fix(frontend): remove provenance url from facet metadata enrichment p…
nick-nlb Sep 21, 2026
d55099a
Overhaul entities sample to use new schema guidelines (#6581)
kmoscoe Sep 22, 2026
da257e9
chore: Update submodules (#6665)
datacommons-robot-author Sep 23, 2026
d5996d2
This commit force reading cicd tag nl server images instead of from w…
shixiao-coder Sep 23, 2026
b933017
Remove nl root dependency (#6661)
shixiao-coder Sep 23, 2026
eeb7bb7
This PR update the deployment to remove the logic of when we set nl.e…
shixiao-coder Sep 23, 2026
a538aa7
[DCP]Update run.sh to support Redis in Mixer, and remove use_spanner_…
gmechali Sep 23, 2026
639b7ee
chore: Update submodules (#6671)
datacommons-robot-author Sep 24, 2026
72f88c0
[DCP Redis] Propagate the Redis password in the Flask API (#6670)
gmechali Sep 24, 2026
d7cd334
chore: Update submodules (#6674)
datacommons-robot-author Sep 25, 2026
2fb281b
Automated Integration Test Goldens Update from CI (#6657)
datacommons-robot-author Sep 25, 2026
12108c4
This commit remove the usage of embedding sidecar as well as remove t…
shixiao-coder Sep 25, 2026
8b7c66e
chore: Update submodules (#6675)
datacommons-robot-author Sep 25, 2026
4f27ec6
fix(frontend): group facet selector options by provenance id (#6678)
nick-nlb Sep 25, 2026
825fe66
[Preprocessor Security] Fix vulnerabilities in preprocessor image. (#…
gmechali Sep 25, 2026
aa990d4
update scripts for local development (#6677)
shixiao-coder Sep 25, 2026
2d4a510
fix(frontend): make the Stat Var Explorer resilient to the dropping o…
nick-nlb Sep 25, 2026
0e8e2f9
fix(frontend): fix race condition that causes the source URL (#6682)
nick-nlb Sep 26, 2026
5ec469d
chore: Update submodules (#6683)
datacommons-robot-author Sep 26, 2026
b606cc8
rebase Goldens (#6679)
shixiao-coder Sep 28, 2026
6581d05
fix(frontend): make time-slider legend bounds resilient to the droppi…
nick-nlb Sep 28, 2026
9852134
chore: Update submodules (#6686)
datacommons-robot-author Sep 29, 2026
50e4a77
chore: sync website v3.5.13 for Data Commons Platform 1.1.6
jm-rivera Oct 23, 2026
925ea01
chore: track Data Commons Platform releases in just sync
jm-rivera Oct 23, 2026
a75a9e8
fix: protect DFO paths in sync and give local runs the Spanner ids
jm-rivera Oct 23, 2026
ac82fe3
fix: keep upstream workflows out of syncs and correct stale references
jm-rivera Oct 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion .dfo-protected-paths
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,21 @@ build/cdc_services/Dockerfile
build/cdc_services/run.sh
build/cdc_services/nginx.conf

# Repo-level DFO files
# Repo-level DFO files. Every upstream-tracked file DFO modifies, adds, or
# deletes belongs here, or a conflict on it silently takes upstream's side.
justfile
.dockerignore
.gcloudignore
.dfo-protected-paths
.dfo-overridden-files
.gitattributes
.gitignore
README.md
package-lock.json
pyproject.toml
CONTRIBUTING-DFO.md
# Deleted in this fork; a conflict here means upstream changed it.
.github/CODEOWNERS

# CI/deploy workflows and deploy docs are DFO-owned even though they live
# under upstream-owned directories (.github/, deploy/); an upstream file
Expand Down
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import/simple/sample/
**/.data
**/testdata
**/test_data
import/simple/tests/

# ONE/DFO: exclude build artifacts from the Docker build context; keep source.
**/.next
Expand Down
9 changes: 2 additions & 7 deletions .gcloudignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,6 @@
# $ gcloud topic gcloudignore
#
.gcloudignore
# If you would like to upload your .git directory, .gitignore file or files
# from your .gitignore file, remove the corresponding line
# below:
.git
.gitignore
#!include:.gitignore
Expand All @@ -23,13 +20,11 @@
# Ignored by the build system
/setup.cfg

static/node_modules/
**/node_modules/

server/dist/

**/.venv/
**/.venv_website/
**/.venv_nl/
**/.venv*/

# ONE/DFO: exclude build artifacts from Cloud Build context; keep source.
# (.dockerignore above already propagates these via #!include, but listed explicitly for parity.)
Expand Down
2 changes: 1 addition & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Keep DFO-owned copies of upstream-tracked files across `git merge upstream/master`.
# `merge=ours` makes git keep our version and discard upstream's changes to these paths.
# The driver is registered per-clone by `just setup` (git config merge.ours.driver true);
# `just sync` and `just setup` register the driver per clone (git config merge.ours.driver true);
# without it git falls back to a normal 3-way merge.
README.md merge=ours
11 changes: 6 additions & 5 deletions .github/workflows/build-and-pin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -110,11 +110,12 @@ jobs:
fi

- name: Free disk space
# ubuntu-latest has ~14 GB usable, and this build pulls large NL
# model/embedding files, installs torch CPU wheels, and exports every
# intermediate layer via mode=max cache-to. Removing the runner's
# preinstalled Android SDK, .NET, and GHC toolchains buys back room
# without a third-party action.
# ubuntu-latest has ~14 GB usable. The build holds four stages at
# once (Go toolchain and module cache, the website's Python venv,
# and two Node installs with their builds) on top of the runtime
# base, and mode=max cache-to exports every intermediate layer.
# Removing the runner's preinstalled Android SDK, .NET, and GHC
# toolchains buys back room without a third-party action.
run: |
sudo rm -rf /usr/local/lib/android
sudo rm -rf /usr/share/dotnet
Expand Down
9 changes: 5 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,11 @@ name: CI
# tree before it builds.
#
# Does not build the Docker image. build/cdc_services/Dockerfile compiles
# the Go mixer, builds two Python venvs, and runs a Next.js production
# build across four stages -- several minutes even with cache, so it only
# runs on push to a deploy branch, in deploy-dev.yml and deploy-prod.yml,
# with a registry-backed cache to keep that path fast.
# the Go mixer, installs the website's Python venv, builds the website's
# static assets, and runs a Next.js production build, in four build stages
# -- several minutes even with cache, so it only runs on push to a deploy
# branch, in deploy-dev.yml and deploy-prod.yml, with a registry-backed
# cache to keep that path fast.

on:
pull_request:
Expand Down
32 changes: 18 additions & 14 deletions CONTRIBUTING-DFO.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ The DFO's Data Commons instance, meaning the mixer and the graph-serving layer u
Two kinds of code live here, and they behave differently.

- **Upstream code.** Everything outside `custom_dc/` tracks datacommonsorg/website and the `mixer` and `import` submodules. We take changes from upstream; we do not write them here.
- **ONE Data code.** Everything under `custom_dc/` is ours (for the DFO). `custom_dc/dfo/prototypes` is the frontend, and `custom_dc/api_server` holds a legacy copy of the Search API that stays until its removal PR lands. Upstream never touches these paths, so an upstream sync cannot conflict with work there.
- **ONE Data code.** Everything under `custom_dc/` is ours (for the DFO). `custom_dc/dfo/prototypes` is the frontend. Upstream never touches these paths, so an upstream sync cannot conflict with work there.

The repo builds one container image. A sibling repo, `infra`, deploys it to Cloud Run. This repo builds and pushes an image, and `infra` runs it.

Expand All @@ -25,8 +25,6 @@ feat/* ──► dev ──► main
dfo-dev dfo-prod
```

`customdc_stable` is not a tier. It mirrors upstream's stable release channel and serves as the reference point for `just sync`.

## Where your work goes

The loop is short.
Expand All @@ -44,34 +42,39 @@ The loop is short.

## Taking upstream changes

Upstream sync is a step on `dev`, not a separate long-lived branch.
`dev` tracks Data Commons Platform (DCP) releases. `infra` pins a DCP version as `dcp_version` in `infra/stacks/dcp/variables.tf`, and `dev` carries the website and mixer that release was built from. A sync is a merge of that website commit into `dev`, so `dev` shares history with datacommonsorg/website.

```sh
git checkout dev
git fetch upstream
just sync # shows what changed since the last sync
git merge upstream/master
git submodule update --init --recursive
just sync 1.1.6 # merge the website commit DCP 1.1.6 was built from
```

Merging upstream's website also moves the `mixer` and `import` submodule pointers, because upstream pins them. **Website and submodules must move together.**
`just sync` stops on conflicts. `just sync-resolve` takes upstream's side for every path outside `.dfo-protected-paths` and leaves the protected ones for you. After resolving those, `git add` them and run `just sync-finish`. `just sync-abort` drops the merge. Once committed, the recipe checks out the submodules and runs `just check-overrides`, which lists the seam files in `.dfo-overridden-files` that upstream changed across the sync.

### Matching a Data Commons Platform release

`infra` pins a DCP version (`1.1.x`) for the Terraform stack, and the image this repo builds has to match it. A website tag alone will not tell you which mixer that release runs. Google builds the release image from a website tag plus a mixer commit that runs ahead of what the tag pins. DCP 1.1.2 was built from website `v3.5.7` with mixer `79627f8`, while `v3.5.7` itself pins mixer `051d8ff`.
The website and mixer move as a pair, and the pairing comes from the release image. Each image `gcr.io/datcom-ci/datacommons-services:<version>` records its source commits as the `WEBSITE_HASH` and `MIXER_HASH` build args. A website tag pins one mixer, and Google can build a release with a newer one. DCP 1.1.2 was built from website `v3.5.7` with mixer `79627f8`, while `v3.5.7` pins mixer `051d8ff`.

`just dcp-pair <version>` prints the pairing:

```sh
$ just dcp-pair 1.1.6
website=9852134
mixer=8118587
```

That mapping exists only inside the published image, as build args:
It reads the image config from the registry, the same as:

```sh
CFG=$(curl -s -H "Accept: application/vnd.docker.distribution.manifest.v2+json" \
https://gcr.io/v2/datcom-ci/datacommons-services/manifests/1.1.2 | jq -r .config.digest)
https://gcr.io/v2/datcom-ci/datacommons-services/manifests/1.1.6 | jq -r .config.digest)
curl -sL https://gcr.io/v2/datcom-ci/datacommons-services/blobs/$CFG \
| jq '.config.Env[] | select(contains("HASH"))'
```

To move to a new DCP release, read `WEBSITE_HASH` and `MIXER_HASH` off that release's image, merge the website commit, then set the `mixer` pointer to `MIXER_HASH`. Taking the mixer the website tag carries instead builds a pairing Google never tested against that release's Terraform stack.
`just sync` merges `WEBSITE_HASH`, sets the `mixer` pointer to `MIXER_HASH`, and sets the `import` pointer to the one the website commit pins. It fails if the image or either build arg is missing. Taking the mixer the website tag carries builds a pairing Google never tested against that release's Terraform stack.

`.github/workflows/codeql-analysis.yml`, `dependabot-approval.yml`, and `submodule-update.yml` are deleted in this fork. All three guard their jobs on `github.repository == 'datacommonsorg/website'`, so they never run here. Upstream re-adds them on every sync that touches them. Keep them deleted rather than resolving the conflict toward upstream's version.
`.github/workflows/` is DFO-owned. A workflow file upstream adds there would run on the fork, so a sync takes nothing from upstream under that directory. `just sync` and `just sync-finish` reset it to the pre-merge version and list every file upstream added, changed, or deleted there. Port one by hand in its own PR if the fork needs it. Upstream's `codeql-analysis.yml`, `dependabot-approval.yml`, and `submodule-update.yml` stay deleted this way.

## Releasing to production

Expand Down Expand Up @@ -109,5 +112,6 @@ always reproducible from a committed sha.

- **Commits** follow [Conventional Commits](https://www.conventionalcommits.org): `feat:`, `fix:`, `chore:`, and so on.
- **PRs target `dev`.** Only the release step writes to `main`.
- **PRs into `dev` land as merge commits.** The `dev` ruleset allows only merges. A sync commit's second parent is the upstream website commit, and that parent is what keeps the fork's history shared with datacommonsorg/website. A squash or rebase drops it, and the next sync merges from an older base and replays upstream changes the fork already has as conflicts.
- **Delete merged branches.** Feature branches are short-lived.
- **Keep internal notes out of the repo.** Design docs, plans, and audits stay local. This guide and real reference docs are the exception.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ New here? Read [CONTRIBUTING-DFO.md](./CONTRIBUTING-DFO.md) before opening a bra

## Layout

- **`custom_dc/`** is ONE Data's DFO code. `custom_dc/dfo/prototypes` is the frontend, and `custom_dc/api_server` holds a legacy copy of the Search API that stays until its removal PR lands. The Search API and Datasets API are built in [apis](https://github.com/DevelopmentFinanceObservatory/apis). Upstream never touches these paths.
- **`custom_dc/`** is ONE Data's DFO code. `custom_dc/dfo/prototypes` is the frontend. The Search API and Datasets API are built in [apis](https://github.com/DevelopmentFinanceObservatory/apis). Upstream never touches these paths.
- **Everything else** tracks upstream `datacommonsorg/website`, with the graph server (`mixer`) and ingestion (`import`) as submodules.

## Quickstart
Expand Down
9 changes: 7 additions & 2 deletions build/cdc_data/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,21 @@ ENV ENV=${ENV}

WORKDIR /workspace

# Apply security patches for OS base packages (OpenSSL, Perl, glibc, pcre2, etc.)
RUN apt-get update && apt-get upgrade -y \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*

# Copy simple importer requirements.
COPY import/simple/requirements.txt ./import/simple/requirements.txt

ARG PIP_DISABLE_PIP_VERSION_CHECK=1
ARG PIP_NO_CACHE_DIR=1

# Create a virtual env, add it to path, and install all requirements.
# Create a virtual env, add it to path, upgrade core packaging tools, and install all requirements.
RUN python -m venv /workspace/venv
ENV PATH="/workspace/venv/bin:$PATH"
RUN pip3 install --no-cache-dir --upgrade pip "setuptools<70" wheel

# Install simple importer requirements.
RUN pip3 install -r ./import/simple/requirements.txt
Expand All @@ -47,4 +52,4 @@ RUN chmod +x run.sh
ENV PATH="/workspace/venv/bin:$PATH"

# Set the entrypoint to force bash execution
ENTRYPOINT ["/bin/bash", "./run.sh"]
ENTRYPOINT ["/bin/bash", "./run.sh"]
39 changes: 7 additions & 32 deletions build/cdc_services/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ RUN protoc \
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o bin/mixer cmd/main.go


# #### Stage 2: Build python servers (website and NL). ####
# #### Stage 2: Build python servers (website and MCP). ####
FROM --platform=linux/amd64 python:3.11.14-slim as py-servers

ARG PIP_DISABLE_PIP_VERSION_CHECK=1
Expand All @@ -61,33 +61,21 @@ WORKDIR /workspace
RUN apt-get update && apt-get -y upgrade && apt-get install -y git

# Copy requirements.
# Copy nl_requirements.txt since it is referenced by embeddings requirements.txt
COPY server/requirements.txt ./server/requirements.txt
COPY nl_server/requirements.txt ./nl_server/requirements.txt
COPY nl_requirements.txt ./nl_requirements.txt
COPY torch_requirements.txt ./torch_requirements.txt

# Create a virtual env and install requirements.
RUN python -m venv ./venv
ENV PATH="/workspace/venv/bin:$PATH"
RUN pip3 install --upgrade pip setuptools \
RUN pip3 install --no-cache-dir --upgrade pip setuptools \
&& pip3 install --no-cache-dir -r /workspace/server/requirements.txt \
&& pip3 install --no-cache-dir -r /workspace/torch_requirements.txt --index-url https://download.pytorch.org/whl/cpu \
&& pip3 install --no-cache-dir -r /workspace/nl_server/requirements.txt \
&& pip3 install --no-cache-dir datacommons-mcp

# Copy website app script.
COPY web_app.py ./web_app.py
# Copy server module.
COPY server/. ./server/
# Copy NL app script.
COPY nl_app.py ./nl_app.py
# Copy nl_server module.
COPY nl_server/. ./nl_server/
# Copy the shared module.
COPY shared/. ./shared/
# Copy yaml files.
COPY deploy/nl/. /datacommons/nl/


# #### Stage 3: Build static website assets. ####
Expand Down Expand Up @@ -116,19 +104,6 @@ WORKDIR /workspace/static
RUN npm run-script build


# #### Stage 4: Download base dc model and embeddings from GCS. ####
FROM --platform=linux/amd64 google/cloud-sdk:slim as download

# Remove auth check since these are public buckets and we don't have credentials within the container.
# Copy model and embeddings.
RUN gcloud config set auth/disable_credentials True \
&& mkdir -p /tmp/datcom-nl-models \
&& gcloud storage cp --recursive \
gs://datcom-nl-models/ft_final_v20230717230459.all-MiniLM-L6-v2/ \
gs://datcom-nl-models/embeddings_medium_2024_05_09_18_01_32.ft_final_v20230717230459.all-MiniLM-L6-v2.csv \
/tmp/datcom-nl-models/


# >>> DFO bake-in (custom_dc/dfo) >>>
# ONE/DFO: Build the DFO prototyping Next.js app (custom_dc/dfo/prototypes).
# Isolated stage; upstream never edits this. See custom_dc/dfo/README.md.
Expand All @@ -145,7 +120,10 @@ COPY custom_dc/dfo/prototypes/ ./
# Wire /prototype/search to the live Search API. This is a NEXT_PUBLIC_* var, so
# it is inlined into the browser bundle at build time — a runtime env on Cloud Run
# cannot flip it. Set to 0 (--build-arg NEXT_PUBLIC_USE_SEARCH_API=0) to bake a
# fixtures-only image. The engine still needs GEMINI_API_KEY set at runtime.
# fixtures-only image. /api/search is rewritten to dfo-apis and needs no key here.
# GEMINI_API_KEY (or GOOGLE_API_KEY) is read at runtime by /api/similarity, which
# falls back to pseudo-embeddings without it, and by /api/skill-compare
# (lib/skillAgent.ts), which returns an error without it.
ARG NEXT_PUBLIC_USE_SEARCH_API=1
ENV NEXT_PUBLIC_USE_SEARCH_API=${NEXT_PUBLIC_USE_SEARCH_API}
# The website origin that next.config.mjs bakes into the /api/search and
Expand Down Expand Up @@ -194,13 +172,10 @@ COPY --from=mixer /workspace/deploy/featureflags deploy/featureflags
COPY --from=mixer /workspace/mixer-grpc.pb .
# nginx.
COPY build/cdc_services/nginx.conf .
# Website and NL servers.
# Website server.
COPY --from=py-servers /workspace/ .
COPY --from=py-servers /datacommons/ /datacommons
# Static website assets.
COPY --from=static /workspace/server ./server
# Downloaded model and embeddings.
COPY --from=download /tmp/datcom-nl-models /tmp/datcom-nl-models

# Copy executable script.
COPY build/cdc_services/run.sh .
Expand Down
Loading
Loading