{
 "schemaVersion": "1.0.0",
 "constitutionVersion": "1.0.0",
 "createdAt": "2026-08-12T00:00:00Z",
 "description": "Append-only Evidence Passport records. Old revisions are immutable; corrections create a new revision and preserve the previous permalink.",
 "entity": {
  "type": "project",
  "id": "amsterdam-signalen-reporting",
  "title": "Signalen: Open-Source Public-Space Reporting Platform",
  "canonicalUrl": "https://1001smartcities.org/projects/amsterdam-signalen-reporting/"
 },
 "currentRevisionId": "2026-08-27-claims-and-sources",
 "revisions": [
  {
   "id": "2026-08-27-claims-and-sources",
   "createdAt": "2026-08-27T01:42:12Z",
   "effectiveAt": "2026-07-20",
   "changeType": "baseline",
   "summary": "Created the first structured Evidence Passport with 11 claims and 6 source dossiers.",
   "preparedBy": {
    "type": "automation",
    "label": "AI-assisted evidence preparation",
    "humanApproved": false
   },
   "review": {
    "status": "unreviewed",
    "by": null,
    "date": null,
    "note": "Awaiting operator and domain-expert review; publication of this revision implies neither."
   },
   "changes": [
    {
     "operation": "add",
     "path": "/evidencePassport",
     "summary": "Added claim-level evidence mapping and source dossiers."
    },
    {
     "operation": "add",
     "path": "/revisionHistory",
     "summary": "Established a permanent, hash-addressed baseline revision."
    }
   ],
   "snapshotHash": "sha256:006b99387151cfb306b6b0b8793252c7b200c369afdacc068ecea341421929cc",
   "snapshot": {
    "asOf": "2026-07-20",
    "projectFingerprint": "sha256:209f1a8ec1b44b0dd14c66f77ecb719c56b1202d3383377cf9348290c64cabc2",
    "assurance": {
     "status": "unreviewed",
     "scope": "evidence-passport-revision",
     "statement": "AI-assisted structural preparation. This revision has not been reviewed by a human or subject-matter expert.",
     "machineChecks": [
      "schema",
      "publication-diff-contract",
      "material-project-fingerprint",
      "claim-text-drift",
      "source-reference-resolution",
      "complete-source-dossier",
      "snapshot-hash"
     ]
    },
    "projectState": {
     "status": "live",
     "outcome": "ongoing",
     "evidenceGrade": "independent",
     "timeline": {
      "started": 2018,
      "ended": null
     }
    },
    "governance": {
     "operator": "City of Amsterdam",
     "actorTypes": [
      "city-government"
     ],
     "fundingModel": "public",
     "fundingDescription": null,
     "cost": null,
     "ownership": null,
     "decisionRights": null,
     "exitConditions": null
    },
    "claims": [
     {
      "id": "clm-0b1c23bf076e3ed4",
      "field": "snippet",
      "text": "The system went live in 2018 as Signalen Informatievoorziening Amsterdam, the same year the city put a 24/7 Action Service Centre behind it",
      "statementKind": "quantitative",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-942a289317663249"
      ],
      "supportNote": "The audit office records that in 2018 the Action Service Centre began monitoring, handling and reporting back on public-space reports 24/7, and that the new reporting system Signalen Informatievoorziening Amsterdam (SIA) went live in the same year.",
      "caveat": null,
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-fdd1165f1d9937e3",
      "field": "snippet",
      "text": "by web, app, phone, social media, e-mail or at a counter",
      "statementKind": "descriptive",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-942a289317663249"
      ],
      "supportNote": "The audit report lists the reporting channels and states that Amsterdam offers every channel that the other 48 municipalities in its benchmark offer between them.",
      "caveat": null,
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-48190093f8f9e9b1",
      "field": "snippet",
      "text": "Since July 2022 a classifier trained on 300,000 past reports (TF-IDF plus logistic regression, macro-weighted F1 0.88) reads the free text and routes it to a department",
      "statementKind": "quantitative",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-6c21675d7275cd09"
      ],
      "supportNote": "The national algorithm register gives the start date as 2022-07 and describes TF-IDF word weighting followed by logistic regression, trained initially on 300,000 earlier reports, with a macro-weighted F1 score of 0.88.",
      "caveat": null,
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-9db979c1d7882382",
      "field": "snippet",
      "text": "anything it places with less than 40% certainty goes to that centre for a person to categorise",
      "statementKind": "quantitative",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-6c21675d7275cd09"
      ],
      "supportNote": "The register states that all reports assigned to a category with less than 40% certainty are forwarded to the Actie Service Centrum, where a human assessment follows.",
      "caveat": null,
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-d5b255488fe53ec7",
      "field": "snippet",
      "text": "The software is open source and other Dutch municipalities run it too",
      "statementKind": "descriptive",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-014c55898d5d8727",
       "src-6c21675d7275cd09"
      ],
      "supportNote": "The collaboration's site describes Signalen as open-source software of, for and by Dutch municipalities; the national register carries near-identical algorithm descriptions from Meierijstad, Blaricum, Almere, Hilversum and Eemnes, each marked in use.",
      "caveat": null,
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-3e4ed0b966fa12bf",
      "field": "impact",
      "text": "the city records that W2V, CNN+LSTM and BERT were tried and performed worse",
      "statementKind": "quantitative",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-6c21675d7275cd09"
      ],
      "supportNote": "The register states that other methods (W2V, CNN+LSTM, BERT) were also tried but proved to perform less well.",
      "caveat": null,
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-67e875dbb4198a3d",
      "field": "impact",
      "text": "the municipalities running it serve 3 million residents and process more than 800,000 reports a year with 2,800 officials",
      "statementKind": "quantitative",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-014c55898d5d8727"
      ],
      "supportNote": "The collaboration's own site states that with Signalen they serve 3 million residents and process more than 800,000 reports a year with 2,800 officials.",
      "caveat": "A self-reported total for the collaboration as a whole, not for Amsterdam alone.",
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-5ad1a78e070a455e",
      "field": "impact",
      "text": "in June 2021 the municipal audit office found that Amsterdam had received over 385,000 reports in 2020, around 88% more than in 2018",
      "statementKind": "quantitative",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-942a289317663249"
      ],
      "supportNote": "The audit report of 2 June 2021 states that Amsterdam received more than 385,000 public-space reports in 2020, a rise of some 88% on 2018.",
      "caveat": null,
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-af91a78fcd016a62",
      "field": "impact",
      "text": "judged the handling partly effective, and reported 52% of complainants satisfied against an internal target of 70%",
      "statementKind": "quantitative",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-942a289317663249"
      ],
      "supportNote": "The same report judges the handling of public-space reports partly effective and states that 52% of reporters are satisfied while 70% is the internal aim.",
      "caveat": null,
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-e70d8ade06d274d2",
      "field": "lesson",
      "text": "a considerable share of reports — urgent ones included — were not handled within the promised time",
      "statementKind": "descriptive",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-942a289317663249"
      ],
      "supportNote": "The audit report states that a considerable share of the (urgent) reports is not handled within the promised deadline.",
      "caveat": null,
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-b6ca3e9548d512e7",
      "field": "lesson",
      "text": "that reports marked handled were not always resolved in a result-oriented way, and that recurring problems such as rubbish beside the containers were tackled structurally only to a limited extent",
      "statementKind": "descriptive",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-942a289317663249"
      ],
      "supportNote": "The same summary states that reports with the status 'handled' are not always resolved in a result-oriented way and that the executive succeeds only to a limited extent in structurally solving recurring problems, giving waste beside the container as its example.",
      "caveat": null,
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     }
    ],
    "sources": [
     {
      "id": "src-6c21675d7275cd09",
      "title": "Algoritmes.overheid.nl (Dutch national algorithm register, authority)",
      "url": "https://algoritmes.overheid.nl/nl/algoritme/gm0363/21579514/meldingen-openbare-ruimte",
      "publisher": {
       "name": null,
       "domain": "algoritmes.overheid.nl",
       "classification": "not-classified"
      },
      "sourceType": "web-page",
      "language": "und",
      "role": "claim-evidence",
      "claimRefs": [
       "clm-48190093f8f9e9b1",
       "clm-9db979c1d7882382",
       "clm-d5b255488fe53ec7",
       "clm-3e4ed0b966fa12bf"
      ],
      "temporal": {
       "publishedAt": null,
       "updatedAt": "2026-04-21",
       "sourceCheckedAt": null,
       "recordLastVerifiedAt": "2026-07-20",
       "dossierCreatedAt": "2026-08-28",
       "retrievedAt": null,
       "status": "record-date-only"
      },
      "locator": {
       "type": "descriptive-source-note",
       "value": "Official transparency entry, last amended 21 April 2026: start date 2022-07, TF-IDF plus logistic regression, macro-weighted F1 0.88, 300,000 historical reports used for initial training with regular retraining on manual corrections, W2V/CNN+LSTM/BERT tried and found worse, and everything below 40% certainty routed to the Action Service Centre.",
       "exact": false
      },
      "preservation": {
       "archiveUrl": null,
       "archivedAt": null,
       "contentHash": null,
       "status": "not-captured"
      }
     },
     {
      "id": "src-2e4c7d76c5cc6ed1",
      "title": "VNG — Vereniging van Nederlandse Gemeenten",
      "url": "https://vng.nl/projecten/signalen",
      "publisher": {
       "name": null,
       "domain": "vng.nl",
       "classification": "not-classified"
      },
      "sourceType": "web-page",
      "language": "und",
      "role": "background",
      "claimRefs": [],
      "temporal": {
       "publishedAt": null,
       "updatedAt": null,
       "sourceCheckedAt": null,
       "recordLastVerifiedAt": "2026-07-20",
       "dossierCreatedAt": "2026-08-28",
       "retrievedAt": null,
       "status": "record-date-only"
      },
      "locator": {
       "type": "descriptive-source-note",
       "value": "Project page for Signalen at the association of Dutch municipalities.",
       "exact": false
      },
      "preservation": {
       "archiveUrl": null,
       "archivedAt": null,
       "contentHash": null,
       "status": "not-captured"
      }
     },
     {
      "id": "src-d2a10ba1f48299a6",
      "title": "GitHub — Amsterdam/signals (source repository published by the City of Amsterdam)",
      "url": "https://github.com/Amsterdam/signals",
      "publisher": {
       "name": null,
       "domain": "github.com",
       "classification": "not-classified"
      },
      "sourceType": "web-page",
      "language": "und",
      "role": "background",
      "claimRefs": [],
      "temporal": {
       "publishedAt": null,
       "updatedAt": null,
       "sourceCheckedAt": null,
       "recordLastVerifiedAt": "2026-07-20",
       "dossierCreatedAt": "2026-08-28",
       "retrievedAt": null,
       "status": "record-date-only"
      },
      "locator": {
       "type": "descriptive-source-note",
       "value": "Source repository for the Signalen platform, published by the City of Amsterdam.",
       "exact": false
      },
      "preservation": {
       "archiveUrl": null,
       "archivedAt": null,
       "contentHash": null,
       "status": "not-captured"
      }
     },
     {
      "id": "src-942a289317663249",
      "title": "Rekenkamer Amsterdam (independent municipal audit office)",
      "url": "https://publicaties.rekenkamer.amsterdam.nl/afhandeling-meldingen-openbare-ruimte-amsterdambestuurlijk-rapport/",
      "publisher": {
       "name": null,
       "domain": "publicaties.rekenkamer.amsterdam.nl",
       "classification": "not-classified"
      },
      "sourceType": "web-page",
      "language": "und",
      "role": "claim-evidence",
      "claimRefs": [
       "clm-0b1c23bf076e3ed4",
       "clm-fdd1165f1d9937e3",
       "clm-5ad1a78e070a455e",
       "clm-af91a78fcd016a62",
       "clm-e70d8ade06d274d2",
       "clm-b6ca3e9548d512e7"
      ],
      "temporal": {
       "publishedAt": "2021-06-02",
       "updatedAt": null,
       "sourceCheckedAt": null,
       "recordLastVerifiedAt": "2026-07-20",
       "dossierCreatedAt": "2026-08-28",
       "retrievedAt": null,
       "status": "publication-and-record-dates-recorded"
      },
      "locator": {
       "type": "descriptive-source-note",
       "value": "Governance report of 2 June 2021: over 385,000 reports in 2020, some 88% more than 2018; handling judged partly effective; a considerable share of urgent reports missed the promised deadline; reports marked handled were not always resolved in a result-oriented way; 52% of complainants satisfied against an internal target of 70%. It also records that the reporting system went live in 2018 alongside a 24/7 Action Service Centre, and that Amsterdam offers every reporting channel the other 48 benchmark municipalities offer between them.",
       "exact": false
      },
      "preservation": {
       "archiveUrl": null,
       "archivedAt": null,
       "contentHash": null,
       "status": "not-captured"
      }
     },
     {
      "id": "src-659c8e05174dc662",
      "title": "City of Amsterdam (authority)",
      "url": "https://www.amsterdam.nl/veelgevraagd/melding-openbare-ruimte-en-overlast-cd609",
      "publisher": {
       "name": null,
       "domain": "amsterdam.nl",
       "classification": "not-classified"
      },
      "sourceType": "web-page",
      "language": "und",
      "role": "background",
      "claimRefs": [],
      "temporal": {
       "publishedAt": null,
       "updatedAt": null,
       "sourceCheckedAt": null,
       "recordLastVerifiedAt": "2026-07-20",
       "dossierCreatedAt": "2026-08-28",
       "retrievedAt": null,
       "status": "record-date-only"
      },
      "locator": {
       "type": "descriptive-source-note",
       "value": "Official citizen-facing reporting page.",
       "exact": false
      },
      "preservation": {
       "archiveUrl": null,
       "archivedAt": null,
       "contentHash": null,
       "status": "not-captured"
      }
     },
     {
      "id": "src-014c55898d5d8727",
      "title": "Signalen.org — the municipal collaboration behind the platform",
      "url": "https://signalen.org/",
      "publisher": {
       "name": null,
       "domain": "signalen.org",
       "classification": "not-classified"
      },
      "sourceType": "web-page",
      "language": "und",
      "role": "claim-evidence",
      "claimRefs": [
       "clm-d5b255488fe53ec7",
       "clm-67e875dbb4198a3d"
      ],
      "temporal": {
       "publishedAt": null,
       "updatedAt": null,
       "sourceCheckedAt": null,
       "recordLastVerifiedAt": "2026-07-20",
       "dossierCreatedAt": "2026-08-28",
       "retrievedAt": null,
       "status": "record-date-only"
      },
      "locator": {
       "type": "descriptive-source-note",
       "value": "Site of the inter-municipal Signalen collaboration: open-source software of, for and by Dutch municipalities, together serving 3 million residents and processing more than 800,000 reports a year with 2,800 officials.",
       "exact": false
      },
      "preservation": {
       "archiveUrl": null,
       "archivedAt": null,
       "contentHash": null,
       "status": "not-captured"
      }
     }
    ],
    "coverage": {
     "claimsTotal": 11,
     "claimsMapped": 11,
     "sourcesTotal": 6,
     "sourcesUsedByClaims": 3,
     "sourcesWithPublicationDate": 1,
     "sourcesWithArchive": 0,
     "sourcesWithExactLocator": 0,
     "sourcesWithContentHash": 0
    },
    "limits": [
     "Publisher names and source languages have not yet been classified; domains are recorded without guessing.",
     "Existing source notes are descriptive locators, not page- or paragraph-exact citations.",
     "A missing archive, publication date or content hash is shown as null rather than inferred.",
     "The project-level evidence grade ranks the strongest source in the entry; it is not a truth score for every claim."
    ]
   }
  }
 ]
}
