Repository navigation
Fixes #35986: Keep library installs durable, filter packs by industry, and preview pack concepts - #35989
Conversation
…ract Library pack manifests gain an industry and the layer a new target ontology uses. Change sets carry the sourcePack a library preview stamps, and ontologies carry the installedPacks the server records when such a change set applies. Every bundled pack is an L2 industry pack. TypeScript types are regenerated.
✅ PR checks passedThe linked issue has a description and all required Shipping project fields set. Thanks! |
… the import ADR The pack catalogue now reports, per installed pack, the native ontologies the caller may view, as records that pair an ontology reference with its stored installation entry. A new sample response describes the concepts and relations that installing a module selection creates, bounded to 60 concepts. The decision record gains a v4 amendment: installed state is durable on the ontology, written in the apply transaction through the versioned updater, and clients cannot write it. TypeScript types are regenerated.
🔄 Playwright impact map auto-refreshedThis PR touched specs or UI source that changed the source→spec routing map. I regenerated What is this file? It is the auto-generated half of Playwright's PR planner. It routes "if source X changes, run specs Y" by walking spec imports and cross-referencing What if I want to regenerate locally instead? Run this before pushing your next change to skip the bot commit: python3 .github/scripts/generate_playwright_impact_map.py
git add .github/playwright/impact-map.generated.json
git commit --amend --no-edit # or a separate commit |
|
| Count | Rule |
|---|---|
| 2 | openmetadata-imports/no-api-calls-in-iteration |
| 1 | openmetadata-imports/review-sequential-api-calls |
All findings
| Location | Rule | Message | |
|---|---|---|---|
| 🟡 | src/hooks/governance/ontology/useOntologyChangeSetApply.ts:123:30 |
openmetadata-imports/no-api-calls-in-iteration |
Avoid issuing one API request per item. Fetch at the data owner, use a bulk endpoint, or use useQueries with an intentional concurrency policy. |
| 🟡 | src/hooks/governance/ontology/useOntologyChangeSetApply.ts:272:9 |
openmetadata-imports/review-sequential-api-calls |
Review these sequential API requests. If they are independent, start them together with Promise.all/Promise.allSettled; keep sequencing only when data-dependent |
| 🟡 | src/rest/ontologyAPI.ts:124:28 |
openmetadata-imports/no-api-calls-in-iteration |
Avoid issuing one API request per item. Fetch at the data owner, use a bulk endpoint, or use useQueries with an intentional concurrency policy. |
Fix locally (fast - only checks files changed in this branch):
make ui-checkstyle-changed
This comment has been minimized.
This comment has been minimized.
Regenerate docs/generated/api-reference.md: both sides moved the endpoint count from 1987 to 1988, this branch for the pack sample endpoint and binding rows for the data graph pages endpoint, so the merged file listed 1989 endpoints under a count of 1988.
Code Review ✅ Approved 3 closed / 3 findings🔴 High risk · Atomic pack-install writes and permission-filtered catalogue listings affect ontology integrity and visibility; mistakes could misrecord provenance or expose hidden installs. Adds durable library install provenance on ontologies, industry filters, and bounded concept previews for packs, with installs written in the same transaction as the applied draft. Resolved the ADR conflict on session-scoped installs, overlapping sample graph nodes, and per-ontology catalogue re-fetches. No open issues remain. ✅ 3 closed✅ Quality: Durable installedPacks contradicts Accepted ADR's session-scoped install
✅ Bug: Sample graph nodes overlap when a layer has more than four concepts
✅ Performance: Catalogue list re-fetches every installed ontology one at a time
VerificationRules No rules evaluated Functional validation Not enabledAuto-approval Not enabledFor more verification details, comment OptionsDisplay: compact → Showing compact verification results. Comment with these commands to change the behavior for this request:
Was this helpful? React with 👍 / 👎 | Powered by Gitar — free for open source |
|
|



Fixes #35986
Library installations persist on the ontology and are listed through paged permission checks. Users can filter packs by industry and preview bounded concept samples. Applying a stamped draft validates the complete bundled operation plan under the working lock before writing installation provenance in the same transaction.
The published stack targets release 2.1.0. Each linked Shipping issue is In Progress with Product, P1 and Governance metadata.
main→ PR1 #35990 → PR2 #35994 → PR3 #35997 → PR4 #35995. Two chains start at PR4:This PR targets PR12 #35996. It is the tip of its chain. PR9, PR11, PR13, PR14 and PR16 are not published yet.
Current assessment for
1482d33415a, recorded 2026-10-28.Verdict. The last independent review on record is the 2026-10-25 source integration review at
f2f2910b225c, which passed. The plan audit at that head closed with no change. This head merges PR12cc7c8306185, with no file that PR15 changes. PR15's patch-id isf3cd1753f03over 84 files before and after the merge, and the verdict ledger carries the verdict to this head on that basis.Test evidence at this head. The merge gate passed package and
spotless, and 664 unit tests in 56 classes with no failures. Nine container-backed classes stop on the missing Docker socket. TypeScript 7.0.2 reports 0 errors. Jest passes 196 tests in 16 files.CI. Every check at this head passes except
maven-collate-ci. That job fails with HTTP 422 (No ref found for: harshach/ontology-studio/12-binding-rows). The Collate build is pointed at this PR's base branch, and the Collate repository has no branch of that name. That is a limit of the CI setup for stacked PRs, not a fault in this PR's code. PR1, whose base ismain, passes it.Still owed. Docker is down on the build machine, so none of these has run. Run each IT on
-Pmysql-elasticsearchand then-Ppostgres-opensearch, and confirm aTests run:line.NativeOntologyLibraryPreviewITandNativeOntologyPackInstallStateIT, this PR's own ITs.OntologyPackInstallationsandOntologyPackSamplercallimporter.reconcile, which now runs the list rules.NativeOntologyDataGraphPageIT,NativeOntologyImportPreviewITandOntologyResourceIT, then the 63 IT classes the planner selects forOntologyResource, whichmainand this PR both changed.NativeOntologyImportListRulesITandNativeOntologyCsvInverseReimportIT.OntologyPrefixLineageDaoTestandOntologyConceptBindingMigrationTest.OntologyNativeLibrary.spec.tsandOntologyNativeOperations.spec.tsagainst a live stack.Not verified yet. This PR is verified only when its unit, live and performance boxes in the plan are all checked. The operator lands the stack.
Earlier description and verification records
These records preserve the earlier design notes, test results and attachments. Earlier statements about the current head or readiness apply to their recorded revisions. The integration assessment above supersedes those statements.
Describe your changes:
Fixes #35986
Ontology Studio previously forgot a library installation after reload and previewed packs as module hubs without their concepts. This PR stores pack provenance on the applied ontology, derives installation marks from authorized stored ontologies, groups six L2 packs by industry, and renders a bounded sample of real concepts and labeled relations before install.
The
sourcePackmetadata travels with the previewed change set. Applying it writesinstalledPackswith the ontology in the same transaction. The catalogue scans all raw ontology pages, checks view permission in batches per page, and returns every visible installation, including after wholly hidden pages. Administrators avoid unnecessary hydration. The detail header saysAligned to FIBO; the full standard remains in its row.Type of change:
High-level design:
industryandlayerare pack manifest fields;sourcePackandinstalledPacksare schema-first fields on the change set and ontology.GET /v1/ontologyPacksderives visible installation locations from stored ontology data;GET /v1/ontologyPacks/{packId}/samplereturns at most 60 concepts and their relations for selected modules.Tests:
Checklist:
Fixes <issue-number>: <short explanation>Summary by Gitar
This will update automatically on new commits.


Confidence Score: 5/5
The reviewed changes appear safe to merge; no new blocking issue was established.Summary
This PR stores library installation records on ontologies, lists the installations each user may view, and adds industry filters and concept previews.
Diagram
Reviews (13) · Last reviewed commit: "Merge native relations fixes into librar..." · Reviewed by Greptile