Skip to content

Add the MEOS.NET pin manifest and per-binding generator policy#6

Open
estebanzimanyi wants to merge 1 commit into
MobilityDB:mainfrom
estebanzimanyi:tooling/canonical-generator-policy
Open

Add the MEOS.NET pin manifest and per-binding generator policy#6
estebanzimanyi wants to merge 1 commit into
MobilityDB:mainfrom
estebanzimanyi:tooling/canonical-generator-policy

Conversation

@estebanzimanyi

Copy link
Copy Markdown
Member

What

Brings MEOS.NET onto the ecosystem-wide per-binding generator policy (same treatment as JMEOS #29 and GoMEOS #6):

  • tools/pin/compose-order.txt — MEOS.NET's canonical, dependency-ordered fold manifest. main still ships the regex MEOS.NET.Builder; the codegen-driven 1.4 surface lives in open PRs. This file fixes the composing set/order and records the disposition of every open PR.
  • GENERATION.md — the per-binding generator policy: MEOS.NET owns its generator in-repo at tools/codegen.py (emits MEOS.NET/Internal/MEOSExternalFunctions.cs + MEOSExposedFunctions.cs); the single source of truth is the MEOS-API catalog; the regex Builder is retired generate-then-retire (the last green-CI version is the equivalence probe).

Docs + manifest only — no code, no build impact.

Disposition of the open PRs (committer review)

Verified ancestry (git merge-base, this turn): #5 is the frontier (8 commits over main) and contains #4.

PR Role Proposal
#5 work/portable-aliases gates the portable bare-name dialect on the generated binding the frontier (contains #4)
#4 bump/meos-1.4 JSON codegen + 1.4 surface, all six families (cbuffer 15, npoint 11, pose 13, rgeo 12, geo 75, temporal 423) ancestor of #5 — carried in #5
#3 bump/meos-1.3-via-meos-idl the 1.3 codegen that replaced the regex Builder superseded on the family surface by #4 (1.3 generates 0 cbuffer/pose/rgeo). But #4/#5 diverged before #3's .github/workflows CI commit → forward-port #3's CI workflow onto the frontier, then close #3

Why

Per the per-binding generator policy: each binding owns its generator + its own pin manifest, the single source of truth is the MEOS-API catalog, and generation converges to a zero-hand-written surface via generate-then-retire.

main still ships the regex MEOS.NET.Builder; the codegen-driven 1.4 surface
lives in open PRs. Add tools/pin/compose-order.txt (the canonical fold manifest
with the disposition of every open PR; MobilityDB#5 is the verified frontier containing
MobilityDB#4) and GENERATION.md (the per-binding generator policy: MEOS.NET owns its
generator in-repo at tools/codegen.py emitting the P/Invoke layer; the regex
Builder is retired generate-then-retire).
@estebanzimanyi estebanzimanyi force-pushed the tooling/canonical-generator-policy branch from ae2b442 to 544767f Compare June 25, 2026 21:39
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.

1 participant