OBSERVABLE PIPELINE
Data quality
Coverage, identifier reconciliation, extraction confidence, parser versions, and recent ingestion status.
Coverage
Documents1,149
Without pages0
Without versions0
Legislative items35,581
Recorded positions193,076
Unresolved names62
Evidence spans35,581
Low confidence0
Internal files17,449
Legistar matched251
Parser versions
[
{
"parser_name": "sfbos-structured-records",
"parser_version": "2.0.0",
"runs": 11,
"last_finished": "2026-08-22 23:20:35.823935+00"
}
]Recent ingestion runs
[
{
"id": "11",
"source": "legistar+official-pdfs",
"status": "complete",
"parser_version": "2.0.0",
"started_at": "2026-08-22 23:20:21.620427+00",
"finished_at": "2026-08-22 23:20:36.302048+00",
"statistics": {
"files": 17449,
"matters": 251,
"documents": 19,
"positions": 193076,
"supervisors": 36,
"evidenceSpans": 35581,
"documentVersions": 1149
},
"error": null
},
{
"id": "10",
"source": "legistar+official-pdfs",
"status": "complete",
"parser_version": "2.0.0",
"started_at": "2026-08-22 23:13:01.018904+00",
"finished_at": "2026-08-22 23:13:14.812296+00",
"statistics": {
"files": 17449,
"matters": 251,
"documents": 19,
"positions": 193076,
"supervisors": 36,
"evidenceSpans": 35581,
"documentVersions": 1149
},
"error": null
},
{
"id": "9",
"source": "legistar+official-pdfs",
"status": "complete",
"parser_version": "2.0.0",
"started_at": "2026-08-22 23:05:02.843622+00",
"finished_at": "2026-08-22 23:05:18.088797+00",
"statistics": {
"files": 17449,
"matters": 238,
"documents": 1149,
"positions": 193076,
"supervisors": 36,
"evidenceSpans": 35581,
"documentVersions": 1149
},
"error": null
},
{
"id": "8",
"source": "legistar+official-pdfs",
"status": "complete",
"parser_version": "2.0.0",
"started_at": "2026-08-22 23:02:32.228413+00",
"finished_at": "2026-08-22 23:03:15.47647+00",
"statistics": {
"files": 17449,
"matters": 238,
"documents": 1149,
"positions": 193076,
"supervisors": 34,
"evidenceSpans": 35581,
"documentVersions": 1149
},
"error": null
},
{
"id": "7",
"source": "legistar+official-pdfs",
"status": "complete",
"parser_version": "2.0.0",
"started_at": "2026-08-22 22:56:19.304827+00",
"finished_at": "2026-08-22 23:01:46.885119+00",
"statistics": {
"files": 17449,
"matters": 0,
"documents": 1149,
"positions": 193076,
"supervisors": 34,
"evidenceSpans": 35581,
"documentVersions": 1149
},
"error": null
},
{
"id": "6",
"source": "legistar+official-pdfs",
"status": "failed",
"parser_version": "2.0.0",
"started_at": "2026-08-22 22:55:18.918653+00",
"finished_at": "2026-08-22 22:55:36.15858+00",
"statistics": {},
"error": "NeonDbError: could not extend file because project size limit (512 MB) has been exceeded\n at dr.execute (file:///Users/keymaker/Code/sfbos/node_modules/@neondatabase/serverless/index.mjs:1298:10)\n at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n at async captureDocumentVersions (file:///Users/keymaker/Code/sfbos/scripts/sync-structured-records.mjs:367:21)\n at async file:///Users/keymaker/Code/sfbos/scripts/sync-structured-records.mjs:65:22"
},
{
"id": "5",
"source": "legistar+official-pdfs",
"status": "failed",
"parser_version": "2.0.0",
"started_at": "2026-08-22 22:55:11.046553+00",
"finished_at": "2026-08-22 22:55:12.448728+00",
"statistics": {},
"error": "TypeError: Cannot read properties of undefined (reading 'id')\n at reconcileSupervisors (file:///Users/keymaker/Code/sfbos/scripts/sync-structured-records.mjs:276:14)\n at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n at async file:///Users/keymaker/Code/sfbos/scripts/sync-structured-records.mjs:62:3"
},
{
"id": "4",
"source": "legistar+official-pdfs",
"status": "failed",
"parser_version": "2.0.0",
"started_at": "2026-08-22 22:54:58.279143+00",
"finished_at": "2026-08-22 22:54:58.817236+00",
"statistics": {},
"error": "NeonDbError: could not extend file because project size limit (512 MB) has been exceeded\n at dr.execute (file:///Users/keymaker/Code/sfbos/node_modules/@neondatabase/serverless/index.mjs:1298:10)\n at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n at async reconcileDocumentIdentifiers (file:///Users/keymaker/Code/sfbos/scripts/sync-structured-records.mjs:112:3)\n at async file:///Users/keymaker/Code/sfbos/scripts/sync-structured-records.mjs:59:3"
},
{
"id": "3",
"source": "legistar+official-pdfs",
"status": "failed",
"parser_version": "2.0.0",
"started_at": "2026-08-22 22:54:26.702887+00",
"finished_at": "2026-08-22 22:54:37.523181+00",
"statistics": {},
"error": "NeonDbError: could not extend file because project size limit (512 MB) has been exceeded\n at dr.execute (file:///Users/keymaker/Code/sfbos/node_modules/@neondatabase/serverless/index.mjs:1298:10)\n at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n at async reconcilePositions (file:///Users/keymaker/Code/sfbos/scripts/sync-structured-records.mjs:280:3)\n at async file:///Users/keymaker/Code/sfbos/scripts/sync-structured-records.mjs:63:3"
},
{
"id": "2",
"source": "legistar+official-pdfs",
"status": "failed",
"parser_version": "2.0.0",
"started_at": "2026-08-22 22:52:57.163785+00",
"finished_at": "2026-08-22 22:53:17.169726+00",
"statistics": {},
"error": "NeonDbError: could not extend file because project size limit (512 MB) has been exceeded\n at dr.execute (file:///Users/keymaker/Code/sfbos/node_modules/@neondatabase/serverless/index.mjs:1298:10)\n at process.processTicksAndRejections (node:internal/process/task_queues:103:5)\n at async buildEvidenceSpans (file:///Users/keymaker/Code/sfbos/scripts/sync-structured-records.mjs:326:3)\n at async file:///Users/keymaker/Code/sfbos/scripts/sync-structured-records.mjs:64:3"
}
]Unresolved recorded names
[
{
"recorded_name": "Kopp",
"occurrences": 13
},
{
"recorded_name": "Lee",
"occurrences": 13
},
{
"recorded_name": "Renne",
"occurrences": 13
},
{
"recorded_name": "Haney Mandelman",
"occurrences": 2
},
{
"recorded_name": "Alcaraz",
"occurrences": 1
},
{
"recorded_name": "Bernick",
"occurrences": 1
},
{
"recorded_name": "Calderon",
"occurrences": 1
},
{
"recorded_name": "Commissioner Marshall-Fricker",
"occurrences": 1
},
{
"recorded_name": "Commissioners Avalos",
"occurrences": 1
},
{
"recorded_name": "David",
"occurrences": 1
},
{
"recorded_name": "Galeano",
"occurrences": 1
},
{
"recorded_name": "He",
"occurrences": 1
},
{
"recorded_name": "Juarez",
"occurrences": 1
},
{
"recorded_name": "Kong",
"occurrences": 1
},
{
"recorded_name": "Li",
"occurrences": 1
},
{
"recorded_name": "Mansori",
"occurrences": 1
},
{
"recorded_name": "Mao",
"occurrences": 1
},
{
"recorded_name": "Matz",
"occurrences": 1
},
{
"recorded_name": "Pating",
"occurrences": 1
},
{
"recorded_name": "Plunkett",
"occurrences": 1
},
{
"recorded_name": "Privilege of the floor was granted unanimously to Sophia Kittler (Mayor's Office); and Amy Chan",
"occurrences": 1
},
{
"recorded_name": "Soto",
"occurrences": 1
},
{
"recorded_name": "Supervisor Farrell",
"occurrences": 1
},
{
"recorded_name": "Supervisor Haney",
"occurrences": 1
},
{
"recorded_name": "Wu",
"occurrences": 1
}
]