Normalize hyperscaler parent-company vs cloud-arm entities#89
Merged
Conversation
Establishes a consistent, neutral model across all 8 major hyperscalers: the parent corporation and its cloud business are each a distinct entity with its own DNS namespace. Products, services, and CVEs attach under the cloud-arm namespace (e.g. secid:entity/aws.amazon.com/s3). The parent⊃cloud relationship is recorded in notes: cross-references (both directions), pending the future Relationship layer. Fixes: - amazon.com / aws.amazon.com: names were SWAPPED (amazon.com said "Amazon Web Services", aws.amazon.com said "Amazon"). Corrected to "Amazon.com, Inc." and "Amazon Web Services" respectively; moved AWS security-guidance notes onto the AWS record; fixed amazon.com URL to www.amazon.com. - cloud.oracle.com: "Oracle" -> "Oracle Cloud Infrastructure" (common: OCI). - cloud.tencent.com: "Tencent" -> "Tencent Cloud". (Both inherited the parent's name from the CSA-member stub ingestion.) - huawei.com / huaweicloud.com: tidied names + added cross-references. Adds (canonical cloud-arm or missing-parent namespaces): - azure.microsoft.com (Microsoft Azure) - cloud.google.com (Google Cloud) - cloud.ibm.com (IBM Cloud) - alibaba.com (Alibaba Group Holding) + alibabacloud.com (Alibaba Cloud) - tencent.com (Tencent Holdings) Cross-reference notes added to the existing parents (microsoft, google, oracle, ibm) pointing at their cloud arm. Non-destructive: where a parent product catalog already lists the cloud as a child match_node (microsoft.com/azure, oracle.com/cloud), that entry is left intact as a catalog alias; the cloud-arm namespace is the canonical entity. All 2028 registry files validate against the schema; subtype check clean. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Establishes a consistent, neutral model across all 8 major hyperscalers: the parent corporation and its cloud business are each a distinct entity with its own DNS namespace. Products/services/CVEs attach under the cloud-arm namespace (e.g.
secid:entity/aws.amazon.com/s3). The parent⊃cloud relationship is recorded asnotes:cross-references in both directions, pending the future Relationship layer.End state
amazon.com→ Amazon.com, Inc.aws.amazon.com→ Amazon Web Servicesmicrosoft.com→ Microsoft Corporationazure.microsoft.com→ Microsoft Azuregoogle.com→ Google LLCcloud.google.com→ Google Cloudoracle.com→ Oracle Corporationcloud.oracle.com→ Oracle Cloud Infrastructureibm.com→ IBMcloud.ibm.com→ IBM Cloudalibaba.com→ Alibaba Group Holdingalibabacloud.com→ Alibaba Cloudtencent.com→ Tencent Holdingscloud.tencent.com→ Tencent Cloudhuawei.com→ Huawei Technologieshuaweicloud.com→ Huawei CloudFixes (existing live records)
amazon.comsaid "Amazon Web Services" andaws.amazon.comsaid "Amazon". Corrected both; moved AWS security-guidance notes onto the AWS record; fixedamazon.comURL.cloud.oracle.com: "Oracle" → "Oracle Cloud Infrastructure" (OCI).cloud.tencent.com: "Tencent" → "Tencent Cloud". (Both had inherited the parent's name from the CSA-member stub ingestion.)Adds
azure.microsoft.com,cloud.google.com,cloud.ibm.com,alibaba.com+alibabacloud.com,tencent.com. Cross-reference notes added to the existing parents (microsoft, google, oracle, ibm).Design note: non-destructive on catalogs
Where a parent's hand-curated product catalog already lists the cloud as a child match_node (
microsoft.com/azure,oracle.com/cloud), that entry is left intact as a catalog alias; the cloud-arm namespace is the canonical entity. Two views of the same thing (catalog vs. provider), both resolve sensibly.Validation
validate-registry-schema.py→ all 2028 files validatevalidate-subtypes.py→ clean🤖 Generated with Claude Code