#77: write down what a country has to look like, and audit the four we have #87
No reviewers
Labels
No labels
blocked
claude-wip
map-report
map:is
map:se
needs-review
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
art/ismap!87
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "issue-77-country-requirements"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #77.
What this is
docs/country-requirements.md— 140 numbered requirements (R1…R140) describing what acountry in this map has to look like, with a check for each one, and an appendix recording
where the four current countries stood when it was written.
The document is built from three sources, in the order #77 asked for them:
style invariants.
each. Bug reports filed against one country turned out to generalize far more often than
not; #64, #71, #29, #41 and #46 each yielded several requirements on their own.
reasoning but state a project-wide rule.
MUSTis a conformance requirement;SHOULDis a default a measurement may override, withthe measurement going in the country doc. Numbers are stable identifiers, not a reading
order, so a requirement added later never renumbers an existing one.
The stronger requirement #77 asked for
#77 said the capital should be the last name standing when every other name has generalized
away, and the top five names should be the five largest cities. That became R85, and it
is the requirement that did the most work: three of the four countries fail it.
ÍslandIceland's is the sharp one. Its five highest-ranked places are
Ísland(the country),Kolbeinsey(an uninhabited skerry),Sundhnúkur(a crater row),1000 manna hellir(acave) and
ABC Garðurinn.conf/ismap.yaml'splacesreads the wholeornefni_punktartoponym register and grades it by
örnefnaflokkurkenni, which is a category code — land,sea, water, ice — not a size signal: 44,530 names at importance 1, two at 2, one at 3. With
nothing to break ties the ranking falls straight to alphabetical.
The reason nobody saw it: Iceland is still served the legacy
settlement_pointslayerthrough the
istile source, andhtml/style.jsondraws both it andplacesfrom z4. Thereal town names come from the legacy layer, which masks the broken one — and means every
Icelandic settlement is currently labelled twice.
Issues filed
Nine, #78–#86, one per non-conformance that did not already have an issue. Each cites the
requirement numbers it violates and carries the query that found it.
placesranks the toponym register, not settlements — andsettlement_pointsdouble-labels the map (R85, R86, R91)(R94, R90)
stations (R75, R70) — this is #68 again, for the country #68's own note said it would
generalize to
roads.surfaceis manufactured where the source is silent, in three countries(R66) — the generalization of #6
all (R22, R44)
BDOT10k's catalogue (R6) — the same shape as the Warsaw metro finding in #64
Four findings already had issues and were not re-filed: #12 (orphaned tables), #14 (Sweden's
missing wetland), #21 (water names), #45 (country borders).
They are filed unassigned. Assign them to
art-botto put them in the night-shift queue.Documentation moved, not duplicated
#77 asked for general material to be moved out of the country docs and configs. Two
different treatments, for two different reasons:
docs/country-*.md— where a passage stated both the general rule and that country'sinstance of it, the generalizing sentence is replaced by a citation and the
country-specific fact, number and column name stay. Each doc gains a header line pointing
at the new document.
conf/*.yaml— annotated, not edited.AGENTS.mdmakes the configs the reviewsurface for per-layer reasoning, so a reviewer reading a query should not have to leave the
file to learn why a threshold is what it is. The generic comments gain a one-line rule
citation and keep their text.
docs/generalization.md,docs/schema.md,docs/style.mdanddocs/architecture.mdweremined for requirements but not edited. They document mechanism, which is correctly scoped
where it is; the new document states what you must achieve and links to them for how.
Verification
Everything in the appendix is measured against the live database on
main, not inferred:per-country row counts for all 11 shared layers across every zoom, the eight empty
partitions in the whole database, attribute distributions per country for every enum column,
name IS NULLshares per layer, andhtml/style.jsondecoded for its source-layer andzoom-range map. The style invariants asserted in R110 and R29 were re-checked against the
files (
hsl(205, 55%, 74%)appears exactly 4 times; the onlyminz:in the configs is thecomment banning it).
No pipeline code changed and no import was run, so there is nothing to re-import to review
this.