The diagram path now follows a documented standard procedure (lookup the closest Oracle Architecture Center reference → confirm components → author absolute_layout → spec validator → render → visually verify) and ships persistent guardrails so layout regressions can't recur. Persistent procedure changes (apply to all users, all sessions): - tools/diagram_spec_validator.py — geometry checks (CONTAINER_TOO_THIN, CONTAINER_PADDING_VIOLATION, LABEL_OVERFLOW_PARENT) run BEFORE either renderer (drawio + PPTX). Catches the subnet-collapse / label-overflow bugs that the post-render drawio validator missed. - tools/oci_diagram_gen.py + tools/oci_pptx_diagram_gen.py — call the spec validator before emitting any output. Adds mysql / mysql_heatwave type aliases. - tools/archcenter_pattern_lookup.py — scores against cached page descriptions (not just the 1-line summary), supports --queries for multi-fragment composition, and applies synonym expansion via kb/architecture-center/synonyms.yaml so "LB HA cross AD" matches "load balancer high availability availability domain". - kb/architecture-center/synonyms.yaml — canonical synonym table (load balancer, autonomous database, data guard, …) used by the lookup scorer. KB enrichment: - tools/archcenter_description_fetcher.py + 121 cached _description.md under kb/diagram/assets/archcenter-refs/<slug>/. Removes the runtime dependency on docs.oracle.com when authoring specs and feeds the pattern-lookup scorer. - 110+ cached .drawio / .svg / .png references for offline reuse, plus the OCI Toolkit v24.2 import (kb/diagram/assets/oci-toolkit-drawio). Documentation: - docs/skill/output-formats.md — new "Standard diagram-generation procedure (MANDATORY)" + geometry rules + the new validator entry. - SKILL.md option 2 — references the mandatory procedure. - README.md — describes the spec validator, archcenter_pattern_lookup and description fetcher, and updates the KB-health table. Tooling that backs the procedure (cumulative across recent sessions): tools/archcenter_case_runner.py, archcenter_batch_driver.py, archcenter_zip_downloader.py, drawio_visual_validator.py, drawio_fidelity_eval.py, harvest_drawio_icon.py, import_oci_library.py, oci_pptx_diagram_gen.py, oci_pptx_render.py, refresh_pptx_icon_index.py. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
44 lines
2.3 KiB
YAML
44 lines
2.3 KiB
YAML
---
|
|
last_verified: 2026-04-25
|
|
source: https://docs.oracle.com/en/solutions/implement-lbaas-error-page/index.html
|
|
diagram_asset: https://docs.oracle.com/en/solutions/implement-lbaas-error-page/img/lbaas-maintenance-page.png
|
|
pattern: cloud-native-lbaas-error-page
|
|
classification: single-region cloud-native operations workflow
|
|
---
|
|
|
|
lessons:
|
|
- Oracle Architecture Center operational workflow diagrams can place regional managed services outside the VCN while still inside the OCI region boundary. Do not force Object Storage, Monitoring, Notifications, or DNS into a subnet unless the source diagram does.
|
|
- Numbered flow badges are part of the official visual grammar for process-oriented reference architectures. Render them only when the spec provides `flow_order`.
|
|
- The LBaaS custom error page reference uses a fixed-coordinate composition rather than a standard tiered top-to-bottom layout: users and Object Storage are left of the VCN, Monitoring and Notifications are below the VCN, and DNS sits at the lower-right edge of the VCN.
|
|
- Native PowerPoint reconstruction needs icon aliases for `internet_gateway`, `functions`, `monitoring`, `notifications`, and `dns`; otherwise the renderer falls back to generic service cards.
|
|
|
|
layout_rules:
|
|
absolute_layout:
|
|
use_when:
|
|
- Reconstructing an official Architecture Center diagram from a PNG/SVG reference.
|
|
- The source diagram uses non-grid subnets, regional services outside VCN, or numbered workflow connectors.
|
|
required_fields:
|
|
- canvas
|
|
- containers
|
|
- services
|
|
- connections
|
|
validation:
|
|
- Generate draw.io and native PPTX from the same coordinate model.
|
|
- Render the coordinate model to PNG using `tools/oci_archcenter_eval.py`.
|
|
- Compare against the official PNG and inspect deviations before accepting.
|
|
|
|
service_aliases:
|
|
internet_gateway: internet_gateway
|
|
igw: internet_gateway
|
|
functions: oci_functions
|
|
function: oci_functions
|
|
monitoring: monitoring
|
|
notifications: notifications
|
|
notification: notifications
|
|
dns: dns
|
|
|
|
benchmark_case:
|
|
workspace: examples/eval-2026-04-25-lbaas-error-page
|
|
drawio_spec: examples/eval-2026-04-25-lbaas-error-page/specs/lbaas-error-page-diagram-spec.yaml
|
|
deck_spec: examples/eval-2026-04-25-lbaas-error-page/specs/lbaas-error-page-deck-spec.yaml
|