forked from diegoecab/oci-deal-accelerator
Add anti-hallucination guardrails and structured data intake to SKILL.md
Fixes two issues: (1) diagrams adding unrequested components (EBS, WAF, Vault, Monitoring, etc.) by replacing vague "implied dependencies" with a closed whitelist of 6 technical dependencies and making pre-generation review mandatory with 3 sections (REQUESTED/TECHNICAL/OPTIONAL). (2) Unstructured data consumption by adding mandatory Extraction Receipt (CONFIRMED/INFERRED/MISSING), source tracking in workload profiles, and completeness gate per engagement tier. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,26 +1,33 @@
|
||||
# OCI Deal Accelerator — Architecture Diagram Spec
|
||||
# Demo: PharmaCorp Mexico — ExaCS dual-region with Data Guard
|
||||
# Prompt 2: Architecture diagram
|
||||
# Layout: Left-to-right flow, ref arch style
|
||||
# Mexico DC → FastConnect → Queretaro (DB subnet) → DR Sao Paulo
|
||||
#
|
||||
# This example only includes components the user explicitly requested:
|
||||
# ExaCS (prod + DR), Hub-Spoke networking with DRG, FastConnect 10Gbps,
|
||||
# Bastion in public subnet.
|
||||
# DRG and Service Gateway are auto-added per technical dependency whitelist.
|
||||
# Monitoring, Logging, Events, WAF, Vault, EBS — NOT included (not requested).
|
||||
|
||||
title: "PharmaCorp Mexico — ExaCS Migration Architecture"
|
||||
|
||||
# External actors
|
||||
# External: Mexico City DC (left side)
|
||||
external:
|
||||
- id: "mexico_dc"
|
||||
label: "Mexico City\nData Center"
|
||||
icon: "user"
|
||||
x: 30
|
||||
y: 280
|
||||
w: 50
|
||||
h: 60
|
||||
y: 320
|
||||
w: 60
|
||||
h: 70
|
||||
|
||||
# OCI Tenancy
|
||||
tenancy:
|
||||
label: "Oracle Cloud Infrastructure"
|
||||
x: 280
|
||||
y: 80
|
||||
w: 1500
|
||||
h: 700
|
||||
x: 200
|
||||
y: 60
|
||||
w: 1650
|
||||
h: 780
|
||||
|
||||
regions:
|
||||
# ── Primary Region: Queretaro ──
|
||||
@@ -29,108 +36,61 @@ tenancy:
|
||||
primary: true
|
||||
x: 15
|
||||
y: 40
|
||||
w: 900
|
||||
h: 640
|
||||
w: 1050
|
||||
h: 720
|
||||
|
||||
vcns:
|
||||
# Hub VCN
|
||||
- id: "vcn_hub"
|
||||
label: "Hub VCN (10.0.0.0/16)"
|
||||
x: 15
|
||||
y: 45
|
||||
w: 870
|
||||
h: 570
|
||||
w: 1020
|
||||
h: 650
|
||||
|
||||
subnets:
|
||||
- id: "subnet_db"
|
||||
label: "Database Subnet (Private) — 10.0.1.0/24"
|
||||
h: 180
|
||||
services:
|
||||
- id: "exacs_prod"
|
||||
label: "ExaCS X11M\nQuarter Rack\n(EBS + SAP + DW)"
|
||||
type: "exacs"
|
||||
w: 180
|
||||
h: 90
|
||||
- id: "vault"
|
||||
label: "OCI Vault\nTDE Keys\n(FIPS 140-2 L3)"
|
||||
type: "vault"
|
||||
w: 140
|
||||
h: 90
|
||||
- id: "dbmgmt"
|
||||
label: "Database\nManagement"
|
||||
type: "monitoring"
|
||||
w: 120
|
||||
h: 90
|
||||
|
||||
- id: "subnet_app"
|
||||
label: "Application Subnet (Private) — 10.0.2.0/24"
|
||||
h: 140
|
||||
services:
|
||||
- id: "ebs_app"
|
||||
label: "EBS R12\nApp Tier\n(2x VM.Standard)"
|
||||
type: "compute"
|
||||
w: 160
|
||||
h: 80
|
||||
- id: "bastion"
|
||||
label: "Bastion\nService"
|
||||
type: "bastion"
|
||||
w: 120
|
||||
h: 80
|
||||
|
||||
# Public subnet — bastion access
|
||||
- id: "subnet_pub"
|
||||
label: "Public Subnet — 10.0.0.0/24"
|
||||
h: 120
|
||||
services:
|
||||
- id: "waf"
|
||||
label: "WAF\n(EBS Web Tier)"
|
||||
type: "waf"
|
||||
w: 120
|
||||
h: 70
|
||||
- id: "lb"
|
||||
label: "Load\nBalancer"
|
||||
type: "load-balancer"
|
||||
- id: "bastion"
|
||||
label: "Bastion\nService"
|
||||
type: "bastion"
|
||||
w: 120
|
||||
h: 70
|
||||
|
||||
- id: "subnet_mgmt"
|
||||
label: "Management Subnet (Private) — 10.0.3.0/24"
|
||||
h: 110
|
||||
# DB subnet — main workload
|
||||
- id: "subnet_db"
|
||||
label: "Database Subnet (Private) — 10.0.1.0/24"
|
||||
h: 150
|
||||
services:
|
||||
- id: "monitoring"
|
||||
label: "OCI\nMonitoring"
|
||||
type: "monitoring"
|
||||
w: 120
|
||||
h: 65
|
||||
- id: "logging"
|
||||
label: "OCI Audit\n+ Logging"
|
||||
type: "logging"
|
||||
w: 120
|
||||
h: 65
|
||||
- id: "events"
|
||||
label: "OCI Events\n+ Notifications"
|
||||
type: "events"
|
||||
w: 140
|
||||
h: 65
|
||||
- id: "exacs_prod"
|
||||
label: "ExaCS X11M\nQuarter Rack\n(Production)"
|
||||
type: "exacs"
|
||||
w: 200
|
||||
h: 90
|
||||
|
||||
gateways:
|
||||
# Auto-added per whitelist: FastConnect requires DRG
|
||||
- id: "drg"
|
||||
label: "DRG\n(Hub)"
|
||||
label: "DRG"
|
||||
type: "drg"
|
||||
w: 100
|
||||
h: 70
|
||||
w: 90
|
||||
h: 60
|
||||
# Auto-added per whitelist: ExaCS backup requires SGW
|
||||
- id: "sgw"
|
||||
label: "Service\nGateway"
|
||||
type: "service_gateway"
|
||||
w: 110
|
||||
h: 70
|
||||
w: 100
|
||||
h: 60
|
||||
|
||||
# ── DR Region: Sao Paulo ──
|
||||
# ── DR Region: Sao Paulo (right side) ──
|
||||
- id: "region_gru"
|
||||
label: "Region — São Paulo (DR)"
|
||||
x: 940
|
||||
x: 1090
|
||||
y: 40
|
||||
w: 540
|
||||
h: 450
|
||||
h: 540
|
||||
|
||||
vcns:
|
||||
- id: "vcn_dr"
|
||||
@@ -138,92 +98,72 @@ tenancy:
|
||||
x: 15
|
||||
y: 45
|
||||
w: 510
|
||||
h: 380
|
||||
h: 470
|
||||
|
||||
subnets:
|
||||
- id: "subnet_dr_db"
|
||||
label: "DB Subnet (Private) — 10.1.1.0/24"
|
||||
h: 180
|
||||
h: 200
|
||||
services:
|
||||
- id: "exacs_dr"
|
||||
label: "ExaCS Standby\n(Data Guard)\nEBS + SAP"
|
||||
label: "ExaCS Standby\n(Data Guard)"
|
||||
type: "exacs"
|
||||
w: 180
|
||||
h: 90
|
||||
- id: "fsdr"
|
||||
label: "Full Stack DR\n(FSDR)\nOrchestrator"
|
||||
type: "fsdr"
|
||||
w: 140
|
||||
h: 90
|
||||
|
||||
- id: "subnet_dr_backup"
|
||||
label: "Backup Subnet — 10.1.2.0/24"
|
||||
h: 120
|
||||
services:
|
||||
- id: "obj_storage"
|
||||
label: "Object Storage\n50TB RMAN\nBackups (DW)"
|
||||
type: "object-storage"
|
||||
w: 160
|
||||
h: 70
|
||||
w: 200
|
||||
h: 100
|
||||
|
||||
# Connections
|
||||
connections:
|
||||
- id: "conn_fc1"
|
||||
label: "FastConnect\n10Gbps (Primary)"
|
||||
# Entry: DC → DRG (FastConnect)
|
||||
- id: "conn_fc"
|
||||
label: "FastConnect 10Gbps\n(Dual Redundant)"
|
||||
type: "network"
|
||||
from: "mexico_dc"
|
||||
to: "drg"
|
||||
|
||||
- id: "conn_fc2"
|
||||
label: "FastConnect\n10Gbps (Redundant)"
|
||||
type: "network"
|
||||
from: "mexico_dc"
|
||||
to: "drg"
|
||||
|
||||
- id: "conn_drg_dr"
|
||||
label: "Remote Peering"
|
||||
type: "network"
|
||||
from: "drg"
|
||||
to: "exacs_dr"
|
||||
|
||||
# DR: ExaCS Prod → ExaCS Standby (Data Guard)
|
||||
- id: "conn_dg"
|
||||
label: "Data Guard\n(Redo Shipping)"
|
||||
type: "data"
|
||||
from: "exacs_prod"
|
||||
to: "exacs_dr"
|
||||
|
||||
- id: "conn_vault"
|
||||
label: "TDE Keys"
|
||||
type: "internal"
|
||||
from: "vault"
|
||||
to: "exacs_prod"
|
||||
|
||||
- id: "conn_waf_lb"
|
||||
label: "HTTPS"
|
||||
type: "data"
|
||||
from: "waf"
|
||||
to: "lb"
|
||||
|
||||
- id: "conn_lb_ebs"
|
||||
label: "HTTP"
|
||||
type: "data"
|
||||
from: "lb"
|
||||
to: "ebs_app"
|
||||
|
||||
- id: "conn_ebs_db"
|
||||
label: "Oracle Net"
|
||||
type: "data"
|
||||
from: "ebs_app"
|
||||
to: "exacs_prod"
|
||||
|
||||
- id: "conn_fsdr_dg"
|
||||
label: "Failover\nOrchestration"
|
||||
type: "internal"
|
||||
from: "fsdr"
|
||||
to: "exacs_dr"
|
||||
|
||||
- id: "conn_backup"
|
||||
label: "RMAN Backup\n(DW)"
|
||||
type: "data"
|
||||
from: "exacs_prod"
|
||||
to: "obj_storage"
|
||||
# ──────────────────────────────────────────────────────────────
|
||||
# OPTIONAL — add if the user approves during pre-generation review:
|
||||
#
|
||||
# Security:
|
||||
# - id: "vault"
|
||||
# label: "OCI Vault\nTDE Keys"
|
||||
# type: "vault"
|
||||
#
|
||||
# - id: "waf"
|
||||
# label: "WAF"
|
||||
# type: "waf"
|
||||
#
|
||||
# Observability:
|
||||
# - id: "monitoring"
|
||||
# label: "OCI Monitoring"
|
||||
# type: "monitoring"
|
||||
#
|
||||
# - id: "logging"
|
||||
# label: "OCI Audit + Logging"
|
||||
# type: "logging"
|
||||
#
|
||||
# - id: "events"
|
||||
# label: "OCI Events + Notifications"
|
||||
# type: "events"
|
||||
#
|
||||
# Application tier (only if customer has app servers):
|
||||
# - id: "ebs_app"
|
||||
# label: "EBS R12 App Tier"
|
||||
# type: "compute"
|
||||
#
|
||||
# DR orchestration:
|
||||
# - id: "fsdr"
|
||||
# label: "Full Stack DR (FSDR)"
|
||||
# type: "fsdr"
|
||||
#
|
||||
# Backup:
|
||||
# - id: "obj_storage"
|
||||
# label: "Object Storage\nRMAN Backups"
|
||||
# type: "object-storage"
|
||||
# ──────────────────────────────────────────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user