Skip to content

🐛 fix(architectures): list the finance vertical once in the industry filter - #2020

Merged
mrbobbytables merged 1 commit into
mainfrom
quality/architectures-industry-filter-financial-split
Oct 30, 2026
Merged

mrbobbytables merged 1 commit into
mainfrom
quality/architectures-industry-filter-financial-split

Conversation

@hivecommons-hive

Copy link
Copy Markdown
Contributor

Remit: a visitor filtering /architectures or /community/members by industry now sees both finance architectures under one option instead of one each under two.

Test Improvement

The industry <select> on /architectures and /community/members offers one
option per distinct industries string and matches with exact equality
(filterArchitectures in src/components/ArchitectureFilters/index.js). The
Allianz Direct page labelled its vertical Financial and the Capital One page
labelled the same vertical Financial Services, so the production build of
main rendered both as adjacent options and each returned only one of the two
architectures:

build/architectures/index.html
  <option value=Financial>Financial<option value="Financial Services">Financial Services
build/community/members/index.html
  <option value=Financial>Financial<option value="Financial Services">Financial Services

Files and functions this PR claims:

Why Financial Services is the surviving label: it is the vocabulary
data/case-studies.json already uses for this vertical, and it is what the
Capital One page and its own financial-services tag carry.

Verification

  • node --test tests/architecture-catalog-contract.test.mjs — fails on main
    with Financial vs Financial Services, passes with this change
  • npm run test:unit — 3802 pass
  • npm run validate:architectures, npm run validate:members
  • npm run check:format, check:lint, check:spelling, check:markdown,
    check:duplication, check:unused
  • npm run build:production, then the rendered <select id=architecture-industry>
    and <select id=member-industry> each list the vertical once

Related Issue

Fixes #2019


Human review required.

— hive: agent=quality backend=copilot model=claude-opus-5 copilot=1.0.88

…lter

The Allianz Direct page labelled its vertical Financial while the Capital
One page labelled the same vertical Financial Services. The industry filter
on /architectures and /community/members offers one option per distinct
industries string and matches on exact equality, so the published dropdowns
showed two adjacent options for one vertical and each returned only one of
the two architectures, hiding the other.

Normalise the Allianz entry to Financial Services, the label the Capital One
page, its own financial-services tag and data/case-studies.json already use,
keeping the page's second Insurance label so no specificity is lost, and
regenerate the catalog and member data.

The project-spelling gate added in #1991 normalises case and punctuation, so
it cannot see two labels that differ in wording. Gate the catalog's industry
vocabulary by word set instead, so a label whose words are contained in
another label fails the contract.

Signed-off-by: quality <280983584+hivecommons-hive[bot]@users.noreply.github.com>
@hivecommons-hive

Copy link
Copy Markdown
Contributor Author

Important

Held for human review by the hive's ACMM level gate.

This PR was opened by the "quality" agent while Hive policy required a human checkpoint for that agent. Agent PRs are held at ACMM L3–L5; an outreach PR that targets a repository this hive does not manage is held at every level because it publishes project-facing communication into someone else's project.

Hive will keep the hold label until a human removes it. Operators can make a deliberate one-off release during an ACMM level change with release_level_holds=true, but level changes never release this hold automatically.

@netlify

netlify Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for endusers ready!

Name Link
🔨 Latest commit e9caa50
🔍 Latest deploy log https://app.netlify.com/projects/endusers/deploys/6ae4d0feaf3c9099020f295d
😎 Deploy Preview https://deploy-preview-2020--endusers.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@hivecommons-hive hivecommons-hive Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Read the tree at head e9caa50, not just the diff. This looks correct to me.

What I verified:

  • src/components/ArchitectureFilters/index.js:91 matches industry with exact includes equality and builds options from the distinct industries strings (lines 50–63), so Financial and Financial Services on main do render as two options that each hide the other page — the stated defect is real.
  • The three data touchpoints move together: docs/architectures/allianz/index.md front matter, data/architectures/catalog.json, and data/members.json all now say Financial Services, and Insurance is kept, so no specificity is lost.
  • The new gate in tests/architecture-catalog-contract.test.mjs behaves as the body claims: with main's catalog.json swapped in, it fails with exactly Financial vs Financial Services; at head, 13/13 tests pass. I also checked the word-subset heuristic against every current label pair (E-commerce/Digital Commerce, Telecommunication/Communication, Optics/Optical Manufacturing) — none collide, so no false positives on today's catalog.
  • Financial Services as the surviving label matches data/case-studies.json vocabulary and the Capital One page's existing tag.

No findings. CI is fully green; this is ready for a maintainer to lift the hold.

— hive: agent=reviewer backend=copilot model=claude-fable-5 copilot=1.0.88

@mrbobbytables
mrbobbytables added this pull request to the merge queue Oct 30, 2026
Merged via the queue into main with commit 5b83c01 Oct 30, 2026
15 checks passed
mrbobbytables added a commit to mrbobbytables/endusers that referenced this pull request Oct 31, 2026
…lters

The industry and tag filters on /architectures and /community/members offer
one option per distinct label. After cncf#2020 and cncf#2022 the project and industry
dimensions had no label that hid another's architectures, but two tag pairs
still did, and five industry synonym sets sat on single records waiting for a
second page to turn them into the same split.

Tags, where picking one option hid the other's architecture:

- finance (Allianz Direct) -> financial-services (already on Capital One)
- Site reliability (Flipkart) -> reliability (already on Capital One)

Industries, where one record carried two or three wordings of one vertical:

- Communication + Telecommunication -> Telecommunication (both Swisscom pages)
- Optics + Optical Manufacturing -> Optics (ZEISS)
- Transport + Rail -> Transport (SNCF); Rail kept as a tag
- E-commerce + Retail + Digital Commerce -> Retail (Flipkart); E-commerce was
  already a tag
- Digital Media + Digital Experience -> Digital Media (Adobe)

The industry select drops from 18 options to 12 for 10 architectures.
data/architectures/catalog.json and data/members.json are regenerated from the
page front matter.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: mrbobbytables <mrbobbytables@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[quality] Industry filter lists Financial and Financial Services separately, so each hides the other's architecture

1 participant