Repository navigation
🐛 fix(architectures): list the Argo project once in the project filter - #2022
Conversation
Six catalog records use the CNCF Argo project and label it three ways: Argo, ArgoCD and Argo Workflows. The project filter on /architectures and /community/members offers one option per distinct projects string and matches on exact equality, so the published dropdown showed three adjacent Argo options and each returned only its own records, hiding the other four architectures from a reader who picked the project's own name. Normalise the three front matter labels to Argo and regenerate the catalog and member data. The pages' own project cards keep naming the component they describe in their prose, so the detail the upstream authors wrote is kept. The spelling gate added in #1991 normalises case and punctuation, so it reads these as three projects, and the industry gate added in #2020 looks only at industries. The pages themselves say which project a label belongs to: every imported CNCFProjectCard links its project to its page on cncf.io, and all three Argo labels link to /projects/argo/. Gate the catalog against that, so two labels the pages link to one project fail the contract without an alias list to maintain. Closes #2021 Signed-off-by: quality <280983584+hivecommons-hive[bot]@users.noreply.github.com>
|
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 Hive will keep the |
✅ Deploy Preview for endusers ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
There was a problem hiding this comment.
Read the diff against the tree at the PR head. This looks correct to me.
Verified:
- All three relabelled pages already link their Argo-family card to
https://www.cncf.io/projects/argo/(docs/architectures/sncf-onprem/index.md:40,docs/architectures/swisscom-kubernetes-service/index.md:55,docs/architectures/flipkart-chaos-engineering/index.md:42), anddocs/architectures/adobe/index.md:39establishesArgoas the label the project's own card uses — so the new canonical label is taken from the pages, not invented. - The
members.jsonhunk context can mislead: the changedprojectsarray sits under a context line showing theswisscom-cloud-native-telcologo, but Swisscom carries two architecture entries and the edited one isswisscom-kubernetes-service. I checked the telco entry directly — its projects are Flux-based and never contained an Argo label, so the regeneration touched exactly the three intended records. - The new test (
tests/architecture-catalog-contract.test.mjs) groups catalog labels by the slug of each page's<CNCFProjectCard />href viaisCncfProjectHref(scripts/lib/project-card-links.mjs:19), so a future import reintroducing the split fails without an alias list. Labels with no card or a non-CNCF href are deliberately left to the existing spelling check. - Card prose keeps
ArgoCD/Argo Workflowsnames, so only the filter vocabulary changes, as the body states.
One note, not a defect: projectSlugsByLabel() is last-writer-wins when two pages give the same card name different slugs; today no such pair exists, and the failure mode would be a silently merged mapping, not a false failure.
All checks are green at head a68c04b. Recommending merge once a maintainer lifts the hold.
— hive: agent=reviewer backend=copilot model=claude-fable-5 copilot=1.0.88
Merge-order check against #1976Both PRs touch
Either merge order is safe; neither PR needs to rebase on the other. |
…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>
… publishes them The same comparison that found Bootc and Kserve, run without first folding the names case- and punctuation-insensitively, turns up two more labels whose project page is right but whose name is not the one CNCF publishes: LitmusChaos (CNCF: Litmus, incubating) on the Flipkart record and External Secrets Operator (CNCF: external-secrets, sandbox) on the SNCF record. Both are corrected in the page front matter and the card name, and the catalog and members data are regenerated. The two ArgoCD cards (SNCF, Swisscom Kubernetes Service) are renamed Argo CD, the sub-project's own spelling; the catalog label is already Argo after #2022, so only the card title and its opening words change. Submitters' prose elsewhere on the pages is left as written. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: mrbobbytables <mrbobbytables@users.noreply.github.com>
…lters (cncf#2026) 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. Signed-off-by: mrbobbytables <mrbobbytables@users.noreply.github.com> Co-authored-by: mrbobbytables <mrbobbytables@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…Argo CD as CNCF publishes them (cncf#2029) * fix(architectures): name the bootc and KServe projects as CNCF publishes them The CERN reference architecture lists two CNCF projects as Bootc and Kserve. CNCF publishes them as bootc (sandbox) and KServe (incubating), per cncf/landscape landscape.yml on master. Readers meet the wrong names on the /architectures catalog card, in the Filter by CNCF project dropdown on /architectures and /community/members, on the CERN member profile, and in the project card heading and prose on the CERN page. Both labels already link to the correct project page on cncf.io, so the existing contract gates pass: the spelling gate from cncf#1991 normalises case before comparing, and the one-label-per-project gate from cncf#2022 reads the card href rather than the label. Only the rendered name is wrong, which is why neither caught it. These are the only two mismatches in the repository. All 42 distinct catalog project labels were compared against the 259 CNCF project names in landscape.yml, matching case- and punctuation-insensitively and then comparing exactly; bootc and KServe are the whole set. The card descriptions open with the project name, so they move with it. A lowercase project name at the start of a description already reads on this page as the stargz-snapshotter card does. Closes cncf#2028 Signed-off-by: quality <280983584+hivecommons-hive[bot]@users.noreply.github.com> * fix(architectures): name Litmus, external-secrets and Argo CD as CNCF publishes them The same comparison that found Bootc and Kserve, run without first folding the names case- and punctuation-insensitively, turns up two more labels whose project page is right but whose name is not the one CNCF publishes: LitmusChaos (CNCF: Litmus, incubating) on the Flipkart record and External Secrets Operator (CNCF: external-secrets, sandbox) on the SNCF record. Both are corrected in the page front matter and the card name, and the catalog and members data are regenerated. The two ArgoCD cards (SNCF, Swisscom Kubernetes Service) are renamed Argo CD, the sub-project's own spelling; the catalog label is already Argo after cncf#2022, so only the card title and its opening words change. Submitters' prose elsewhere on the pages is left as written. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: mrbobbytables <mrbobbytables@users.noreply.github.com> --------- Signed-off-by: quality <280983584+hivecommons-hive[bot]@users.noreply.github.com> Signed-off-by: mrbobbytables <mrbobbytables@users.noreply.github.com> Co-authored-by: quality <280983584+hivecommons-hive[bot]@users.noreply.github.com> Co-authored-by: mrbobbytables <mrbobbytables@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Fix
The Filter by CNCF project select on
/architecturesand the projectfilter on
/community/membersoffer one option per distinctprojectsstringand match with exact equality
(
src/components/ArchitectureFilters/index.js,src/components/MemberDirectory/hooks.js).Six of the ten catalog records use the CNCF Argo project, under three labels:
ArgoArgoCDArgo WorkflowsA reader who picks
Argo, the project's own name, sees three of the six.This normalises the
projectsfront matter on the three pages toArgoandregenerates
data/architectures/catalog.jsonanddata/members.json. The<CNCFProjectCard />prose on each page still names the component itdescribes (
ArgoCD,Argo Workflows), so nothing the upstream authors wroteis lost — only the filter vocabulary changes.
Gate
tests/architecture-catalog-contract.test.mjsgainsno CNCF project is listed under two labels across the catalog. The spellinggate from #1991 normalises case and punctuation and so reads these as three
projects; the word-set gate from #2020 looks only at
industries. The pagesthemselves carry the mapping: every imported project card links its project to
https://www.cncf.io/projects/<slug>/, and all three Argo labels link to/projects/argo/. The test groups catalog labels by that slug, so a futureimport that reintroduces the split fails without any alias list to maintain.
Without the data change the new test fails with
argo: Argo (adobe, allianz, cern-scientific-computing) vs Argo Workflows (flipkart-chaos-engineering) vs ArgoCD (sncf-onprem, swisscom-kubernetes-service).argois the only collision across the catalog's 29 linked projects.Files claimed
docs/architectures/{flipkart-chaos-engineering,sncf-onprem,swisscom-kubernetes-service}/index.md,data/architectures/catalog.json,data/members.json,tests/architecture-catalog-contract.test.mjs.Verification
validate:architectures,validate:members,check:format,check:lint,check:spelling,check:duplication,check:unusedandcheck:auditallpass;
test:unitis 3803/3803 andtest:unit:coverage:checkexits 0.Related Issue
Closes #2021
Filed by quality agent (hold-gated mode). Human review required.
— hive: agent=quality backend=copilot model=claude-opus-5 copilot=1.0.88