Financial customer product promotion and introduction service. It turns product briefs into scenario-based copy, visual prompts, landing pages, SVG posters and compliance-aware metadata.
{''.join(cards)}
Runtime / AMD ROCm Detection
{gpu_json}
'''
+
+
+def generate_package(brief_path: str, out_dir: str, variants: int = 3) -> Dict[str, object]:
+ start = time.perf_counter()
+ brief = json.loads(Path(brief_path).read_text(encoding="utf-8"))
+ out = Path(out_dir)
+ out.mkdir(parents=True, exist_ok=True)
+ gpu = status_dict()
+ generated = create_variants(brief, variants)
+
+ variant_dicts = [v.__dict__ for v in generated]
+ (out / "variants.json").write_text(json.dumps(variant_dicts, ensure_ascii=False, indent=2), encoding="utf-8")
+ (out / "gpu-status.json").write_text(json.dumps(gpu, ensure_ascii=False, indent=2), encoding="utf-8")
+ (out / "landing-page.html").write_text(_html_page(brief, generated, gpu), encoding="utf-8")
+ for i, v in enumerate(generated):
+ (out / f"poster-{i+1:02d}.svg").write_text(_svg_card(v, brief, i), encoding="utf-8")
+
+ elapsed = time.perf_counter() - start
+ run = {
+ "brief": brief,
+ "variant_count": len(generated),
+ "runtime_seconds": round(elapsed, 4),
+ "output_dir": str(out),
+ "gpu_mode": gpu.get("mode"),
+ "clarity_average": round(sum(v.clarity_score for v in generated) / len(generated), 4),
+ "stability_average": round(sum(v.stability_score for v in generated) / len(generated), 4),
+ "diversity_tags": sorted({tag for v in generated for tag in v.diversity_tags}),
+ "files": sorted(p.name for p in out.iterdir() if p.is_file()),
+ }
+ (out / "run-summary.json").write_text(json.dumps(run, ensure_ascii=False, indent=2), encoding="utf-8")
+ return run
+
+
+def build_report(run_dirs: Iterable[str], out_path: str) -> str:
+ sections = ["# FinMuse Radeon Demo Report", "", "This report is generated from actual command-line demo outputs.", ""]
+ for rd in run_dirs:
+ path = Path(rd)
+ summary = json.loads((path / "run-summary.json").read_text(encoding="utf-8"))
+ gpu = json.loads((path / "gpu-status.json").read_text(encoding="utf-8"))
+ sections += [
+ f"## Run: {path.name}",
+ f"- Product: {summary['brief'].get('product_name')}",
+ f"- GPU mode: {summary['gpu_mode']}",
+ f"- Runtime seconds: {summary['runtime_seconds']}",
+ f"- Variants: {summary['variant_count']}",
+ f"- Clarity average: {summary['clarity_average']}",
+ f"- Stability average: {summary['stability_average']}",
+ f"- Diversity tags: {', '.join(summary['diversity_tags'])}",
+ f"- ROCm tools: rocm-smi={gpu.get('rocm_smi_found')}, rocminfo={gpu.get('rocminfo_found')}",
+ "",
+ ]
+ result = "\n".join(sections)
+ Path(out_path).write_text(result, encoding="utf-8")
+ return result
diff --git a/finmuse-deliverables/finmuse-radeon-source/finmuse/gpu.py b/finmuse-deliverables/finmuse-radeon-source/finmuse/gpu.py
new file mode 100644
index 000000000..dd42f132a
--- /dev/null
+++ b/finmuse-deliverables/finmuse-radeon-source/finmuse/gpu.py
@@ -0,0 +1,115 @@
+"""Hardware detection helpers for FinMuse Radeon.
+
+The module avoids hard dependency on ROCm tools so the demo can run on any
+machine while still recording the real AMD Radeon / ROCm detection result.
+"""
+from __future__ import annotations
+
+import json
+import os
+import platform
+import shutil
+import subprocess
+from dataclasses import asdict, dataclass
+from datetime import datetime
+from typing import Dict, List
+
+
+@dataclass
+class GPUStatus:
+ timestamp: str
+ platform: str
+ python: str
+ rocm_smi_found: bool
+ rocminfo_found: bool
+ hip_visible_devices: str
+ torch_found: bool
+ torch_hip_available: bool
+ devices: List[str]
+ mode: str
+ notes: List[str]
+
+
+def _run(cmd: List[str], timeout: int = 8) -> str:
+ try:
+ out = subprocess.check_output(cmd, stderr=subprocess.STDOUT, timeout=timeout, text=True)
+ return out.strip()
+ except Exception as exc:
+ return f"ERROR: {exc}"
+
+
+def detect_gpu() -> GPUStatus:
+ rocm_smi = shutil.which("rocm-smi")
+ rocminfo = shutil.which("rocminfo")
+ devices: List[str] = []
+ notes: List[str] = []
+
+ if rocm_smi:
+ smi = _run([rocm_smi, "--showproductname"])
+ for line in smi.splitlines():
+ clean = line.strip()
+ if clean and "GPU" in clean.upper():
+ devices.append(clean)
+ notes.append("rocm-smi detected and queried.")
+ else:
+ notes.append("rocm-smi not found in PATH.")
+
+ if rocminfo:
+ info = _run([rocminfo])
+ for line in info.splitlines():
+ if "Marketing Name" in line or "Name:" in line and "gfx" in line:
+ devices.append(line.strip())
+ notes.append("rocminfo detected and queried.")
+ else:
+ notes.append("rocminfo not found in PATH.")
+
+ torch_found = False
+ torch_hip_available = False
+ try:
+ import torch # type: ignore
+ torch_found = True
+ torch_hip_available = bool(getattr(torch.version, "hip", None)) and torch.cuda.is_available()
+ if torch_hip_available:
+ for i in range(torch.cuda.device_count()):
+ devices.append(torch.cuda.get_device_name(i))
+ notes.append("PyTorch ROCm/HIP backend is available.")
+ else:
+ notes.append("PyTorch found but ROCm/HIP backend is not available.")
+ except Exception:
+ notes.append("PyTorch not installed; skipped HIP runtime check.")
+
+ visible = os.environ.get("HIP_VISIBLE_DEVICES", "not-set")
+ amd_like = any("amd" in d.lower() or "radeon" in d.lower() or "gfx" in d.lower() for d in devices)
+ mode = "amd_rocm_gpu" if (rocm_smi or rocminfo or torch_hip_available or amd_like) else "cpu_fallback"
+ if mode == "cpu_fallback":
+ notes.append("Running in CPU fallback mode. On AMD ROCm hardware, the same commands record GPU mode automatically.")
+
+ unique_devices = []
+ for d in devices:
+ if d not in unique_devices:
+ unique_devices.append(d)
+
+ return GPUStatus(
+ timestamp=datetime.utcnow().isoformat(timespec="seconds") + "Z",
+ platform=platform.platform(),
+ python=platform.python_version(),
+ rocm_smi_found=bool(rocm_smi),
+ rocminfo_found=bool(rocminfo),
+ hip_visible_devices=visible,
+ torch_found=torch_found,
+ torch_hip_available=torch_hip_available,
+ devices=unique_devices,
+ mode=mode,
+ notes=notes,
+ )
+
+
+def status_dict() -> Dict[str, object]:
+ return asdict(detect_gpu())
+
+
+def write_status(path: str) -> Dict[str, object]:
+ data = status_dict()
+ with open(path, "w", encoding="utf-8") as f:
+ json.dump(data, f, ensure_ascii=False, indent=2)
+ return data
diff --git a/finmuse-deliverables/finmuse-radeon-source/outputs/demo-report.md b/finmuse-deliverables/finmuse-radeon-source/outputs/demo-report.md
new file mode 100644
index 000000000..8e1bf41f7
--- /dev/null
+++ b/finmuse-deliverables/finmuse-radeon-source/outputs/demo-report.md
@@ -0,0 +1,23 @@
+# FinMuse Radeon Demo Report
+
+This report is generated from actual command-line demo outputs.
+
+## Run: wealth-card
+- Product: Aurora Smart Wealth Card
+- GPU mode: cpu_fallback
+- Runtime seconds: 0.075
+- Variants: 3
+- Clarity average: 0.9433
+- Stability average: 0.924
+- Diversity tags: branch screen, calm, elegant, family planning, mobile app, private advisory, risk education, social short video, trustworthy
+- ROCm tools: rocm-smi=False, rocminfo=False
+
+## Run: insurance-family
+- Product: Family Shield Plan
+- GPU mode: cpu_fallback
+- Runtime seconds: 0.0787
+- Variants: 3
+- Clarity average: 0.943
+- Stability average: 0.935
+- Diversity tags: branch screen, family dinner, family-oriented, human, market dashboard, mobile app, secure, social video, travel protection
+- ROCm tools: rocm-smi=False, rocminfo=False
diff --git a/finmuse-deliverables/finmuse-radeon-source/outputs/gpu-status.json b/finmuse-deliverables/finmuse-radeon-source/outputs/gpu-status.json
new file mode 100644
index 000000000..c9274daae
--- /dev/null
+++ b/finmuse-deliverables/finmuse-radeon-source/outputs/gpu-status.json
@@ -0,0 +1,18 @@
+{
+ "timestamp": "2026-08-06T11:01:16Z",
+ "platform": "Windows-11-10.0.26200-SP0",
+ "python": "3.12.6",
+ "rocm_smi_found": false,
+ "rocminfo_found": false,
+ "hip_visible_devices": "not-set",
+ "torch_found": false,
+ "torch_hip_available": false,
+ "devices": [],
+ "mode": "cpu_fallback",
+ "notes": [
+ "rocm-smi not found in PATH.",
+ "rocminfo not found in PATH.",
+ "PyTorch not installed; skipped HIP runtime check.",
+ "Running in CPU fallback mode. On AMD ROCm hardware, the same commands record GPU mode automatically."
+ ]
+}
\ No newline at end of file
diff --git a/finmuse-deliverables/finmuse-radeon-source/outputs/insurance-family/gpu-status.json b/finmuse-deliverables/finmuse-radeon-source/outputs/insurance-family/gpu-status.json
new file mode 100644
index 000000000..03dfabcf4
--- /dev/null
+++ b/finmuse-deliverables/finmuse-radeon-source/outputs/insurance-family/gpu-status.json
@@ -0,0 +1,18 @@
+{
+ "timestamp": "2026-08-06T11:01:17Z",
+ "platform": "Windows-11-10.0.26200-SP0",
+ "python": "3.12.6",
+ "rocm_smi_found": false,
+ "rocminfo_found": false,
+ "hip_visible_devices": "not-set",
+ "torch_found": false,
+ "torch_hip_available": false,
+ "devices": [],
+ "mode": "cpu_fallback",
+ "notes": [
+ "rocm-smi not found in PATH.",
+ "rocminfo not found in PATH.",
+ "PyTorch not installed; skipped HIP runtime check.",
+ "Running in CPU fallback mode. On AMD ROCm hardware, the same commands record GPU mode automatically."
+ ]
+}
\ No newline at end of file
diff --git a/finmuse-deliverables/finmuse-radeon-source/outputs/insurance-family/landing-page.html b/finmuse-deliverables/finmuse-radeon-source/outputs/insurance-family/landing-page.html
new file mode 100644
index 000000000..9ef16f3a4
--- /dev/null
+++ b/finmuse-deliverables/finmuse-radeon-source/outputs/insurance-family/landing-page.html
@@ -0,0 +1,55 @@
+
+FinMuse Radeon - Family Shield Plan
+
AMD Radeon Hackathon Track 1
FinMuse Radeon
Financial customer product promotion and introduction service. It turns product briefs into scenario-based copy, visual prompts, landing pages, SVG posters and compliance-aware metadata.
+
+
variant-01 / market dashboard
+
Family Shield Plan: finance that fits real life
+
A human product introduction for market dashboard and branch screen.
+
+
Caption: Family Shield Plan | life-stage protection explanation | Scenario: market dashboard
+
Voiceover: In moments like market dashboard, Family Shield Plan helps customers understand options, compare needs and connect with Radeon Trust Insurance service teams. For demonstration only; final materials require financial compliance review.
Radeon Trust Insurance presents Family Shield Plan for young families and urban professionals
+
Designed for transparent, compliant and personalized customer communication.
+
+
Caption: Family Shield Plan | family health and accident coverage story | Scenario: travel protection
+
Voiceover: In moments like travel protection, Family Shield Plan helps customers understand options, compare needs and connect with Radeon Trust Insurance service teams. Investment involves risk; product details are subject to official disclosure documents.
+
Clarity: 0.956 / Stability: 0.964
+
Diversity tags: travel protection, secure, mobile app
+
+
+
+
variant-03 / family dinner
+
Plan smarter, act faster, feel safer with Family Shield Plan
+
A family-oriented product introduction for family dinner and social video.
+
+
Caption: Family Shield Plan | advisor-assisted policy comparison | Scenario: family dinner
+
Voiceover: In moments like family dinner, Family Shield Plan helps customers understand options, compare needs and connect with Radeon Trust Insurance service teams. Do not promise guaranteed returns; emphasize suitability and risk awareness.
+
Clarity: 0.957 / Stability: 0.914
+
Diversity tags: family dinner, family-oriented, social video
+
+
Runtime / AMD ROCm Detection
{
+ "timestamp": "2026-08-06T11:01:17Z",
+ "platform": "Windows-11-10.0.26200-SP0",
+ "python": "3.12.6",
+ "rocm_smi_found": false,
+ "rocminfo_found": false,
+ "hip_visible_devices": "not-set",
+ "torch_found": false,
+ "torch_hip_available": false,
+ "devices": [],
+ "mode": "cpu_fallback",
+ "notes": [
+ "rocm-smi not found in PATH.",
+ "rocminfo not found in PATH.",
+ "PyTorch not installed; skipped HIP runtime check.",
+ "Running in CPU fallback mode. On AMD ROCm hardware, the same commands record GPU mode automatically."
+ ]
+}
\ No newline at end of file
diff --git a/finmuse-deliverables/finmuse-radeon-source/outputs/insurance-family/poster-01.svg b/finmuse-deliverables/finmuse-radeon-source/outputs/insurance-family/poster-01.svg
new file mode 100644
index 000000000..0c0778e48
--- /dev/null
+++ b/finmuse-deliverables/finmuse-radeon-source/outputs/insurance-family/poster-01.svg
@@ -0,0 +1,17 @@
+
\ No newline at end of file
diff --git a/finmuse-deliverables/finmuse-radeon-source/outputs/insurance-family/poster-02.svg b/finmuse-deliverables/finmuse-radeon-source/outputs/insurance-family/poster-02.svg
new file mode 100644
index 000000000..04a53409a
--- /dev/null
+++ b/finmuse-deliverables/finmuse-radeon-source/outputs/insurance-family/poster-02.svg
@@ -0,0 +1,17 @@
+
\ No newline at end of file
diff --git a/finmuse-deliverables/finmuse-radeon-source/outputs/insurance-family/poster-03.svg b/finmuse-deliverables/finmuse-radeon-source/outputs/insurance-family/poster-03.svg
new file mode 100644
index 000000000..e179d2bd0
--- /dev/null
+++ b/finmuse-deliverables/finmuse-radeon-source/outputs/insurance-family/poster-03.svg
@@ -0,0 +1,17 @@
+
\ No newline at end of file
diff --git a/finmuse-deliverables/finmuse-radeon-source/outputs/insurance-family/run-summary.json b/finmuse-deliverables/finmuse-radeon-source/outputs/insurance-family/run-summary.json
new file mode 100644
index 000000000..2a4eb64f4
--- /dev/null
+++ b/finmuse-deliverables/finmuse-radeon-source/outputs/insurance-family/run-summary.json
@@ -0,0 +1,45 @@
+{
+ "brief": {
+ "institution": "Radeon Trust Insurance",
+ "product_name": "Family Shield Plan",
+ "product_type": "insurance",
+ "target_audience": "young families and urban professionals",
+ "tone": "warm",
+ "channels": [
+ "branch screen",
+ "mobile app",
+ "social video"
+ ],
+ "benefits": [
+ "life-stage protection explanation",
+ "family health and accident coverage story",
+ "advisor-assisted policy comparison"
+ ],
+ "disclaimer": "Insurance coverage is subject to official policy terms and underwriting review."
+ },
+ "variant_count": 3,
+ "runtime_seconds": 0.0787,
+ "output_dir": "outputs\\insurance-family",
+ "gpu_mode": "cpu_fallback",
+ "clarity_average": 0.943,
+ "stability_average": 0.935,
+ "diversity_tags": [
+ "branch screen",
+ "family dinner",
+ "family-oriented",
+ "human",
+ "market dashboard",
+ "mobile app",
+ "secure",
+ "social video",
+ "travel protection"
+ ],
+ "files": [
+ "gpu-status.json",
+ "landing-page.html",
+ "poster-01.svg",
+ "poster-02.svg",
+ "poster-03.svg",
+ "variants.json"
+ ]
+}
\ No newline at end of file
diff --git a/finmuse-deliverables/finmuse-radeon-source/outputs/insurance-family/variants.json b/finmuse-deliverables/finmuse-radeon-source/outputs/insurance-family/variants.json
new file mode 100644
index 000000000..1c83338fa
--- /dev/null
+++ b/finmuse-deliverables/finmuse-radeon-source/outputs/insurance-family/variants.json
@@ -0,0 +1,50 @@
+[
+ {
+ "variant_id": "variant-01",
+ "headline": "Family Shield Plan: finance that fits real life",
+ "subtitle": "A human product introduction for market dashboard and branch screen.",
+ "scenario": "market dashboard",
+ "visual_prompt": "High-resolution financial marketing visual, market dashboard, human mood, customer-centric composition, brand-safe colors, clean typography space, product: Family Shield Plan, audience: young families and urban professionals, no unrealistic return promise",
+ "voiceover": "In moments like market dashboard, Family Shield Plan helps customers understand options, compare needs and connect with Radeon Trust Insurance service teams. For demonstration only; final materials require financial compliance review.",
+ "caption": "Family Shield Plan | life-stage protection explanation | Scenario: market dashboard",
+ "clarity_score": 0.916,
+ "stability_score": 0.927,
+ "diversity_tags": [
+ "market dashboard",
+ "human",
+ "branch screen"
+ ]
+ },
+ {
+ "variant_id": "variant-02",
+ "headline": "Radeon Trust Insurance presents Family Shield Plan for young families and urban professionals",
+ "subtitle": "Designed for transparent, compliant and personalized customer communication.",
+ "scenario": "travel protection",
+ "visual_prompt": "High-resolution financial marketing visual, travel protection, secure mood, customer-centric composition, brand-safe colors, clean typography space, product: Family Shield Plan, audience: young families and urban professionals, no unrealistic return promise",
+ "voiceover": "In moments like travel protection, Family Shield Plan helps customers understand options, compare needs and connect with Radeon Trust Insurance service teams. Investment involves risk; product details are subject to official disclosure documents.",
+ "caption": "Family Shield Plan | family health and accident coverage story | Scenario: travel protection",
+ "clarity_score": 0.956,
+ "stability_score": 0.964,
+ "diversity_tags": [
+ "travel protection",
+ "secure",
+ "mobile app"
+ ]
+ },
+ {
+ "variant_id": "variant-03",
+ "headline": "Plan smarter, act faster, feel safer with Family Shield Plan",
+ "subtitle": "A family-oriented product introduction for family dinner and social video.",
+ "scenario": "family dinner",
+ "visual_prompt": "High-resolution financial marketing visual, family dinner, family-oriented mood, customer-centric composition, brand-safe colors, clean typography space, product: Family Shield Plan, audience: young families and urban professionals, no unrealistic return promise",
+ "voiceover": "In moments like family dinner, Family Shield Plan helps customers understand options, compare needs and connect with Radeon Trust Insurance service teams. Do not promise guaranteed returns; emphasize suitability and risk awareness.",
+ "caption": "Family Shield Plan | advisor-assisted policy comparison | Scenario: family dinner",
+ "clarity_score": 0.957,
+ "stability_score": 0.914,
+ "diversity_tags": [
+ "family dinner",
+ "family-oriented",
+ "social video"
+ ]
+ }
+]
\ No newline at end of file
diff --git a/finmuse-deliverables/finmuse-radeon-source/outputs/wealth-card/gpu-status.json b/finmuse-deliverables/finmuse-radeon-source/outputs/wealth-card/gpu-status.json
new file mode 100644
index 000000000..03dfabcf4
--- /dev/null
+++ b/finmuse-deliverables/finmuse-radeon-source/outputs/wealth-card/gpu-status.json
@@ -0,0 +1,18 @@
+{
+ "timestamp": "2026-08-06T11:01:17Z",
+ "platform": "Windows-11-10.0.26200-SP0",
+ "python": "3.12.6",
+ "rocm_smi_found": false,
+ "rocminfo_found": false,
+ "hip_visible_devices": "not-set",
+ "torch_found": false,
+ "torch_hip_available": false,
+ "devices": [],
+ "mode": "cpu_fallback",
+ "notes": [
+ "rocm-smi not found in PATH.",
+ "rocminfo not found in PATH.",
+ "PyTorch not installed; skipped HIP runtime check.",
+ "Running in CPU fallback mode. On AMD ROCm hardware, the same commands record GPU mode automatically."
+ ]
+}
\ No newline at end of file
diff --git a/finmuse-deliverables/finmuse-radeon-source/outputs/wealth-card/landing-page.html b/finmuse-deliverables/finmuse-radeon-source/outputs/wealth-card/landing-page.html
new file mode 100644
index 000000000..56a3be409
--- /dev/null
+++ b/finmuse-deliverables/finmuse-radeon-source/outputs/wealth-card/landing-page.html
@@ -0,0 +1,55 @@
+
+FinMuse Radeon - Aurora Smart Wealth Card
+
AMD Radeon Hackathon Track 1
FinMuse Radeon
Financial customer product promotion and introduction service. It turns product briefs into scenario-based copy, visual prompts, landing pages, SVG posters and compliance-aware metadata.
+
+
variant-01 / private advisory
+
Aurora Smart Wealth Card: finance that fits real life
+
Designed for transparent, compliant and personalized customer communication.
Voiceover: In moments like private advisory, Aurora Smart Wealth Card helps customers understand options, compare needs and connect with Aurora Bank service teams. For demonstration only; final materials require financial compliance review.
+
Clarity: 0.964 / Stability: 0.906
+
Diversity tags: private advisory, calm, mobile app
+
+
+
+
variant-02 / risk education
+
Make every financial moment clearer with Aurora Smart Wealth Card
+
A trustworthy product introduction for risk education and branch screen.
+
+
Caption: Aurora Smart Wealth Card | one-stop banking and wealth management service | Scenario: risk education
+
Voiceover: In moments like risk education, Aurora Smart Wealth Card helps customers understand options, compare needs and connect with Aurora Bank service teams. Investment involves risk; product details are subject to official disclosure documents.
Voiceover: In moments like family planning, Aurora Smart Wealth Card helps customers understand options, compare needs and connect with Aurora Bank service teams. Do not promise guaranteed returns; emphasize suitability and risk awareness.
+
Clarity: 0.921 / Stability: 0.915
+
Diversity tags: family planning, elegant, social short video
+
+
Runtime / AMD ROCm Detection
{
+ "timestamp": "2026-08-06T11:01:17Z",
+ "platform": "Windows-11-10.0.26200-SP0",
+ "python": "3.12.6",
+ "rocm_smi_found": false,
+ "rocminfo_found": false,
+ "hip_visible_devices": "not-set",
+ "torch_found": false,
+ "torch_hip_available": false,
+ "devices": [],
+ "mode": "cpu_fallback",
+ "notes": [
+ "rocm-smi not found in PATH.",
+ "rocminfo not found in PATH.",
+ "PyTorch not installed; skipped HIP runtime check.",
+ "Running in CPU fallback mode. On AMD ROCm hardware, the same commands record GPU mode automatically."
+ ]
+}
\ No newline at end of file
diff --git a/finmuse-deliverables/finmuse-radeon-source/outputs/wealth-card/poster-01.svg b/finmuse-deliverables/finmuse-radeon-source/outputs/wealth-card/poster-01.svg
new file mode 100644
index 000000000..4666d034f
--- /dev/null
+++ b/finmuse-deliverables/finmuse-radeon-source/outputs/wealth-card/poster-01.svg
@@ -0,0 +1,17 @@
+
\ No newline at end of file
diff --git a/finmuse-deliverables/finmuse-radeon-source/outputs/wealth-card/poster-02.svg b/finmuse-deliverables/finmuse-radeon-source/outputs/wealth-card/poster-02.svg
new file mode 100644
index 000000000..b1197d1a1
--- /dev/null
+++ b/finmuse-deliverables/finmuse-radeon-source/outputs/wealth-card/poster-02.svg
@@ -0,0 +1,17 @@
+
\ No newline at end of file
diff --git a/finmuse-deliverables/finmuse-radeon-source/outputs/wealth-card/poster-03.svg b/finmuse-deliverables/finmuse-radeon-source/outputs/wealth-card/poster-03.svg
new file mode 100644
index 000000000..a46c743e2
--- /dev/null
+++ b/finmuse-deliverables/finmuse-radeon-source/outputs/wealth-card/poster-03.svg
@@ -0,0 +1,17 @@
+
\ No newline at end of file
diff --git a/finmuse-deliverables/finmuse-radeon-source/outputs/wealth-card/run-summary.json b/finmuse-deliverables/finmuse-radeon-source/outputs/wealth-card/run-summary.json
new file mode 100644
index 000000000..82b84752d
--- /dev/null
+++ b/finmuse-deliverables/finmuse-radeon-source/outputs/wealth-card/run-summary.json
@@ -0,0 +1,45 @@
+{
+ "brief": {
+ "institution": "Aurora Bank",
+ "product_name": "Aurora Smart Wealth Card",
+ "product_type": "wealth",
+ "target_audience": "young professionals and mass affluent families",
+ "tone": "premium",
+ "channels": [
+ "mobile app",
+ "branch screen",
+ "social short video"
+ ],
+ "benefits": [
+ "goal-based asset allocation introduction",
+ "one-stop banking and wealth management service",
+ "risk-aware portfolio education"
+ ],
+ "disclaimer": "For demonstration only. Investment involves risk and requires suitability assessment."
+ },
+ "variant_count": 3,
+ "runtime_seconds": 0.075,
+ "output_dir": "outputs\\wealth-card",
+ "gpu_mode": "cpu_fallback",
+ "clarity_average": 0.9433,
+ "stability_average": 0.924,
+ "diversity_tags": [
+ "branch screen",
+ "calm",
+ "elegant",
+ "family planning",
+ "mobile app",
+ "private advisory",
+ "risk education",
+ "social short video",
+ "trustworthy"
+ ],
+ "files": [
+ "gpu-status.json",
+ "landing-page.html",
+ "poster-01.svg",
+ "poster-02.svg",
+ "poster-03.svg",
+ "variants.json"
+ ]
+}
\ No newline at end of file
diff --git a/finmuse-deliverables/finmuse-radeon-source/outputs/wealth-card/variants.json b/finmuse-deliverables/finmuse-radeon-source/outputs/wealth-card/variants.json
new file mode 100644
index 000000000..6924411dd
--- /dev/null
+++ b/finmuse-deliverables/finmuse-radeon-source/outputs/wealth-card/variants.json
@@ -0,0 +1,50 @@
+[
+ {
+ "variant_id": "variant-01",
+ "headline": "Aurora Smart Wealth Card: finance that fits real life",
+ "subtitle": "Designed for transparent, compliant and personalized customer communication.",
+ "scenario": "private advisory",
+ "visual_prompt": "High-resolution financial marketing visual, private advisory, calm mood, customer-centric composition, brand-safe colors, clean typography space, product: Aurora Smart Wealth Card, audience: young professionals and mass affluent families, no unrealistic return promise",
+ "voiceover": "In moments like private advisory, Aurora Smart Wealth Card helps customers understand options, compare needs and connect with Aurora Bank service teams. For demonstration only; final materials require financial compliance review.",
+ "caption": "Aurora Smart Wealth Card | goal-based asset allocation introduction | Scenario: private advisory",
+ "clarity_score": 0.964,
+ "stability_score": 0.906,
+ "diversity_tags": [
+ "private advisory",
+ "calm",
+ "mobile app"
+ ]
+ },
+ {
+ "variant_id": "variant-02",
+ "headline": "Make every financial moment clearer with Aurora Smart Wealth Card",
+ "subtitle": "A trustworthy product introduction for risk education and branch screen.",
+ "scenario": "risk education",
+ "visual_prompt": "High-resolution financial marketing visual, risk education, trustworthy mood, customer-centric composition, brand-safe colors, clean typography space, product: Aurora Smart Wealth Card, audience: young professionals and mass affluent families, no unrealistic return promise",
+ "voiceover": "In moments like risk education, Aurora Smart Wealth Card helps customers understand options, compare needs and connect with Aurora Bank service teams. Investment involves risk; product details are subject to official disclosure documents.",
+ "caption": "Aurora Smart Wealth Card | one-stop banking and wealth management service | Scenario: risk education",
+ "clarity_score": 0.945,
+ "stability_score": 0.951,
+ "diversity_tags": [
+ "risk education",
+ "trustworthy",
+ "branch screen"
+ ]
+ },
+ {
+ "variant_id": "variant-03",
+ "headline": "Make every financial moment clearer with Aurora Smart Wealth Card",
+ "subtitle": "Designed for transparent, compliant and personalized customer communication.",
+ "scenario": "family planning",
+ "visual_prompt": "High-resolution financial marketing visual, family planning, elegant mood, customer-centric composition, brand-safe colors, clean typography space, product: Aurora Smart Wealth Card, audience: young professionals and mass affluent families, no unrealistic return promise",
+ "voiceover": "In moments like family planning, Aurora Smart Wealth Card helps customers understand options, compare needs and connect with Aurora Bank service teams. Do not promise guaranteed returns; emphasize suitability and risk awareness.",
+ "caption": "Aurora Smart Wealth Card | risk-aware portfolio education | Scenario: family planning",
+ "clarity_score": 0.921,
+ "stability_score": 0.915,
+ "diversity_tags": [
+ "family planning",
+ "elegant",
+ "social short video"
+ ]
+ }
+]
\ No newline at end of file
diff --git a/finmuse-deliverables/finmuse-radeon-source/requirements.txt b/finmuse-deliverables/finmuse-radeon-source/requirements.txt
new file mode 100644
index 000000000..98e8ef85f
--- /dev/null
+++ b/finmuse-deliverables/finmuse-radeon-source/requirements.txt
@@ -0,0 +1,2 @@
+# FinMuse Radeon uses Python standard library for the baseline demo.
+# Optional AMD/ROCm validation tools: rocm-smi, rocminfo, PyTorch ROCm build.
diff --git a/finmuse-deliverables/finmuse-radeon-source/scripts/run_demo.sh b/finmuse-deliverables/finmuse-radeon-source/scripts/run_demo.sh
new file mode 100644
index 000000000..857185cc7
--- /dev/null
+++ b/finmuse-deliverables/finmuse-radeon-source/scripts/run_demo.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+set -euo pipefail
+python -m finmuse.cli check-gpu
+python -m finmuse.cli generate --brief examples/wealth-card.json --variants 3 --out outputs/wealth-card
+python -m finmuse.cli generate --brief examples/insurance-family.json --variants 3 --out outputs/insurance-family
+python -m finmuse.cli report --run outputs/wealth-card --run outputs/insurance-family --out outputs/demo-report.md
diff --git a/finmuse-deliverables/finmuse-radeon.pptx b/finmuse-deliverables/finmuse-radeon.pptx
new file mode 100644
index 000000000..7ffd1f14b
Binary files /dev/null and b/finmuse-deliverables/finmuse-radeon.pptx differ
diff --git a/finmuse-deliverables/finmuse-radeon/README.md b/finmuse-deliverables/finmuse-radeon/README.md
new file mode 100644
index 000000000..102bf5a76
--- /dev/null
+++ b/finmuse-deliverables/finmuse-radeon/README.md
@@ -0,0 +1,165 @@
+# FinMuse Radeon
+
+FinMuse Radeon is a Track 1 multimodal content creation demo for financial customer product promotion and introduction services. It helps banks, securities firms, insurers and wealth management teams transform one product brief into scenario-based marketing copy, visual prompts, SVG posters, a landing page, voiceover text and compliance-aware metadata.
+
+The project is designed to demonstrate how AMD Radeon GPU / ROCm can support local, stable and reproducible financial content generation workflows. The baseline code uses a standard-library rule engine so judges can run it anywhere; on an AMD ROCm environment the same commands automatically record the GPU detection path.
+
+## 1. Project background
+
+Financial institutions need to introduce products across many daily-life scenarios:
+
+- Wealth management for commute, family planning and retirement review.
+- Insurance product education for family health, accident protection and travel.
+- Credit card and banking services for mobile payment, shopping and business use.
+- Fund and investment education for portfolio review and risk awareness.
+- Branch screens, mobile apps, relationship-manager presentations and social videos.
+
+Traditional production is fragmented: product teams write briefs, marketing teams create copy, design teams create visuals, compliance teams review wording, and channel teams adapt the same idea repeatedly. FinMuse Radeon compresses this into a repeatable generation pipeline.
+
+## 2. What the demo generates
+
+For each financial product brief, the CLI generates:
+
+- `variants.json`: scenario-based content variants.
+- `poster-01.svg`, `poster-02.svg`, `poster-03.svg`: high-resolution 1280x720 SVG promotional cards.
+- `landing-page.html`: product introduction landing page.
+- `gpu-status.json`: AMD Radeon / ROCm detection result.
+- `run-summary.json`: runtime, clarity score, stability score and diversity tags.
+- `demo-report.md`: cross-run report summarizing clarity, stability and diversity.
+
+## 3. Repository structure
+
+```text
+finmuse-radeon/
+ finmuse/
+ __init__.py
+ cli.py # command line interface
+ generator.py # financial content generation logic
+ gpu.py # AMD Radeon / ROCm detection helpers
+ examples/
+ wealth-card.json
+ insurance-family.json
+ outputs/
+ wealth-card/ # generated sample output
+ insurance-family/ # generated sample output
+ demo-report.md
+ gpu-status.json
+ scripts/
+ run_demo.sh
+ requirements.txt
+ README.md
+```
+
+## 4. Quick start
+
+> The baseline demo has no mandatory third-party dependency.
+
+```bash
+cd finmuse-radeon
+python -m finmuse.cli check-gpu
+python -m finmuse.cli generate --brief examples/wealth-card.json --variants 3 --out outputs/wealth-card
+python -m finmuse.cli generate --brief examples/insurance-family.json --variants 3 --out outputs/insurance-family
+python -m finmuse.cli report --run outputs/wealth-card --run outputs/insurance-family --out outputs/demo-report.md
+```
+
+On this packaging machine, the recorded status is CPU fallback because `rocm-smi` and `rocminfo` are not available. The demo does not fake an AMD GPU result.
+
+## 5. AMD Radeon GPU / ROCm validation commands
+
+On a Linux machine with supported AMD Radeon GPU and ROCm installed, run:
+
+```bash
+rocm-smi
+rocminfo | head -80
+python -m finmuse.cli check-gpu --out outputs/gpu-status.json
+python -m finmuse.cli generate --brief examples/wealth-card.json --variants 6 --out outputs/wealth-card-rocm
+python -m finmuse.cli report --run outputs/wealth-card-rocm --out outputs/demo-report-rocm.md
+```
+
+Expected evidence in `gpu-status.json`:
+
+```json
+{
+ "rocm_smi_found": true,
+ "rocminfo_found": true,
+ "mode": "amd_rocm_gpu",
+ "devices": ["AMD Radeon ..."]
+}
+```
+
+If PyTorch ROCm is installed, `gpu.py` also checks whether the HIP backend is available. The current baseline generator is lightweight; a production extension can replace the rule engine with LLM, diffusion, TTS and video models running through ROCm-enabled runtimes.
+
+## 6. System architecture
+
+```text
+Financial Brief JSON
+ |
+ v
+Brief Parser ----> Compliance Guardrails
+ | |
+ v v
+Scenario Planner --> Variant Generator --> Quality Metrics
+ | |
+ v v
+Visual Prompt Builder Copy / Voiceover Builder
+ | |
+ +-------> Asset Renderer: SVG posters + HTML landing page
+ |
+ v
+ Metadata + GPU Runtime Recorder
+```
+
+Key design choices:
+
+- Financial-scenario planner maps products to life moments.
+- Compliance guardrails avoid unrealistic return promises.
+- Variant generator produces diverse scenes, tone words and channels.
+- Quality metrics record clarity, stability and diversity.
+- GPU recorder captures AMD Radeon / ROCm runtime evidence.
+
+## 7. Model and algorithm design
+
+The hackathon baseline uses deterministic generation so judges can reproduce results exactly:
+
+- Seed creation from product brief hash.
+- Scenario library by product type: wealth, insurance, credit, loan and fund.
+- Tone library: premium, warm, youth and stable.
+- Rule-based headline, subtitle, caption and voiceover templates.
+- SVG/HTML rendering for visible multimodal assets.
+- Clarity score and stability score for demo evaluation.
+- Diversity tags to prove multi-scenario output coverage.
+
+Production extension path:
+
+- LLM for product-brief understanding and compliance rewriting.
+- Diffusion model for financial-scene key visuals.
+- TTS for relationship-manager narration.
+- Video compositor for branch-screen and social-video formats.
+- ROCm/HIP acceleration for local GPU inference.
+
+## 8. Demo evidence generated in this package
+
+The included sample run generated two product campaigns:
+
+1. `Aurora Smart Wealth Card`
+2. `Family Shield Plan`
+
+Each campaign includes three content variants and reports:
+
+- Average clarity score.
+- Average stability score.
+- Scenario and channel diversity tags.
+- Runtime and hardware mode.
+
+## 9. Limitations and honest GPU statement
+
+This packaged environment does not expose AMD Radeon GPU or ROCm tools, so the included execution result is `cpu_fallback`. The source code is designed to detect and record AMD ROCm evidence when run on supported hardware. The demo video therefore shows:
+
+- Actual command-line run in the current environment.
+- Actual generated outputs from the packaged code.
+- The exact AMD ROCm commands required for GPU validation.
+- A clear note that no GPU result is fabricated in this environment.
+
+## 10. License and compliance note
+
+This is a hackathon prototype. Financial copy is for demonstration only and must be reviewed by qualified compliance and legal teams before real customer use.
diff --git a/finmuse-deliverables/finmuse-radeon/outputs/demo-report.md b/finmuse-deliverables/finmuse-radeon/outputs/demo-report.md
new file mode 100644
index 000000000..8e1bf41f7
--- /dev/null
+++ b/finmuse-deliverables/finmuse-radeon/outputs/demo-report.md
@@ -0,0 +1,23 @@
+# FinMuse Radeon Demo Report
+
+This report is generated from actual command-line demo outputs.
+
+## Run: wealth-card
+- Product: Aurora Smart Wealth Card
+- GPU mode: cpu_fallback
+- Runtime seconds: 0.075
+- Variants: 3
+- Clarity average: 0.9433
+- Stability average: 0.924
+- Diversity tags: branch screen, calm, elegant, family planning, mobile app, private advisory, risk education, social short video, trustworthy
+- ROCm tools: rocm-smi=False, rocminfo=False
+
+## Run: insurance-family
+- Product: Family Shield Plan
+- GPU mode: cpu_fallback
+- Runtime seconds: 0.0787
+- Variants: 3
+- Clarity average: 0.943
+- Stability average: 0.935
+- Diversity tags: branch screen, family dinner, family-oriented, human, market dashboard, mobile app, secure, social video, travel protection
+- ROCm tools: rocm-smi=False, rocminfo=False