Diagram generation: ref-arch-driven procedure + spec validator + KB enrichment

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>
This commit is contained in:
root
2026-04-25 21:15:21 -03:00
parent 2491c38d4b
commit b30a4f0d32
635 changed files with 365317 additions and 1014 deletions

View File

@@ -0,0 +1,111 @@
# Learn about maximum availability architecture for PeopleSoft
- Source: https://docs.oracle.com/en/solutions/learn-about-maa-for-peoplesoft/index.html
- Date: 2024-08
- Type: reference-architecture
- Services: exacs, adg, load-balancer, compute
- Tags: application, ha-dr, peoplesoft
## Summary (catalog)
MAA for PeopleSoft on OCI. Active Data Guard for database HA/DR, multi-instance PIA behind Load Balancer, Process Scheduler on multiple nodes for batch processing resilience.
## Architecture (fetched from source)
Architecture
The following architecture diagrams show PeopleSoft and Oracle
Maximum Availability Architecture (Oracle MAA).
PeopleSoft Maximum Availability Architecture is a PeopleSoft high
availability architecture layered on top of the Oracle Database and Oracle Fusion
Middleware Oracle MAA, including a secondary site to provide business continuity in the
event of a primary site failure.
The following shows a full-stack Oracle MAA architecture, including primary
and secondary sites. The secondary site is a replica of the primary.
Description of the illustration peoplesoft-maa-arch.png
peoplesoft-maa-arch-oracle.zip
Each site consists of the following:
- An HTTPS load balancer for web-based application services
- Two servers that host the PeopleSoft Pure Internet Architecture (PIA)
domain
- Two servers that host both the PeopleSoft Application Server and the
Process Scheduler domains
- A shared file system for PeopleSoft application software and report
repository
- An Oracle Real Application Clusters (Oracle
RAC) database, with two database servers and shared storage
- Oracle Active Data Guard , which allows routing of “mostly read operations” to the standby database while
keeping the standby database current with the primary
Both the application tier shared file system and the database are replicated
to the secondary site the application tier using rsync, and the database tier using
Oracle Data Guard .
The data at the second site is kept in sync with the primary by using
appropriate replication mechanisms.
- For the database itself, Oracle Active Data Guard ensures the standby database is kept in sync and transactionally consistent.
- For file system output generated during the operation of the
application, rsync is used to frequently replicate the output to
another region. There will be a small gap to resolve by identifying missing file
system components and determining the action to take for each.
Title and Copyright Information
Learn about maximum availability architecture for PeopleSoft
F87909-01
August 2024
Copyright © 2024,
Oracle and/or its affiliates.