Graticula · Faz 1 — Uygulama

Kontrol Odası

Buradaki her şey depodan okunuyor: ADR başlıkları, open-questions.md, architecture-debt.md, architecture-assumptions.md ve git. Hiçbir sayı elle yazılmıyor — elle yazılan iki sürüm bir gün içinde bayatladı. Kayıtların kendisi İngilizce kalıyor (CLAUDE.md §8): proje bağışlanıyor ve gerekçesinin onu devralacak kişi tarafından okunabilmesi gerekiyor.

Şu commit’ten üretildi: 3f7cada4 · 2026-10-12 20:55

Durum

178
ADR
72 koşulsuz kabul
322/408
kapatılan ADR koşulu
83 canlı · 3 kararıyla birlikte ertelendi
1
açık soru
160 yanıtlandı
14
açık borç
269 ödendi · 6 tetiğini bekliyor · 1 kısmen
7/9
koşulan kapı
1 tanesi dışarıdan bir incelemeci istiyor
16/87
doğrulanan varsayım
geri kalanı kanıtlanmadı
4792
test
477 kaynak dosya, 215,341 satır

Ne kaldı

Üç kısım, kimin ilerletebileceğine göre ayrılmış. Ayrım türetilmiş: bir madde, soru defteri sahibi işaret ediyorsa sahibin; kapı kendi cümleleriyle “bunu yazmamış biri gerekiyor” diyorsa dışarıdan bir incelemecinin. Geri kalan bizim — ve çalışarak küçülen tek kısım o.

Sahibi1 açık

Q-165 — May INSPIRE be turned on for one showcase service, so the INSPIRE validator can be run against it?

Dışarıdan bir incelemeci1 kapı

Operations — Needs a deployment somebody operates.

§67 also still owes a review round by somebody who did not participate. Rounds 1 and 2 were self-review; round 3 was commissioned and briefed by the author.

Bizim101 madde

83 ADR conditions outstanding across 59 decisions — the largest commitment on this page.

14 debts with their repayment triggers already written down.

3 capability areas not started: Publishing, Observability, Resource governance.

1 review gates nobody else is blocking: Extensibility.

Açık koşullar, karara göre

Bir koşul, ADR’nin kendi metninde işaretlendiğinde kapanmış sayılır. Bu sayfa hiçbir şeyi kendisi kapatmıyor — sadece sözü veren karardan okuyor.

ADR-101 · Studio is walked the way a Portal
4
ADR-079 · A web map is a saved document, and
3
ADR-106 · A layer's data can be exported as
3
ADR-007 · Service Runtime
2
ADR-013 · Feature Service Data Model: Identi
2
ADR-017 · Admin API Shape
2
ADR-029 · Affinity routing is not the defaul
2
ADR-052 · The canonical symbology document i
2
ADR-055 · A connection is fields, and this s
2
ADR-065 · Domains and subtypes
2
ADR-066 · GeoParquet layers, read in place b
2
ADR-067 · DuckDB sources beyond a local fold
2
ADR-076 · OAuth 2.0 authorization code with
2
ADR-077 · Z and M ride beside x and y, and a
2
ADR-086 · The operator chooses the map groun
2
ADR-087 · A domain is a named object that fi
2
ADR-089 · Sign-in through an LDAP directory,
2
ADR-090 · Sign-in through a SAML 2.0 identit
2
ADR-176 · OGC API Styles, read-only, over th
2
ADR-177 · OGC API Records is a searchable ca
2
ADR-002 · Primary Data Architecture
1
ADR-006 · Plugin Model
1
ADR-009 · Raster Engine
1
ADR-010 · Caching
1
ADR-011 · Job System
1
ADR-015 · Authentication
1
ADR-021 · Tiles are encoded by PostGIS, and
1
ADR-023 · The REST Services Directory: an HT
1
ADR-024 · Shapefile import, and the exceptio
1
ADR-025 · Governance: what a gift owes, and
1
ADR-026 · Serving through a platform-store o
1
ADR-032 · The product is named Graticula
1
ADR-038 · How a geodatabase becomes one serv
1
ADR-046 · Admission control bounds the queue
1
ADR-047 · The outbound licence is Elastic Li
1
ADR-048 · CI does not run the real-data suit
1
ADR-054 · The symbology document is not boun
1
ADR-056 · An item is its own thing, and a se
1
ADR-057 · Composing and publishing a service
1
ADR-059 · Quiescing a data source
1
ADR-060 · The axis order comes from the auth
1
ADR-074 · Z and M are read, said out loud, a
1
ADR-080 · Hosted tables keep the Z and M the
1
ADR-081 · Migration publishes an ArcGIS Serv
1
ADR-083 · The where clause evaluates ArcGIS'
1
ADR-085 · A tile leaves out what it cannot d
1
ADR-088 · Sign-in through an OpenID Connect
1
ADR-104 · A web map styles its own layers
1
ADR-105 · ArcGIS clients append to a hosted
1
ADR-107 · A layer is exported as a GeoPackag
1
ADR-108 · An item's owner is changed by an a
1
ADR-110 · A web map sets its layers' pop-ups
1
ADR-127 · An image service exports its value
1
ADR-162 · WMS and WFS at a service's own add
1
ADR-164 · `generateKml` is a network link to
1
ADR-165 · OGC API Features filters in Basic
1
ADR-172 · A service may be an INSPIRE View a
1
ADR-175 · OGC API Maps, over the WMS rendere
1
ADR-178 · HTTP Basic on the OGC faces, over
1

İnceleme kapıları (§66)

Her kapı ADR başına değil, mimarinin tamamına karşı koşulur; başarısızlık not düşülüp geçilmez, kararları yeniden açar. Kanıtsız işaretlenmiş bir kapı, açık bırakılmış olandan kötüdür: bilinmeyeni sahte bir güvenceye çevirir ve sonrasında kimse dönüp bakmaz.

KapıKoşulduSonuç, ya da neyi beklediği
CorrectnessFAILFAIL, and all five findings are repaired.
SimplicityFAILFAIL, narrowly, and not for the reason this row expected.
PerformanceFAILFAIL, on a finding about behaviour rather than speed.
FailureFAILFAIL, and all ten findings are now repaired — six on the day, the last four on 2026-08-23, each measured before and after.
OperationskoşulmadıNeeds a deployment somebody operates.
SecurityFAILFAIL on one finding, repaired the same day.
ExtensibilitykoşulmadıNo plugin code exists, so the gate has nothing to examine.
LicensingPASSPASS.
ConsistencyFAILFAIL, and all four findings are now answered — three on the day, the fourth on 2026-08-23.

Kararlar

Her mimari karar bir ADR. Durum ve güven seviyesi her dosyanın kendi başlığından okunuyor — yani bir karar orada değişmeden burada sessizce not değiştiremez.

ADRKararDurumGüvenKoşul
001Core LanguageACCEPTED
2026-08-25, by owner decision: "ben Q-01'i kabul ettim .NET olarak".
MEDIUM — 2026-08-25.
002Primary Data ArchitectureREOPENED → re-decided, ACCEPTED WITH…
REOPENED → re-decided, ACCEPTED WITH CONDITIONS
MEDIUM2/3
003Geometry EngineACCEPTED WITH CONDITIONS
single-provider scope.
HIGH for the split, which is measured.
004Rendering EngineACCEPTED
un-deferred 2026-08-20 by ADR-041, which is where the decision now lives.
—
005API ArchitectureACCEPTED WITH CONDITIONS
re-closed 2026-08-20.
MEDIUM-HIGH4/4
006Plugin ModelACCEPTED WITH CONDITIONS
re-closed 2026-08-15, see §0.
MEDIUM-HIGH1/2
007Service RuntimeACCEPTED WITH CONDITIONSMEDIUM — structure well supported, routing unproven2/4
008Query EngineACCEPTED WITH CONDITIONSMEDIUM3/3
009Raster EngineACCEPTED WITH CONDITIONS
re-closed 2026-08-15, see §0.
MEDIUM1/3
010CachingACCEPTED WITH CONDITIONSMEDIUM3/4
011Job SystemACCEPTED WITH CONDITIONSMEDIUM-HIGH3/4
012ClusteringDEFERRED—
013Feature Service Data Model: Identity, Relationships and AttachmentsACCEPTED WITH CONDITIONSMEDIUM5/7
014TLS and CertificatesACCEPTED WITH CONDITIONSMEDIUM-HIGH4/4
015AuthenticationACCEPTED WITH CONDITIONSMEDIUM4/5
016Packaging, Deployment and UpgradeACCEPTED WITH CONDITIONSMEDIUM5/5
017Admin API ShapeACCEPTED WITH CONDITIONSMEDIUM — the shape is decided, the surface is not1/3
018Authorization: user types, roles and privilegesREOPENED 2026-08-14 by owner direction →…
REOPENED 2026-08-14 by owner direction → re-decided, ACCEPTED WITH CONDITIONS
MEDIUM5/5
019One deployable, three fused tiersACCEPTED WITH CONDITIONSMEDIUM-HIGH for the decision · LOW for the trigger conditions in §53/3
020An admin console, and what "stop a service" meansACCEPTED WITH CONDITIONSMEDIUM-HIGH for the console · MEDIUM for the status model3/3
021Tiles are encoded by PostGIS, and we do not write an encoderACCEPTED WITH CONDITIONSHIGH for the decision · MEDIUM for the condition in §72/3
022GeometryServer ships in halves, and the projection engine is the datastore'sACCEPTED WITH CONDITIONS · §2 SUPERSEDED by…
ACCEPTED WITH CONDITIONS · §2 SUPERSEDED by §2b, 2026-08-15
HIGH for the split · HIGH for the engine · MEDIUM for the vertex cap4/4
023The REST Services Directory: an HTML face for the APIACCEPTED WITH CONDITIONSHIGH6/7
024Shapefile import, and the exception it costsACCEPTED WITH CONDITIONSHIGH4/5
025Governance: what a gift owes, and what it does notACCEPTED WITH CONDITIONSHIGH3/4
026Serving through a platform-store outage: public-only, while blindACCEPTED WITH CONDITIONSHIGH for the policy · MEDIUM for the window4/5
027Glyphs and sprites: the tile service could not draw a labelACCEPTED WITH CONDITIONSHIGH for the decision · MEDIUM for the coverage5/5
028Style documents: the one thing about a map a server cannot guessACCEPTED WITH CONDITIONSHIGH5/5
029Affinity routing is not the default, and A-003 stops being load-bearingACCEPTED WITH CONDITIONSHIGH for the reversal · MEDIUM for what replaces it at scale2/4
030Reading the reference implementation, not only its documentation~~ACCEPTED WITH CONDITIONS~~ WITHDRAWN
the permission this ADR granted ended 2026-09-09 by owner decision.
MEDIUM2/3
031A service's capabilities are configured, and configuration only ever restrictsACCEPTED WITH CONDITIONSMEDIUM6/6
032The product is named GraticulaACCEPTEDHIGH3/4
033Symbology: one canonical document per layer, and both protocol faces derive from itACCEPTED WITH CONDITIONSMEDIUM-HIGH for the canonical model · MEDIUM for the derivation's fidelity5/5
034Two surfaces over one API: Server for the operator, Studio for the publisherACCEPTED WITH CONDITIONSHIGH for the split · MEDIUM for where each screen lands5/5
035Role privileges are editable, except the administrator'sUNKNOWN—7/7
036Groups, and the two axes an authorization answer now hasUNKNOWN—5/5
037Job workers come in two kindsACCEPTED WITH CONDITIONSMEDIUM6/6
038How a geodatabase becomes one service with many layersUNKNOWN—5/6
039WFS 2.0, read-only, is the first surface after v1UNKNOWN—6/6
040The portal surface is how ArcGIS Pro connectsUNKNOWN—4/4
041The map renderer, and the two faces that hang off itACCEPTED WITH CONDITIONSMEDIUM-HIGH for the placement and the library · MEDIUM for labels · HIGH for throughput,…6/6
042OGC API Features, and the inversion it unwindsACCEPTED WITH CONDITIONSHIGH for the decision, which was already taken · MEDIUM for the conformance claim until…5/5
043ImageServer, and where the raster Tier 1 line fallsACCEPTED WITH CONDITIONSMEDIUM for the decomposition and the Tier 1 line · LOW for the first cut's completeness,…6/6
044Tiles are served, because the claim had to be trueACCEPTED WITH CONDITIONSHIGH6/6
045The server keeps a log you can ask questions ofACCEPTED WITH CONDITIONSMEDIUM6/6
046Admission control bounds the queue, not the waitACCEPTED WITH CONDITIONSMEDIUM4/5
047The outbound licence is Elastic License 2.0ACCEPTEDHIGH for the decision · MEDIUM for what it will cost in adoption2/3
048CI does not run the real-data suites, and says so on every runACCEPTEDHIGH for the exclusion · MEDIUM for whether announcing it is enough1/2
049A face refuses in its own vocabulary, even when that vocabulary has no word for itACCEPTEDHIGH for refusing at all · MEDIUM for which exception code
050A release is a tag, and what it publishes is two imagesACCEPTEDHIGH for the registry and the trigger · MEDIUM for the tag scheme
051An appearance is chosen by looking at itACCEPTEDHIGH
052The canonical symbology document is CIMACCEPTED WITH CONDITIONSMEDIUM3/5
053The symbology editor is three columns, and the item page has a headACCEPTEDHIGH
054The symbology document is not boundedACCEPTEDHIGH — MEDIUM on what replaces the bound until 2026-09-05, when condition 1 was measured1/2
055A connection is fields, and this server assembles itACCEPTEDHIGH0/2
056An item is its own thing, and a service is one kind of itACCEPTEDHIGH — MEDIUM on the field layout until 2026-09-05, when condition 1 was answered1/2
057Composing and publishing a serviceACCEPTEDHIGH for the composition and the publish rules · MEDIUM for the faces6/7
058The datastore's schema is edited from the screenACCEPTED WITH CONDITIONSHIGH for the rule and the refusals · HIGH for the dependency list — MEDIUM until…4/4
059Quiescing a data sourceACCEPTED WITH CONDITIONSHIGH for the refusal and the deadline · MEDIUM for the window's length · LOW for the…4/5
060The axis order comes from the authority's register, carried as dataACCEPTED WITH CONDITIONSHIGH for the answer, which is the authority's own · HIGH for the defect, measured on a…3/4
061Metrics are aggregate; per-entity numbers live in the admin APIACCEPTED WITH CONDITIONSMEDIUM2/2
062The query face streams, like every other faceACCEPTEDHIGH — the choice is between two behaviours that were both measured on the same route…
063A field list may differ from the table, in two ways and no moreACCEPTED WITH CONDITIONS~~MEDIUM — the decision is the owner's and the shape is forced by what already exists,…3/3
064Editor tracking, and what `features:edit` meansACCEPTED WITH CONDITIONSMEDIUM3/3
065Domains and subtypesACCEPTED WITH CONDITIONSMEDIUM3/5
066GeoParquet layers, read in place by DuckDBACCEPTED WITH CONDITIONSMEDIUM3/5
067DuckDB sources beyond a local folder: remote GeoParquet, a DuckDB database file, MotherDuckACCEPTED WITH CONDITIONSMEDIUM4/6
068Responses are compressed, on an allowlist rather than everywhereACCEPTEDHIGH
069Query responses carry the layer's cache lifetimeACCEPTED WITH CONDITIONSMEDIUM
070A layer has a visible scale range, and publishing measures one from the dataACCEPTED WITH CONDITIONSMEDIUM4/4
071A layer's thumbnail is drawn once and kept until somebody redraws itACCEPTEDHIGH
072Pages on other origins may read service responses, never with credentialsACCEPTEDMEDIUM
073A FeatureServer query answers in PBF, on the grid the caller namesACCEPTEDHIGH
074Z and M are read, said out loud, and not servedACCEPTED WITH CONDITIONSHIGH1/3
075A layer is edited by its owner, an administrator, and the group its owner shares it withACCEPTED WITH CONDITIONSHIGH3/3
076OAuth 2.0 authorization code with PKCE, for registered appsACCEPTED WITH CONDITIONSMEDIUM3/5
077Z and M ride beside x and y, and a flat geometry pays nothing for itACCEPTED WITH CONDITIONSHIGH3/5
078A hosted layer can keep its history, and the database keeps itACCEPTED WITH CONDITIONSHIGH that the database keeps it · MEDIUM on the write cost, which is measured once on one…6/6
079A web map is a saved document, and ArcGIS clients can open itACCEPTED WITH CONDITIONSHIGH on the format · MEDIUM on the viewer's shape until the owner has used it1/4
080Hosted tables keep the Z and M their data carriesACCEPTED WITH CONDITIONSHIGH1/2
081Migration publishes an ArcGIS Server's layer definitions over the tables they already readACCEPTED WITH CONDITIONSMEDIUM0/1
082Offline sync is not in v1ACCEPTEDHIGH
083The where clause evaluates ArcGIS's standardized functionsACCEPTED WITH CONDITIONSMEDIUM1/2
084The page size is one number, and the server's is set from the consoleACCEPTED WITH CONDITIONSHIGH3/3
085A tile leaves out what it cannot drawACCEPTED WITH CONDITIONSHIGH2/3
086The operator chooses the map ground, and it is the portal's default basemapACCEPTED WITH CONDITIONSHIGH1/3
087A domain is a named object that fields on many layers point atACCEPTED WITH CONDITIONSHIGH0/2
088Sign-in through an OpenID Connect providerACCEPTED WITH CONDITIONSMEDIUM2/3
089Sign-in through an LDAP directory, and groups mapped to roles and groups hereACCEPTED WITH CONDITIONSMEDIUM1/3
090Sign-in through a SAML 2.0 identity providerACCEPTED WITH CONDITIONSMEDIUM1/3
091Server's sidebar is five rows; the rest are pages under themACCEPTEDMEDIUM
092Sprites are uploaded per service, and a style's icons are checked against themACCEPTEDMEDIUM
093Seeding the tile cacheACCEPTEDMEDIUM
094A service may carry several styles, and a style may name hosts an administrator allowedACCEPTEDMEDIUM
095Registered PostGIS layers serve vector tilesACCEPTEDMEDIUM
096A vector tile service may be tiled in another referenceACCEPTEDMEDIUM — the grid arithmetic is tested by hand-worked numbers; what an ArcGIS client does…
097Vector tiles are served through OGC API Tiles, TileJSON and WMTSACCEPTEDMEDIUM — the grids, documents and refusals are tested against numbers typed in from the…
098Vector tiles can be exported as a packageACCEPTED WITH CONDITIONSMEDIUM — both formats are written from their published specifications and read back in…3/3
099Picture markers are drawn on every faceACCEPTEDMEDIUM — every face is written and unit-tested, and the Skia drawing is read back from…
100Labels in more scriptsACCEPTEDMEDIUM — the glyph ranges are generated, decoded and pinned by tests, and the raster…
101Studio is walked the way a Portal user walks itACCEPTED WITH CONDITIONSMEDIUM — every change below was reproduced in a browser before it was made and is pinned…0/4
102The Studio item is one page, and every setting has one homeACCEPTED WITH CONDITIONSMEDIUM — the structure was drawn by an ArcGIS administrator's review and a design review…3/3
103A hosted layer is updated from a file: append, or overwriteACCEPTED WITH CONDITIONSMEDIUM — the write path is the import's, measured by its own tests; what is new is one…4/4
104A web map styles its own layersACCEPTED WITH CONDITIONSMEDIUM — the storage is the ArcGIS Web Map specification's own place for it and the…2/3
105ArcGIS clients append to a hosted layer through `uploads/upload` and `append`ACCEPTED WITH CONDITIONSMEDIUM — the two operations are shaped as the public ArcGIS REST reference documents them…1/2
106A layer's data can be exported as a fileDRAFTMEDIUM — every format rests on a GDAL driver measured present and able to create on both…6/9
107A layer is exported as a GeoPackage, a zipped shapefile or a workbookACCEPTED WITH CONDITIONSMEDIUM — GDAL writes the files and is the same GDAL the import reads with; what is…2/3
108An item's owner is changed by an administrator; *Move* waits for content foldersACCEPTED WITH CONDITIONSHIGH for Change owner — one row, the member transfer's rule for one item; MEDIUM for…2/3
110A web map sets its layers' pop-upsACCEPTED WITH CONDITIONSMEDIUM — stored where the ArcGIS Web Map specification keeps it and drawn by the viewer…1/2
111An item carries tagsACCEPTEDHIGH — a list of words per item, searched as text; nothing measurable is at stake2/2
112A CSV or Excel table with coordinates is published and added to a layerACCEPTEDHIGH — GDAL's CSV driver does the reading, and the path after it is the shapefile's2/2
113A hosted feature layer has views, and a view is a PostgreSQL viewACCEPTED WITH CONDITIONSMEDIUM — PostgreSQL's automatically updatable views were measured doing what this needs;…4/4
114A member's content has folders, and an item is moved between themACCEPTED WITH CONDITIONSHIGH — a table, a column per item kind, and Portal's documented REST shape3/3
115Editor tracking stops as well as starts, and editors may be kept to their own featuresACCEPTEDHIGH — the writer's own-only predicate existed and was measured dormant; this turns it on…3/3
116Update data may update the features a file matches and add the restACCEPTEDHIGH — two statements in the transaction append already runs2/2
117A web map labels its layersACCEPTEDHIGH — Web Map's own fields, drawn by the viewer that already draws the layer1/1
118A web map's pop-up formats numbers and datesACCEPTEDHIGH — one Web Map field per field info, drawn by the viewer that draws the pop-up1/1
119A web map has a description and a pictureACCEPTEDHIGH — two columns and the Map Viewer's own canvas2/2
120A GeoPackage or KML is imported as a geodatabase isACCEPTEDHIGH — the geodatabase path, measured reading both formats through /vsizip/1/1
121A point layer is drawn as a heat map, or sized by a numberACCEPTEDHIGH — Web Map's own renderer shapes, drawn by OpenLayers' own layers1/1
122A pop-up has text and an imageACCEPTEDHIGH — two Web Map fields, drawn as text1/1
123Imagery comes into Studio, and an export refuses what it does not applyACCEPTED WITH CONDITIONSMEDIUM — the refusal is measured; the scope it opens was inferred and is confirmed5/5
124An image service is shared to a group, and identify refuses what it does not applyACCEPTEDHIGH — each defect is reproduced by a test that failed before the change
125An image service has a legend, key properties and statisticsACCEPTEDMEDIUM — the shapes are ArcGIS's documented ones; what Pro does with each is read from…
126An imagery item describes itself, and sits in its owner's folderACCEPTEDHIGH — measured on the portal face Pro and the Python API read
127An image service exports its values as a GeoTIFFACCEPTED WITH CONDITIONSMEDIUM — the file is read back by this server's reader and by GDAL; what ArcGIS Pro does…0/1
128An image service has histograms, and NaN is not a measurementACCEPTEDMEDIUM — the shape is ArcGIS's documented one; what Pro draws from it is not measured here
129Several items at once, and a map says which of its layers its readers will not seeACCEPTEDMEDIUM — the shapes are Portal's; each action is a sequence of requests the single-item…
130The Map Viewer has an attribute table and bookmarksACCEPTEDMEDIUM — both are ArcGIS Map Viewer's shape over requests this server already answers
131Labels have a visible rangeACCEPTEDHIGH — the Web Map specification's own fields, read and written as ArcGIS does
132The Map Viewer has a time sliderACCEPTEDMEDIUM — the server already answers time; the slider is ArcGIS Map Viewer's shape over it
133The Map Viewer prints the view as a pageACCEPTEDMEDIUM — composed in the browser from what the map already drew; no print service
134Features are edited in the browserACCEPTED WITH CONDITIONSMEDIUM — every write goes through the layer's own applyEdits, which ArcGIS clients…3/3
135A service counts its useACCEPTEDMEDIUM — what is counted is measured; that a count is what an administrator needs is…
136An elevation model is shaded, sloped and given its aspectACCEPTEDHIGH — the arithmetic is checked on planes whose answers are known in closed form, and…
137An image service answers LERCACCEPTEDHIGH — every blob type opens in Esri's own decoder with the values it was given, and the…
138A renderer sent as a rendering rule is drawnACCEPTEDHIGH — every chain is the one the SDK was measured sending, and each is drawn where it…
139An uploaded image is given its overviewsACCEPTEDHIGH — measured before and after on the same image, and the full resolution is…
140Several images are one mosaicACCEPTED WITH CONDITIONSMEDIUM — the reading is measured and checked against GDAL's format; what a mosaic should…1/1
141An image service answers about an area and along a lineACCEPTEDHIGH — the statistics agree with numpy on the same file to the last digit, and a hole is…
142An image is read between its cells as the request asksACCEPTEDHIGH — the arithmetic is checked on ramps whose answers are known, and end to end on a…
143An uploaded image is given back to its ownerACCEPTEDHIGH — the file given back is byte-identical to the one sent
144The geometry service answers the JS SDK as it asksACCEPTED WITH CONDITIONSHIGH — every request is the SDK 4.30's own shape, read from its published source1/1
145A geometry request is answered in the units it names, or refusedACCEPTEDHIGH — each conversion is checked on a shape whose answer is known, and each refusal…
146project takes extents and WKT, relation reads RELATE, and GARS and GEOREF are convertedACCEPTEDHIGH — each is checked on an answer known in advance
147A mosaic grows, and images that do not fit its grid are put on itACCEPTEDMEDIUM — the resampling is the raw export's, measured there; the growth is checked end to…
148An image may be downloaded by everyone it is shared with, and every image is given its pyramidACCEPTEDHIGH — both are checked end to end, with a second user
149The portal may name another server's geometry serviceACCEPTEDHIGH
150autoComplete, reshape and trimExtend are computedACCEPTEDMEDIUM — each is checked on the cases the specification describes; ArcGIS's handling of…
151NDVI, band arithmetic and a choice of bandsACCEPTEDMEDIUM — the arithmetic is checked against closed-form answers; ArcGIS's defaults for…
152A mosaic is a catalog: queried, ordered by a rule, and edited as ArcGIS edits oneACCEPTEDMEDIUM — each operation is checked end to end; ArcGIS's ordering methods that need a…
153An image service has the time of its imagesACCEPTEDMEDIUM — time is checked end to end; multidimensional imagery is not served
154A classified image names its classes: ArcGIS's raster attribute tableACCEPTEDHIGH for the table and its reading · MEDIUM for ArcGIS's shape of identify with a table,…
155An image service measures on the ground, and moves between its cells and the mapACCEPTEDMEDIUM — distances, azimuths and areas are checked against closed-form values; ArcGIS's…
156Clip, Remap, Mask, Statistics and ArithmeticACCEPTEDMEDIUM — each is checked against closed-form answers; ArcGIS's enumerations for…
157Imagery in other formats is written as GeoTIFF on its way inACCEPTEDMEDIUM — the formats are GDAL's and the conversion is checked end to end on samples; real…
158A mosaic combines its images, is reordered in Studio, and a map chooses its bandsACCEPTEDMEDIUM — each operator and each control is checked end to end on samples; blending is…
159A multidimensional file is a service of slicesACCEPTEDMEDIUM — checked end to end on a NetCDF of two variables over time and depth; real files…
160Datum transformations are listed from the register and applied as namedACCEPTEDMEDIUM — listing and applying are checked end to end; the ranking without an area of…
161A mosaic's seamline is the halfway line between its imagesACCEPTEDMEDIUM — checked end to end on two overlapping images; ArcGIS's generated seamlines…
162WMS and WFS at a service's own address, and image services in WMSACCEPTED WITH CONDITIONSMEDIUM — each address and each layer is checked end to end; no ArcGIS-migrated QGIS…1/2
163An image service answers WMTS over its own tilesACCEPTED WITH CONDITIONSMEDIUM — a WMTS tile is checked byte for byte against the ArcGIS tile; no WMTS client has…1/1
164`generateKml` is a network link to the service's mapACCEPTED WITH CONDITIONSMEDIUM — the document and the request it makes are checked; Google Earth has not been…0/1
165OGC API Features filters in Basic CQL2 textACCEPTED WITH CONDITIONSMEDIUM — each claimed class has a case that observes it; no OGC test suite for Part 3 has…0/1
166A service's OGC faces are turned off one by oneACCEPTEDMEDIUM — each face is checked against the switch end to end; ArcGIS Manager's vocabulary…
167A service's own OGC documents describe itACCEPTEDMEDIUM — the documents are checked; ArcGIS Manager's other OGC properties (contact a…
168WFS 1.1.0 is spoken beside 2.0.0ACCEPTED WITH CONDITIONSMEDIUM — each operation is checked end to end in 1.1.0's own terms; no 1.1.0-only client…2/2
169WFS-T through the one write pathACCEPTED WITH CONDITIONSMEDIUM — each action is checked end to end in both versions; OGC's Transactional test…2/2
170Image services are WCS 2.0.1 coveragesACCEPTED WITH CONDITIONSMEDIUM — each operation, trimming, scaling, reprojection and the switch are checked end…2/2
171SLD at the WMS boundaryACCEPTED WITH CONDITIONSMEDIUM — a style sent with GetMap is drawn and forgotten, GetStyles' document draws the…2/2
172A service may be an INSPIRE View and Download serviceACCEPTED WITH CONDITIONSMEDIUM — the documents validate against INSPIRE's published schemas with and without the…0/1
173WCS 1.0.0 is spoken too, so that QGIS opens an image serviceACCEPTED WITH CONDITIONSMEDIUM — QGIS 3.28's own WCS provider opens a coverage through it, its documents validate…1/1
174OGC API Processes, over the geometry serviceACCEPTED WITH CONDITIONSMEDIUM — each process is one geometry-engine operation under the geometry service's own…2/2
175OGC API Maps, over the WMS rendererACCEPTED WITH CONDITIONSMEDIUM — a map drawn here is byte-identical to the WMS GetMap for the same box, size and…1/2
176OGC API Styles, read-only, over the styles the tile faces already serveACCEPTED WITH CONDITIONSMEDIUM — the documents, the negotiation and SLD 1.0 beside 1.1 are unit-tested, the face…2/4
177OGC API Records is a searchable catalogue of the portal's itemsACCEPTED WITH CONDITIONSMEDIUM — every claimed class has a test against a running server, and OWSLib 0.25 and…1/3
178HTTP Basic on the OGC faces, over HTTPSACCEPTED WITH CONDITIONSHIGH — QGIS 3.28 signs in with its own authentication manager and saves a WFS-T insert…0/1
179A layer may carry a titleACCEPTED WITH CONDITIONSHIGH — one column, one setter, and the three faces that composed a title each read it…1/1

Açık sorular

Belirsizlik gizlenmiyor, kayda geçiyor. Buranın boş olması belirsizliğin değil, kaydın bittiği anlamına gelirdi.

Q-165[OWNER]

May INSPIRE be turned on for one showcase service, so the INSPIRE validator can be run against it?

Mimari borç

Geçici uzlaşmalar, her biri kendini ödeyen tetikle birlikte. Tetiksiz bir uzlaşma, geçici etiketi takmış kalıcı bir karardır.

NoBorçNe zaman ödenirDurum
D-04Multi-tenant resource isolation is not designed.Before multi-tenant deployments are supportedPARKED
D-10~~ADR-015 is implemented for local passwords only.~~ OIDC, LDAP and SAML 2.0 are built 2026-09-24, in the owner's order (ADR-088, ADR-089, ADR-090); SCIM, API keys and mTLS remain unbuilt, and were not asked about.OIDC before the first deployment with an IdP; /generateToken before any unmodified ArcGIS client is pointed at us The…OPEN
D-108The pipe streams and the importer does not, so the million-feature ceiling has not moved — it has changed owner.The first archive with a layer past a million features, which is an ordinary size for a national road networkPARKED
D-115The Server/Studio surface split is the single cause of four recorded console defects.The next defect whose cause is the splitPARKED
D-144~~Nothing bounds how long one request may hold a database permit.~~ The headline is struck 2026-09-09 rather than reworded, because it was false and the correction had already been written into this row's status cell without reaching its first sentence — half…A way to refuse before the first byte, or a way to end a response that says why.PARKED
D-162A provider that is not PostGIS would be handed PostGIS SQL.When DuckDB is designed as the file-format query engine (Q-81), and not after.PARTLY
D-261Every request under /rest/services makes six to eleven short database round trips, and that — not the query, not the response size, not admission control — is what holds the path at about 1,300 requests a second.A deployment whose request rate approaches it, or the day the catalogue and identity reads are held the way ADR-015 §3a…PARKED
D-262The product's own containers are amd64 only, so docker compose up — the first command README.md offers — fails on every arm64 machine.The release workflow publishing both architectures, which GitHub's arm64 runners make free for a public repository; and…PARKED
D-263The WFS capabilities document offers spatial operators a GeoParquet layer refuses.The first WFS client that builds a spatial filter from the capabilities document against a GeoParquet layer, or ADR-066…OPEN
D-266Only FeatureServer query answering features is cacheable (ADR-069); every other read a map draws from is not, and a PostGIS layer has no validator.A second client family drawing from one of the uncovered faces; or a cheap PostGIS data version appearing (an edit…OPEN
D-267A layer's visible range is measured once, at publish (ADR-070), and a layer published before it has none.A layer whose data grows past its range — a tile at its first drawn level measured over 10,000 features, or a slow-tile…OPEN
D-270ADR-064's per-feature ownership is unreachable and kept.When somebody asks for that setting — then it is wired to a per-layer flag and this closes; or at the next ADR-064…OPEN
D-279A MotherDuck layer's tiles change behind this server with nothing to key on, and keep the server's default lifetime.The owner decides MotherDuck's default; or an operator reports a MotherDuck map an hour behind its data.OPEN
D-282An exported tile package lives on the server that wrote it, and the console's download holds it in the browser's memory.A deployment runs more than one server against one catalogue and exports; or an operator reports the console failing on…OPEN
D-287The generated sprite sheet has no ceiling on its size.A service whose sprite@2x.png is taller than 4,096 pixels, or a report of a map whose icons vanish on one machine and…OPEN
D-289Two of Studio's downloads still fetch the whole file into the page and save it at the end.A tile package or an export measured past a few hundred megabytes, or a report of a save arriving on the wrong pageOPEN
D-290~~Three OGC faces have CITE failures that are counted rather than fixed: WMTS 15, WMS 1.1 10, WFS 1.1 9.~~ Updated 2026-10-06: WMTS 0, WFS 1.1 4, WMS 1.1 10, and two suites added with failures of their own — WFS 2.0 Transactional 18 and OGC API Maps 4.WFS 1.1: the engine's image fixed upstream.OPEN
D-291A portal item can name a face its service has turned off.The next change to the portal's item listing, or a client report of an item that will not openOPEN
D-292A group: search finds services and nothing else.The next change to the portal search, or a group member who cannot find a map shared with the groupOPEN
D-293The conformance harness's shared client keeps cookies.The next test that asserts anonymity, or a sweep of the tests that sign in through HttpOPEN

269 ödendi — hepsi neye mal olduğuyla birlikte defterde duruyor, çünkü ödenmiş borç kanıttır ve bu sayfa yalnızca iştir

Varsayımlar

Birinin çürütülmesi, üzerine kurulu her ADR’nin yeniden gözden geçirilmesini tetikler. Doğrulanmamış çoğunluk projenin dürüst hâli, bir ihmal değil.

NoVarsayımDurum
A-001The tile path is CPU-bound enough that language performance materially affects capacityVALIDATED
A-002Single-binary distribution is genuinely valuable for air-gapped installs, not just aesthetically pleasingUNVALIDATED
A-003Most published services are idle most of the time, making shared workers viableDOWNGRADED
A-004Hot-path geometry overhead is material enough to justify our own primitivesVALIDATED
A-005Geometry running in the same runtime meaningfully reduces defect resolution time versus FFIUNVALIDATED
A-006One internal geometry representation can serve both the feature path and the tile path without a second conversionVALIDATED
A-007Crash containment is required in practice, not merely in principle — workers really do die (GDAL on malformed input, plugins, OOM)CONTESTED,
A-008Administrators will not correctly hand-tune per-service worker settings, so defaults must be good and adaptiveVALIDATING
A-011A distinguished central manager process is a robustness and recovery liability, so placement and routing state must be recoverable without oneVALIDATING
A-012The sharing question is really about per-service state size, binding cost and neighbour tolerance — not about "shared versus dedicated"VALIDATING
A-013Our Tier 2 dependencies (GDAL, GEOS, PROJ) are thread safe enough to permit a threaded worker modelVALIDATED
A-014Routing requests to workers already warm for a service materially improves L1 hit rate without wrecking load balanceDOWNGRADED
A-015Per-service warm state is small — connections, schema, symbology, fonts, CRS — making bind/unbind cheapVALIDATED
A-018~~A deliberately boring platform schema can be supported across SQLite and PostgreSQL at acceptable cost~~SUPERSEDED
A-019In-process MVT encoding can meet our latency targetsVALIDATED
A-020Cache seeding absorbs the provider performance gap, so an expensive Oracle tile path is acceptable when paid once rather than per requestUNVALIDATED
A-036RLS delegation and large streaming reads do not collide often — the layers wanting row-level security are not usually the layers wanting bulk exportUNVALIDATED
A-035Data source count stays low relative to service count — many services share one registered databaseUNVALIDATED
A-032COG range-request traffic is view-proportional, so proxying it costs about what serving tiles costsUNVALIDATED
A-033Target clients can render COG directly, so serving one format sufficesUNVALIDATED
A-034Internal ports designed for our own use will be good enough to become a plugin contract later, without a redesignUNVALIDATED
A-030Lease expiry plus checkpoint verification prevents one job running twice across nodesUNVALIDATED
A-031Job rate stays low enough for a database-backed queue — jobs per minute, not messages per secondUNVALIDATED
A-028Administrators can and will declare layer volatility usefully, and keep it roughly accurateUNVALIDATED
A-029Tiles, not feature query responses, are where cache reuse actually isUNVALIDATED
A-026OGC API Features Parts 1+2+3 plus additive extensions can express what §28 requires, without bending the standard's meaningUNVALIDATED
A-027Optimistic concurrency can be made correct against writes we never see, by relying on database-maintained versioning rather than our own event recordUNVALIDATED
A-025A small number of pinned service contexts suffices for real deployments, and administrators will not pin everythingUNVALIDATED
A-024A small residual executor plus explicit refusal is acceptable to real users, given a capability report published in advanceUNVALIDATED
A-022~~The datastore schema can be created on PostGIS, SQL Server Spatial and Oracle Spatial at acceptable cost~~SUPERSEDED
A-023A cheap schema fingerprint can be polled often enough to detect drift on registered sources without loading the source databaseUNVALIDATED
A-021Filter and predicates can be pushed down usefully on all three spatial dialects — narrowed by Q-67: clip and simplify no longer need to be, since only PostGIS serves tiles.VALIDATED
A-017Data sources will frequently be foreign and possibly read-only, so the platform cannot rely on DDL rights in themVALIDATING
A-016GDAL-backed providers can be made optional, so a PostGIS-only deployment ships as one artefactVALIDATED
A-037Allocation rate, not CPU, sets the tile-serving ceiling per workerVALIDATED
A-038GDAL is needed for the import formats we care about at allINVALIDATED
A-039~~Every provider can clip server-side cheaply enough to avoid shipping whole geometries~~SUPERSEDED
A-040All three engines can stream BLOBs out of a query without materialising them in our processUNVALIDATED
A-041A bounded separate connection pool is sufficient protection against slow-client exhaustion during attachment streamingUNVALIDATED
A-042Caps on vertex count, batch size and wall clock are sufficient to make a public general-overlay endpoint safeINVALIDATED
A-043Six geometry engines can be made to agree closely enough that the same query returns the same answer on any providerVALIDATED
A-044Certificate rotation can take effect on the next handshake without recycling the listener or the workerVALIDATED
A-045Soft-fail revocation checking is an acceptable posture for the air-gapped profileUNVALIDATED
A-046An opaque-token session lookup per request is affordable at the concurrency ADR-007 targetsVALIDATED
A-047Every provider supporting RLS delegation can accept a principal name we generate, through administrator-controlled mappingUNVALIDATED
A-048Expand-and-contract is achievable for every migration we will need, including index and constraint changes on large hosted tablesUNVALIDATED
A-049A curated Python wheel set can cover realistic geoprocessing without pip at runtimeUNVALIDATED
A-050Per-worker allocation rate and GC pause can be sampled continuously, cheaply enough to be always-on metricsUNVALIDATED
A-051A supervisor-served admin surface can authenticate without the platform store without becoming a bypassUNVALIDATED
A-010The 100–1,000 service target will not shift upward by an order of magnitude after launchUNVALIDATED
A-057STAsMVT output is acceptable to the ArcGIS and MapLibre clients we care aboutPARTLY
A-058The datastore has spare capacity for tile encoding in a 100–1,000 service deploymentUNVALIDATED
A-059A vertex cap bounds the work for single-pass geometry operationsUNVALIDATED
A-060Using the datastore's PROJ rather than an in-process library costs nothing that mattersPARTLY
A-061An administrator's first act against an unfamiliar server is to open its URL in a browserUNVALIDATED
A-064A security report will arrive at some point after publication, and the cost of having nowhere to send it exceeds the cost of the policyUNVALIDATED
A-065Requiring a DCO rather than a CLA does not deter contribution, and requiring a CLA wouldUNVALIDATED
A-066A stale Public grant discloses nothing that was not already disclosedVALIDATED
A-067Platform-store failures that leave the data sources up are common enough to be worth serving throughUNVALIDATED
A-068Fifteen minutes is longer than a transient outage and shorter than one nobody is handlingUNVALIDATED
A-069~~One Latin/Greek/Cyrillic typeface serves the deployments this product is for~~RETIRED
A-070Substituting an unavailable font beats refusing the requestUNVALIDATED
A-071One style per service is enough to be useful, even though it is not enough to be finishedINVALIDATED
A-072Refusing a style at write time costs an author less than a blank map costs them at read timeUNVALIDATED
A-073Warm-state fragmentation across workers costs less than the affinity control system would cost in instabilityUNVALIDATED
A-074A QGIS or GDAL client asking a WFS feature type for its default output format gets GML 3.2 — so a WFS offering only GeoJSON would not have connected, and the GML writer is…VALIDATED
A-075ArcGIS Pro's portal connection works against a portal API this project implements, rather than requiring something only Esri's own portal returnsVALIDATED
A-076A CPU rasteriser meets the latency a WMS client expects at typical image sizes on this runtime, without the allocation profile ADR-007 §4.14's worker sizing has no term forVALIDATED
A-077The canonical symbology document carries enough to draw a map a cartographer would accept, rather than enough to describe one.PARTLY
A-052Enforcing the user-type ceiling costs nothing in deployments that never use itUNVALIDATED
A-053A fused deployable remains operable at the top of the stated scale target — 1,000 servicesUNVALIDATED.
A-054Catalogue load and serving load stay similar enough that separate scaling is never forcedUNVALIDATED,
A-055A single-page console with no build step stays maintainableUNVALIDATED.
A-056Operators want start/stop rather than only sharingUNVALIDATED
A-062256 MB uncompressed is above any shapefile a person uploads through a browser and below what troubles the machineUNVALIDATED
A-063Refusing an undeclared encoding costs less than silently corrupting textUNVALIDATED
A-078An operator would rather write MapLibre than a format we invented, because tools exist for the firstUNVALIDATED,
A-079The publisher and the operator are different people often enough for two surfaces to be worth their costUNVALIDATED,
A-080admin:manageServer is the right single gate for Server, so no reader is left without a tool they needUNVALIDATED
A-081The operator console is read on a screen at least 1,180 CSS pixels wideSUPERSEDED
A-082The EPSG register's axis definitions change rarely enough that regenerating from whatever proj.db the PostGIS image ships is soon enoughUNVALIDATED
A-083No deployment needs an axis answer for a CRS code PROJ's own register does not carryUNVALIDATED
A-019In-process MVT encoding meets latency targets — on PostGIS only, which v1 made the whole of it: D-05 closed 2026-08-24 with the scope cut2026-08-12
A-004Hot-path geometry overhead justifies our own primitives2026-08-12
A-001The tile path is CPU-bound enough that language performance materially affects capacity2026-08-12
A-013GDAL, GEOS and PROJ permit a threaded worker model2026-08-12
A-009PostgreSQL/PostGIS is an acceptable hard dependency for the baseline deploymentREINSTATED

Neyin doğrulandığı

Counted from [Fact] and [Theory] attributes in the test sources, so this number cannot drift from the suite that produces it.

Host
1332
Core
873
Conformance
738
Platform.Postgres
542
Api.ArcGis
408
Console
283
Platform
206
Providers.DuckDb
124
Api.Wfs
122
Render.Skia
50
Architecture
49
Raster.Tiff
41
Security.Argon2
24

Son çalışma

  1. 3f7cada4Two tests that failed v1.0.338's CI stop racing: the pop-up is set and applied in one turn, and the reclaim test is not a deadline test
  2. da613593GET /admin/layers/{name} reads one layer back, as the listing describes it
  3. 4d31fe60The attachment pool under slow readers is measured: the ninth waits and gets 504, the feature path does not notice, and a 1 MB file does not release early
  4. efe04605The importer draws from the connection budget: an import and the requests reading the datastore compete for one pool of permits
  5. cfe79cbdA local administrator signs in while the directory and the OpenID provider are down, and a test breaks them to show it
  6. 5f79859eADR-103 condition 2 discharges: Update data refuses a publisher who does not own the layer, and a registered layer
  7. 249400c8Two timing tests stop measuring the runner: the pre-flight clock starts after the worker does
  8. 56cdcff2ADR-079's evidence row points at the review's dissent, §10a, not a §4a that never existed
  9. 0dd3b94aTwo conditions met weeks ago are marked, one gap is closed first, and a fired trigger is recorded
  10. 21c15a39ADR-086 condition 3 discharges: a new web map starts on the server's ground, and a test now says so
  11. 35c219a7The history-period test stops racing the page's own fill for the row it waits on
  12. 1db42c80The layer viewer's box zoom stays zoomed: the Frame handler is on the button, not the page
  13. fc78f07eThe projector stops breaking every second projection on PROJ 8
  14. 16ee583dA ranged layer's opening place is found at start, a level inside its limit