Skip to content

Certify GeoArrow producer conformance and portability #802

Description

@DecisionNerd

Parent

Native close-gate slice of #797, dependent on #799-#801.

Objective

Certify GraphForge as a standards-based GeoArrow producer and query engine without making any particular visualization consumer part of GraphForge's implementation or close gate.

Scope

  • Publish producer-neutral golden fixtures for every initial geometry, certified CRS/edge profile, preserved-only metadata case, null/offset/nesting boundary, IPC, and Parquet.
  • Validate those fixtures with independent standards-aware readers where practical.
  • Freeze compatibility, schema/metadata, fingerprint, resource-limit, and unsupported-operation expectations.
  • Reconcile ontology/value, Arrow, storage/project, query, Python, Node, CLI/export, and compatibility documentation.
  • Correct stale point()/distance() claims unless direct executable Rust evidence exists.
  • Document the consumer boundary: downstream projects consume the public fixtures and own their own integration/rendering tests.

Acceptance Criteria

  • Golden fixtures cover every initial geometry, certified CRS/edge profile, preserved-only metadata case, nulls, offsets, IPC, and Parquet.
  • Independent parsing proves the fixtures are standards-conformant and do not require field renaming or WKB/WKT/GeoJSON reconstruction.
  • GraphForge documentation describes producer/query semantics, compatibility, limits, and errors without renderer instructions.
  • XYG and other consumers can reference the published fixtures, but their execution is not required to merge or close GraphForge work.
  • Stale spatial completeness claims are corrected unless backed by direct executable evidence.
  • No visualization, map, scene, tile, or XYG dependency is introduced.
  • Relevant exact-head CI Gate is green.

BDD Completion Scenario

Scenario: Any compliant consumer can read the fixture

Given a GraphForge-produced canonical GeoArrow fixture
When an independent standards-aware consumer reads it
Then geometry type, CRS/edge metadata, buffers, offsets, nulls, and values agree
And no GraphForge- or XYG-specific reconstruction is required.

Documentation

GraphForge owns the producer contract and fixture catalog. Consumer-specific projection, rendering, interaction, and integration documentation belongs in the consumer repository.

Non-Goals

Executing XYG in GraphForge CI, renderer certification, map screenshots, viewport/LOD tests, or consumer release gates.

Related Issues

Completion

Blocks #797; the parent remains the close gate.

Metadata

Metadata

Assignees

No one assigned

    Labels

    coreCore source code changesenhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions