Skip to content

Add the MEOS-API pin manifest, generator policy, and ecosystem orchestrator#23

Merged
Nyuke235 merged 1 commit into
MobilityDB:masterfrom
estebanzimanyi:tooling/canonical-generator-policy
Jun 28, 2026
Merged

Add the MEOS-API pin manifest, generator policy, and ecosystem orchestrator#23
Nyuke235 merged 1 commit into
MobilityDB:masterfrom
estebanzimanyi:tooling/canonical-generator-policy

Conversation

@estebanzimanyi

Copy link
Copy Markdown
Member

What

MEOS-API is the root of the per-binding generator policy — the catalog producer, not a generated binding. This adds:

  • tools/pin/compose-order.txt — MEOS-API's own fold manifest (its enrichment + projection PRs).
  • GENERATION.md — the producer framing: run.py reads the MEOS pin headers and emits output/meos-idl.json, the single source of truth every binding consumes; the generator/ modules project the language-agnostic contracts (OpenAPI/MCP/runtime/movfeat).
  • tools/ecosystem-generate.sh — the turnkey orchestrator: tools/ecosystem-generate.sh <PIN> builds the catalog + all-families libmeos.so from the pin, then drives each binding's own tools/regen-from-pin.sh in dependency order (JVM consumers after the JMEOS jar; PyMEOS after PyMEOS-CFFI). GH is the only SoT — each repo is fetched fresh at its frontier branch; $HOME worktrees (never /tmp).

Docs + manifest + a bash -n-clean shell script — no compilable change.

The chain

MobilityDB pin -> MEOS-API (run.py -> meos-idl.json) + libmeos.so
   -> JMEOS (jar) -> {Spark, Flink, Kafka}
   -> PyMEOS-CFFI -> PyMEOS
   -> GoMEOS / MEOS.NET / meos-rs / MobilityDuck / MobilityNebula

Completes the per-binding generator policy across the whole ecosystem (11 binding repos + this producer).

…chestrator

MEOS-API is the catalog producer (the root of the chain), not a generated
binding. Add tools/pin/compose-order.txt (its enrichment/projection PRs),
GENERATION.md (the producer framing: run.py reads the MEOS pin headers and
emits output/meos-idl.json, the single source of truth every binding consumes),
and tools/ecosystem-generate.sh (the turnkey orchestrator: given a pin, build
the catalog + libmeos, then drive each binding's own regen-from-pin.sh in
dependency order — JVM consumers after the JMEOS jar, PyMEOS after PyMEOS-CFFI).
@Nyuke235

Copy link
Copy Markdown
Collaborator

Approving.

Docs + manifest + orchestrator only; additive (+172/−0), merges clean, no compilable change. Verified locally: bash -n tools/ecosystem-generate.sh is clean, and the canonical catalog name output/meos-idl.json matches run.py (OUTPUT_DIR / "meos-idl.json").

Two trivial things worth folding in before merge (non-blocking):

@Nyuke235 Nyuke235 merged commit 944cc3b into MobilityDB:master Jun 28, 2026
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