Skip to content

The importer reads utopia:temporal on a property - #1291

Open
gedaiu wants to merge 1 commit into
deeplethe:devfrom
gedaiu:feat/import-reads-temporal
Open

gedaiu wants to merge 1 commit into
deeplethe:devfrom
gedaiu:feat/import-reads-temporal

Conversation

@gedaiu

@gedaiu gedaiu commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Closes #1292. Related: #1242 (the rule this lets apply to imported ontologies).

The export has written utopia:temporal on every property that is not a state since 0031, and the importer never read it back. An ontology that said a relation is an event came in as a state, and the rule of #1242, which binds a pushed phrase by the declaration only when the relation is not a state, could never apply to an imported vocabulary.

The turtle projection now reads urn:utopia:ns:temporal with one of state, event or eternal. Any other value is reported under the preview's unprojected predicates and the property stays unset. A new relation is created with the value, a re-import updates an existing relation's temporal to what the file says, and a file that says nothing leaves the column alone, so a value a person set on the page survives an unannotated re-import. Attributes are still created as state.

Tests: the projection keeps event and eternal, leaves an unannotated and a misspelled property at none and reports the latter; a full import through the HTTP route creates attended at event, a re-import moves worksAt from state to eternal, and a third unannotated import leaves it there. 0031 gains a status line and the ontology design doc a sentence.

The export has written utopia:temporal on every property that is not a
state since 0031, and the importer never read it back: an ontology that said
a relation is an event came in as a state, and the rule of deeplethe#1242, which binds
a pushed phrase by the declaration only when the relation is not a state,
could never apply to an imported vocabulary.

The turtle projection reads urn:utopia:ns:temporal with one of state, event
or eternal; any other value is reported under the preview's unprojected
predicates and the property stays unset. A new relation is created with the
value, a re-import updates an existing relation's temporal to what the file
says, and a file that says nothing leaves it alone, so a value a person set
on the page survives an unannotated re-import. Attributes stay state.

Signed-off-by: Bogdan Szabo <bogdan@re-cinq.com>
gedaiu added a commit to gedaiu/utopia that referenced this pull request Oct 16, 2026
gedaiu added a commit to re-cinq/lore that referenced this pull request Oct 16, 2026
The mirror spec gains the Commits section and ADR-052 the amendment that
records the name shapes, the by-name merge that makes CI ordering
irrelevant, the cursor, and the correction: Utopia's importer gave every
imported relation temporal=state, so the rule of #1242 bound no Lore phrase
until deeplethe/utopia#1291 reads the annotation. The history read moves to
platform-github-history.ts, the docs classifier to ingested-docs.ts (breaking
the backfill/commits cycle), the three Utopia routes to utopia-routes.ts; the
OpenAPI document and the web-ui types carry the new route.
gedaiu added a commit to re-cinq/lore that referenced this pull request Oct 16, 2026
Every default-branch commit lands in the repo's Utopia knowledge base as one commit:<sha> item: its paths, parents, pull request, issues and Lore task. lore-api walks the branch above a cursor; the weekly backfill and every push run the walk. Ontology v4 marks each relation event or eternal, which Utopia binds by the declaration once its importer reads the annotation (deeplethe/utopia#1291, re.8).
gedaiu added a commit to re-cinq/lore that referenced this pull request Oct 16, 2026
re.8 = re.7 + deeplethe/utopia#1291: the ontology importer reads utopia:temporal, so Lore's relations can be events or eternal and Utopia binds their pushed phrases by the declaration. No new migration. Apply with terraform -target='kubernetes_deployment_v1.utopia[0]'.
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