Skip to content

tools: ST4 SQL/MM example factory — WKT §5.1.67 + WKB §5.1.68 (Shelf A start) - #747

Merged
grootstebozewolf merged 2 commits into
mainfrom
cursor/sqlmm-example-factory-stg-dcda
Sep 13, 2026
Merged

tools: ST4 SQL/MM example factory — WKT §5.1.67 + WKB §5.1.68 (Shelf A start)#747
grootstebozewolf merged 2 commits into
mainfrom
cursor/sqlmm-example-factory-stg-dcda

Conversation

@grootstebozewolf

@grootstebozewolf grootstebozewolf commented Sep 13, 2026

Copy link
Copy Markdown
Owner

claimId: none (tools / docs).

Shelf A start of the north-star path (copied here; does not wait on #741): locked SHC bag → ISO/IEC 13249-3 WKT (§5.1.67) and WKB hex (§5.1.68 Table 15) through StringTemplate 4 .stg groups. Inverse of tools/WktIntakeWalker.

tools/WktIntakeWalker/          # ANTLR pin + visitor (exists)
tools/SqlMmExampleFactory/      # bag → WKT + WKB  (this PR)
oracle/fixtures/sqlmm/          # locked smoke rows + HOLD note

What this inhabits

  • templates/SqlMmWkt.stg — POINT, LINESTRING (+ EMPTY), CIRCULARSTRING, CIRCLE, COMPOUNDCURVE of LS+CS (children keep type), CLOTHOID JTS (k0,k1,L) and ISO REFERENCELOCATION.
  • templates/SqlMmWkb.stg — NDR + XDR for codes 1 / 2 / 8 / 9. CIRCLE and CLOTHOID are named HOLD (κ=none). HOLD named for 13–17 / 18–21 (not Circle-as-18, not Clothoid-as-22, not WKB 13).
  • Minimal Java ST4 driver (org.antlr:ST4:4.3.4 + org.antlr:antlr-runtime:3.5.3 via local jar download, same pattern as the intake walker). No Maven reactor.
  • smoke.sh: locked LINESTRING bag round-trips through the pinned grammar (μ bag equals input); WKB hex stable for Point / LineString / CircularString / CompoundCurve. Local run: sqlmm example factory smoke OK. make ci-guards OK.
  • GEODESICSTRING emits as LINESTRING because τ(MkChord)=TagLineString. Honest chord bag. Not TagGeodesic / WKB 13.

Rocq emit stays QEX: ticket_sqlmm_factory_emit_qed_or_qex is not reminted. This PR inhabits tools bytes only.

Engines still test the bag. No new ADR-0006 oracle keyword.

Hard no (honoured)

Base: origin/main f409574f2501647f3979bb9552c10bcd54f3ece1.
Tip: cc6032e9a87a4c4984f3e07a65ad277459b37311.

This PR was drafted with AI assistance. Do not merge from this courier unless a human says go.

Open in Web Open in Cursor 

cursoragent and others added 2 commits September 13, 2026 13:29
Shelf A start: StringTemplate 4 groups emit ISO WKT and Table 15 WKB
hex from an intake-shaped bag (hens/pts/chickens). Inverse of
WktIntakeWalker. claimId: none. Rocq emit stays QEX
(ticket_sqlmm_factory_emit_qed_or_qex). No new ADR-0006 keyword.

This commit was drafted with AI assistance.

Co-authored-by: Jeroen Bloemscheer <grootstebozewolf@users.noreply.github.com>
ST4 4.3.4 depends on org.antlr:antlr-runtime:3.5.3, not antlr4-runtime.
Builder.build no longer reads Example instance fields.

This commit was drafted with AI assistance.

Co-authored-by: Jeroen Bloemscheer <grootstebozewolf@users.noreply.github.com>
@grootstebozewolf
grootstebozewolf merged commit 84c8c4e into main Sep 13, 2026
4 checks passed
@grootstebozewolf
grootstebozewolf deleted the cursor/sqlmm-example-factory-stg-dcda branch September 13, 2026 13:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants