Back-merge master into dev (conflicts resolved) - #5252
Conversation
…ordering (#5216) Co-authored-by: Alexei Mochalov <alexei.a.mochalov@gmail.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com> Co-authored-by: Kevin Moore <kevinemoore@gmail.com> Co-authored-by: Simon Kohnstamm <kohnsts@gmail.com> Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…5223) Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…l back on an unusable config (#5215)
Co-authored-by: Simon Kohnstamm <kohnsts@gmail.com> Co-authored-by: Claude <noreply@anthropic.com>
# Conflicts: # catalog/CHANGELOG.md # catalog/app/containers/App/App.jsx # catalog/app/containers/Search/Layout/PackageFilters.tsx # catalog/app/containers/Search/model.spec.ts # catalog/app/containers/Search/model.ts
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## dev #5252 +/- ##
===========================================
+ Coverage 54.39% 92.09% +37.70%
===========================================
Files 871 129 -742
Lines 36406 12351 -24055
Branches 6420 0 -6420
===========================================
- Hits 19804 11375 -8429
+ Misses 14841 976 -13865
+ Partials 1761 0 -1761
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
| @@ -700,365 +700,6 @@ type Me { | |||
|
|
|||
There was a problem hiding this comment.
Generated GraphQL contract is stale
When Catalog CI runs, gql:generate removes the data-product declarations that remain in the checked-in generated types and introspection, causing the required git diff --exit-code check to fail.
Knowledge Base Used:
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Resolves the conflicts blocking #5242 (and #5213 before it). Supersedes #5242 — that PR is the workflow's automated attempt with the conflicts unresolved.
devwas 15 commits behind master with master no longer an ancestor of it, so every laterdev→mastermerge would conflict on every file both branches touched. This restores the ancestry.The five conflicts and how each was resolved
App.jsx— took master. It renamesDataProductsRoute→DataProductsGateand wraps it in a Suspense boundary (#5209's fix); a strict superset of dev's version.PackageFilters.tsx,model.ts,model.spec.ts— took master. This is the metadata-ordering feature that existed on both sides:So master's version contains and supersedes dev's — 54 lines vs dev's 56 from the same base. @fiskus confirmed this read.
Why this does not discard @kevinemoore's Wave 2 work, which was the open question: his
ee84a1e53("adopt PackageOrdering unified-ordering contract") and739560dd0("decouple sort-eligibility from facet render type") rewritemodel.tsheavily but touch zeroFACET_ORDER*lines. Inside the four conflict hunks, the only mentions of Wave 2 identifiers are two prose comments referencingPRESET_ORDERINGS. The conflict is entirely theFACET_ORDER*UI question; Wave 2 sits outside every hunk and is intact in the merged tree (orderingToResultOrder×4, theOrderingtype,PRESET_ORDERINGS).Why not resolve by hand: git's auto-merge of
PackageFilters.tsxproduced a file that would have compiled and passed tests while rendering duplicate sort controls — twoordering.offeredblocks and twoFacetsFilteringState.matchblocks, with master's single "Sort by" reduced to dead code and its constants unused. That is why this needed a deliberate resolution rather than accepting the merge.CHANGELOG.md— both sides' entries kept, master's above dev's, per merge-time ordering.Verification
TZ=UTC npx tsc --noEmit -p .— cleanTZ=UTC npx vitest run(full catalog suite) — 174 files, 1637 passed, 1 skippednpx oxfmt --checkon the changed dirs — cleannpm run gql:generate— runs successfully, so every query validates against the merged schemaAncestry checks:
origin/masteris now an ancestor of this merge; both Wave 2 commits remain ancestors; Alexei's theme/NavBar work and the data-products commits are all preserved.gql:generateregeneratesapp/model/graphql/{schema,types}.generated.tswith 1566 deletions — it wants to strip the entire data-products GraphQL contract, because master's #5223 removed that contract from the schema while dev still carries the generated artifacts.I reverted that output rather than commit it here. It is a real inconsistency in dev (generated files disagreeing with their own schema), but deleting a contract hinges on whether enterprise #1125 — the registry half of data-products — targets this release or the next. @kevinemoore, that question is still open. Nothing here depends on the answer: the tree builds and all tests pass either way, and the generated files are not hand-edited.
Worth doing as its own change once #1125's target is known.
🤖 Generated with Claude Code
Greptile Summary
This back-merge combines master’s recent Python SDK, Catalog UI, search, preview, volume-list, workflow, and GraphQL-contract changes into dev. The merge preserves the newer unified metadata-ordering UI and route loading boundary, but leaves generated Catalog GraphQL artifacts inconsistent with the changed shared schema.
Confidence Score: 4/5
The pull request should not merge until the generated Catalog GraphQL artifacts are reconciled with the removed schema so the required validation job can pass.
Removing the data-products schema while retaining generated types and introspection guarantees that Catalog code generation changes the working tree, and the required CI job rejects that state.
Files Needing Attention: shared/graphql/schema.graphql, catalog/app/model/graphql/schema.generated.ts, catalog/app/model/graphql/types.generated.ts
Important Files Changed
Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart LR Schema[shared GraphQL schema] --> Generate[npm run gql:generate] Generate --> Types[Catalog generated types] Generate --> Introspection[Catalog generated introspection] Types --> Clean{Git tree clean?} Introspection --> Clean Clean -->|Yes| RemainingCI[Lint, typecheck, tests, build] Clean -->|No| Failure[Catalog CI fails]Reviews (1): Last reviewed commit: "Merge remote-tracking branch 'origin/mas..." | Re-trigger Greptile
Context used (5)