You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
test: accept G-NAF's point where it disagrees with the Australian OSM panel node - #227
For 16 Australian panel addresses, the OSM node and the national register (G-NAF, August 2026) place the same address 0.19 to 13.7 km apart, mostly because G-NAF marks the rural property or building centroid. Those cases now accept either point, so a correct answer at the register's location no longer scores as a near miss. Number, postcode, house level, goodMatch and the 150 m radius are unchanged.
Changes
Add tests/global/adjudicate-gnaf.py: find reads the manifest's records and the official G-NAF PSV zip (never a service answer) and admits a record only when exactly one current principal address without unit or level matches its complete number, street and postcode, with an address-level geocode more than 150 m from the OSM node. apply adds the alternative point to the replayed cases.
Add tests/global/adjudications.json (16 of 50 Australian groups; the zip's SHA256 is recorded) and the corresponding expect.any_of and adjudication fields in global-addresses.jsonl.
Add the G-NAF attribution and its mailing restriction to tests/global/NOTICE.
Document the adjudications and the two-step replay (replay, then apply) in docs/evaluation/global-addresses.md and the Australian triage. The apply step is separate because the manifest binds the generator's hash to the capture.
Two-point cases are no longer checked by ReverseGeocode, since they have two expected points.
CI results
gold-full passed with no regressions: SearchAddress +31 and SuggestAddress +32 newly passing, all of them adjudicated Australian cases. Australia SearchAddress goes from 93.2% to 97.9% over all Australian gold cases. ReverseGeocode checks 20913 before and 20881 after, because of the two-point cases.
The first gold-speed run failed on ReverseGeocode p99 (+11%, 2.9 to 3.2 ms, total -2%) with no src/ change between base and head. The rerun of the same workflow passed (no slowdown over 10%).
Review focus
The admission rule in find, and whether accepting G-NAF's point alongside the OSM node is the right call for rural addresses.
Time in ms over 1995 cases, each the fastest of 3 requests.
Total
p50
p90
p99
Max
base
5219.2
1.8
4.9
14.4
20.1
head
4505.7
1.6
4.0
12.3
18.8
change
-14%
-13%
-18%
-15%
-7%
SuggestAddress
Time in ms over 1996 checks, each the fastest of 3 requests.
Total
p50
p90
p99
Max
base
2244.6
0.9
1.8
3.6
11.7
head
2051.6
0.9
1.6
3.2
10.3
change
-9%
-6%
-12%
-10%
-12%
ReverseGeocode
Time in ms over 1990 cases, each the fastest of 3 requests.
Total
p50
p90
p99
Max
base
1591.1
0.7
1.0
3.5
7.9
head
1445.4
0.6
0.9
2.7
5.0
change
-9%
-7%
-6%
-24%
-37%
Fails when the total, p50, p90 or p99 of any table is more than 10% slower. Runs of one binary differ by up to 5%; the max is one request and only reported.
Base 00818d1 → 2e17a30, one after the other in one pod on the same node and index.
Passing checks out of those checked, baseline → candidate, for the 1 expected country where any RPC changed. A case that expects several countries has its own row. Counts are checks, not independent locations.
Country
SearchAddress
%
SuggestAddress
%
ReverseGeocode
%
ResolveRegion
%
Australia
616 → 647 / 661 (+31)
93.2% → 97.9%
636 → 668 / 691 (+32)
92.0% → 96.7%
617 / 624
98.9%
39 / 39
100.0%
Runs
baseline: base, backend overture-index data index 9f26cb6d546a, consumer binary 4ce6a6678ac3 models 2de098b5667f
candidate: head, backend overture-index data index 9f26cb6d546a, consumer binary 4ce6a6678ac3 models 2de098b5667f
SuggestAddress
Check
Checked
Pass base
Pass head
Change
ranked_low
missing
unexpected
error
full
20333
14266
14298
+32
0
6035
0
0
full types the query; name types the place's name alone, which must come no later than the places of that name with more population. off requires no landmarks with the flag false. The last four columns count the head's failures.
global-osm-au-3630529944-1 suggest full missing -> pass: "Mount Alfred Road 3986, 4489, Australia" -> rank 1 (want <= 5); first address 3986, Mount Alfred Road, Wyandra, Paroo Shire, Queensland, A [au]
global-osm-au-3630529944-1 near_miss -> pass: "Mount Alfred Road 3986, 4489, Australia" -> "house 3986 Mount Alfred Road, 4489, Wyandra [au] -27.223,145.621"
global-osm-au-2338783711-1 suggest full missing -> pass: "Nulla Road 3700, 2648, Australia" -> rank 1 (want <= 5); first address 3700, NULLA ROAD, Pine Camp, Wentworth Shire Council, New So [au]
global-osm-au-2338783711-1 near_miss -> pass: "Nulla Road 3700, 2648, Australia" -> "house 3700 NULLA ROAD, 2648, Pine Camp [au] -33.586,141.408"
global-osm-au-5572982353-0 suggest full missing -> pass: "291 Montgomerys Road, Cathundral, 2823, Australia" -> rank 1 (want <= 5); first address 291, MONTGOMERYS ROAD, Cathundral, Warren Shire Council, New [au]
global-osm-au-3630529944-0 suggest full missing -> pass: "3986 Mount Alfred Road, 4489, Australia" -> rank 1 (want <= 5); first address 3986, Mount Alfred Road, Wyandra, Paroo Shire, Queensland, A [au]
global-osm-au-3630529944-0 near_miss -> pass: "3986 Mount Alfred Road, 4489, Australia" -> "house 3986 Mount Alfred Road, 4489, Wyandra [au] -27.223,145.621"
global-osm-au-2338783711-0 suggest full missing -> pass: "3700 Nulla Road, 2648, Australia" -> rank 1 (want <= 5); first address 3700, NULLA ROAD, Pine Camp, Wentworth Shire Council, New So [au]
global-osm-au-2338783711-0 near_miss -> pass: "3700 Nulla Road, 2648, Australia" -> "house 3700 NULLA ROAD, 2648, Pine Camp [au] -33.586,141.408"
global-osm-au-3404823268-1 suggest full missing -> pass: "Miralwyn Road 1503, Carinda, 2831, Australia" -> rank 1 (want <= 5); first address 1503, MIRALWYN ROAD, Carinda, Walgett Shire Council, New Sou [au]
Mokto
changed the title
test: accept G-NAF's point for Australian panel addresses the OSM node misplaces
test: accept G-NAF's point where it disagrees with the Australian OSM panel node
Oct 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
For 16 Australian panel addresses, the OSM node and the national register (G-NAF, August 2026) place the same address 0.19 to 13.7 km apart, mostly because G-NAF marks the rural property or building centroid. Those cases now accept either point, so a correct answer at the register's location no longer scores as a near miss. Number, postcode, house level,
goodMatchand the 150 m radius are unchanged.Changes
tests/global/adjudicate-gnaf.py:findreads the manifest's records and the official G-NAF PSV zip (never a service answer) and admits a record only when exactly one current principal address without unit or level matches its complete number, street and postcode, with an address-level geocode more than 150 m from the OSM node.applyadds the alternative point to the replayed cases.tests/global/adjudications.json(16 of 50 Australian groups; the zip's SHA256 is recorded) and the correspondingexpect.any_ofandadjudicationfields inglobal-addresses.jsonl.tests/global/NOTICE.apply) indocs/evaluation/global-addresses.mdand the Australian triage. The apply step is separate because the manifest binds the generator's hash to the capture.CI results
src/change between base and head. The rerun of the same workflow passed (no slowdown over 10%).Review focus
The admission rule in
find, and whether accepting G-NAF's point alongside the OSM node is the right call for rural addresses.