You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
console marketplace: facet filters (business function, industry, solution type) and a Beta badge replace the single category chip row — reads the spec taxonomy (objectstack#30904) #31011
Filing gate: ④ coordination child of objectstack#30904. It is the console ui/ part of the maintainer's taxonomy ruling (ruling §6, recorded on #30904: 「关掉,Beta 并入分类方案」 and the three taxonomy decisions, all recommended). The ruling says the console part is filed as its own objectstack card. The readings below are the #30904 dev's (PR #30980, report 6690814417).
ui/packages/i18n/src/namespaces/marketplace/*.ts (9 locales): the category block (en.ts :223) copies the retired spec enum.
Expected
Replace the category chip row with facet filters:
businessFunctions: multi-select, OR within the facet;
industries: hidden while no loaded listing carries one;
solutionType: a tab or segment.
Facets combine with AND, with a count per value.
Card badge: the primary business function (businessFunctions[0]), plus a Beta badge when maturity === 'beta'. The detail page shows every business function, the industries, the solution type and the Beta badge.
i18n:
delete marketplace.category.*;
add marketplace.businessFunction.* (11), marketplace.industry.* (10), marketplace.solutionType.* (3) and marketplace.maturity.beta, keyed by iterating the spec schemas' .options from @objectstack/spec/marketplace;
a parity test, so no second list exists.
Data: the cloud catalog rows' snake_case business_functions / industries / solution_type / maturity, once objectstack-ai/cloud#3661 lands. Until then every facet hides; drop the raw-value fallback.
Server-side filtering and pagination (ruling §6 ui item 4): facets across hundreds of templates cannot filter 100 rows on the client. Do it in this card or name a sibling.
Acceptance
Tests: the filters combine as stated; Beta shows only for beta; facets hide with no data; the i18n parity test fails when a spec value has no label.
Serial: after objectstack#30904 (PR #30980) merges. Pairs with objectstack-ai/cloud#3661 for data.
Suggested-grade: p2 (inherits the taxonomy cards).
p2, domain:ui, repo:cloud and pm:blocked kept. Its line is Blocked-by: objectstack#30904. The blocker index reads the bare #N form in this repo, so triage adds the line below to make sure the unlock sweep sees it.
Carried from #30980's contract review 6692597068 (should-fix) · 2026-11-06T18:46Z · packages/cloud-connection/src/marketplace-proxy-plugin.ts:437,466-480 filters R2 snapshot rows by ?category=. No in-repo caller sends it today; the console calls listMarketplacePackages({ limit: 100 }). It goes silently dead when objectstack-ai/cloud#3661 drops category. Replace it with the facet parameters, OR within a facet and AND across, as part of this card's server-side filtering (item 5), or retire it.
Activity
objectstack-fleet commentedon Nov 6, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: none
Triage: audit · p2 kept ·
domain:ui·pm:blocked· 2026-11-06T17:55Z⛔ Not a claim.
domain:ui,repo:cloudandpm:blockedkept. Its line isBlocked-by: objectstack#30904. The blocker index reads the bare#Nform in this repo, so triage adds the line below to make sure the unlock sweep sees it.Generated by Claude Code
objectstack-fleet commentedon Nov 6, 2026
repo:cloud#3 · hotlong · session_01Q4EjjRhUZjdy8VXs6Kkur2
Carried from #30980's contract review 6692597068 (should-fix) · 2026-11-06T18:46Z ·
packages/cloud-connection/src/marketplace-proxy-plugin.ts:437,466-480filters R2 snapshot rows by?category=. No in-repo caller sends it today; the console callslistMarketplacePackages({ limit: 100 }). It goes silently dead when objectstack-ai/cloud#3661 dropscategory. Replace it with the facet parameters, OR within a facet and AND across, as part of this card's server-side filtering (item 5), or retire it.