initial version
This commit is contained in:
527
architecture-center-catalog-prompt.md
Normal file
527
architecture-center-catalog-prompt.md
Normal file
@@ -0,0 +1,527 @@
|
||||
# OCI DEAL ACCELERATOR — Architecture Center Catalog Builder
|
||||
|
||||
## CRITICAL: Git Branching Rule
|
||||
|
||||
```bash
|
||||
git checkout main && git pull origin main && git checkout -b feature/architecture-center-catalog
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Objective
|
||||
|
||||
Build a comprehensive catalog of Oracle Architecture Center content (reference architectures, solution playbooks, built & deployed) from the last 2 years. Each entry has ONLY: title, URL, type, date, tags, and a 2-3 sentence summary focused on Architecture Recommendations and Considerations.
|
||||
|
||||
This catalog enables the Deal Accelerator to say: "Your architecture matches this Oracle reference architecture: [title] — [url]" when composing a proposal.
|
||||
|
||||
---
|
||||
|
||||
## Step 1: Fetch the What's New Pages
|
||||
|
||||
These pages list ALL published/updated content by date:
|
||||
|
||||
```
|
||||
https://docs.oracle.com/en/solutions/oracle-architecture-center/whats-new-20251.html
|
||||
https://docs.oracle.com/en/solutions/oracle-architecture-center/whats-new-2024.html
|
||||
```
|
||||
|
||||
From each page, extract every entry title and its link. These are the master lists.
|
||||
|
||||
Also fetch the filtered views to catch anything missed:
|
||||
|
||||
```
|
||||
https://docs.oracle.com/solutions/?q=&cType=reference-architectures&sort=date-desc&lang=en
|
||||
https://docs.oracle.com/solutions/?q=&cType=built-deployed&sort=date-desc&lang=en
|
||||
https://docs.oracle.com/solutions/?q=&cType=solution-playbook&sort=date-desc&lang=en
|
||||
```
|
||||
|
||||
If the filtered views are JavaScript-rendered and don't return content via fetch, rely on the What's New pages as the master source.
|
||||
|
||||
---
|
||||
|
||||
## Step 2: For Each Entry, Fetch the Detail Page
|
||||
|
||||
Each reference architecture has a URL like:
|
||||
```
|
||||
https://docs.oracle.com/en/solutions/{slug}/index.html
|
||||
```
|
||||
|
||||
Fetch each page and extract:
|
||||
- **Title**: the H1
|
||||
- **Summary**: the first 2-3 sentences of the description (before the diagram)
|
||||
- **Architecture Recommendations**: from the "Recommendations" or "Considerations" section — summarize in 2-3 sentences MAX
|
||||
- **Services used**: list the OCI services mentioned (ADB-S, ExaCS, OKE, VCN, etc.)
|
||||
- **Tags**: auto-generate from services and topic (database, networking, security, migration, ha-dr, multicloud, etc.)
|
||||
- **Date**: from the What's New page or the page footer copyright
|
||||
- **Terraform/GitHub link**: if present
|
||||
|
||||
---
|
||||
|
||||
## Step 3: Write the Catalog File
|
||||
|
||||
### Output format: `kb/architecture-center/catalog.yaml`
|
||||
|
||||
```yaml
|
||||
# =============================================================================
|
||||
# ORACLE ARCHITECTURE CENTER — REFERENCE CATALOG
|
||||
# =============================================================================
|
||||
#
|
||||
# Auto-generated index of Oracle Architecture Center content.
|
||||
# Used by the Deal Accelerator to match customer architectures with
|
||||
# official Oracle reference architectures and solution playbooks.
|
||||
#
|
||||
# Entry format is intentionally minimal — title, summary, tags, URL.
|
||||
# The skill references the URL; the architect reads the full doc.
|
||||
#
|
||||
# To refresh: python tools/refresh_arch_catalog.py
|
||||
# =============================================================================
|
||||
|
||||
---
|
||||
last_refreshed: "2026-03-16"
|
||||
source: "https://docs.oracle.com/en/solutions/oracle-architecture-center/"
|
||||
entry_count: 0 # UPDATE with actual count
|
||||
---
|
||||
|
||||
entries:
|
||||
|
||||
# ===== DATABASE =====
|
||||
|
||||
- title: "Deploy Oracle Autonomous Database on Oracle Database@Azure"
|
||||
url: "https://docs.oracle.com/en/solutions/deploy-autonomous-database-db-at-azure/index.html"
|
||||
type: reference-architecture
|
||||
date: "2024-10"
|
||||
services: [adb-s, adg, azure]
|
||||
tags: [database, multicloud, azure, ha-dr, autonomous]
|
||||
summary: >
|
||||
Multi-AZ deployment of ADB-S on Database@Azure with Autonomous Data Guard.
|
||||
Recommends VNet peering between app and DB VNets, TAC for availability,
|
||||
and ADG standby in a different AZ for automatic failover.
|
||||
terraform: null
|
||||
|
||||
- title: "Oracle MAA for Oracle Database@Azure"
|
||||
url: "https://docs.oracle.com/en/solutions/oracle-maa-db-at-azure/index.html"
|
||||
type: reference-architecture
|
||||
date: "2025-05"
|
||||
services: [exacs, adg, vault, azure]
|
||||
tags: [database, multicloud, azure, ha-dr, maa, exadata]
|
||||
summary: >
|
||||
Cross-AZ Data Guard on ExaCS in Database@Azure. Active Data Guard
|
||||
recommended for cross-AZ replication (block repair, app continuity,
|
||||
read offload). Backups to Autonomous Recovery Service.
|
||||
terraform: null
|
||||
|
||||
- title: "Deploy Oracle Autonomous Database on Oracle Database@Google Cloud"
|
||||
url: "https://docs.oracle.com/en/solutions/deploy-adb-db-at-google-cloud/index.html"
|
||||
type: reference-architecture
|
||||
date: "2025-03"
|
||||
services: [adb-s, adg, google-cloud]
|
||||
tags: [database, multicloud, google, ha-dr, autonomous]
|
||||
summary: >
|
||||
ADB-S on Database@Google Cloud with cross-region ADG. Non-overlapping
|
||||
CIDR between VPC and VCN required. App tier should span 2+ AZs with
|
||||
Google Global Load Balancer for failover.
|
||||
terraform: null
|
||||
|
||||
- title: "Deploy Oracle Database@Google Cloud"
|
||||
url: "https://docs.oracle.com/en/solutions/deploy-oracle-database-at-google-cloud/index.html"
|
||||
type: reference-architecture
|
||||
date: "2025-10"
|
||||
services: [exacs, adb-d, google-cloud]
|
||||
tags: [database, multicloud, google, exadata, autonomous-dedicated]
|
||||
summary: >
|
||||
ExaCS and ADB-D on Database@Google Cloud. RAC for active-active HA,
|
||||
ASM for storage redundancy. Backups to OCI Object Storage via
|
||||
Autonomous Recovery Service.
|
||||
terraform: null
|
||||
|
||||
- title: "Deploy Oracle Database@AWS"
|
||||
url: "https://docs.oracle.com/en/solutions/deploy-oracle-db-aws/index.html"
|
||||
type: reference-architecture
|
||||
date: "2025-07"
|
||||
services: [exacs, adb-d, aws]
|
||||
tags: [database, multicloud, aws, exadata, autonomous-dedicated]
|
||||
summary: >
|
||||
ExaCS and ADB-D colocated in AWS data centers. ODB peering between
|
||||
VPC and ODB network in same AZ. Default limit of 2 DB servers and
|
||||
3 storage servers — request increase early.
|
||||
terraform: null
|
||||
|
||||
- title: "Migrate on-premises Oracle Database to Autonomous Database"
|
||||
url: "https://docs.oracle.com/en/solutions/migrate-to-atp/index.html"
|
||||
type: reference-architecture
|
||||
date: "2024-01"
|
||||
services: [adb-s, object-storage, compute, vpn]
|
||||
tags: [database, migration, autonomous, data-pump]
|
||||
summary: >
|
||||
MV2ADB tool for on-prem EE to ADB-S migration using Data Pump.
|
||||
Requires HTTP to Object Storage + SQL*Net to ADB. Terraform code
|
||||
available on GitHub for networking + compute + ADB provisioning.
|
||||
terraform: "https://github.com/oracle-quickstart/oci-arch-atp"
|
||||
|
||||
- title: "Migrate Oracle RAC Databases to OCI"
|
||||
url: "https://docs.oracle.com/en/solutions/ensure-ha-migrate-vmware-workloads-to-oci/migrate-oracle-rac-databases1.html"
|
||||
type: reference-architecture
|
||||
date: "2025-01"
|
||||
services: [exacs, exascale, adb-d, base-db]
|
||||
tags: [database, migration, rac, exadata, ha-dr]
|
||||
summary: >
|
||||
Compares 4 RAC migration targets: ExaCS Dedicated, Exascale, ADB-D,
|
||||
and 2-node RAC on Base DB. ExaCS recommended for full RAC feature
|
||||
parity. Exascale for 23ai-only without dedicated infra commitment.
|
||||
terraform: null
|
||||
|
||||
- title: "Deploy ORDS with High Availability on OCI"
|
||||
url: "https://docs.oracle.com/en/solutions/deploy-ords-ha-oci/index.html"
|
||||
type: reference-architecture
|
||||
date: "2025-06"
|
||||
services: [compute, load-balancer, adb-s, bastion]
|
||||
tags: [database, application, ords, ha-dr, rest-api]
|
||||
summary: >
|
||||
Multi-instance ORDS behind OCI Load Balancer for HA REST access to
|
||||
Oracle DB. Works with ADB-S, DBCS, or ExaCS. Recommends DB in
|
||||
private subnet, ORDS in public with granular NSG rules.
|
||||
terraform: null
|
||||
|
||||
- title: "Deploy secure ADB and APEX application"
|
||||
url: "https://docs.oracle.com/en/solutions/deploy-autonomous-database-and-app/index.html"
|
||||
type: reference-architecture
|
||||
date: "2024-06"
|
||||
services: [adb-s, apex, load-balancer, bastion, cloud-guard]
|
||||
tags: [database, application, apex, security, autonomous]
|
||||
summary: >
|
||||
APEX on ADB-S with private endpoint behind Load Balancer. OCI
|
||||
Landing Zone via Terraform provisions in minutes. Recommends NSGs
|
||||
over Security Lists, Cloud Guard with custom detector recipes.
|
||||
terraform: "https://github.com/oracle-quickstart/oci-arch-apex-atp"
|
||||
|
||||
# ===== NETWORKING & INTEGRATION =====
|
||||
|
||||
- title: "Design network architecture for data and application integration"
|
||||
url: "https://docs.oracle.com/en/solutions/data-application-integration-workloads/index.html"
|
||||
type: reference-architecture
|
||||
date: "2025-11"
|
||||
services: [vcn, drg, fastconnect, oic, data-integration, adb]
|
||||
tags: [networking, integration, multicloud, data-integration]
|
||||
summary: >
|
||||
4 integration patterns: single VCN, cross-VCN, cross-region, and
|
||||
multicloud. FastConnect+DRG for on-prem, RPC for cross-region.
|
||||
Multicloud via FastConnect+ExpressRoute/DirectConnect/PartnerInterconnect.
|
||||
terraform: null
|
||||
|
||||
# ===== DATA PLATFORM =====
|
||||
|
||||
- title: "Data platform - decentralized data platform"
|
||||
url: "https://docs.oracle.com/en/solutions/data-platform-decentralized/index.html"
|
||||
type: reference-architecture
|
||||
date: "2025-03"
|
||||
services: [adw, data-catalog, data-integration, object-storage]
|
||||
tags: [data-platform, data-lake, data-sharing, autonomous]
|
||||
summary: >
|
||||
Decentralized data lakehouse with domain-level ADB-S instances
|
||||
sharing data via Cloud Links or Delta Sharing. Centralized catalog,
|
||||
IaC onboarding per domain. Hub-spoke model with OCI backbone routing.
|
||||
terraform: null
|
||||
|
||||
- title: "Cloud data lake house - process enterprise and streaming data"
|
||||
url: "https://docs.oracle.com/en/solutions/oci-curated-analysis/index.html"
|
||||
type: reference-architecture
|
||||
date: "2024-02"
|
||||
services: [adw, streaming, goldengate-stream-analytics, data-integration, object-storage]
|
||||
tags: [data-platform, data-lake, streaming, analytics, machine-learning]
|
||||
summary: >
|
||||
Full data lakehouse with batch and streaming ingestion. ADW with
|
||||
auto-scaling for curated layer. Hybrid partitioned tables to move
|
||||
cold data to Object Storage transparently. GoldenGate Stream Analytics
|
||||
for real-time event processing.
|
||||
terraform: null
|
||||
|
||||
- title: "Multicloud data lake integration"
|
||||
url: "https://docs.oracle.com/en/solutions/oci-multicloud-datalake/index.html"
|
||||
type: reference-architecture
|
||||
date: "2024-03"
|
||||
services: [data-integration, oic, object-storage, adw, streaming]
|
||||
tags: [data-platform, multicloud, integration, data-lake]
|
||||
summary: >
|
||||
Bring data from AWS/Azure/on-prem into OCI data lake. OCI Data
|
||||
Integration for batch ETL, OIC for app integration with pre-built
|
||||
adapters. Read-only credentials for source systems recommended.
|
||||
terraform: null
|
||||
|
||||
# ===================================================================
|
||||
# CONTINUE ADDING ALL REMAINING ENTRIES FROM THE WHAT'S NEW PAGES
|
||||
# Follow the same format: title, url, type, date, services, tags, summary
|
||||
#
|
||||
# Fetch and process ALL entries from:
|
||||
# - whats-new-20251.html (2025 entries)
|
||||
# - whats-new-2024.html (2024 entries)
|
||||
#
|
||||
# For each entry:
|
||||
# 1. Fetch the detail page
|
||||
# 2. Extract the summary (first 2-3 sentences)
|
||||
# 3. Extract Architecture Recommendations (summarize in 2-3 sentences)
|
||||
# 4. Combine into the summary field
|
||||
# 5. Auto-tag based on services and topic
|
||||
# ===================================================================
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Step 4: Build the Refresh Script
|
||||
|
||||
### `tools/refresh_arch_catalog.py`
|
||||
|
||||
```python
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Refresh the Architecture Center catalog from Oracle docs.
|
||||
|
||||
Usage:
|
||||
python tools/refresh_arch_catalog.py
|
||||
python tools/refresh_arch_catalog.py --url https://docs.oracle.com/en/solutions/{slug}/index.html
|
||||
python tools/refresh_arch_catalog.py --whats-new
|
||||
|
||||
This script:
|
||||
1. Fetches the What's New pages for 2024 and 2025
|
||||
2. Extracts all reference architecture links
|
||||
3. For each link, fetches the detail page
|
||||
4. Extracts title, summary, services, recommendations
|
||||
5. Writes/updates kb/architecture-center/catalog.yaml
|
||||
|
||||
IMPORTANT: This is a semi-automated tool. It generates DRAFT entries
|
||||
that should be reviewed by a human before committing. The auto-generated
|
||||
summaries may miss nuance or include irrelevant detail.
|
||||
"""
|
||||
|
||||
import requests
|
||||
import yaml
|
||||
import re
|
||||
import argparse
|
||||
from bs4 import BeautifulSoup
|
||||
from datetime import datetime
|
||||
import os
|
||||
import time
|
||||
|
||||
# Service name detection patterns
|
||||
SERVICE_PATTERNS = {
|
||||
"adb-s": r"Autonomous\s+(Database|Transaction|Data\s+Warehouse)(?!.*Dedicated)",
|
||||
"adb-d": r"Autonomous\s+Database\s+on\s+Dedicated|ADB-D",
|
||||
"exacs": r"Exadata\s+(Cloud|Database)\s+Service|ExaCS|ExaDB",
|
||||
"exascale": r"Exascale",
|
||||
"base-db": r"Base\s+Database|VM\s+DB|DB\s+System",
|
||||
"oke": r"Kubernetes\s+Engine|OKE|Container\s+Engine",
|
||||
"compute": r"Compute\s+(Instance|VM)|Virtual\s+Machine",
|
||||
"functions": r"OCI\s+Functions|Functions\s+Service",
|
||||
"vcn": r"Virtual\s+Cloud\s+Network|VCN",
|
||||
"load-balancer": r"Load\s+Balanc",
|
||||
"waf": r"Web\s+Application\s+Firewall|WAF",
|
||||
"fastconnect": r"FastConnect",
|
||||
"drg": r"Dynamic\s+Routing\s+Gateway|DRG",
|
||||
"object-storage": r"Object\s+Storage",
|
||||
"data-safe": r"Data\s+Safe",
|
||||
"vault": r"OCI\s+Vault|Key\s+Management",
|
||||
"cloud-guard": r"Cloud\s+Guard",
|
||||
"goldengate": r"GoldenGate",
|
||||
"oic": r"Oracle\s+Integration|OIC",
|
||||
"data-integration": r"Data\s+Integration",
|
||||
"streaming": r"OCI\s+Streaming|Streaming\s+Service",
|
||||
"monitoring": r"OCI\s+Monitoring",
|
||||
"logging": r"Logging\s+Analytics",
|
||||
"bastion": r"Bastion",
|
||||
"apex": r"Oracle\s+APEX|APEX\s+application",
|
||||
"mysql": r"MySQL\s+(Database\s+)?Service|MySQL\s+HeatWave",
|
||||
"nosql": r"NoSQL\s+Database",
|
||||
"adw": r"Autonomous\s+Data\s+Warehouse|ADW",
|
||||
"azure": r"Database@Azure|Azure",
|
||||
"aws": r"Database@AWS|AWS",
|
||||
"google-cloud": r"Database@Google|Google\s+Cloud",
|
||||
}
|
||||
|
||||
TAG_PATTERNS = {
|
||||
"database": r"database|autonomous|exadata|rac|mysql|nosql",
|
||||
"migration": r"migrat|move\s+to|zero\s+downtime",
|
||||
"ha-dr": r"high\s+availability|disaster\s+recovery|data\s+guard|failover|MAA",
|
||||
"security": r"secur|encrypt|vault|data\s+safe|cloud\s+guard|compliance",
|
||||
"networking": r"network|vcn|subnet|fastconnect|vpn|drg|load\s+balanc",
|
||||
"multicloud": r"multicloud|multi-cloud|azure|aws|google\s+cloud|database@",
|
||||
"integration": r"integrat|oic|streaming|goldengate|data\s+flow",
|
||||
"data-platform": r"data\s+lake|data\s+warehouse|analytics|data\s+platform",
|
||||
"application": r"apex|ords|kubernetes|container|weblogic|tomcat",
|
||||
"ai-ml": r"machine\s+learning|ai\s+|generative|vector|select\s+ai",
|
||||
"autonomous": r"autonomous\s+database|adb|auto-scal",
|
||||
}
|
||||
|
||||
|
||||
def detect_services(text):
|
||||
"""Auto-detect OCI services mentioned in text."""
|
||||
found = []
|
||||
for svc, pattern in SERVICE_PATTERNS.items():
|
||||
if re.search(pattern, text, re.IGNORECASE):
|
||||
found.append(svc)
|
||||
return sorted(set(found))
|
||||
|
||||
|
||||
def detect_tags(text):
|
||||
"""Auto-detect topic tags from text."""
|
||||
found = []
|
||||
for tag, pattern in TAG_PATTERNS.items():
|
||||
if re.search(pattern, text, re.IGNORECASE):
|
||||
found.append(tag)
|
||||
return sorted(set(found))
|
||||
|
||||
|
||||
def fetch_page(url, delay=1.0):
|
||||
"""Fetch a page with rate limiting."""
|
||||
time.sleep(delay)
|
||||
headers = {"User-Agent": "OCI-Deal-Accelerator-CatalogBuilder/1.0"}
|
||||
resp = requests.get(url, headers=headers, timeout=30)
|
||||
resp.raise_for_status()
|
||||
return BeautifulSoup(resp.text, "html.parser")
|
||||
|
||||
|
||||
def extract_entry(url):
|
||||
"""Extract catalog entry from a reference architecture page."""
|
||||
try:
|
||||
soup = fetch_page(url)
|
||||
|
||||
title = soup.find("h1")
|
||||
title_text = title.get_text(strip=True) if title else "Unknown"
|
||||
|
||||
# Get all text for service/tag detection
|
||||
body = soup.get_text(" ", strip=True)
|
||||
|
||||
# Extract first 2-3 sentences as summary
|
||||
paragraphs = soup.find_all("p")
|
||||
summary_parts = []
|
||||
for p in paragraphs[:5]:
|
||||
text = p.get_text(strip=True)
|
||||
if len(text) > 50 and "Copyright" not in text:
|
||||
summary_parts.append(text)
|
||||
if len(" ".join(summary_parts)) > 300:
|
||||
break
|
||||
|
||||
summary = " ".join(summary_parts)[:500]
|
||||
|
||||
# Detect services and tags
|
||||
services = detect_services(body)
|
||||
tags = detect_tags(body)
|
||||
|
||||
# Detect type
|
||||
entry_type = "reference-architecture"
|
||||
if "playbook" in body.lower():
|
||||
entry_type = "solution-playbook"
|
||||
elif "built and deployed" in body.lower() or "customer" in title_text.lower():
|
||||
entry_type = "built-deployed"
|
||||
|
||||
# Find terraform/github links
|
||||
terraform = None
|
||||
for a in soup.find_all("a", href=True):
|
||||
if "github" in a["href"].lower():
|
||||
terraform = a["href"]
|
||||
break
|
||||
|
||||
return {
|
||||
"title": title_text,
|
||||
"url": url,
|
||||
"type": entry_type,
|
||||
"services": services,
|
||||
"tags": tags,
|
||||
"summary": summary,
|
||||
"terraform": terraform,
|
||||
}
|
||||
except Exception as e:
|
||||
print(f" ERROR fetching {url}: {e}")
|
||||
return None
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("--url", help="Fetch a single URL")
|
||||
parser.add_argument("--whats-new", action="store_true", help="Fetch from What's New pages")
|
||||
parser.add_argument("--output", default="kb/architecture-center/catalog.yaml")
|
||||
args = parser.parse_args()
|
||||
|
||||
if args.url:
|
||||
entry = extract_entry(args.url)
|
||||
if entry:
|
||||
print(yaml.dump([entry], default_flow_style=False))
|
||||
elif args.whats_new:
|
||||
# Fetch What's New pages and extract all links
|
||||
# ... implement the full crawl
|
||||
pass
|
||||
else:
|
||||
print("Usage: --url <url> or --whats-new")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
```
|
||||
|
||||
**Requirements:** `pip install requests beautifulsoup4`
|
||||
|
||||
---
|
||||
|
||||
## Step 5: Integration with the Skill
|
||||
|
||||
### Update `kb/INDEX.yaml`
|
||||
|
||||
Add:
|
||||
|
||||
```yaml
|
||||
architecture_center:
|
||||
catalog:
|
||||
path: "kb/architecture-center/catalog.yaml"
|
||||
keywords: ["reference architecture", "oracle architecture center", "solution playbook", "built deployed"]
|
||||
load_when: "composing architecture or generating ADRs — match customer workload against known Oracle patterns"
|
||||
```
|
||||
|
||||
### How the Skill Uses It
|
||||
|
||||
During Phase 2 (Architecture Composition), after selecting services and patterns, the skill scans the catalog for matching entries:
|
||||
|
||||
```
|
||||
Matching logic:
|
||||
1. Compare selected services against entry.services
|
||||
2. Compare workload tags against entry.tags
|
||||
3. If ≥2 service matches + ≥1 tag match → STRONG MATCH
|
||||
4. If ≥1 service match + ≥2 tag matches → MODERATE MATCH
|
||||
|
||||
Output in the deck:
|
||||
- Architecture Decisions slide: "Based on Oracle Reference Architecture: [title] ([url])"
|
||||
- Technical document: Full reference with link
|
||||
- Risk register: Note any deviations from the reference architecture
|
||||
```
|
||||
|
||||
Example match for the Laboratorios Farma case:
|
||||
```
|
||||
Customer: ADB-S + ADG + VPN + private subnet + APEX
|
||||
Matches:
|
||||
✅ STRONG: "Deploy secure ADB and APEX application" (adb-s, apex, load-balancer)
|
||||
✅ MODERATE: "Deploy ORDS with High Availability on OCI" (adb-s, load-balancer)
|
||||
✅ MODERATE: "Migrate on-premises Oracle Database to ADB" (adb-s, migration)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Build Order
|
||||
|
||||
1. Create `kb/architecture-center/` directory
|
||||
2. Run the refresh script to generate `catalog.yaml` (or build manually from What's New pages)
|
||||
3. Review and curate the auto-generated entries (fix summaries, verify tags)
|
||||
4. Update `kb/INDEX.yaml` with the architecture-center reference
|
||||
5. Update `SKILL.md` / `SKILL_COMPACT.md` with matching logic instructions
|
||||
6. Add `tools/refresh_arch_catalog.py` to the repo
|
||||
7. Add tests: verify catalog loads, entries have required fields, no broken URLs
|
||||
|
||||
## Refresh Cadence
|
||||
|
||||
- **Monthly**: Run `python tools/refresh_arch_catalog.py --whats-new` to pick up new entries
|
||||
- **On Oracle release**: Check for new reference architectures related to new features
|
||||
- **Manual add**: For entries the scraper misses, add manually following the format
|
||||
|
||||
## When Done
|
||||
|
||||
```bash
|
||||
git add .
|
||||
git commit -m "feat: Architecture Center catalog — reference architectures index"
|
||||
git push -u origin feature/architecture-center-catalog
|
||||
```
|
||||
Reference in New Issue
Block a user