Last reviewed: 2026-07-08. Base branch: main.
This file is a plain-language map of the project as it exists on main. It does not replace the README, roadmap, audit docs, or source comments. It points to them so a reviewer can see the whole shape without reading every file first.
Nearmiss turns hazard and near-miss reports into an open, statistically careful dataset for safe-streets advocacy. The product is the data and analysis, with maps and briefs as outputs.
Package metadata checked in this pass:
- Python package
nearmissfor Python>=3.11.
- Bike and pedestrian advocates collecting reports outside official crash records.
- Researchers and journalists who need reproducible safety data.
- Maintainers building privacy-preserving civic datasets and public briefs.
- Report schema, intake, dedupe, geocode, snap, classify, exposure, and statistics steps.
- GeoJSON outputs, metadata sidecars, bilingual briefs, and accessible data views.
- Confidence intervals, hotspot methods, reporting-bias notes, and privacy floors.
- Docs for methodology, accessibility, threat modeling, audits, ADRs, and responsible-tech review.
- Tests and reproducibility commands for the analysis pipeline.
- src/ and tools/ hold the analysis pipeline and fixture builders.
- schema/ defines reports and published dataset shapes.
- docs/ explains methodology, access, audits, and design choices.
- tests/ includes pipeline, privacy, statistics, and output checks.
- public/report outputs and demo data show the analysis surface.
Observed source and operations surfaces:
Makefileconfig/infra/notebooks/pyproject.tomlschema/src/tools/web/
GitHub workflow files checked:
.github/workflows/ci.yml.github/workflows/mutation.yml.github/workflows/scorecard.yml.github/workflows/secret-scan-scheduled.yml
- Raw counts are not treated as danger rates without exposure context.
- Small samples and reporting bias are surfaced instead of hidden.
- Precise raw reports are protected and public data is aggregated to reduce reidentification risk.
- It is not a city 311 system or official crash registry.
- Findings depend on report coverage and exposure estimates.
- Manual screen-reader review and deeper localization remain outside the automated pipeline.
This pass checked 46 hand-authored doc or metadata files, 41 test files, and 4 workflow files on main. The count excludes vendored provider licenses, dependency folders, generated cache files, and large generated artifact history.
Large content groups were counted rather than listed file by file:
docs/standards/: 12 files
Primary docs checked:
.github/PULL_REQUEST_TEMPLATE.mdCHANGELOG.mdCITATION.cffCODE_OF_CONDUCT.mdCONTRIBUTING.mdLICENSENOTICEREADME.mdSECURITY.mddata/README.mddata/published/davis-ranked.mddata/published/riverside-ranked.mddocs/ACCESSIBILITY.mddocs/ADAPTING.mddocs/DATA-CARD.mddocs/DPIA.mddocs/I18N.mddocs/INTAKE-AND-ABUSE.mddocs/LIMITATIONS.mddocs/METHODOLOGY.mddocs/MUTATION-TESTING.mddocs/PERFORMANCE.mddocs/REAL-DATA.mddocs/RESPONSIBLE-TECH-AUDITS.mddocs/SUBMISSIONS.mddocs/THREAT-MODEL.mddocs/accessibility/ACR.mddocs/adr/0000-record-architecture-decisions.mddocs/adr/0002-exposure-normalization-and-confidence-intervals.mddocs/adr/0003-pure-python-statistics-and-planar-geometry.mddocs/adr/0004-standards-applicability.mddocs/audits/2026-06-16-verification.mddocs/audits/README.mddocs/ideation/02-large-scale-fixes.mddocs/ideation/03-expansions.mddocs/research/2026-06-17-bug-review-and-user-research.mddocs/research/2026-06-20-synthetic-user-interviews.mddocs/teaching/FACILITATOR-GUIDE.es.mddocs/teaching/FACILITATOR-GUIDE.mdinfra/README.mdnotebooks/README.mdnotebooks/teaching/README.mdschema/dataset.schema.mdsrc/nearmiss/README.mdtests/README.mdweb/README.md
Representative test files checked:
tests/README.mdtests/conftest.pytests/fixtures/davis/exposure.jsontests/fixtures/davis/reports.jsontests/fixtures/davis/streets.geojsontests/fixtures/davis/weather.jsontests/fixtures/riverside/exposure.jsontests/fixtures/riverside/reports.jsontests/fixtures/riverside/streets.geojsontests/test_brief.pytests/test_build_exposure.pytests/test_cli.pytests/test_dedupe_differential.pytests/test_diff_datasets.pytests/test_fdr.pytests/test_fetch_bikemaps.pytests/test_fetch_osm_streets.pytests/test_figures.pytests/test_geocoder.pytests/test_geometry.pytests/test_getis_ord_differential.pytests/test_hotspot.pytests/test_i18n.pytests/test_intake.pytests/test_kde_differential.pytests/test_loaders.pytests/test_moderation.pytests/test_observability.pytests/test_pipeline.pytests/test_publish_privacy.pytests/test_rates.pytests/test_reproduce.pytests/test_riverside.pytests/test_robustness.pytests/test_server.pytests/test_snap_differential.pytests/test_spatial_index.pytests/test_stats_numerics.pytests/test_temporal.pytests/test_validation.pytests/test_validation_internals.py
For this docs PR, validation means the scope file was generated from the clean origin/main worktree, reviewed against repo metadata and docs inventory, and checked with git diff --check. Project test suites are still the authority for code behavior, because this PR changes documentation only.