Skip to content

Confirm link-built crossings match bcfp's complete crossings table (parity) #232

Description

@NewGraphEnvironment

link builds crossings from primitives itself — lnk_pipeline_crossings.lnk_crossings_union (PSCIS snap/score/xref + fresh.modelled_stream_crossings + CABD), re-implementing bcfp's crossings assembly (02_pscis_streams_150m.sql + 04_pscis.sql). Because we reproduce that logic instead of consuming bcfp's output, we should confirm link's built <schema>.crossings is equivalent to bcfp's complete crossings table (bcfishpass.crossings / crossings_vw).

bcfp's complete crossings table carries a lot of derived info and is built by many scripts — it's the natural parity reference for validating our primitives-build, now and as bcfp evolves. (The newgraph crossings.csv we dumped is NOT a model input — the models build from primitives — but this complete table is our parity yardstick.)

Scope

  • Compare link <schema>.crossings vs bcfishpass.crossings_vw on a sample of WSGs: row coverage, per-branch counts (PSCIS / modelled / CABD), barrier_status, network positions (blue_line_key + downstream_route_measure). Quantify divergence.
  • Make it a repeatable parity check, alongside the existing mapping_code / accessible_km cross-sections.

Related / context

  • Supersedes the misdirected Consume weekly crossings.csv; repoint pipeline off fresh #231 (which assumed the pipeline consumes fresh's crossings.csv — it doesn't). Lessons + full trace archived at planning/archive/2026-07-issue-231-crossings-from-primitives/.
  • Freshness: primitives are loaded manually by data-raw/snapshot_bcfp.sh (last modelled-crossings load ~2026-05-26). Automating that refresh weekly is a related follow-up (may split into its own issue).
  • db_newgraph#16 tracks reconsidering the now-model-unneeded crossings.csv dump.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions