Skip to content

Normalize hyperscaler parent-company vs cloud-arm entities#89

Merged
kurtseifried merged 1 commit into
mainfrom
entity-hyperscaler-parent-cloud
Jun 8, 2026
Merged

Normalize hyperscaler parent-company vs cloud-arm entities#89
kurtseifried merged 1 commit into
mainfrom
entity-hyperscaler-parent-cloud

Conversation

@kurtseifried

Copy link
Copy Markdown
Collaborator

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 as notes: cross-references in both directions, pending the future Relationship layer.

End state

Parent company Cloud business
amazon.com → Amazon.com, Inc. aws.amazon.com → Amazon Web Services
microsoft.com → Microsoft Corporation azure.microsoft.com → Microsoft Azure
google.com → Google LLC cloud.google.com → Google Cloud
oracle.com → Oracle Corporation cloud.oracle.com → Oracle Cloud Infrastructure
ibm.com → IBM cloud.ibm.com → IBM Cloud
alibaba.com → Alibaba Group Holding alibabacloud.com → Alibaba Cloud
tencent.com → Tencent Holdings cloud.tencent.com → Tencent Cloud
huawei.com → Huawei Technologies huaweicloud.com → Huawei Cloud

Fixes (existing live records)

  • Amazon was swappedamazon.com said "Amazon Web Services" and aws.amazon.com said "Amazon". Corrected both; moved AWS security-guidance notes onto the AWS record; fixed amazon.com URL.
  • 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.)
  • Huawei pair: tidied names + cross-references.

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 validate
  • validate-subtypes.py → clean

🤖 Generated with Claude Code

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]>
@kurtseifried kurtseifried merged commit 297f907 into main Jun 8, 2026
2 checks passed
@kurtseifried kurtseifried deleted the entity-hyperscaler-parent-cloud branch June 8, 2026 17:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant