Sync the object-model lattice with the current temporal-type catalog#57
Merged
estebanzimanyi merged 1 commit intoJul 15, 2026
Merged
Conversation
The curated class lattice had drifted from the MEOS catalog: the temporal types tbigint, tjsonb, th3index, tquadbin, tpcpoint and tpcpatch were absent, so the drift gate (test_object_model.py, which compares each node's temptypes to the live predicate body) failed once MobilityDB sources were present. Add the two in-scope leaf classes whose families are already modelled: - TBigint (parent TNumber, base T_INT8) - TJsonb (parent TAlpha, base T_JSONB) and record their exact-prefix classification (tbigint_*, tjsonb_*). Extend the membership lists of the abstract nodes to match their predicates exactly: Temporal (temporal_type, now 18 members), TSpatial (tspatial_type, +th3index +tquadbin), TNumber (+tbigint), TAlpha (+tjsonb); and the geodetic trait (+th3index, the H3 cells being geodetic). The cell and point-cloud types are carried as membership only, not yet as leaf classes, matching the manual Figure 7.1 spatial tree that the model still reconciles against. The pre-existing test_enums_match_source failure (its meos.h enum-block marker resolves against a partial header) is unrelated and unchanged.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Brings the curated class lattice in
meta/object-model.jsoninto agreement with the MEOS catalog, so the drift gatetests/test_object_model.py::DriftGate— which compares each node'stemptypesagainst the live predicate body inmeos_catalog.c— holds when MobilityDB sources are present (it isskipUnlesssource, so CI stays green while the model can otherwise lag).The number and alpha families gain the leaf classes their in-scope families imply:
TNumber, baseT_INT8), classified from thetbigint_*prefix.TAlpha, baseT_JSONB), classified from thetjsonb_*prefix.The abstract nodes' membership lists match their predicates exactly:
Temporal(temporal_type, 18 members),TSpatial(tspatial_type, includingth3indexandtquadbin),TNumber(includingtbigint),TAlpha(includingtjsonb); thegeodetictrait includesth3index(the H3 cells are geodetic).The cell and point-cloud types are membership only, not yet leaf classes, so the model still reconciles against the manual Figure 7.1 spatial tree (
test_matches_manual_figure_7_1). Promoting them to first-class leaves (with aTcell/TPointcloudintermediate) is a follow-up once the figure and scope are extended.The derived object model exposes 91 classes with the two new leaves populated. The pre-existing
test_enums_match_sourcefailure (itsmeos.henum-block marker resolves against a partial header) is unrelated and untouched.