| 1234 |
- import {readFileSync,writeFileSync} from 'node:fs'
- const root='tools/city-massing/city/cad-bim/',ids=['cad-25612','cad-25467','cad-25968','cad-25957'],sets=['lod-batch-rural1','lod-batch-rural2','lod-batch-rural3','lod-batch-unfitted-fallback','lod-batch-urban8000-dedup','lod-batch-urban8000b','lod-batch-urban8000c','lod-batch-urban-final','lod-batch-urban-tail'],found={};for(const id of ids)found[id]=[]
- for(const set of sets){const path=root+set+'/manifest.json';try{const m=JSON.parse(readFileSync(path));for(const c of m.cells||[])for(const id of ids)if((c.buildingIds||[]).includes(id))found[id].push({set,cell:c.id||c.cell||null,buildingCount:(c.buildingIds||[]).length})}catch{} }
- const report={generatedAt:'2026-10-14',ids,found,modelChanged:false,decision:'No candidate is referenced by city-regions-v7 fine graph. Historical rural batches may carry source-cell metadata only; this is not current runtime geometry proof. Any local pilot requires explicit tier decision and immutable new region generation.'};writeFileSync('.scratch/cockpit-shell-panel-layout/verify/artifacts/t35/user-samples/negative-estate-lineage.json',JSON.stringify(report,null,2));console.log(JSON.stringify(report))
|