feat: 初始提交 - 科创企业特有风险的识别与管理 (数智风控系统)
@@ -0,0 +1,19 @@
|
||||
# XH-202626-presentation
|
||||
|
||||
- Canvas format: ppt169
|
||||
- Created: 20260727
|
||||
|
||||
## Directories
|
||||
|
||||
- `svg_output/`: raw SVG output
|
||||
- `svg_final/`: self-contained SVG visual preview; may be inserted manually as an SVG image, but PowerPoint Convert to Shape is unsupported
|
||||
- `images/`: runtime image pool; converter assets keep their original short filenames when possible
|
||||
- `icons/`: project icon set — selected library icons copied in (via icon_sync.py) plus any custom icons you add; embedded from here at export
|
||||
- `notes/`: speaker notes
|
||||
- `templates/`: project templates
|
||||
- `live_preview/`: browser preview runtime files and history (lock.json, server.log, edits.jsonl, annotations.jsonl)
|
||||
- `sources/`: source materials and normalized markdown
|
||||
- `analysis/`: machine-extracted intermediate analysis (PPTX intake, image_analysis.csv) — the pipeline's canonical must-read source/asset facts
|
||||
- `validation/`: SVG quality reports and PPTX postflight audit reports
|
||||
- `exports/`: final native DrawingML pptx deliverables only (timestamped); `_native_charts_tables.pptx` name with `--native-charts-and-tables`, `_narrated.pptx` name when narration audio is embedded
|
||||
- `backup/<timestamp>/`: svg_output/ archive (always written in default-flow mode; safe to delete old timestamps)
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"stage": "stage1",
|
||||
"status": "pending",
|
||||
"recommend": {
|
||||
"audience": "2026年中国青基会平安励志计划评审专家团(涵盖金融、技术、管理、法律等跨学科背景),评审维度覆盖选题与现实意义(25分)、创新性与可落地性(25分)、数据详实与分析深度(15分)、AI技术应用水平(15分)、团队协作(10分)、呈现表达(10分),以及附加分(20分)。",
|
||||
"communication_intent": "向评审专家全面展示本团队在'科创企业特有风险识别与管理'课题上的研究深度、技术创新与商业落地能力。先建立问题的紧迫性与传统方法的局限性(选题相关度),再展示Multi-Agent辩论+知识图谱+动态定价三大创新技术方案(创新性与AI应用),然后以实证数据和系统原型证明方案可行(数据与可落地性),最后突出跨学科团队优势与平安保险主业闭环价值(团队协作与商业价值)。",
|
||||
"audience_outcome": "评审专家认可本团队:(1)精准识别了科创企业六维特有风险的现实价值;(2)Multi-Agent辩论机制在金融风控中的原创性与技术深度;(3)已交付可运行的完整原型系统证明方案可落地;(4)与中国平安保险主业的动态定价闭环具备强商业可行性。最终给予高评分并推动晋级。",
|
||||
"core_message": "本团队构建了'AI多智能体辩论 × 供应链知识图谱 × 动态保险定价'的科创企业全链条风控闭环,填补了传统静态财务风控对科创企业特有风险的系统性盲区,并交付了可运行的金融级原型系统。",
|
||||
"delivery_context": "评委审阅型(PDF提交) + 可能的终审擂台赛现场答辩。需兼顾自阅清晰与现场投影展示。",
|
||||
"artifact_afterlife": "作为竞赛提交材料存档,评委反复审阅评分,晋级后用于终审擂台赛答辩展示。",
|
||||
"content_divergence": "",
|
||||
"canvas": "ppt169"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,391 @@
|
||||
<!-- ppt-master-schema: design-spec/v1 -->
|
||||
# XH-202626-presentation - Design Spec
|
||||
|
||||
## I. Project Information
|
||||
|
||||
| Item | Value |
|
||||
| --- | --- |
|
||||
| Project Name | XH-202626-presentation |
|
||||
| Canvas Format | PPT 16:9 (1280x720) |
|
||||
| Page Count | 18 |
|
||||
| Target Audience | 2026年中国青基会平安励志计划评审专家团(金融/技术/管理/法律跨学科背景) |
|
||||
| Communication Intent | 向评审专家全面展示本团队在"科创企业特有风险识别与管理"课题上的研究深度、技术创新与商业落地能力。先建立问题紧迫性,再展示三大创新方案,以实证系统证明可落地,最后突出商业闭环价值。 |
|
||||
| Desired Audience Outcome | 评审专家认可本团队精准识别了科创企业六维特有风险的现实价值、Multi-Agent辩论机制的原创性与技术深度、已交付可运行原型系统、与中国平安保险主业的动态定价闭环具备商业可行性,给予高评分并推动晋级。 |
|
||||
| Core Message / Ask / Action | 本团队构建了"AI多智能体辩论 x 供应链知识图谱 x 动态保险定价"的科创企业全链条风控闭环,填补了传统风控对科创企业特有风险的系统性盲区,并交付了可运行的金融级原型系统。 |
|
||||
| Delivery Context | 评委审阅型(PDF提交) + 终审擂台赛现场答辩投影 |
|
||||
| Artifact Afterlife | 竞赛提交材料存档,评委反复审阅评分,晋级后用于终审擂台赛答辩 |
|
||||
| Reading Mode | balanced |
|
||||
| Content Strategy | balanced (兼顾PDF自阅与现场投影) |
|
||||
| Design Style | Mode: pyramid + Visual style: dark-tech |
|
||||
| Created Date | 2026-07-27 |
|
||||
|
||||
## II. Canvas Specification
|
||||
|
||||
| Property | Value |
|
||||
| --- | --- |
|
||||
| Format | PPT 16:9 |
|
||||
| Dimensions | 1280x720 |
|
||||
| viewBox | `0 0 1280 720` |
|
||||
| Margins | 40px all sides |
|
||||
| Content Area | 1200x640 (x:40 y:40 to x:1240 y:680) |
|
||||
|
||||
## III. Visual Theme
|
||||
|
||||
### Theme Style
|
||||
|
||||
- **Mode**: pyramid (结论先行 -> 分析支撑 -> 落地证明,适合竞赛答辩)
|
||||
- **Visual style**: dark-tech (暗黑画布 + 辉光强调 + 几何精度,适合金融科技/AI主题)
|
||||
- **Theme**: 金融科技暗黑风
|
||||
- **Tone**: 专业权威、技术前沿、数据驱动
|
||||
|
||||
### Color Scheme
|
||||
|
||||
| Role | HEX | Purpose |
|
||||
| --- | --- | --- |
|
||||
| Background | #0a0f1e | 深蓝黑底色,暗黑科技画布 |
|
||||
| Secondary BG | #111827 | 卡片/面板背景色 |
|
||||
| Primary | #3b82f6 | 蓝色主色调,标题/结构线 |
|
||||
| Accent | #f97316 | 橙色强调色,关键数据/CTA |
|
||||
| Secondary Accent | #22d3ee | 青色辅助强调,图表/图标 |
|
||||
| Body Text | #e2e8f0 | 浅灰白正文文字 |
|
||||
| Surface | #1e293b | 面板浮层背景 |
|
||||
| Grid | #334155 | 分割线/网格线 |
|
||||
| Divider | #475569 | 分隔线 |
|
||||
| Positive | #22c55e | 正面/低风险指示 |
|
||||
| Warning | #eab308 | 警告/中风险指示 |
|
||||
| Negative | #ef4444 | 负面/高风险指示 |
|
||||
|
||||
## IV. Typography System
|
||||
|
||||
### Font Plan
|
||||
|
||||
| Role | Chinese | English | Fallback tail |
|
||||
| --- | --- | --- | --- |
|
||||
| Title | SimHei | Arial Black | sans-serif |
|
||||
| Body | Microsoft YaHei | Segoe UI | sans-serif |
|
||||
| Emphasis | SimHei | Arial Black | sans-serif |
|
||||
| Code | -- | Consolas | monospace |
|
||||
|
||||
### Font Size Hierarchy
|
||||
|
||||
| Purpose | Size (px) |
|
||||
| --- | --- |
|
||||
| Cover title | 60 |
|
||||
| Chapter title | 42 |
|
||||
| Page title | 36 |
|
||||
| Subtitle | 28 |
|
||||
| Lead | 26 |
|
||||
| Body | 24 |
|
||||
| Annotation | 18 |
|
||||
| Footnote | 14 |
|
||||
| Page number | 12 |
|
||||
|
||||
## V. Layout Principles
|
||||
|
||||
### Page Structure
|
||||
|
||||
- **Header area**: y:40-90, 页面标题区 (高度50px)
|
||||
- **Content area**: y:100-660, 主要内容区域 (高度560px)
|
||||
- **Footer area**: y:670-700, 页码/品牌标识区 (高度30px)
|
||||
|
||||
### Spacing Specification
|
||||
|
||||
| Element | Current Project |
|
||||
| --- | --- |
|
||||
| Safe margin | 40px |
|
||||
| Content block gap | 24px |
|
||||
| Icon-text gap | 12px |
|
||||
| Card padding | 20px |
|
||||
| Card border-radius | 8px |
|
||||
|
||||
## VI. Icon Usage Specification
|
||||
|
||||
Library: tabler-filled (圆润填充风格)
|
||||
|
||||
| Purpose | Icon Path | Page |
|
||||
| --- | --- | --- |
|
||||
| 风险/警告 | tabler-filled/alert-triangle | P03, P05 |
|
||||
| 技术/芯片 | tabler-filled/cpu | P03, P07 |
|
||||
| 人员/用户 | tabler-filled/user | P03, P16 |
|
||||
| 法律/合规 | tabler-filled/gavel | P03, P08 |
|
||||
| 全球/地缘 | tabler-filled/world | P03, P08 |
|
||||
| 财务/货币 | tabler-filled/coin | P03, P09, P12 |
|
||||
| 图表/分析 | tabler-filled/chart-bar | P06, P13 |
|
||||
| 连接/图谱 | tabler-filled/topology-ring-3 | P10 |
|
||||
| 盾牌/安全 | tabler-filled/shield-check | P01, P14 |
|
||||
| 代码/AI | tabler-filled/code | P07 |
|
||||
| 闪电/实时 | tabler-filled/bolt | P11 |
|
||||
| 文件/报告 | tabler-filled/file-text | P14 |
|
||||
| 目标/聚焦 | tabler-filled/target | P04, P06 |
|
||||
| 趋势/增长 | tabler-filled/trending-up | P17 |
|
||||
| 团队/协作 | tabler-filled/users-group | P16 |
|
||||
| 棋盘/策略 | tabler-filled/chess | P05 |
|
||||
| 检查/通过 | tabler-filled/circle-check | P13 |
|
||||
| 数据库 | tabler-filled/database | P07 |
|
||||
| 搜索/分析 | tabler-filled/search | P11 |
|
||||
| 火箭/启动 | tabler-filled/rocket | P17 |
|
||||
|
||||
## VII. Visualization Reference List
|
||||
|
||||
| Page | Template | Path | Summary-quote | Usage |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| P03 | no-template-match | -- | 六维风险指标卡片 | 自定义6卡片网格布局 |
|
||||
| P08 | no-template-match | -- | 三节点辩论交互图 | 自定义三角形辩论图 |
|
||||
| P10 | no-template-match | -- | 知识图谱拓扑关系 | 自定义图谱节点布局 |
|
||||
| P13 | no-template-match | -- | 动态费率公式 | 自定义数学公式展示 |
|
||||
|
||||
## VIII. Image Resource List
|
||||
|
||||
| Filename | Dimensions | Ratio | Purpose | Type | Acquire Via | Status |
|
||||
| --- | --- | --- | --- | --- | --- | --- |
|
||||
| -- | -- | -- | 不使用外部图片 | -- | none | -- |
|
||||
|
||||
## IX. Content Outline
|
||||
|
||||
### Part 1: 开篇与问题定义 (P01-P04)
|
||||
|
||||
#### Slide 01 - 封面
|
||||
|
||||
- **Audience move**: 建立第一印象 — 赛题编号、课题名称、团队信息
|
||||
- **Layout**: 居中大标题 + 底部信息条
|
||||
- **Title**: 科创企业特有风险识别与管理
|
||||
- **Core message**: 基于语义计算与知识图谱的闭环风控系统
|
||||
- **Content**:
|
||||
- 主标题:科创企业特有风险识别与管理
|
||||
- 副标题:基于 AI 多智能体辩论、供应链知识图谱与动态保险定价的闭环风控系统
|
||||
- 题目编号:XH-202626
|
||||
- 发榜单位:中国青少年发展基金会、中国平安保险(联合发榜)
|
||||
- 提报单位:全国重点大学联合团队
|
||||
- 作品类型:研究报告 x 风控原型系统
|
||||
- 提交日期:2026年9月
|
||||
|
||||
#### Slide 02 - 目录
|
||||
|
||||
- **Audience move**: 预览全局结构,建立心理路线图
|
||||
- **Layout**: 左右分栏或六格导航
|
||||
- **Title**: 汇报提纲
|
||||
- **Core message**: 完整展示研究全链条
|
||||
- **Content**:
|
||||
- 一、研究背景与问题定义
|
||||
- 二、六维特有风险指标体系
|
||||
- 三、系统架构与技术方案
|
||||
- 四、核心创新:Multi-Agent 辩论机制
|
||||
- 五、核心创新:供应链知识图谱
|
||||
- 六、业务闭环:动态定价与智能核保
|
||||
- 七、原型系统展示
|
||||
- 八、团队结构与未来展望
|
||||
|
||||
#### Slide 03 - 研究背景
|
||||
|
||||
- **Audience move**: 建立问题紧迫性 — 科技金融是国家战略但传统风控失效
|
||||
- **Layout**: 上下两段式(战略背景 + 核心矛盾)
|
||||
- **Title**: 科技金融战略与传统风控范式困局
|
||||
- **Core message**: 传统静态财务风控对科创企业严重失效
|
||||
- **Content**:
|
||||
- 背景:中央金融工作会议将"科技金融"列为金融五篇大文章之首
|
||||
- 困局一:指标体系静态化 — 科创企业前期无盈利/轻资产,EBIT等指标失效
|
||||
- 困局二:风险形态非标准化 — 核心风险隐藏在非结构化文本、备案库、制裁清单中
|
||||
- 结果:"不敢投、不敢贷、不敢保"的结构性矛盾
|
||||
|
||||
#### Slide 04 - 研究目标
|
||||
|
||||
- **Audience move**: 明确本研究的核心主张和闭环路径
|
||||
- **Layout**: 三步递进箭头 + 核心目标
|
||||
- **Title**: "看得见、管得住、降得下" 全链条风控目标
|
||||
- **Core message**: 打造四阶段闭环:数据感知 -> 智能研判 -> 图谱穿透 -> 金融赋能
|
||||
- **Content**:
|
||||
- 看得见风险:全网采集多源异构数据,AI 信息抽取引擎
|
||||
- 管得住过程:Multi-Agent 交叉质证,消除单一模型偏见
|
||||
- 降得下损失:动态保险定价 + 智能核保,金融赋能科创企业
|
||||
- 四阶段路径:数据感知 -> 智能研判 -> 图谱穿透 -> 金融赋能
|
||||
|
||||
### Part 2: 风险模型与架构 (P05-P07)
|
||||
|
||||
#### Slide 05 - 六维风险指标体系
|
||||
|
||||
- **Audience move**: 展示研究的核心理论贡献 — 六维特有风险体系
|
||||
- **Layout**: 2行x3列卡片网格
|
||||
- **Title**: 科创企业六维特有风险指标体系
|
||||
- **Core message**: 精准定义六大传统模型无法覆盖的特有风险
|
||||
- **Content**:
|
||||
- 维度一:技术路线颠覆风险 — 押注技术路线被新技术替代
|
||||
- 维度二:核心人员流失风险 — 依赖少数核心科学家/CTO
|
||||
- 维度三:算法备案与数据合规 — 未通过网信办备案遭下架
|
||||
- 维度四:地缘政治与出口管制 — 被列入实体清单导致供应链断裂
|
||||
- 维度五:研发资本化操纵风险 — 异常资本化虚增利润
|
||||
- 维度六:客户/供应商集中风险 — 依赖1-2个大客户或单一供应商
|
||||
|
||||
#### Slide 06 - 六维风险识别与量化路径
|
||||
|
||||
- **Audience move**: 展示每一维度风险的具体识别方法与量化手段
|
||||
- **Layout**: 表格/列表式
|
||||
- **Title**: 六维风险识别与量化路径
|
||||
- **Core message**: 每一维风险都有明确的数据源与量化算法
|
||||
- **Content**:
|
||||
- 技术路线:竞品技术关键词重合度 + 专利申请增速对比
|
||||
- 核心人员:年报公示解析 + 股权激励解锁 + 劳动仲裁记录
|
||||
- 算法合规:网信办深度合成/算法备案库检索 + 数据安全评估
|
||||
- 地缘政治:构建拓扑图谱穿透上游2-3级供应商制裁状态
|
||||
- 资本化操纵:研发资本化率异动监控 + 同行均值偏差比较
|
||||
- 客户集中:HHI集中度指数 + 图谱出入度节点权重穿透
|
||||
|
||||
#### Slide 07 - 系统整体架构
|
||||
|
||||
- **Audience move**: 展示技术方案的全景架构
|
||||
- **Layout**: 四层横向堆叠架构图
|
||||
- **Title**: 系统整体架构设计
|
||||
- **Core message**: 四层架构:数据采集 -> 知识图谱 -> 多智能体辩论 -> 平安业务闭环
|
||||
- **Content**:
|
||||
- 第一层-数据采集与抽取层:AKShare量化数据 / 巨潮公告解析 / BIS实体清单 / 网信办备案
|
||||
- 第二层-供应链知识图谱层:异构拓扑节点构建 / 广度优先风险传染算法
|
||||
- 第三层-AI多智能体辩论研判层:法务节点 / 技术节点 / 财务节点 / 法官裁决节点
|
||||
- 第四层-中国平安主业闭环层:风控仪表盘 / 动态定价引擎 / 核保决策报告
|
||||
|
||||
### Part 3: 核心创新一 — Multi-Agent 辩论 (P08-P09)
|
||||
|
||||
#### Slide 08 - Multi-Agent 辩论机制
|
||||
|
||||
- **Audience move**: 展示最核心的技术创新 — 多智能体交叉辩论
|
||||
- **Layout**: 中心三角辩论图 + 周围说明
|
||||
- **Title**: AI 多智能体交叉辩论机制
|
||||
- **Core message**: 三专家独立评估 -> 冲突检测 -> 法官综合裁决
|
||||
- **Content**:
|
||||
- Phase 1:法务节点(算法合规+地缘政治) / 技术节点(技术路线+人员流失) / 财务节点(资本化操纵+集中度) 独立评估
|
||||
- Phase 2:自动检测三方评估冲突点
|
||||
- Phase 3:法官节点综合裁决与冲突消除
|
||||
- 优势:克服单一LLM评估的视角片面性与事实幻觉
|
||||
|
||||
#### Slide 09 - 交叉质证冲突判定规则
|
||||
|
||||
- **Audience move**: 深化创新点 — 展示硬规则与LLM混合驱动
|
||||
- **Layout**: 两列冲突案例对比
|
||||
- **Title**: 交叉质证冲突判定规则设计
|
||||
- **Core message**: 将金融审计经验转化为规则前置约束,提升业务可解释性
|
||||
- **Content**:
|
||||
- 冲突模式一 (Tech vs Finance):技术专家认可研发强度,但财务专家发现资本化率异常
|
||||
- 冲突模式二 (Tech vs Law):技术性能优秀,但法务检测到未完成算法备案
|
||||
- 综合评分公式:S_comp = Sum(w_i * S_i) + delta_conflict
|
||||
- 权重分配:w_Law=0.35, w_Tech=0.35, w_Fin=0.30
|
||||
- 红线机制:致命冲突时 delta_conflict=[15,30],具备一票否决能力
|
||||
|
||||
### Part 4: 核心创新二 — 知识图谱 (P10-P11)
|
||||
|
||||
#### Slide 10 - 知识图谱本体设计
|
||||
|
||||
- **Audience move**: 展示图谱层面的技术创新
|
||||
- **Layout**: 图谱节点关系可视化 + 实体说明
|
||||
- **Title**: 供应链知识图谱本体设计
|
||||
- **Core message**: 异构拓扑网络实现风险沿供应链/投资链/任职链传染追溯
|
||||
- **Content**:
|
||||
- 实体类型:Enterprise(科创企业) / Supplier(供应商) / Customer(客户) / Person(核心人员)
|
||||
- 关系类型:SUPPLIES(供应,含供货份额+可替代性) / RELIES_ON(客户依赖,含收入占比) / EMPLOYED_AT(任职)
|
||||
- 基于 NetworkX 构建有向加权图
|
||||
|
||||
#### Slide 11 - 风险传染算法与数据源
|
||||
|
||||
- **Audience move**: 展示算法细节与实证数据支撑
|
||||
- **Layout**: 左侧算法流程 + 右侧数据源列表
|
||||
- **Title**: 广度优先风险传染算法与实证数据
|
||||
- **Core message**: 毫秒级穿透至2-3级上游供应商,多源异构数据保证可靠性
|
||||
- **Content**:
|
||||
- 算法:广度优先拓扑遍历(BFS),计算波及指数 I_contagion
|
||||
- 传染路径:一级供应商制裁 -> impact = weight * 100;二级供应商 -> impact = w1 * w2 * 60
|
||||
- 数据源一:AKShare API (财务指标/集中度/资本化率)
|
||||
- 数据源二:巨潮资讯公告解析 (核心人员/诉讼/技术路线)
|
||||
- 数据源三:BIS实体清单 + 网信办算法备案公示
|
||||
|
||||
### Part 5: 业务闭环 — 动态定价与核保 (P12-P14)
|
||||
|
||||
#### Slide 12 - 科创专属保险产品
|
||||
|
||||
- **Audience move**: 展示金融赋能能力 — 三大创新险种
|
||||
- **Layout**: 三列产品卡片
|
||||
- **Title**: "科创特有风险综合险" 产品体系设计
|
||||
- **Core message**: 依托中国平安保险主业,三大险种覆盖科创企业核心痛点
|
||||
- **Content**:
|
||||
- 险种一:知识产权被诉与侵权损失保险 — 赔偿专利诉讼应诉费用
|
||||
- 险种二:核心技术人员流失业务中断保险 — 支付业务中断补偿金
|
||||
- 险种三:数据合规与算法监管整改损失保险 — 保障整改期间营业损失
|
||||
|
||||
#### Slide 13 - 动态费率精算模型
|
||||
|
||||
- **Audience move**: 展示定价引擎的数学严谨性
|
||||
- **Layout**: 公式展示 + 参数表格
|
||||
- **Title**: 动态费率精算模型
|
||||
- **Core message**: P_final = P_base * M_risk * F_industry * F_scale * (1 + Sum(Delta_k))
|
||||
- **Content**:
|
||||
- 核心公式展示
|
||||
- M_risk (风险乘数):score>=70 -> 2.50(拒保); 40-70 -> 线性浮动; <40 -> 0.85(优惠)
|
||||
- F_industry (行业系数):AI大模型1.35 / 半导体1.25 / 生物医药1.15
|
||||
- F_scale (规模折扣):营收>10亿 -> 0.90 / <1亿 -> 1.10
|
||||
- Delta_k (专项附加):如资本化率>40%时 Delta_cap=0.20
|
||||
|
||||
#### Slide 14 - 核保决策报告示例
|
||||
|
||||
- **Audience move**: 以具体案例展示端到端闭环的完整性
|
||||
- **Layout**: 模拟核保报告卡片
|
||||
- **Title**: 自动化核保决策报告
|
||||
- **Core message**: 自动整合六维评分、辩论过程、定价结论,输出标准化核保意见
|
||||
- **Content**:
|
||||
- 示例企业:寒武纪科技 688256
|
||||
- 综合评分:68分(中高风险)
|
||||
- 法务意见:EDA供应商存在出口管制风险
|
||||
- 财务意见:前两大客户占营收82%
|
||||
- 裁决结论:附条件承保
|
||||
- 保费调整:基础10万 -> 调整后16.87万 (乘数1.35)
|
||||
- 特约条款:90天内提供国产化替代预案
|
||||
|
||||
### Part 6: 系统展示 (P15)
|
||||
|
||||
#### Slide 15 - 原型系统功能展示
|
||||
|
||||
- **Audience move**: 证明方案可落地 — 已交付完整原型
|
||||
- **Layout**: 五模块功能网格
|
||||
- **Title**: 金融级原型系统功能架构
|
||||
- **Core message**: 基于 Streamlit 交付完整可运行的五模块交互系统
|
||||
- **Content**:
|
||||
- 模块一:系统首页 — 全景监控大屏 + 风险热力图 + 统计卡片
|
||||
- 模块二:企业风险概览 — 六维雷达图 + 核心人员变动 + 财务透视
|
||||
- 模块三:供应链知识图谱 — 交互式图谱 + 制裁高亮 + 传染分析
|
||||
- 模块四:多智能体辩论 — 实时推理展示 + 三方交叉质证 + 法官裁决
|
||||
- 模块五:动态定价与核保 — 费率对比 + 定价瀑布图 + 核保报告
|
||||
- 技术栈:Streamlit + DeepSeek API + NetworkX + Plotly
|
||||
|
||||
### Part 7: 团队与展望 (P16-P18)
|
||||
|
||||
#### Slide 16 - 跨学科团队
|
||||
|
||||
- **Audience move**: 展示团队协作能力
|
||||
- **Layout**: 双列团队结构
|
||||
- **Title**: 跨学科团队结构与分工
|
||||
- **Core message**: AI工程 + 金融法律两大小组,专业高度互补
|
||||
- **Content**:
|
||||
- AI与软件工程小组:DeepSeek接口 / Multi-Agent引擎 / NetworkX图谱 / Streamlit原型
|
||||
- 金融精算与法律小组:六维指标量化 / 动态定价模型 / 合规法理研究 / 核保报告模板
|
||||
|
||||
#### Slide 17 - 场景扩展与前景
|
||||
|
||||
- **Audience move**: 展示研究成果的通用性与扩展潜力
|
||||
- **Layout**: 三列扩展场景
|
||||
- **Title**: 场景扩展与应用前景
|
||||
- **Core message**: 成果可辐射至科技贷、VC尽调、再保险等多个金融场景
|
||||
- **Content**:
|
||||
- 场景一:商业银行"科技贷"质押审查 — 穿透专利技术价值与供应链稳定性
|
||||
- 场景二:硬科技VC/PE智能尽职调查 — 技术路线颠覆预警+高管履历穿透
|
||||
- 场景三:再保险与巨灾风险组合管理 — 评估产业链系统性断供风险
|
||||
|
||||
#### Slide 18 - 致谢
|
||||
|
||||
- **Audience move**: 专业收尾
|
||||
- **Layout**: 居中致谢 + 底部信息
|
||||
- **Title**: 感谢聆听
|
||||
- **Core message**: 致谢评审专家
|
||||
- **Content**:
|
||||
- 中国青基会平安励志计划 · 2026挑战杯
|
||||
- 题目编号:XH-202626
|
||||
- 课题名称:科创企业特有风险的识别与管理
|
||||
|
||||
## X. Speaker Notes Requirements
|
||||
|
||||
- **Filename**: match each SVG filename under `notes/`
|
||||
- **Content**: 不生成演讲稿,仅制作PPT页面
|
||||
@@ -0,0 +1,13 @@
|
||||
<!--
|
||||
version: "2.3"
|
||||
unicode: "f6f0"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
>
|
||||
<path d="M12 1.67c.955 0 1.845 .467 2.39 1.247l.105 .16l8.114 13.548a2.914 2.914 0 0 1 -2.307 4.363l-.195 .008h-16.225a2.914 2.914 0 0 1 -2.582 -4.2l.099 -.185l8.11 -13.538a2.914 2.914 0 0 1 2.491 -1.403zm.01 13.33l-.127 .007a1 1 0 0 0 0 1.986l.117 .007l.127 -.007a1 1 0 0 0 0 -1.986l-.117 -.007zm-.01 -7a1 1 0 0 0 -.993 .883l-.007 .117v4l.007 .117a1 1 0 0 0 1.986 0l.007 -.117v-4l-.007 -.117a1 1 0 0 0 -.993 -.883z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 584 B |
@@ -0,0 +1,13 @@
|
||||
<!--
|
||||
version: "2.1"
|
||||
unicode: "f6cf"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
>
|
||||
<path d="M10.586 3l-6.586 6.586a2 2 0 0 0 -.434 2.18l.068 .145a2 2 0 0 0 1.78 1.089h2.586v7a2 2 0 0 0 2 2h4l.15 -.005a2 2 0 0 0 1.85 -1.995l-.001 -7h2.587a2 2 0 0 0 1.414 -3.414l-6.586 -6.586a2 2 0 0 0 -2.828 0z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 380 B |
@@ -0,0 +1,13 @@
|
||||
<!--
|
||||
unicode: "10021"
|
||||
version: "3.16"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
>
|
||||
<path d="M13 2l.018 .001l.016 .001l.083 .005l.011 .002h.011l.038 .009l.052 .008l.016 .006l.011 .001l.029 .011l.052 .014l.019 .009l.015 .004l.028 .014l.04 .017l.021 .012l.022 .01l.023 .015l.031 .017l.034 .024l.018 .011l.013 .012l.024 .017l.038 .034l.022 .017l.008 .01l.014 .012l.036 .041l.026 .027l.006 .009c.12 .147 .196 .322 .218 .513l.001 .012l.002 .041l.004 .064v6h5a1 1 0 0 1 .868 1.497l-.06 .091l-8 11c-.568 .783 -1.808 .38 -1.808 -.588v-6h-5a1 1 0 0 1 -.868 -1.497l.06 -.091l8 -11l.01 -.013l.018 -.024l.033 -.038l.018 -.022l.009 -.008l.013 -.014l.04 -.036l.028 -.026l.008 -.006a1 1 0 0 1 .402 -.199l.011 -.001l.027 -.005l.074 -.013l.011 -.001l.041 -.002z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 831 B |
@@ -0,0 +1,14 @@
|
||||
<!--
|
||||
version: "2.0"
|
||||
unicode: "f670"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
>
|
||||
<path d="M9.883 2.207a1.9 1.9 0 0 1 2.087 1.522l.025 .167l.005 .104v7a1 1 0 0 0 .883 .993l.117 .007h6.8a2 2 0 0 1 2 2a1 1 0 0 1 -.026 .226a10 10 0 1 1 -12.27 -11.933l.27 -.067l.11 -.02z" />
|
||||
<path d="M14 3.5v5.5a1 1 0 0 0 1 1h5.5a1 1 0 0 0 .943 -1.332a10 10 0 0 0 -6.11 -6.111a1 1 0 0 0 -1.333 .943z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 469 B |
@@ -0,0 +1,14 @@
|
||||
<!--
|
||||
version: "2.4"
|
||||
unicode: "f72a"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
>
|
||||
<path d="M12 2a4 4 0 0 1 4 4a5.03 5.03 0 0 1 -.438 2.001l.438 -.001a1 1 0 0 1 .117 1.993l-.117 .007h-1.263l1.24 5.79a1 1 0 0 1 -.747 1.184l-.113 .02l-.117 .006h-6a1 1 0 0 1 -.996 -1.093l.018 -.117l1.24 -5.79h-1.262a1 1 0 0 1 -.117 -1.993l.117 -.007h.438a5.154 5.154 0 0 1 -.412 -1.525l-.02 -.259l-.006 -.216a4 4 0 0 1 4 -4z" />
|
||||
<path d="M18 18h-12a1 1 0 0 0 -1 1a2 2 0 0 0 2 2h10a2 2 0 0 0 1.987 -1.768l.011 -.174a1 1 0 0 0 -.998 -1.058z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 608 B |
@@ -0,0 +1,13 @@
|
||||
<!--
|
||||
version: "2.3"
|
||||
unicode: "f6fc"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
>
|
||||
<path d="M12 2l.324 .005a10 10 0 1 1 -.648 0l.324 -.005zm.613 5.21a1 1 0 0 0 -1.32 1.497l2.291 2.293h-5.584l-.117 .007a1 1 0 0 0 .117 1.993h5.584l-2.291 2.293l-.083 .094a1 1 0 0 0 1.497 1.32l4 -4l.073 -.082l.064 -.089l.062 -.113l.044 -.11l.03 -.112l.017 -.126l.003 -.075l-.007 -.118l-.029 -.148l-.035 -.105l-.054 -.113l-.071 -.111a1.008 1.008 0 0 0 -.097 -.112l-4 -4z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 536 B |
@@ -0,0 +1,13 @@
|
||||
<!--
|
||||
version: "2.3"
|
||||
unicode: "f6fe"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
>
|
||||
<path d="M17 3.34a10 10 0 1 1 -14.995 8.984l-.005 -.324l.005 -.324a10 10 0 0 1 14.995 -8.336zm-4.98 3.66l-.163 .01l-.086 .016l-.142 .045l-.113 .054l-.07 .043l-.095 .071l-.058 .054l-4 4l-.083 .094a1 1 0 0 0 1.497 1.32l2.293 -2.293v5.586l.007 .117a1 1 0 0 0 1.993 -.117v-5.585l2.293 2.292l.094 .083a1 1 0 0 0 1.32 -1.497l-4 -4l-.082 -.073l-.089 -.064l-.113 -.062l-.081 -.034l-.113 -.034l-.112 -.02l-.098 -.006z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 577 B |
@@ -0,0 +1,13 @@
|
||||
<!--
|
||||
version: "2.3"
|
||||
unicode: "f704"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
>
|
||||
<path d="M17 3.34a10 10 0 1 1 -14.995 8.984l-.005 -.324l.005 -.324a10 10 0 0 1 14.995 -8.336zm-1.293 5.953a1 1 0 0 0 -1.32 -.083l-.094 .083l-3.293 3.292l-1.293 -1.292l-.094 -.083a1 1 0 0 0 -1.403 1.403l.083 .094l2 2l.094 .083a1 1 0 0 0 1.226 0l.094 -.083l4 -4l.083 -.094a1 1 0 0 0 -.083 -1.32z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 462 B |
@@ -0,0 +1,13 @@
|
||||
<!--
|
||||
unicode: "fed3"
|
||||
version: "3.3"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
>
|
||||
<path d="M17 3.34a10 10 0 1 1 -15 8.66l.005 -.324a10 10 0 0 1 14.995 -8.336m-6.293 5.953a1 1 0 0 0 -1.414 0l-2 2a1 1 0 0 0 0 1.414l2 2a1 1 0 0 0 1.414 0l.083 -.094a1 1 0 0 0 -.083 -1.32l-1.292 -1.293l1.292 -1.293a1 1 0 0 0 0 -1.414m4 0a1 1 0 0 0 -1.414 0l-.083 .094a1 1 0 0 0 .083 1.32l1.292 1.293l-1.292 1.293a1 1 0 0 0 1.414 1.414l2 -2a1 1 0 0 0 0 -1.414z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 526 B |
@@ -0,0 +1,13 @@
|
||||
<!--
|
||||
version: "2.39"
|
||||
unicode: "fd08"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
>
|
||||
<path d="M17 3.34a10 10 0 1 1 -15 8.66l.005 -.324a10 10 0 0 1 14.995 -8.336zm-5 2.66a1 1 0 0 0 -1 1a3 3 0 1 0 0 6v2a1.024 1.024 0 0 1 -.866 -.398l-.068 -.101a1 1 0 0 0 -1.732 .998a3 3 0 0 0 2.505 1.5h.161a1 1 0 0 0 .883 .994l.117 .007a1 1 0 0 0 1 -1l.176 -.005a3 3 0 0 0 -.176 -5.995v-2c.358 -.012 .671 .14 .866 .398l.068 .101a1 1 0 0 0 1.732 -.998a3 3 0 0 0 -2.505 -1.501h-.161a1 1 0 0 0 -1 -1zm1 7a1 1 0 0 1 0 2v-2zm-2 -4v2a1 1 0 0 1 0 -2z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 611 B |
@@ -0,0 +1,15 @@
|
||||
<!--
|
||||
unicode: "101e1"
|
||||
version: "3.38"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
>
|
||||
<path d="M3 15.731c1.968 1.507 5.234 2.269 9 2.269c3.76 0 7.025 -.76 9 -2.252v2.252c0 2.425 -3.895 3.936 -8.693 3.998l-.307 .002c-4.938 0 -9 -1.523 -9 -4z" />
|
||||
<path d="M3 9.731c1.968 1.507 5.234 2.269 9 2.269c3.76 0 7.025 -.76 9 -2.252v2.252c0 2.477 -4.062 4 -9 4c-4.798 0 -8.77 -1.438 -8.979 -3.795l-.016 -.101l-.005 -.104z" />
|
||||
<path d="M12 2c1.041 0 2.044 .068 2.977 .198l.469 .071q .84 .14 1.586 .348l.44 .131l.075 .024a11 11 0 0 1 .805 .3l.199 .086q .535 .242 .967 .53q .165 .11 .313 .225a3.8 3.8 0 0 1 .669 .668l.091 .128q .07 .105 .129 .211l.07 .139q .163 .35 .2 .73l.01 .211c0 2.477 -4.062 4 -9 4c-4.798 0 -8.77 -1.438 -8.979 -3.795a1 1 0 0 1 -.021 -.205l.005 -.104l.016 -.1c.205 -2.306 4.01 -3.733 8.667 -3.794z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 894 B |
@@ -0,0 +1,13 @@
|
||||
<!--
|
||||
unicode: "1004a"
|
||||
version: "3.17"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
>
|
||||
<path d="M7 21a1 1 0 0 1 0 -2h1v-2h-4a2 2 0 0 1 -2 -2v-10a2 2 0 0 1 2 -2h16a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-4v2h1a1 1 0 0 1 0 2zm7 -4h-4v2h4z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 313 B |
@@ -0,0 +1,14 @@
|
||||
<!--
|
||||
unicode: "10114"
|
||||
version: "3.29"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
>
|
||||
<path d="M12 2l.117 .007a1 1 0 0 1 .876 .876l.007 .117v4l.005 .15a2 2 0 0 0 1.838 1.844l.157 .006h4l.117 .007a1 1 0 0 1 .876 .876l.007 .117v9a3 3 0 0 1 -2.824 2.995l-.176 .005h-10a3 3 0 0 1 -2.995 -2.824l-.005 -.176v-14a3 3 0 0 1 2.824 -2.995l.176 -.005zm3 14h-6a1 1 0 0 0 0 2h6a1 1 0 0 0 0 -2m0 -4h-6a1 1 0 0 0 0 2h6a1 1 0 0 0 0 -2m-5 -4h-1a1 1 0 1 0 0 2h1a1 1 0 0 0 0 -2" />
|
||||
<path d="M19 7h-4l-.001 -4.001z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 581 B |
@@ -0,0 +1,13 @@
|
||||
<!--
|
||||
unicode: "101cb"
|
||||
version: "3.38"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
>
|
||||
<path d="M14 3.072a8 8 0 0 1 2.32 11.834l5.387 5.387a1 1 0 0 1 -1.414 1.414l-5.388 -5.387a8 8 0 1 1 -.905 -13.249" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 284 B |
@@ -0,0 +1,13 @@
|
||||
<!--
|
||||
version: "2.4"
|
||||
unicode: "f761"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
>
|
||||
<path d="M11.998 2l.118 .007l.059 .008l.061 .013l.111 .034a.993 .993 0 0 1 .217 .112l.104 .082l.255 .218a11 11 0 0 0 7.189 2.537l.342 -.01a1 1 0 0 1 1.005 .717a13 13 0 0 1 -9.208 16.25a1 1 0 0 1 -.502 0a13 13 0 0 1 -9.209 -16.25a1 1 0 0 1 1.005 -.717a11 11 0 0 0 7.531 -2.527l.263 -.225l.096 -.075a.993 .993 0 0 1 .217 -.112l.112 -.034a.97 .97 0 0 1 .119 -.021l.115 -.007zm3.71 7.293a1 1 0 0 0 -1.415 0l-3.293 3.292l-1.293 -1.292l-.094 -.083a1 1 0 0 0 -1.32 1.497l2 2l.094 .083a1 1 0 0 0 1.32 -.083l4 -4l.083 -.094a1 1 0 0 0 -.083 -1.32z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 706 B |
@@ -0,0 +1,14 @@
|
||||
<!--
|
||||
version: "2.39"
|
||||
unicode: "fd19"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
>
|
||||
<path d="M12 2a5 5 0 1 1 -5 5l.005 -.217a5 5 0 0 1 4.995 -4.783z" />
|
||||
<path d="M14 14a5 5 0 0 1 5 5v1a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2v-1a5 5 0 0 1 5 -5h4z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 328 B |
@@ -0,0 +1,21 @@
|
||||
<!--
|
||||
unicode: "101c7"
|
||||
version: "3.38"
|
||||
-->
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
>
|
||||
<path d="M21.165 16a10 10 0 0 1 -8.434 5.973a1 1 0 0 0 .617 -.444a18 18 0 0 0 2.28 -5.528z" />
|
||||
<path d="M8.372 16a18 18 0 0 0 2.28 5.53a1 1 0 0 0 .616 .443a10 10 0 0 1 -8.433 -5.973z" />
|
||||
<path d="M13.57 16a16 16 0 0 1 -1.57 3.884a16 16 0 0 1 -1.57 -3.884" />
|
||||
<path d="M8.034 10a18 18 0 0 0 0 4h-5.832a10 10 0 0 1 -.002 -4z" />
|
||||
<path d="M13.952 10a16 16 0 0 1 0 4h-3.904a16 16 0 0 1 0 -4z" />
|
||||
<path d="M21.8 10a10.05 10.05 0 0 1 -.002 4h-5.832c.149 -1.329 .149 -2.67 0 -4z" />
|
||||
<path d="M11.267 2.027a1 1 0 0 0 -.615 .444a18 18 0 0 0 -2.28 5.529h-5.54a10.01 10.01 0 0 1 8.334 -5.967z" />
|
||||
<path d="M12 4.116a16 16 0 0 1 1.57 3.885h-3.14c.34 -1.317 .85 -2.6 1.53 -3.817z" />
|
||||
<path d="M12.733 2.026a10.01 10.01 0 0 1 8.435 5.974h-5.54a18 18 0 0 0 -2.28 -5.53a1 1 0 0 0 -.517 -.414z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 963 B |
@@ -0,0 +1,834 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
竞赛汇报 PPT (22页) 高精矢量 SVG 生成器 (带 Chrome/Mac 浏览器 Mockup 系统截图占位符)
|
||||
核心优化:
|
||||
1. 拓展至 22 页,专设 4 大核心系统功能【真实截图展示页】,提供高端浏览器窗口外壳占位框
|
||||
2. 全局保持超大字号与极致精简文本
|
||||
3. 包含完整系统架构流程图、知识图谱与辩论流程
|
||||
"""
|
||||
|
||||
import os
|
||||
|
||||
PROJECT_DIR = r"d:\code\XH-202626_科创企业特有风险的识别与管理\projects\XH-202626-presentation_ppt169_20260727"
|
||||
OUTPUT_DIR = os.path.join(PROJECT_DIR, "svg_output")
|
||||
os.makedirs(OUTPUT_DIR, exist_ok=True)
|
||||
|
||||
BG_COLOR = "#0A0F1E"
|
||||
CARD_BG = "#111827"
|
||||
CARD_SURFACE = "#1E293B"
|
||||
CARD_BORDER = "#334155"
|
||||
PRIMARY = "#3B82F6"
|
||||
ACCENT = "#F97316"
|
||||
SECONDARY_ACCENT = "#22D3EE"
|
||||
TEXT_MAIN = "#F8FAFC"
|
||||
TEXT_MUTED = "#94A3B8"
|
||||
TEXT_SUB = "#CBD5E1"
|
||||
POSITIVE = "#22C55E"
|
||||
WARNING = "#EAB308"
|
||||
NEGATIVE = "#EF4444"
|
||||
|
||||
FONT_TITLE = "SimHei, Microsoft YaHei, sans-serif"
|
||||
FONT_BODY = "Microsoft YaHei, sans-serif"
|
||||
|
||||
def svg_header(title, subtitle):
|
||||
return f'''
|
||||
<!-- Header -->
|
||||
<text x="40" y="65" font-family="{FONT_TITLE}" font-size="36" font-weight="bold" fill="{TEXT_MAIN}">{title}</text>
|
||||
<text x="40" y="105" font-family="{FONT_BODY}" font-size="18" fill="{SECONDARY_ACCENT}">{subtitle}</text>
|
||||
<line x1="40" y1="122" x2="1240" y2="122" stroke="{CARD_BORDER}" stroke-width="1.5"/>
|
||||
'''
|
||||
|
||||
def svg_footer(page_num):
|
||||
return ""
|
||||
|
||||
def svg_card(x, y, w, h, bg=CARD_BG, border=CARD_BORDER, border_w=1, rx=8):
|
||||
return f'<rect x="{x}" y="{y}" width="{w}" height="{h}" rx="{rx}" fill="{bg}" stroke="{border}" stroke-width="{border_w}"/>'
|
||||
|
||||
def svg_browser_mockup(x, y, w, h, url="https://risk.aiformat.cn", label_title="界面截图占位", placeholder_tip="请在此处插入或替换真实系统运行截图"):
|
||||
return f'''
|
||||
<g transform="translate({x}, {y})">
|
||||
<!-- 浏览器外框 -->
|
||||
<rect x="0" y="0" width="{w}" height="{h}" rx="10" fill="#1E293B" stroke="{PRIMARY}" stroke-width="1.5"/>
|
||||
|
||||
<!-- 控制按钮 -->
|
||||
<circle cx="20" cy="18" r="6" fill="#EF4444"/>
|
||||
<circle cx="38" cy="18" r="6" fill="#F59E0B"/>
|
||||
<circle cx="56" cy="18" r="6" fill="#10B981"/>
|
||||
|
||||
<!-- 网址栏 -->
|
||||
<rect x="80" y="7" width="{w - 100}" height="22" rx="4" fill="#0F172A"/>
|
||||
<text x="95" y="22" font-family="{FONT_BODY}" font-size="13" fill="{SECONDARY_ACCENT}">https://{url}</text>
|
||||
|
||||
<!-- 内容区域占位 -->
|
||||
<rect x="10" y="36" width="{w - 20}" height="{h - 46}" rx="6" fill="#0A0F1E" stroke="{CARD_BORDER}" stroke-dasharray="6,6" stroke-width="2"/>
|
||||
|
||||
<!-- 引导说明卡片 -->
|
||||
<g transform="translate({(w - 20)/2 + 10}, {(h - 46)/2 + 36})">
|
||||
<rect x="-220" y="-45" width="440" height="90" rx="8" fill="{CARD_SURFACE}" stroke="{ACCENT}" stroke-width="1.5"/>
|
||||
<text x="0" y="-12" font-family="{FONT_TITLE}" font-size="20" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">{label_title}</text>
|
||||
<text x="0" y="20" font-family="{FONT_BODY}" font-size="15" fill="{TEXT_MUTED}" text-anchor="middle">{placeholder_tip}</text>
|
||||
</g>
|
||||
</g>
|
||||
'''
|
||||
|
||||
# ----------------- 22 页全套模板 -----------------
|
||||
|
||||
def gen_p01():
|
||||
return f'''<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="{BG_COLOR}"/>
|
||||
<path d="M 0,180 L 1280,180 M 0,360 L 1280,360 M 0,540 L 1280,540" stroke="#1E293B" stroke-width="1" opacity="0.3"/>
|
||||
<path d="M 320,0 L 320,720 M 640,0 L 640,720 M 960,0 L 960,720" stroke="#1E293B" stroke-width="1" opacity="0.3"/>
|
||||
<circle cx="640" cy="360" r="280" fill="none" stroke="{PRIMARY}" stroke-width="1.5" opacity="0.15"/>
|
||||
<circle cx="640" cy="360" r="420" fill="none" stroke="{SECONDARY_ACCENT}" stroke-width="1" opacity="0.1"/>
|
||||
|
||||
<g transform="translate(640, 280)">
|
||||
<text x="0" y="0" font-family="{FONT_TITLE}" font-size="46" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">数智风控:AI 科创企业新型风险前瞻治理方案</text>
|
||||
<text x="0" y="70" font-family="{FONT_TITLE}" font-size="26" font-weight="bold" fill="{SECONDARY_ACCENT}" text-anchor="middle">基于语义计算与知识图谱的闭环风控系统</text>
|
||||
</g>
|
||||
|
||||
<g transform="translate(640, 520)">
|
||||
<line x1="-200" y1="-30" x2="200" y2="-30" stroke="{CARD_BORDER}" stroke-width="1.5"/>
|
||||
<text x="0" y="10" font-family="{FONT_BODY}" font-size="24" font-weight="bold" fill="{TEXT_SUB}" text-anchor="middle">提报单位:厦门城市职业学院</text>
|
||||
</g>
|
||||
|
||||
{svg_footer(1)}
|
||||
</svg>'''
|
||||
|
||||
def gen_p02():
|
||||
return f'''<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="{BG_COLOR}"/>
|
||||
{svg_header("汇报大纲", "研究报告与原型系统九大核心板块")}
|
||||
<g transform="translate(60, 145)">
|
||||
<!-- 行 1 -->
|
||||
{svg_card(0, 0, 270, 230, CARD_BG, PRIMARY, 1.5)}
|
||||
<text x="25" y="45" font-family="{FONT_TITLE}" font-size="28" font-weight="bold" fill="{PRIMARY}">01</text>
|
||||
<text x="25" y="85" font-family="{FONT_TITLE}" font-size="22" font-weight="bold" fill="{TEXT_MAIN}">研究背景与局限</text>
|
||||
<text x="25" y="135" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 财务范式失灵</text>
|
||||
<text x="25" y="175" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 闭环风控目标</text>
|
||||
|
||||
{svg_card(295, 0, 270, 230, CARD_BG, CARD_BORDER, 1)}
|
||||
<text x="320" y="45" font-family="{FONT_TITLE}" font-size="28" font-weight="bold" fill="{PRIMARY}">02</text>
|
||||
<text x="320" y="85" font-family="{FONT_TITLE}" font-size="22" font-weight="bold" fill="{TEXT_MAIN}">六维特有风险</text>
|
||||
<text x="320" y="135" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 六大场景定义</text>
|
||||
<text x="320" y="175" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 量化路径与数据</text>
|
||||
|
||||
{svg_card(590, 0, 270, 230, CARD_BG, CARD_BORDER, 1)}
|
||||
<text x="615" y="45" font-family="{FONT_TITLE}" font-size="28" font-weight="bold" fill="{PRIMARY}">03</text>
|
||||
<text x="615" y="85" font-family="{FONT_TITLE}" font-size="22" font-weight="bold" fill="{TEXT_MAIN}">系统整体架构</text>
|
||||
<text x="615" y="135" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 四层解耦架构图</text>
|
||||
<text x="615" y="175" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• DeepSeek 底座</text>
|
||||
|
||||
{svg_card(885, 0, 270, 230, CARD_BG, ACCENT, 1.5)}
|
||||
<text x="910" y="45" font-family="{FONT_TITLE}" font-size="28" font-weight="bold" fill="{ACCENT}">04</text>
|
||||
<text x="910" y="85" font-family="{FONT_TITLE}" font-size="22" font-weight="bold" fill="{TEXT_MAIN}">Multi-Agent 辩论</text>
|
||||
<text x="910" y="135" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 三节点质询</text>
|
||||
<text x="910" y="175" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 一票否决规则</text>
|
||||
|
||||
<!-- 行 2 -->
|
||||
{svg_card(0, 255, 270, 230, CARD_BG, SECONDARY_ACCENT, 1.5)}
|
||||
<text x="25" y="300" font-family="{FONT_TITLE}" font-size="28" font-weight="bold" fill="{SECONDARY_ACCENT}">05</text>
|
||||
<text x="25" y="340" font-family="{FONT_TITLE}" font-size="22" font-weight="bold" fill="{TEXT_MAIN}">供应链知识图谱</text>
|
||||
<text x="25" y="390" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 拓扑穿透模型</text>
|
||||
<text x="25" y="430" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• BIS 清单预警</text>
|
||||
|
||||
{svg_card(295, 255, 270, 230, CARD_BG, CARD_BORDER, 1)}
|
||||
<text x="320" y="300" font-family="{FONT_TITLE}" font-size="28" font-weight="bold" fill="{PRIMARY}">06</text>
|
||||
<text x="320" y="340" font-family="{FONT_TITLE}" font-size="22" font-weight="bold" fill="{TEXT_MAIN}">平安动态定价</text>
|
||||
<text x="320" y="390" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 动态保费精算</text>
|
||||
<text x="320" y="430" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 自动化核保报告</text>
|
||||
|
||||
{svg_card(590, 255, 270, 230, CARD_BG, POSITIVE, 1.5)}
|
||||
<text x="615" y="300" font-family="{FONT_TITLE}" font-size="28" font-weight="bold" fill="{POSITIVE}">07</text>
|
||||
<text x="615" y="340" font-family="{FONT_TITLE}" font-size="22" font-weight="bold" fill="{POSITIVE}">系统实操截图展示</text>
|
||||
<text x="615" y="390" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_MAIN}">• 4 大功能模块真实截图</text>
|
||||
<text x="615" y="430" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_MAIN}">• 浏览器 Mockup 展示</text>
|
||||
|
||||
{svg_card(885, 255, 270, 230, CARD_BG, CARD_BORDER, 1)}
|
||||
<text x="910" y="300" font-family="{FONT_TITLE}" font-size="28" font-weight="bold" fill="{PRIMARY}">08</text>
|
||||
<text x="910" y="340" font-family="{FONT_TITLE}" font-size="22" font-weight="bold" fill="{TEXT_MAIN}">课题研发与展望</text>
|
||||
<text x="910" y="390" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 跨学科成果展示</text>
|
||||
<text x="910" y="430" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 场景泛化扩展</text>
|
||||
</g>
|
||||
{svg_footer(2)}
|
||||
</svg>'''
|
||||
|
||||
def gen_p03():
|
||||
return f'''<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="{BG_COLOR}"/>
|
||||
{svg_header("研究背景与传统范式局限", "传统静态财务风控严重盲区")}
|
||||
|
||||
<g transform="translate(60, 140)">
|
||||
{svg_card(0, 0, 560, 500, CARD_BG, NEGATIVE, 1.5)}
|
||||
<rect x="0" y="0" width="560" height="55" rx="8" fill="#7F1D1D"/>
|
||||
<text x="280" y="36" font-family="{FONT_TITLE}" font-size="22" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">传统静态财务风控两大盲区</text>
|
||||
|
||||
<g transform="translate(30, 85)">
|
||||
<text x="0" y="35" font-family="{FONT_TITLE}" font-size="20" font-weight="bold" fill="{NEGATIVE}">盲区一:轻资产与高研致财报失真</text>
|
||||
<text x="0" y="75" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 研发投入占比高,缺少固定资产抵押</text>
|
||||
<text x="0" y="115" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 会计资本化操纵难以识别</text>
|
||||
|
||||
<text x="0" y="185" font-family="{FONT_TITLE}" font-size="20" font-weight="bold" fill="{NEGATIVE}">盲区二:非标特有风险完全隐蔽</text>
|
||||
<text x="0" y="225" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 技术路线被颠覆、核心人员流失</text>
|
||||
<text x="0" y="265" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 算法违规被拒、地缘政治制裁</text>
|
||||
</g>
|
||||
|
||||
{svg_card(600, 0, 560, 500, CARD_BG, POSITIVE, 1.5)}
|
||||
<rect x="600" y="0" width="560" height="55" rx="8" fill="#064E3B"/>
|
||||
<text x="880" y="36" font-family="{FONT_TITLE}" font-size="22" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">全链条闭环风控目标</text>
|
||||
|
||||
<g transform="translate(630, 85)">
|
||||
{svg_card(0, 20, 500, 100, CARD_SURFACE, POSITIVE, 1)}
|
||||
<text x="30" y="60" font-family="{FONT_TITLE}" font-size="20" font-weight="bold" fill="{POSITIVE}">看得见风险</text>
|
||||
<text x="30" y="95" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 实时穿透非结构化数据与关系网</text>
|
||||
|
||||
{svg_card(0, 145, 500, 100, CARD_SURFACE, POSITIVE, 1)}
|
||||
<text x="30" y="185" font-family="{FONT_TITLE}" font-size="20" font-weight="bold" fill="{POSITIVE}">管得住过程</text>
|
||||
<text x="30" y="220" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• Multi-Agent 多视角质询与动态评估</text>
|
||||
|
||||
{svg_card(0, 270, 500, 100, CARD_SURFACE, POSITIVE, 1)}
|
||||
<text x="30" y="310" font-family="{FONT_TITLE}" font-size="20" font-weight="bold" fill="{POSITIVE}">降得下损失</text>
|
||||
<text x="30" y="345" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 平安科创综合险与动态精算定价</text>
|
||||
</g>
|
||||
</g>
|
||||
{svg_footer(3)}
|
||||
</svg>'''
|
||||
|
||||
def gen_p04():
|
||||
return f'''<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="{BG_COLOR}"/>
|
||||
{svg_header("课题整体研究路线图", "理论探索 ➔ 算法建模 ➔ 工程落地 ➔ 保险闭环")}
|
||||
|
||||
{svg_card(60, 150, 1160, 500, CARD_BG, PRIMARY, 1.5)}
|
||||
|
||||
<g transform="translate(90, 220)">
|
||||
{svg_card(0, 0, 240, 360, CARD_SURFACE, PRIMARY, 1.5)}
|
||||
<rect x="0" y="0" width="240" height="50" rx="8" fill="{PRIMARY}"/>
|
||||
<text x="120" y="33" font-family="{FONT_TITLE}" font-size="20" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">阶段一:理论构建</text>
|
||||
<text x="20" y="100" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 识别六维特有风险</text>
|
||||
<text x="20" y="150" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 建立多源数据提取</text>
|
||||
<text x="20" y="200" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 构建量化计算指标</text>
|
||||
|
||||
{svg_card(280, 0, 240, 360, CARD_SURFACE, ACCENT, 1.5)}
|
||||
<rect x="280" y="0" width="240" height="50" rx="8" fill="{ACCENT}"/>
|
||||
<text x="400" y="33" font-family="{FONT_TITLE}" font-size="20" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">阶段二:算法研发</text>
|
||||
<text x="300" y="100" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• Multi-Agent 质询</text>
|
||||
<text x="300" y="150" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 冲突裁决一票否决</text>
|
||||
<text x="300" y="200" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 知识图谱拓扑穿透</text>
|
||||
|
||||
{svg_card(560, 0, 240, 360, CARD_SURFACE, SECONDARY_ACCENT, 1.5)}
|
||||
<rect x="560" y="0" width="240" height="50" rx="8" fill="#0891B2"/>
|
||||
<text x="680" y="33" font-family="{FONT_TITLE}" font-size="20" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">阶段三:原型开发</text>
|
||||
<text x="580" y="100" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• Python 数据流水线</text>
|
||||
<text x="580" y="150" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• DeepSeek API 封装</text>
|
||||
<text x="580" y="200" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 交互式控制台大屏</text>
|
||||
|
||||
{svg_card(840, 0, 240, 360, CARD_SURFACE, POSITIVE, 1.5)}
|
||||
<rect x="840" y="0" width="240" height="50" rx="8" fill="#059669"/>
|
||||
<text x="960" y="33" font-family="{FONT_TITLE}" font-size="20" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">阶段四:商业闭环</text>
|
||||
<text x="860" y="100" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 科创综合险产品</text>
|
||||
<text x="860" y="150" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 动态费率精算模型</text>
|
||||
<text x="860" y="200" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 自动核保报告生成</text>
|
||||
</g>
|
||||
{svg_footer(4)}
|
||||
</svg>'''
|
||||
|
||||
def gen_p05():
|
||||
return f'''<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="{BG_COLOR}"/>
|
||||
{svg_header("科创企业六维特有风险模型", "突破传统静态财务框架的动态评估矩阵")}
|
||||
|
||||
<g transform="translate(60, 140)">
|
||||
{svg_card(0, 0, 360, 235, CARD_BG, PRIMARY, 1.5)}
|
||||
<text x="20" y="40" font-family="{FONT_TITLE}" font-size="22" font-weight="bold" fill="{PRIMARY}">技术路线颠覆风险</text>
|
||||
<text x="20" y="90" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_MAIN}">• 竞品突破导致技术迭代</text>
|
||||
<text x="20" y="130" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 量化:竞品重合度 + 专利增速</text>
|
||||
|
||||
{svg_card(390, 0, 360, 235, CARD_BG, PRIMARY, 1.5)}
|
||||
<text x="410" y="40" font-family="{FONT_TITLE}" font-size="22" font-weight="bold" fill="{PRIMARY}">核心技术人员流失</text>
|
||||
<text x="410" y="90" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_MAIN}">• 核心科学家/CTO 离职</text>
|
||||
<text x="410" y="130" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 量化:高管变动 NLP 抽取</text>
|
||||
|
||||
{svg_card(780, 0, 360, 235, CARD_BG, ACCENT, 1.5)}
|
||||
<text x="800" y="40" font-family="{FONT_TITLE}" font-size="22" font-weight="bold" fill="{ACCENT}">算法与数据合规风险</text>
|
||||
<text x="800" y="90" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_MAIN}">• 深度合成未备案/数据出境</text>
|
||||
<text x="800" y="130" font-family="{FONT_BODY}" font-size="18" fill="{ACCENT}">• 一票否决机制</text>
|
||||
|
||||
{svg_card(0, 255, 360, 235, CARD_BG, ACCENT, 1.5)}
|
||||
<text x="20" y="295" font-family="{FONT_TITLE}" font-size="22" font-weight="bold" fill="{ACCENT}">地缘与出口管制</text>
|
||||
<text x="20" y="345" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_MAIN}">• 实体清单引发二级断供</text>
|
||||
<text x="20" y="385" font-family="{FONT_BODY}" font-size="18" fill="{ACCENT}">• 量化:图谱 BFS 穿透传染</text>
|
||||
|
||||
{svg_card(390, 255, 360, 235, CARD_BG, PRIMARY, 1.5)}
|
||||
<text x="410" y="295" font-family="{FONT_TITLE}" font-size="22" font-weight="bold" fill="{PRIMARY}">研发资本化操纵</text>
|
||||
<text x="410" y="345" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_MAIN}">• 虚增资本化粉饰利润</text>
|
||||
<text x="410" y="385" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 量化:资本化率跳变偏离</text>
|
||||
|
||||
{svg_card(780, 255, 360, 235, CARD_BG, PRIMARY, 1.5)}
|
||||
<text x="800" y="295" font-family="{FONT_TITLE}" font-size="22" font-weight="bold" fill="{PRIMARY}">客户/供应商集中度</text>
|
||||
<text x="800" y="345" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_MAIN}">• 单一大客户引发单点故障</text>
|
||||
<text x="800" y="385" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 量化:HHI 指数 + 前五大占比</text>
|
||||
</g>
|
||||
{svg_footer(5)}
|
||||
</svg>'''
|
||||
|
||||
def gen_p06():
|
||||
return f'''<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="{BG_COLOR}"/>
|
||||
{svg_header("六维风险量化与计算路径", "多源数据抽取与精细化量化指标")}
|
||||
|
||||
{svg_card(50, 130, 1180, 540, CARD_BG, PRIMARY, 1.5)}
|
||||
|
||||
<rect x="50" y="130" width="1180" height="50" rx="8" fill="{CARD_SURFACE}"/>
|
||||
<text x="130" y="162" font-family="{FONT_TITLE}" font-size="18" font-weight="bold" fill="{SECONDARY_ACCENT}" text-anchor="middle">风险维度</text>
|
||||
<text x="350" y="162" font-family="{FONT_TITLE}" font-size="18" font-weight="bold" fill="{SECONDARY_ACCENT}" text-anchor="middle">量化指标</text>
|
||||
<text x="630" y="162" font-family="{FONT_TITLE}" font-size="18" font-weight="bold" fill="{SECONDARY_ACCENT}" text-anchor="middle">数据来源</text>
|
||||
<text x="970" y="162" font-family="{FONT_TITLE}" font-size="18" font-weight="bold" fill="{SECONDARY_ACCENT}" text-anchor="middle">判定与计算模型</text>
|
||||
<line x1="50" y1="180" x2="1230" y2="180" stroke="{CARD_BORDER}" stroke-width="1.5"/>
|
||||
|
||||
<text x="75" y="225" font-family="{FONT_TITLE}" font-size="18" font-weight="bold" fill="{TEXT_MAIN}">技术路线颠覆</text>
|
||||
<text x="240" y="225" font-family="{FONT_BODY}" font-size="17" fill="{TEXT_SUB}">竞品重合度 / 专利增速</text>
|
||||
<text x="520" y="225" font-family="{FONT_BODY}" font-size="16" fill="{TEXT_MUTED}">巨潮 PDF / 专利库</text>
|
||||
<text x="770" y="225" font-family="{FONT_BODY}" font-size="17" fill="{TEXT_SUB}">DeepSeek 语义 + 专利分布余弦相似度</text>
|
||||
<line x1="75" y1="252" x2="1205" y2="252" stroke="{CARD_BORDER}" stroke-width="1" opacity="0.4"/>
|
||||
|
||||
<text x="75" y="297" font-family="{FONT_TITLE}" font-size="18" font-weight="bold" fill="{TEXT_MAIN}">核心人员流失</text>
|
||||
<text x="240" y="297" font-family="{FONT_BODY}" font-size="17" fill="{TEXT_SUB}">CTO 离职 / 高管变动</text>
|
||||
<text x="520" y="297" font-family="{FONT_BODY}" font-size="16" fill="{TEXT_MUTED}">巨潮公告 / 高管变更</text>
|
||||
<text x="770" y="297" font-family="{FONT_BODY}" font-size="17" fill="{TEXT_SUB}">NLP 提取核心名单异动,直接扣分</text>
|
||||
<line x1="75" y1="324" x2="1205" y2="324" stroke="{CARD_BORDER}" stroke-width="1" opacity="0.4"/>
|
||||
|
||||
<text x="75" y="369" font-family="{FONT_TITLE}" font-size="18" font-weight="bold" fill="{ACCENT}">算法与数据合规</text>
|
||||
<text x="240" y="369" font-family="{FONT_BODY}" font-size="17" fill="{TEXT_SUB}">深度合成备案 / 出境评估</text>
|
||||
<text x="520" y="369" font-family="{FONT_BODY}" font-size="16" fill="{TEXT_MUTED}">网信办算法备案库</text>
|
||||
<text x="770" y="369" font-family="{FONT_BODY}" font-size="17" font-weight="bold" fill="{ACCENT}">备案库比对,未备案直接触发一票否决</text>
|
||||
<line x1="75" y1="396" x2="1205" y2="396" stroke="{CARD_BORDER}" stroke-width="1" opacity="0.4"/>
|
||||
|
||||
<text x="75" y="441" font-family="{FONT_TITLE}" font-size="18" font-weight="bold" fill="{ACCENT}">地缘与出口管制</text>
|
||||
<text x="240" y="441" font-family="{FONT_BODY}" font-size="17" fill="{TEXT_SUB}">实体清单波及 / 供应链断供</text>
|
||||
<text x="520" y="441" font-family="{FONT_BODY}" font-size="16" fill="{TEXT_MUTED}">美国 BIS List / 海关关单</text>
|
||||
<text x="770" y="441" font-family="{FONT_BODY}" font-size="17" font-weight="bold" fill="{ACCENT}">BFS 图谱传染算法计算指数 I_contagion</text>
|
||||
<line x1="75" y1="468" x2="1205" y2="468" stroke="{CARD_BORDER}" stroke-width="1" opacity="0.4"/>
|
||||
|
||||
<text x="75" y="513" font-family="{FONT_TITLE}" font-size="18" font-weight="bold" fill="{TEXT_MAIN}">研发资本化操纵</text>
|
||||
<text x="240" y="513" font-family="{FONT_BODY}" font-size="17" fill="{TEXT_SUB}">资本化率 / 同行偏离</text>
|
||||
<text x="520" y="513" font-family="{FONT_BODY}" font-size="16" fill="{TEXT_MUTED}">AKShare 财报明细</text>
|
||||
<text x="770" y="513" font-family="{FONT_BODY}" font-size="17" fill="{TEXT_SUB}">资本化率 > 40% 且 偏离均值 > 20% 警示</text>
|
||||
<line x1="75" y1="540" x2="1205" y2="540" stroke="{CARD_BORDER}" stroke-width="1" opacity="0.4"/>
|
||||
|
||||
<text x="75" y="585" font-family="{FONT_TITLE}" font-size="18" font-weight="bold" fill="{TEXT_MAIN}">客户/供应商集中</text>
|
||||
<text x="240" y="585" font-family="{FONT_BODY}" font-size="17" fill="{TEXT_SUB}">前五大集中度 / HHI 指数</text>
|
||||
<text x="520" y="585" font-family="{FONT_BODY}" font-size="16" fill="{TEXT_MUTED}">AKShare 集中度数据</text>
|
||||
<text x="770" y="585" font-family="{FONT_BODY}" font-size="17" fill="{TEXT_SUB}">前五大营收占比 > 80% 触发惩罚系数</text>
|
||||
|
||||
{svg_footer(6)}
|
||||
</svg>'''
|
||||
|
||||
def gen_p07():
|
||||
return f'''<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<defs>
|
||||
<marker id="arch-arrow" viewBox="0 0 10 10" refX="5" refY="5" markerWidth="8" markerHeight="8" orient="auto-start-reverse">
|
||||
<path d="M 0 0 L 10 5 L 0 10 z" fill="{SECONDARY_ACCENT}"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<rect width="1280" height="720" fill="{BG_COLOR}"/>
|
||||
{svg_header("系统整体架构图", "数据采集 ➔ 核心引擎 ➔ 智能决策 ➔ 商业闭环")}
|
||||
|
||||
<g transform="translate(60, 140)">
|
||||
{svg_card(0, 0, 1160, 500, CARD_BG, PRIMARY, 1.5)}
|
||||
|
||||
<!-- 层 4:应用闭环层 -->
|
||||
{svg_card(30, 20, 1100, 95, CARD_SURFACE, POSITIVE, 1.5)}
|
||||
<rect x="30" y="20" width="220" height="95" rx="8" fill="#059669"/>
|
||||
<text x="140" y="75" font-family="{FONT_TITLE}" font-size="22" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">应用闭环层</text>
|
||||
<g transform="translate(270, 42)">
|
||||
{svg_card(0, 0, 250, 50, CARD_BG, POSITIVE, 1)}
|
||||
<text x="125" y="32" font-family="{FONT_BODY}" font-size="18" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">科创综合险产品方案</text>
|
||||
{svg_card(275, 0, 250, 50, CARD_BG, POSITIVE, 1)}
|
||||
<text x="400" y="32" font-family="{FONT_BODY}" font-size="18" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">动态保费精算模型</text>
|
||||
{svg_card(550, 0, 280, 50, CARD_BG, POSITIVE, 1)}
|
||||
<text x="690" y="32" font-family="{FONT_BODY}" font-size="18" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">自动化核保决策报告</text>
|
||||
</g>
|
||||
|
||||
<!-- 向上连接箭头 3->4 -->
|
||||
<path d="M 680,140 L 680,120" stroke="{SECONDARY_ACCENT}" stroke-width="2.5" marker-end="url(#arch-arrow)"/>
|
||||
|
||||
<!-- 层 3:智能决策层 -->
|
||||
{svg_card(30, 140, 1100, 95, CARD_SURFACE, ACCENT, 1.5)}
|
||||
<rect x="30" y="140" width="220" height="95" rx="8" fill="{ACCENT}"/>
|
||||
<text x="140" y="195" font-family="{FONT_TITLE}" font-size="22" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">智能决策层</text>
|
||||
<g transform="translate(270, 162)">
|
||||
{svg_card(0, 0, 250, 50, CARD_BG, ACCENT, 1)}
|
||||
<text x="125" y="32" font-family="{FONT_BODY}" font-size="18" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">Multi-Agent 辩论诊断</text>
|
||||
{svg_card(275, 0, 250, 50, CARD_BG, ACCENT, 1)}
|
||||
<text x="400" y="32" font-family="{FONT_BODY}" font-size="18" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">法官一票否决裁决</text>
|
||||
{svg_card(550, 0, 280, 50, CARD_BG, ACCENT, 1)}
|
||||
<text x="690" y="32" font-family="{FONT_BODY}" font-size="18" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">图谱 BFS 风险穿透</text>
|
||||
</g>
|
||||
|
||||
<!-- 向上连接箭头 2->3 -->
|
||||
<path d="M 680,260 L 680,240" stroke="{SECONDARY_ACCENT}" stroke-width="2.5" marker-end="url(#arch-arrow)"/>
|
||||
|
||||
<!-- 层 2:核心推理层 -->
|
||||
{svg_card(30, 260, 1100, 95, CARD_SURFACE, SECONDARY_ACCENT, 1.5)}
|
||||
<rect x="30" y="260" width="220" height="95" rx="8" fill="#0891B2"/>
|
||||
<text x="140" y="315" font-family="{FONT_TITLE}" font-size="22" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">核心推理层</text>
|
||||
<g transform="translate(270, 282)">
|
||||
{svg_card(0, 0, 250, 50, CARD_BG, SECONDARY_ACCENT, 1)}
|
||||
<text x="125" y="32" font-family="{FONT_BODY}" font-size="18" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">DeepSeek 推理底座</text>
|
||||
{svg_card(275, 0, 250, 50, CARD_BG, SECONDARY_ACCENT, 1)}
|
||||
<text x="400" y="32" font-family="{FONT_BODY}" font-size="18" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">NetworkX 图谱计算</text>
|
||||
{svg_card(550, 0, 280, 50, CARD_BG, SECONDARY_ACCENT, 1)}
|
||||
<text x="690" y="32" font-family="{FONT_BODY}" font-size="18" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">规则前置校验引擎</text>
|
||||
</g>
|
||||
|
||||
<!-- 向上连接箭头 1->2 -->
|
||||
<path d="M 680,380 L 680,360" stroke="{SECONDARY_ACCENT}" stroke-width="2.5" marker-end="url(#arch-arrow)"/>
|
||||
|
||||
<!-- 层 1:数据采集层 -->
|
||||
{svg_card(30, 380, 1100, 95, CARD_SURFACE, PRIMARY, 1.5)}
|
||||
<rect x="30" y="380" width="220" height="95" rx="8" fill="{PRIMARY}"/>
|
||||
<text x="140" y="435" font-family="{FONT_TITLE}" font-size="22" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">数据采集层</text>
|
||||
<g transform="translate(270, 402)">
|
||||
{svg_card(0, 0, 190, 50, CARD_BG, PRIMARY, 1)}
|
||||
<text x="95" y="32" font-family="{FONT_BODY}" font-size="17" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">巨潮 PDF 年报</text>
|
||||
{svg_card(205, 0, 190, 50, CARD_BG, PRIMARY, 1)}
|
||||
<text x="300" y="32" font-family="{FONT_BODY}" font-size="17" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">网信办算法库</text>
|
||||
{svg_card(410, 0, 190, 50, CARD_BG, PRIMARY, 1)}
|
||||
<text x="505" y="32" font-family="{FONT_BODY}" font-size="17" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">美国 BIS List</text>
|
||||
{svg_card(615, 0, 215, 50, CARD_BG, PRIMARY, 1)}
|
||||
<text x="722" y="32" font-family="{FONT_BODY}" font-size="17" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">AKShare 财报</text>
|
||||
</g>
|
||||
</g>
|
||||
{svg_footer(7)}
|
||||
</svg>'''
|
||||
|
||||
def gen_p08():
|
||||
return f'''<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="{BG_COLOR}"/>
|
||||
{svg_header("Multi-Agent 辩论诊断机制", "多视角交叉质证与自动冲突消除架构")}
|
||||
|
||||
{svg_card(60, 140, 1160, 500, CARD_BG, ACCENT, 1.5)}
|
||||
|
||||
<g transform="translate(90, 170)">
|
||||
{svg_card(340, 0, 400, 110, CARD_SURFACE, ACCENT, 2)}
|
||||
<rect x="340" y="0" width="400" height="40" rx="8" fill="{ACCENT}"/>
|
||||
<text x="540" y="27" font-family="{FONT_TITLE}" font-size="22" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">法官 Node (Judge Agent)</text>
|
||||
<text x="540" y="75" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}" text-anchor="middle">综合质询观点 | 消除冲突 | 一票否决裁决</text>
|
||||
|
||||
{svg_card(0, 160, 320, 240, CARD_SURFACE, PRIMARY, 1.5)}
|
||||
<rect x="0" y="160" width="320" height="45" rx="8" fill="{PRIMARY}"/>
|
||||
<text x="160" y="190" font-family="{FONT_TITLE}" font-size="20" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">法务 Agent (Law)</text>
|
||||
<text x="20" y="245" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 网信办算法备案核查</text>
|
||||
<text x="20" y="290" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 数据出境评估风险</text>
|
||||
|
||||
{svg_card(380, 160, 320, 240, CARD_SURFACE, SECONDARY_ACCENT, 1.5)}
|
||||
<rect x="380" y="160" width="320" height="45" rx="8" fill="#0891B2"/>
|
||||
<text x="540" y="190" font-family="{FONT_TITLE}" font-size="20" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">技术 Agent (Tech)</text>
|
||||
<text x="400" y="245" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 技术路线颠覆推演</text>
|
||||
<text x="400" y="290" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 核心团队流失评估</text>
|
||||
|
||||
{svg_card(760, 160, 320, 240, CARD_SURFACE, POSITIVE, 1.5)}
|
||||
<rect x="760" y="160" width="320" height="45" rx="8" fill="#059669"/>
|
||||
<text x="920" y="190" font-family="{FONT_TITLE}" font-size="20" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">财务 Agent (Finance)</text>
|
||||
<text x="780" y="245" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• 研发资本化率异常</text>
|
||||
<text x="780" y="290" font-family="{FONT_BODY}" font-size="18" fill="{TEXT_SUB}">• HHI 集中度风险</text>
|
||||
</g>
|
||||
{svg_footer(8)}
|
||||
</svg>'''
|
||||
|
||||
def gen_p09():
|
||||
return f'''<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="{BG_COLOR}"/>
|
||||
{svg_header("多智能体冲突消除与裁决规则", "一票否决与加权融合规则")}
|
||||
|
||||
{svg_card(60, 140, 1160, 500, CARD_BG, PRIMARY, 1.5)}
|
||||
|
||||
<g transform="translate(90, 175)">
|
||||
{svg_card(0, 0, 510, 210, CARD_SURFACE, NEGATIVE, 1.5)}
|
||||
<rect x="0" y="0" width="510" height="45" rx="8" fill="#7F1D1D"/>
|
||||
<text x="255" y="30" font-family="{FONT_TITLE}" font-size="22" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">规则一:合规红线一票否决</text>
|
||||
<text x="25" y="90" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 算法未备案直接拒保(得分归 0)</text>
|
||||
<text x="25" y="140" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 列入 BIS 清单触发最高级风险惩罚</text>
|
||||
|
||||
{svg_card(550, 0, 510, 210, CARD_SURFACE, WARNING, 1.5)}
|
||||
<rect x="550" y="0" width="510" height="45" rx="8" fill="#713F12"/>
|
||||
<text x="805" y="30" font-family="{FONT_TITLE}" font-size="22" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">规则二:证据加权与冲突平息</text>
|
||||
<text x="575" y="90" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 意见分歧时依赖检索硬证据</text>
|
||||
<text x="575" y="140" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 综合加权计算综合风险指数 Score</text>
|
||||
|
||||
{svg_card(0, 240, 1060, 190, CARD_SURFACE, POSITIVE, 1.5)}
|
||||
<rect x="0" y="240" width="1060" height="45" rx="8" fill="#064E3B"/>
|
||||
<text x="530" y="270" font-family="{FONT_TITLE}" font-size="22" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">最终裁决与决策输出</text>
|
||||
<text x="40" y="330" font-family="{FONT_BODY}" font-size="20" font-weight="bold" fill="{POSITIVE}">• 决策分类:[低风险 / 中风险 / 高风险 / 直接拒保]</text>
|
||||
<text x="40" y="380" font-family="{FONT_BODY}" font-size="20" fill="{TEXT_SUB}">• 自动调取基础保费上浮系数与动态特约条款</text>
|
||||
</g>
|
||||
{svg_footer(9)}
|
||||
</svg>'''
|
||||
|
||||
def gen_p10():
|
||||
return f'''<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="{BG_COLOR}"/>
|
||||
{svg_header("供应链知识图谱本体设计", "NetworkX 异构图谱建模")}
|
||||
|
||||
{svg_card(60, 140, 1160, 500, CARD_BG, SECONDARY_ACCENT, 1.5)}
|
||||
|
||||
<g transform="translate(90, 175)">
|
||||
{svg_card(0, 0, 510, 430, CARD_SURFACE, PRIMARY, 1.5)}
|
||||
<rect x="0" y="0" width="510" height="50" rx="8" fill="{PRIMARY}"/>
|
||||
<text x="255" y="33" font-family="{FONT_TITLE}" font-size="22" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">图谱核心实体 Node</text>
|
||||
<text x="30" y="95" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 目标科创企业 (Core Target)</text>
|
||||
<text x="30" y="155" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 1 级/ 2 级/ 3 级 供应商 (Suppliers)</text>
|
||||
<text x="30" y="215" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 美国 BIS 实体清单对象 (BIS Entity)</text>
|
||||
<text x="30" y="275" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 核心专利与技术节点 (Patents)</text>
|
||||
<text x="30" y="335" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 算法备案归属主体 (Algorithm Reg)</text>
|
||||
|
||||
{svg_card(550, 0, 510, 430, CARD_SURFACE, SECONDARY_ACCENT, 1.5)}
|
||||
<rect x="550" y="0" width="510" height="50" rx="8" fill="#0891B2"/>
|
||||
<text x="805" y="33" font-family="{FONT_TITLE}" font-size="22" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">拓扑关系 Edge</text>
|
||||
<text x="580" y="95" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 供应依赖 (SUPPLIES_TO)</text>
|
||||
<text x="580" y="155" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 制裁波及 (SANCTIONED_BY)</text>
|
||||
<text x="580" y="215" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 专利竞争 (COMPETES_WITH)</text>
|
||||
<text x="580" y="275" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 股权关联 (OWNS_SHARES)</text>
|
||||
<text x="580" y="335" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 核心流向 (MIGRATED_TO)</text>
|
||||
</g>
|
||||
{svg_footer(10)}
|
||||
</svg>'''
|
||||
|
||||
def gen_p11():
|
||||
return f'''<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="{BG_COLOR}"/>
|
||||
{svg_header("供应链风险拓扑传染算法", "BFS 毫秒级多级穿透预警算法")}
|
||||
|
||||
{svg_card(60, 140, 1160, 500, CARD_BG, ACCENT, 1.5)}
|
||||
|
||||
<g transform="translate(90, 175)">
|
||||
{svg_card(0, 0, 1060, 110, CARD_SURFACE, ACCENT, 1.5)}
|
||||
<text x="30" y="45" font-family="{FONT_TITLE}" font-size="22" font-weight="bold" fill="{ACCENT}">传染衰减计算公式:</text>
|
||||
<text x="30" y="85" font-family="{FONT_BODY}" font-size="20" font-weight="bold" fill="{TEXT_MAIN}">I_contagion = Sum( (1 / d_i^2) * Weight_i ) [d_i 为拓扑最短距离]</text>
|
||||
|
||||
{svg_card(0, 140, 510, 280, CARD_SURFACE, PRIMARY, 1.5)}
|
||||
<rect x="0" y="140" width="510" height="45" rx="8" fill="{PRIMARY}"/>
|
||||
<text x="255" y="170" font-family="{FONT_TITLE}" font-size="20" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">算法优势</text>
|
||||
<text x="25" y="225" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 穿透 2-3 级隐蔽供应商断供</text>
|
||||
<text x="25" y="275" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 突破单体财报审查局限</text>
|
||||
<text x="25" y="325" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 毫秒级图解计算</text>
|
||||
|
||||
{svg_card(550, 140, 510, 280, CARD_SURFACE, POSITIVE, 1.5)}
|
||||
<rect x="550" y="140" width="510" height="45" rx="8" fill="#059669"/>
|
||||
<text x="805" y="170" font-family="{FONT_TITLE}" font-size="20" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">实际应用成效</text>
|
||||
<text x="575" y="225" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 精准捕捉二级供应商 BIS 制裁</text>
|
||||
<text x="575" y="275" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 自动将风险传导路径标红预警</text>
|
||||
<text x="575" y="325" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 自动触发保费上浮系数</text>
|
||||
</g>
|
||||
{svg_footer(11)}
|
||||
</svg>'''
|
||||
|
||||
def gen_p12():
|
||||
return f'''<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="{BG_COLOR}"/>
|
||||
{svg_header("中国平安主业创新产品矩阵", "科创企业特有风险综合险三大产品")}
|
||||
|
||||
{svg_card(60, 140, 1160, 500, CARD_BG, PRIMARY, 1.5)}
|
||||
|
||||
<g transform="translate(90, 175)">
|
||||
{svg_card(0, 0, 330, 420, CARD_SURFACE, PRIMARY, 1.5)}
|
||||
<rect x="0" y="0" width="330" height="55" rx="8" fill="{PRIMARY}"/>
|
||||
<text x="165" y="36" font-family="{FONT_TITLE}" font-size="20" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">产品一:研发成果保险</text>
|
||||
<text x="25" y="110" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 承保技术迭代颠覆损失</text>
|
||||
<text x="25" y="165" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 补偿研发失败沉没成本</text>
|
||||
<text x="25" y="220" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 针对研发资本化率监控</text>
|
||||
|
||||
{svg_card(365, 0, 330, 420, CARD_SURFACE, ACCENT, 1.5)}
|
||||
<rect x="365" y="0" width="330" height="55" rx="8" fill="{ACCENT}"/>
|
||||
<text x="530" y="36" font-family="{FONT_TITLE}" font-size="20" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">产品二:合规与断供险</text>
|
||||
<text x="390" y="110" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 承保算法合规被拒损失</text>
|
||||
<text x="390" y="165" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 赔偿实体清单断供停工</text>
|
||||
<text x="390" y="220" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 图谱穿透动态监控</text>
|
||||
|
||||
{svg_card(730, 0, 330, 420, CARD_SURFACE, SECONDARY_ACCENT, 1.5)}
|
||||
<rect x="730" y="0" width="330" height="55" rx="8" fill="#0891B2"/>
|
||||
<text x="895" y="36" font-family="{FONT_TITLE}" font-size="20" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">产品三:核心人才离任险</text>
|
||||
<text x="755" y="110" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 补偿首席科学家流失</text>
|
||||
<text x="755" y="165" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 覆盖团队重组过渡费用</text>
|
||||
<text x="755" y="220" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• NLP 异动自动抓取</text>
|
||||
</g>
|
||||
{svg_footer(12)}
|
||||
</svg>'''
|
||||
|
||||
def gen_p13():
|
||||
return f'''<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="{BG_COLOR}"/>
|
||||
{svg_header("平安主业动态保费定价引擎", "风控评分与费率精算联动模型")}
|
||||
|
||||
{svg_card(60, 140, 1160, 500, CARD_BG, POSITIVE, 1.5)}
|
||||
|
||||
<g transform="translate(90, 175)">
|
||||
{svg_card(0, 0, 1060, 110, CARD_SURFACE, POSITIVE, 1.5)}
|
||||
<text x="30" y="45" font-family="{FONT_TITLE}" font-size="22" font-weight="bold" fill="{POSITIVE}">动态保费精算模型:</text>
|
||||
<text x="30" y="85" font-family="{FONT_BODY}" font-size="20" font-weight="bold" fill="{TEXT_MAIN}">Premium = BasePremium * (1 + Sum(Weight_i * Factor_i)) * K_contagion</text>
|
||||
|
||||
{svg_card(0, 140, 510, 280, CARD_SURFACE, PRIMARY, 1.5)}
|
||||
<rect x="0" y="140" width="510" height="45" rx="8" fill="{PRIMARY}"/>
|
||||
<text x="255" y="170" font-family="{FONT_TITLE}" font-size="20" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">上浮调节因子</text>
|
||||
<text x="25" y="225" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 资本化率跳变偏离:费率上浮 15%</text>
|
||||
<text x="25" y="275" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• HHI 集中度超标:费率上浮 20%</text>
|
||||
<text x="25" y="325" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 图谱临近 BIS 清单:浮动系数 1.3</text>
|
||||
|
||||
{svg_card(550, 140, 510, 280, CARD_SURFACE, SECONDARY_ACCENT, 1.5)}
|
||||
<rect x="550" y="140" width="510" height="45" rx="8" fill="#0891B2"/>
|
||||
<text x="805" y="170" font-family="{FONT_TITLE}" font-size="20" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">优惠调节因子</text>
|
||||
<text x="575" y="225" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 完成网信办算法备案:费率优惠 10%</text>
|
||||
<text x="575" y="275" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 专利增速同行业领先:费率优惠 15%</text>
|
||||
<text x="575" y="325" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 核心团队稳定度高:免赔额下调</text>
|
||||
</g>
|
||||
{svg_footer(13)}
|
||||
</svg>'''
|
||||
|
||||
def gen_p14():
|
||||
return f'''<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="{BG_COLOR}"/>
|
||||
{svg_header("自动化核保决策报告生成", "硬规则 + 柔性文本 混合驱动输出")}
|
||||
|
||||
{svg_card(60, 140, 1160, 500, CARD_BG, PRIMARY, 1.5)}
|
||||
|
||||
<g transform="translate(90, 175)">
|
||||
{svg_card(0, 0, 510, 430, CARD_SURFACE, PRIMARY, 1.5)}
|
||||
<rect x="0" y="0" width="510" height="50" rx="8" fill="{PRIMARY}"/>
|
||||
<text x="255" y="33" font-family="{FONT_TITLE}" font-size="22" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">硬规则驱动(量化结论)</text>
|
||||
<text x="25" y="100" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 综合风控得分:78 分 (中风险)</text>
|
||||
<text x="25" y="160" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 基础保费上浮系数:+25%</text>
|
||||
<text x="25" y="220" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 算法合规状态:已通过备案</text>
|
||||
<text x="25" y="280" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 地缘传染指数:I_contagion = 0.25</text>
|
||||
<text x="25" y="340" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 最终决策:承保并实施特约条款</text>
|
||||
|
||||
{svg_card(550, 0, 510, 430, CARD_SURFACE, SECONDARY_ACCENT, 1.5)}
|
||||
<rect x="550" y="0" width="510" height="50" rx="8" fill="#0891B2"/>
|
||||
<text x="805" y="33" font-family="{FONT_TITLE}" font-size="22" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">大模型驱动(特约条款)</text>
|
||||
<text x="575" y="100" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 自动润色生成标准化 Markdown 报告</text>
|
||||
<text x="575" y="160" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 特约 1:限期寻找二级供应商国产替代</text>
|
||||
<text x="575" y="220" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 特约 2:关键岗位设置 6 个月竞业期</text>
|
||||
<text x="575" y="280" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 附录:包含思维链与拓扑路径证据链</text>
|
||||
</g>
|
||||
{svg_footer(14)}
|
||||
</svg>'''
|
||||
|
||||
def gen_p15():
|
||||
return f'''<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="{BG_COLOR}"/>
|
||||
{svg_header("金融级原型系统总体概述", "已公网部署至域名 risk.aiformat.cn")}
|
||||
|
||||
{svg_card(60, 140, 1160, 500, CARD_BG, ACCENT, 1.5)}
|
||||
|
||||
<g transform="translate(90, 175)">
|
||||
{svg_card(0, 0, 510, 200, CARD_SURFACE, PRIMARY, 1.5)}
|
||||
<rect x="0" y="0" width="510" height="45" rx="8" fill="{PRIMARY}"/>
|
||||
<text x="255" y="30" font-family="{FONT_TITLE}" font-size="20" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">模块 1:全景风控大屏</text>
|
||||
<text x="25" y="90" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 综合风险评分大屏与动态告警</text>
|
||||
<text x="25" y="140" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 六维风险因子可视化穿透</text>
|
||||
|
||||
{svg_card(550, 0, 510, 200, CARD_SURFACE, ACCENT, 1.5)}
|
||||
<rect x="550" y="0" width="510" height="45" rx="8" fill="{ACCENT}"/>
|
||||
<text x="805" y="30" font-family="{FONT_TITLE}" font-size="20" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">模块 2:辩论诊断控制台</text>
|
||||
<text x="575" y="90" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 实时展示 3 大专家 Agent 思维链</text>
|
||||
<text x="575" y="140" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 裁决过程全透明(Explainable AI)</text>
|
||||
|
||||
{svg_card(0, 230, 510, 200, CARD_SURFACE, SECONDARY_ACCENT, 1.5)}
|
||||
<rect x="0" y="230" width="510" height="45" rx="8" fill="#0891B2"/>
|
||||
<text x="255" y="260" font-family="{FONT_TITLE}" font-size="20" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">模块 3:交互式知识图谱</text>
|
||||
<text x="25" y="320" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 拓扑网络节点穿透与关联查询</text>
|
||||
<text x="25" y="370" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 实体清单地缘风险红线高亮</text>
|
||||
|
||||
{svg_card(550, 230, 510, 200, CARD_SURFACE, POSITIVE, 1.5)}
|
||||
<rect x="550" y="230" width="510" height="45" rx="8" fill="#059669"/>
|
||||
<text x="805" y="260" font-family="{FONT_TITLE}" font-size="20" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">模块 4:试算器与报告导出</text>
|
||||
<text x="575" y="320" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 动态费率计算器与参数拉杆试算</text>
|
||||
<text x="575" y="370" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 一键导出 Markdown 核保决策报告</text>
|
||||
</g>
|
||||
{svg_footer(15)}
|
||||
</svg>'''
|
||||
|
||||
# --------------- [NEW] 四页大尺寸系统运行截图 Mockup 占位页 ---------------
|
||||
|
||||
def gen_p16():
|
||||
return f'''<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="{BG_COLOR}"/>
|
||||
{svg_header("系统界面实操一:全景风控大屏", "可视化六维风险综合指数与告警")}
|
||||
|
||||
{svg_browser_mockup(60, 140, 1160, 510, "risk.aiformat.cn/dashboard", "全景风控大屏界面截图", "请在此粘贴/插入 [全景风控大屏 🏠] 真实运行截图")}
|
||||
{svg_footer(16)}
|
||||
</svg>'''
|
||||
|
||||
def gen_p17():
|
||||
return f'''<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="{BG_COLOR}"/>
|
||||
{svg_header("系统界面实操二:Multi-Agent 辩论控制台", "实时推理思维链 (Reasoning Stream) 与法官裁决")}
|
||||
|
||||
{svg_browser_mockup(60, 140, 1160, 510, "risk.aiformat.cn/debate", "Multi-Agent 辩论控制台截图", "请在此粘贴/插入 [多智能体辩论控制台 🤖] 真实运行截图")}
|
||||
{svg_footer(17)}
|
||||
</svg>'''
|
||||
|
||||
def gen_p18():
|
||||
return f'''<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="{BG_COLOR}"/>
|
||||
{svg_header("系统界面实操三:供应链知识图谱", "NetworkX 拓扑渲染与 BIS 实体清单制裁高亮")}
|
||||
|
||||
{svg_browser_mockup(60, 140, 1160, 510, "risk.aiformat.cn/knowledge_graph", "供应链知识图谱界面截图", "请在此粘贴/插入 [知识图谱拓扑穿透 🕸️] 真实运行截图")}
|
||||
{svg_footer(18)}
|
||||
</svg>'''
|
||||
|
||||
def gen_p19():
|
||||
return f'''<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="{BG_COLOR}"/>
|
||||
{svg_header("系统界面实操四:动态定价与核保报告", "费率调节拉杆与 Markdown 核保报告导出")}
|
||||
|
||||
{svg_browser_mockup(60, 140, 1160, 510, "risk.aiformat.cn/underwriting", "动态定价与核保报告界面截图", "请在此粘贴/插入 [保费定价与核保报告 💰] 真实运行截图")}
|
||||
{svg_footer(19)}
|
||||
</svg>'''
|
||||
|
||||
def gen_p20():
|
||||
return f'''<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="{BG_COLOR}"/>
|
||||
{svg_header("课题团队结构与跨学科协同分工", "黄金三人组:AI 软件工程 x 金融精算 x 经济法学")}
|
||||
|
||||
{svg_card(60, 140, 1160, 500, CARD_BG, PRIMARY, 1.5)}
|
||||
|
||||
<g transform="translate(90, 175)">
|
||||
<!-- 成员 1:周丽梅 -->
|
||||
{svg_card(0, 0, 330, 430, CARD_SURFACE, PRIMARY, 1.5)}
|
||||
<rect x="0" y="0" width="330" height="55" rx="8" fill="{PRIMARY}"/>
|
||||
<text x="165" y="36" font-family="{FONT_TITLE}" font-size="20" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">周丽梅 (项目负责人)</text>
|
||||
<text x="165" y="85" font-family="{FONT_BODY}" font-size="16" font-weight="bold" fill="{SECONDARY_ACCENT}" text-anchor="middle">AI 与软件工程实现 (计算机/数据科学)</text>
|
||||
|
||||
<text x="20" y="130" font-family="{FONT_BODY}" font-size="17" fill="{TEXT_SUB}">• DeepSeek API 与推理引擎封装</text>
|
||||
<text x="20" y="175" font-family="{FONT_BODY}" font-size="17" fill="{TEXT_SUB}">• Multi-Agent 辩论与冲突平息算法</text>
|
||||
<text x="20" y="220" font-family="{FONT_BODY}" font-size="17" fill="{TEXT_SUB}">• NetworkX 知识图谱与 BFS 穿透</text>
|
||||
<text x="20" y="265" font-family="{FONT_BODY}" font-size="17" fill="{TEXT_SUB}">• 金融级 Web 原型与公网部署守护</text>
|
||||
|
||||
<rect x="15" y="340" width="300" height="60" rx="6" fill="{CARD_BG}"/>
|
||||
<text x="165" y="376" font-family="{FONT_BODY}" font-size="16" font-weight="bold" fill="{PRIMARY}" text-anchor="middle">交付成果:代码仓库与在线系统</text>
|
||||
|
||||
<!-- 成员 2:许珍妮 -->
|
||||
{svg_card(365, 0, 330, 430, CARD_SURFACE, POSITIVE, 1.5)}
|
||||
<rect x="365" y="0" width="330" height="55" rx="8" fill="#059669"/>
|
||||
<text x="530" y="36" font-family="{FONT_TITLE}" font-size="20" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">许珍妮 (核心成员)</text>
|
||||
<text x="530" y="85" font-family="{FONT_BODY}" font-size="16" font-weight="bold" fill="{POSITIVE}" text-anchor="middle">金融精算与产品设计 (金融工程)</text>
|
||||
|
||||
<text x="385" y="130" font-family="{FONT_BODY}" font-size="17" fill="{TEXT_SUB}">• 科创特有风险六维量化指标体系</text>
|
||||
<text x="385" y="175" font-family="{FONT_BODY}" font-size="17" fill="{TEXT_SUB}">• 平安“科创综合险”三大产品设计</text>
|
||||
<text x="385" y="220" font-family="{FONT_BODY}" font-size="17" fill="{TEXT_SUB}">• 动态保费精算模型与调节系数</text>
|
||||
<text x="385" y="265" font-family="{FONT_BODY}" font-size="17" fill="{TEXT_SUB}">• 精算费率拉杆试算推导</text>
|
||||
|
||||
<rect x="380" y="340" width="300" height="60" rx="6" fill="{CARD_BG}"/>
|
||||
<text x="530" y="376" font-family="{FONT_BODY}" font-size="16" font-weight="bold" fill="{POSITIVE}" text-anchor="middle">交付成果:精算方案与试算逻辑</text>
|
||||
|
||||
<!-- 成员 3:赖应珍 -->
|
||||
{svg_card(730, 0, 330, 430, CARD_SURFACE, ACCENT, 1.5)}
|
||||
<rect x="730" y="0" width="330" height="55" rx="8" fill="{ACCENT}"/>
|
||||
<text x="895" y="36" font-family="{FONT_TITLE}" font-size="20" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">赖应珍 (核心成员)</text>
|
||||
<text x="895" y="85" font-family="{FONT_BODY}" font-size="16" font-weight="bold" fill="{ACCENT}" text-anchor="middle">法律研究与合规审查 (经济法学)</text>
|
||||
|
||||
<text x="750" y="130" font-family="{FONT_BODY}" font-size="17" fill="{TEXT_SUB}">• 网信办算法备案合规规则提炼</text>
|
||||
<text x="750" y="175" font-family="{FONT_BODY}" font-size="17" fill="{TEXT_SUB}">• BIS 实体清单地缘出口管制研究</text>
|
||||
<text x="750" y="220" font-family="{FONT_BODY}" font-size="17" fill="{TEXT_SUB}">• 合规红线一票否决逻辑设计</text>
|
||||
<text x="750" y="265" font-family="{FONT_BODY}" font-size="17" fill="{TEXT_SUB}">• 自动化核保报告特约条款拟定</text>
|
||||
|
||||
<rect x="745" y="340" width="300" height="60" rx="6" fill="{CARD_BG}"/>
|
||||
<text x="895" y="376" font-family="{FONT_BODY}" font-size="16" font-weight="bold" fill="{ACCENT}" text-anchor="middle">交付成果:合规规则与核保条款</text>
|
||||
</g>
|
||||
{svg_footer(20)}
|
||||
</svg>'''
|
||||
|
||||
def gen_p21():
|
||||
return f'''<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="{BG_COLOR}"/>
|
||||
{svg_header("场景泛化与应用前景扩展", "辐射三大金融场景,具极强通用价值")}
|
||||
|
||||
{svg_card(60, 140, 1160, 500, CARD_BG, POSITIVE, 1.5)}
|
||||
|
||||
<g transform="translate(90, 175)">
|
||||
{svg_card(0, 0, 330, 420, CARD_SURFACE, PRIMARY, 1.5)}
|
||||
<rect x="0" y="0" width="330" height="55" rx="8" fill="{PRIMARY}"/>
|
||||
<text x="165" y="36" font-family="{FONT_TITLE}" font-size="20" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">场景一:商业银行科技贷</text>
|
||||
<text x="25" y="110" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 解决专利质押评估难题</text>
|
||||
<text x="25" y="165" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 预警供应链断供坏账</text>
|
||||
<text x="25" y="220" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 辅助确定授信额度与利率</text>
|
||||
<text x="25" y="330" font-family="{FONT_BODY}" font-size="18" font-weight="bold" fill="{PRIMARY}">赋能:降低科技贷坏账风险</text>
|
||||
|
||||
{svg_card(365, 0, 330, 420, CARD_SURFACE, ACCENT, 1.5)}
|
||||
<rect x="365" y="0" width="330" height="55" rx="8" fill="{ACCENT}"/>
|
||||
<text x="530" y="36" font-family="{FONT_TITLE}" font-size="20" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">场景二:硬科技 VC/PE 尽调</text>
|
||||
<text x="390" y="110" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 缩短早期项目尽调周期</text>
|
||||
<text x="390" y="165" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 自动核查算法合规漏洞</text>
|
||||
<text x="390" y="220" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 技术路线颠覆前瞻预警</text>
|
||||
<text x="390" y="330" font-family="{FONT_BODY}" font-size="18" font-weight="bold" fill="{ACCENT}">赋能:提升投资尽调成功率</text>
|
||||
|
||||
{svg_card(730, 0, 330, 420, CARD_SURFACE, SECONDARY_ACCENT, 1.5)}
|
||||
<rect x="730" y="0" width="330" height="55" rx="8" fill="#0891B2"/>
|
||||
<text x="895" y="36" font-family="{FONT_TITLE}" font-size="20" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">场景三:政府产业基金监控</text>
|
||||
<text x="755" y="110" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 园区企业地缘清单预警</text>
|
||||
<text x="755" y="165" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 监控研发资本化异动</text>
|
||||
<text x="755" y="220" font-family="{FONT_BODY}" font-size="19" fill="{TEXT_SUB}">• 辅助专项补贴精准发放</text>
|
||||
<text x="755" y="330" font-family="{FONT_BODY}" font-size="18" font-weight="bold" fill="{SECONDARY_ACCENT}">赋能:保障财政资金安全</text>
|
||||
</g>
|
||||
{svg_footer(21)}
|
||||
</svg>'''
|
||||
|
||||
def gen_p22():
|
||||
return f'''<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="{BG_COLOR}"/>
|
||||
<circle cx="640" cy="360" r="280" fill="none" stroke="{PRIMARY}" stroke-width="1.5" opacity="0.2"/>
|
||||
<circle cx="640" cy="360" r="400" fill="none" stroke="{SECONDARY_ACCENT}" stroke-width="1" opacity="0.1"/>
|
||||
|
||||
<g transform="translate(640, 310)">
|
||||
<text x="0" y="0" font-family="{FONT_TITLE}" font-size="56" font-weight="bold" fill="{TEXT_MAIN}" text-anchor="middle">谢谢!</text>
|
||||
</g>
|
||||
|
||||
<g transform="translate(640, 440)">
|
||||
{svg_card(-450, -45, 900, 90, CARD_SURFACE, PRIMARY, 1.5)}
|
||||
<text x="0" y="10" font-family="{FONT_TITLE}" font-size="24" font-weight="bold" fill="{SECONDARY_ACCENT}" text-anchor="middle">数智风控:AI 科创企业新型风险前瞻治理方案 (XH-202626)</text>
|
||||
</g>
|
||||
|
||||
{svg_footer(22)}
|
||||
</svg>'''
|
||||
|
||||
def main():
|
||||
generators = [
|
||||
("01_cover.svg", gen_p01),
|
||||
("02_contents.svg", gen_p02),
|
||||
("03_background.svg", gen_p03),
|
||||
("04_roadmap.svg", gen_p04),
|
||||
("05_six_risk_model.svg", gen_p05),
|
||||
("06_quant_paths.svg", gen_p06),
|
||||
("07_architecture.svg", gen_p07),
|
||||
("08_multi_agent.svg", gen_p08),
|
||||
("09_conflict_rules.svg", gen_p09),
|
||||
("10_kg_ontology.svg", gen_p10),
|
||||
("11_contagion_algo.svg", gen_p11),
|
||||
("12_pingan_products.svg", gen_p12),
|
||||
("13_dynamic_pricing.svg", gen_p13),
|
||||
("14_underwriting_report.svg", gen_p14),
|
||||
("15_system_prototype.svg", gen_p15),
|
||||
("16_screenshot_dashboard.svg", gen_p16),
|
||||
("17_screenshot_debate.svg", gen_p17),
|
||||
("18_screenshot_kg.svg", gen_p18),
|
||||
("19_screenshot_pricing.svg", gen_p19),
|
||||
("20_team_structure.svg", gen_p20),
|
||||
("21_future_prospects.svg", gen_p21),
|
||||
("22_thanks.svg", gen_p22),
|
||||
]
|
||||
print("开始生成包含 Chrome 浏览器截图 Mockup 占位符的全套 22 页矢量 SVG...")
|
||||
for filename, gen in generators:
|
||||
filepath = os.path.join(OUTPUT_DIR, filename)
|
||||
content = gen()
|
||||
with open(filepath, "w", encoding="utf-8") as f:
|
||||
f.write(content)
|
||||
print(f"[OK] 生成 SVG: {filename}")
|
||||
|
||||
main_script_path = os.path.join(PROJECT_DIR, "scratch", "generate_all_svgs.py")
|
||||
with open(__file__, "r", encoding="utf-8") as src, open(main_script_path, "w", encoding="utf-8") as dst:
|
||||
dst.write(src.read())
|
||||
|
||||
print(f"\n全套 22 页带截图 Mockup 占位符 SVG 成功更新!")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"schema": "ppt-master.source_to_md.profile.v1",
|
||||
"converter": "pdf_to_md.py",
|
||||
"conversion_type": "pdf",
|
||||
"source": {
|
||||
"path": "XH-202626_科创企业特有风险的识别与管理.pdf",
|
||||
"name": "XH-202626_科创企业特有风险的识别与管理.pdf",
|
||||
"suffix": ".pdf",
|
||||
"kind": "file",
|
||||
"exists": true,
|
||||
"size_bytes": 268232
|
||||
},
|
||||
"outputs": {
|
||||
"markdown": "XH-202626_科创企业特有风险的识别与管理.md",
|
||||
"asset_dir": "",
|
||||
"image_manifest": "",
|
||||
"image_count": 0
|
||||
},
|
||||
"markdown": {
|
||||
"line_count": 193,
|
||||
"char_count": 6187,
|
||||
"heading_count": 2,
|
||||
"table_count": 1,
|
||||
"image_ref_count": 0,
|
||||
"link_count": 0
|
||||
},
|
||||
"warnings": []
|
||||
}
|
||||
@@ -0,0 +1,193 @@
|
||||
# XH-202626_科创企业特有风险的识别与管理
|
||||
|
||||
题目编号:XH-202626
|
||||
|
||||
# 科创企业特有风险的识别与管理 比赛方案
|
||||
|
||||
一、发榜单位 中国青少年发展基金会 一、题目名称 科创企业特有风险的识别与管理 三、题目介绍 科技金融是金融工作“五篇大文章”的核心板块,以人工 智能企业、高端制造、前沿硬科技等领域企与研发机构为代表 的科创企业,是新一轮科技革命和产业升级的核心驱动力,更 是实现高水平科技自立自强的关键主体。这类企业兼具技术密 集度高、创新迭代快、研发周期长、不确定性强、轻资产属性 突出等核心特征,在技术研发、算法迭代、场景落地及商业出 海全生命周期中,面临算法安全、数据合规、科技伦理、知识 产权、地缘博弈等大量区别于传统企业的非标准化、非传统特 有风险。人工智能等新兴技术具备鲜明双重属性,既是推动社 会生产力跨越式发展的核心助推器,同时也是各类新型衍生风 险的重要源头,进一步加剧了科创企业风险形态的复杂性与防 控难度。传统静态、滞后的风险管理体系已难以适配人工智能 等高新技术科创领域高速迭代的发展规律与风险防控需求,亟 1
|
||||
|
||||
<!-- Page 2 -->
|
||||
|
||||
需兼顾技术创新与安全底线的可落地管理方案。
|
||||
|
||||
本命题紧扣总体国家安全观及科技金融高质量发展主线, 锚定人工智能等重点领域核心发展诉求,兼顾科技伦理规范与 人文价值关怀,依托联合发榜单位中国平安保险主业资源与风 险管理专业优势,聚焦人工智能等领域科创企业特有风险的识 别与管理,不设固定研究边界、不设唯一答题框架、不限定单 一专业视角,鼓励全国高校各专业学生跨学科组队,运用大模 型、机器学习、自然语言处理等人工智能技术作为研究手段, 融合人工智能等创新技术与风险管理专业能力,结合产业实际 与创新构想,开展多维度、前瞻性的研究与方案设计。
|
||||
|
||||
本命题以赛事为桥梁,推动青年群体深度扎根人工智能等 科创产业一线,洞察产业真实需求、践行跨学科专业价值,助 力实现“看得见风险、管得住过程、降得下损失”的全链条风 控目标,打造安全、可持续、有韧性的科创产业生态,探索构 建“既敢投创新、又能控风险”的中国式科技金融新范式,最 终实现科创企业风控体系完善、青年复合型人才培育、金融服 务科创效能提升的多方共赢,为国家高水平科技创新筑牢安全 底座、搭建良性发展孵化生态。
|
||||
|
||||
参赛团队可围绕但不限于以下方向展开研究:科创企业全 生命周期、全运营流程的特有风险识别体系构建;适配大模型 研发等“长周期、高不确定性”技术攻关的风控模式创新;人 工智能科创企业智能风控、网络安全、数据合规等场景的解决 2
|
||||
|
||||
<!-- Page 3 -->
|
||||
|
||||
方案设计;以金融手段赋能人工智能领域科技伦理与治理体系 建设的实践路径;科创企业风险数据资产化的实现机制;人工 智能科创生态可持续发展的风控支撑体系等。
|
||||
|
||||
四、参赛对象 学生赛道:2026年6月1日以前正式注册的国内全日制 非成人教育的普通高等学校在校专科生、本科生、硕士和 博士研究生(不含在职研究生),以及全日制职业教育本 科、高职高专在校学生,可通过学生赛道申报作品参赛。
|
||||
|
||||
高校青年教师在指导学生参赛的同时不得以参赛人员 身份参加同一选题比赛。
|
||||
|
||||
参赛对象可以团队或个人形式参赛,每个团队不超过 10人,每件作品可由不超过3名指导教师进行指导。可以 跨专业、跨学校组队,但同一团队所有成员均应符合本赛 道相关年龄、身份要求。每件作品只可由1所高等院校或 科研院所作为参赛主体提交申报。
|
||||
|
||||
五、答题要求
|
||||
|
||||
1. 作品形式要求。提交的作品包括视频(含图片)及
|
||||
|
||||
文档两个部分,均为电子形式。(1)视频(含图片)部分 主要包括:团队视频介绍(视频包含:团队介绍,研究方 向和相关内容解读,选题成果展示);团队合照与成员个 人证件照。(2)文档部分包括:研究报告与汇报PPT(报 告需自行制作封面,确认选题名称无误)。
|
||||
|
||||
3
|
||||
|
||||
<!-- Page 4 -->
|
||||
|
||||
同时,充分鼓励提交的成果作品在形式方面进行创新, 附件可以提供如代码、程序、设计稿、作品集、实证研究 等。代码、程序等需要自行验证,确保其真实可靠、可验 证。
|
||||
|
||||
2. 作品格式要求。(1)视频大小:不超过1G。(2)
|
||||
|
||||
视频时长:不低于90秒。(3)视频格式:仅支持mp4格 式(画面尺寸建议4:3或16:9)。(4)图片格式:仅支持 JPG。(5)研究报告与PPT格式:仅支持PDF。(6)其 他附件形式,以常规格式为主。
|
||||
|
||||
六、作品评选标准 邀请2026年中国青基会平安励志计划专家团专家担任 本次赛事的评委,从作品的选题及意义、创新性与可落地 性、数据及分析、AI技术应用、团队协作能力、作品呈现 表达能力等六个维度进行综合评价。赛事评审各阶段统一 执行以下评选标准,确保评选公平公正、规范有序开展。
|
||||
|
||||
综合评价满分为100分,附加分为20分,各维度所占 分值情况如下:
|
||||
|
||||
|指标|分值|评判标准|
|
||||
|---|---|---|
|
||||
|1.选题与项目主题<br>相关度和现实意义|25<br>分|1. 选题契合度和现实意义(0–15<br>分):选题与项目主题是否高度<br>相关,现实意义是否突出、产业<br>价值是否明确。是否紧扣科技金|
|
||||
|||融、科技伦理、数据安全、产业<br>安全等国家战略需求;<br>2. 对于风险管理研究的理解程度<br>(0–10 分):对风险管理研究的<br>理解是否深入,是否精准识别科<br>创企业非标准化、全生命周期的<br>风险场景。|
|
||||
|---|---|---|
|
||||
|2.实践项目的创新<br>性和可落地性|25<br>分|1. 创新性(0–15 分):是否突<br>破传统企业风控思维框架,以未<br>来视野构建科创企业风险防控新<br>模式,是否具备原创性;<br>2. 可落地性(0–10 分):方案<br>是否适配科创企业特征,具备可<br>操作路径、实施步骤与应用场<br>景,是否兼顾技术创新与安全底<br>线。|
|
||||
|3.数据的详实度与<br>对资料的认识和理<br>解程度|15<br>分|1. 数据的详实程度(0–5 分):<br>数据是否具备来源的多样性和可<br>靠性,数据支撑是否充分;<br>2. 数据分析深度(0–5 分):数<br>据分析是否逻辑严谨且有深度;|
|
||||
|||3. 论证的严谨性(0–5 分):论<br>证是否充分有据,结论是否基于<br>数据、资料合理推导,无主观臆<br>断与数据误用。|
|
||||
|---|---|---|
|
||||
|4.人工智能技术应<br>用水平|15<br>分|1. AI 技术适配性与应用深度(0–<br>10 分):AI 技术与课题是否高<br>度适配,应用深度与创新性是否<br>强,技术路径是否合理,工具使<br>用是否规范,是否符合数据安全<br>与伦理合规要求;<br>2. AI 技术支撑与实际提升(0–5<br>分):是否至少应用 1–2 项 AI<br>关键技术支撑研究并与科创企业<br>深度结合,包括但不限于大模型/<br>小模型、机器学习/深度学习、自<br>然语言处理、知识图谱、量化建<br>模分析等;对研究结论、成果产<br>出或解决方案是否有明显提升效<br>果。|
|
||||
|5. 团队协作能力|10<br>分|1. 团队学科结构合理性(0–5<br>分):学生团队学科配置是否合|
|
||||
|||理,专业互补性是否强;<br>2. 分工与协作成效(0–5 分):<br>团队成员职责分工是否清晰明<br>确,跨专业协作是否高效有序,<br>团队协同完成研究与成果产出的<br>综合成效是否显著。|
|
||||
|---|---|---|
|
||||
|6. 作品呈现表达能<br>力|10<br>分|1. 文档规范性与写作质量(0–5<br>分):研究报告是否语言流畅、<br>详略得当、结构合理、层次清<br>晰、逻辑严密、格式规范,研究<br>方案与成果是否完整;<br>2. 可视化呈现能力(0–5 分):<br>成果展示是否清晰直观,可视化<br>效果是否好,表达是否专业且重<br>点突出。|
|
||||
|基础分(满分 100 分)|||
|
||||
|1. 成果在实际问题<br>应用上的潜力|20<br>分|技术成熟度与长期适用性(0-10<br>分):研究成果是否具备扩展到<br>多个相关或相似场景的潜力,体<br>现其通用性。研究成果是否具备<br>应对未来技术或市场变化的适应|
|
||||
||性,是否考虑了技术迭代或升级<br>路径。|
|
||||
|---|---|
|
||||
|2. 作品呈现的创新<br>性|成果形式创新(0-10 分):是否<br>提交代码、模型、程序、可视化<br>系统、风险报告工具、风控原<br>型、技术文件等多样化呈现载<br>体,是否通过创新形式提升成果<br>表现力。|
|
||||
|附加分(满分 20 分)||
|
||||
七、作品提交时间 2026年5月至9月上旬,各参赛团队选择榜单中的题 目开展研发攻关。
|
||||
|
||||
2026年9月13日12:00前,各参赛团队通过邮件方式 完成作品提交,具体要求本方案第八点第(二)款,并严 格遵照发榜单位明确的提交规范执行。
|
||||
|
||||
2026年10月中旬,由发榜单位完成初审,确定入围终 审擂台赛的晋级作品和团队。
|
||||
|
||||
2026年10月中下旬至终审擂台赛前,中国青基会平安 励志计划将发挥资源优势,组织专家团队,为晋级作品和 团队提供帮助和指导,帮助各晋级团队完善作品,冲刺攻 关参加终审擂台赛,角逐“擂主”。
|
||||
|
||||
2026年11月,组织终审擂台赛,角逐“擂主”。
|
||||
|
||||
8
|
||||
|
||||
<!-- Page 9 -->
|
||||
|
||||
八、参赛报名及作品提交方式 (一)报名方式
|
||||
|
||||
1. 参赛选手登录“挑战杯”官网www.tiaozhanbei.net,在
|
||||
|
||||
“揭榜挂帅”擂台赛报名入口注册账号,登录大赛申报系统在 线填写报名信息。报名信息提交后,下载打印系统生成的报名 表。
|
||||
|
||||
2. 申报人在报名表对应位置加盖所在学校公章。
|
||||
3. 将盖章版报名表扫描件上传至报名系统,等待系统审核。
|
||||
|
||||
请参赛选手注意查看审核状态,如审核不通过,需重新提交。
|
||||
|
||||
4. 系统开放报名时间为2026年5月30日—6月30日,逾
|
||||
|
||||
期后系统将自动关闭报名功能。
|
||||
|
||||
(二)作品提交方式 请已在官网报名成功的团队,于9月5日前将盖章的参赛 申报表pdf、作品所有相关材料发送至发榜单位邮箱 lizhijihua2026@qq.com。压缩包名称格式:选题名称-提报单 位(学校全称)-团队名称-作品名称。注:PPT名称应与研 究报告选题名称保持一致。提交具体作品时,务必一并提交1 份报名系统中审核通过的参赛报名表(所有信息与系统中填报 信息保持严格一致)。以上材料无需在“挑战杯”官网提交。
|
||||
|
||||
九、赛事保障 (一)社会资源支持 中国青基会平安励志计划将视实际研究情况及工作安排, 9
|
||||
|
||||
<!-- Page 10 -->
|
||||
|
||||
提供中国平安及其生态圈企业调研、励志计划专家指导、社会 实践、案例研究、项目实战、数据库支持、业务指导等机会。
|
||||
|
||||
(二)专业辅导与培训
|
||||
|
||||
1. 举办讲座、线上辅导等活动,邀请专家、老师分享行业
|
||||
|
||||
见解,提升团队的研究与呈现能力。
|
||||
|
||||
2. 围绕报告撰写、数据模型分析、方案设计、视频拍摄等
|
||||
|
||||
主题进行针对性培训。
|
||||
|
||||
(三)团队管理与激励机制
|
||||
|
||||
1. 安排老师进行日常跟踪管理,确保团队活动有序进行。
|
||||
2. 通过小活动鼓励团队提交日志、周报、视频等素材,对
|
||||
|
||||
表现优异的团队提供相应奖励。
|
||||
|
||||
(四)成果产出与质量控制
|
||||
|
||||
1. 规范成果产出的呈现形式,明确报告撰写、数据模型分
|
||||
|
||||
析、视频拍摄等要求。
|
||||
|
||||
2. 通过扎实的评榜筛选出高质量成果,确保最终晋级队伍
|
||||
|
||||
成果的质量水平。
|
||||
|
||||
十、设奖情况及奖励措施 (一)设奖情况 2026年中国青基会平安励志计划设擂主奖1个,特等奖5 个,一等奖6个,二等奖8个,三等奖10个。如因成绩并列 等情况需突破获奖比例(数量)或进行相应调整,须经评审委 员会研究确认。
|
||||
|
||||
10
|
||||
|
||||
<!-- Page 11 -->
|
||||
|
||||
(二)奖励措施
|
||||
|
||||
1. 资金奖励
|
||||
|
||||
2026年中国青基会平安励志计划为晋级队伍提供总额约 为75万元的奖励金,具体分配如下:
|
||||
|
||||
擂主奖1个:16万元/个(税后金额,税前20万元/ 个);
|
||||
|
||||
特等奖5个:4.8万元/个,共24万元(税后金额,税前 30万元);
|
||||
|
||||
一等奖6个:1.6万元/个,共9.6万元(税后金额,税前 12万元);
|
||||
|
||||
二等奖8个:0.8万元/个,共6.4万元(税后金额,税前 8万元);
|
||||
|
||||
三等奖10个:0.4万元/个,共4万元(税后金额,税前5 万元)。
|
||||
|
||||
2. 学术进阶成长活动
|
||||
|
||||
2026年中国青基会平安励志计划将邀请晋级队伍师生代表 参与学术进阶成长活动,通过实地学习交流、学术讲座、企业 探访及互动研讨等形式,拓宽师生学术视野,深化专业知识理 解,促进理论与实践的深度融合。
|
||||
|
||||
3. 就业赋能
|
||||
|
||||
2026年中国青基会平安励志计划拟为参与学生提供职培赋 能:包括平安及其生态圈企业提供的就业辅导,招聘直通车 11
|
||||
|
||||
<!-- Page 12 -->
|
||||
|
||||
等,具体措施,由平安公司根据实际情况进行安排。
|
||||
|
||||
(三)奖金发放方式 比赛结束后,比赛专班工作人员将与获奖团队取得联系, 填写奖金申请表,待获奖团队提供银行卡详细信息后1个季度 内,将奖金一次性发放至获奖团队提供的银行卡中。
|
||||
|
||||
十一、比赛专班联系方式 成立专班,安排专门人员负责比赛组织,专家指导团队进 行技术指导和保障,通过电话、邮件等方式接受参赛团队咨询;
|
||||
|
||||
赛务组织服务负责与组委会对接以及后期相关比赛赛务的协调 联络。
|
||||
|
||||
1. 专家指导团队
|
||||
|
||||
顾问专家:曲老师,联系电话:18618166748 负责比赛期间技术指导保障。
|
||||
|
||||
2. 赛事服务团队
|
||||
|
||||
联络专员:王老师,联系电话:18210859970 联络专员:唐老师,联系电话:13951844550 负责比赛期间组织服务及后期相关赛务协调联络。
|
||||
|
||||
3. 赛事咨询微信公众号
|
||||
|
||||
微信搜索“励志计划小助手”公众号,添加后进行留言咨 询。
|
||||
|
||||
4. 联系时间
|
||||
|
||||
比赛期间工作日(9:00-17:00) 12
|
||||
|
||||
<!-- Page 13 -->
|
||||
|
||||
附:发榜单位简介 中国青少年发展基金会简称为“中国青基会”,中国青基 会成立于1989年3月,是由共青团中央主管、在民政部登记注 册的全国性5A级公募基金会。中国青基会积极践行“为党育 人、为国育才,汇聚爱心、传递温暖,为青少年成长提供新助 力、播种新希望”的组织使命。目前,全国共有33家省级青基 会。共青团中央、中国青少年发展基金会于1989年10月发起 实施希望工程。截至2025年底,全国希望工程累计接受捐赠收 入247.29亿元,资助困难学生784.83万名,援建希望小学 21205所。同时,相继推出了乡村教师培训、“圆梦行动”等 项目,有效推动了欠发达地区教育事业发展、服务了广大青少 年成长发展、弘扬了社会文明新风,希望工程已经成为我国社 会参与最广泛、最富影响力的公益事业之一。
|
||||
|
||||
13
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"schema": "ppt-master.source_to_md.profile.v1",
|
||||
"converter": "pdf_to_md.py",
|
||||
"conversion_type": "pdf",
|
||||
"source": {
|
||||
"path": "XH-202626_科创企业特有风险的识别与管理_2.pdf",
|
||||
"name": "XH-202626_科创企业特有风险的识别与管理_2.pdf",
|
||||
"suffix": ".pdf",
|
||||
"kind": "file",
|
||||
"exists": true,
|
||||
"size_bytes": 268232
|
||||
},
|
||||
"outputs": {
|
||||
"markdown": "XH-202626_科创企业特有风险的识别与管理_2.md",
|
||||
"asset_dir": "",
|
||||
"image_manifest": "",
|
||||
"image_count": 0
|
||||
},
|
||||
"markdown": {
|
||||
"line_count": 193,
|
||||
"char_count": 6189,
|
||||
"heading_count": 2,
|
||||
"table_count": 1,
|
||||
"image_ref_count": 0,
|
||||
"link_count": 0
|
||||
},
|
||||
"warnings": []
|
||||
}
|
||||
@@ -0,0 +1,193 @@
|
||||
# XH-202626_科创企业特有风险的识别与管理_2
|
||||
|
||||
题目编号:XH-202626
|
||||
|
||||
# 科创企业特有风险的识别与管理 比赛方案
|
||||
|
||||
一、发榜单位 中国青少年发展基金会 一、题目名称 科创企业特有风险的识别与管理 三、题目介绍 科技金融是金融工作“五篇大文章”的核心板块,以人工 智能企业、高端制造、前沿硬科技等领域企与研发机构为代表 的科创企业,是新一轮科技革命和产业升级的核心驱动力,更 是实现高水平科技自立自强的关键主体。这类企业兼具技术密 集度高、创新迭代快、研发周期长、不确定性强、轻资产属性 突出等核心特征,在技术研发、算法迭代、场景落地及商业出 海全生命周期中,面临算法安全、数据合规、科技伦理、知识 产权、地缘博弈等大量区别于传统企业的非标准化、非传统特 有风险。人工智能等新兴技术具备鲜明双重属性,既是推动社 会生产力跨越式发展的核心助推器,同时也是各类新型衍生风 险的重要源头,进一步加剧了科创企业风险形态的复杂性与防 控难度。传统静态、滞后的风险管理体系已难以适配人工智能 等高新技术科创领域高速迭代的发展规律与风险防控需求,亟 1
|
||||
|
||||
<!-- Page 2 -->
|
||||
|
||||
需兼顾技术创新与安全底线的可落地管理方案。
|
||||
|
||||
本命题紧扣总体国家安全观及科技金融高质量发展主线, 锚定人工智能等重点领域核心发展诉求,兼顾科技伦理规范与 人文价值关怀,依托联合发榜单位中国平安保险主业资源与风 险管理专业优势,聚焦人工智能等领域科创企业特有风险的识 别与管理,不设固定研究边界、不设唯一答题框架、不限定单 一专业视角,鼓励全国高校各专业学生跨学科组队,运用大模 型、机器学习、自然语言处理等人工智能技术作为研究手段, 融合人工智能等创新技术与风险管理专业能力,结合产业实际 与创新构想,开展多维度、前瞻性的研究与方案设计。
|
||||
|
||||
本命题以赛事为桥梁,推动青年群体深度扎根人工智能等 科创产业一线,洞察产业真实需求、践行跨学科专业价值,助 力实现“看得见风险、管得住过程、降得下损失”的全链条风 控目标,打造安全、可持续、有韧性的科创产业生态,探索构 建“既敢投创新、又能控风险”的中国式科技金融新范式,最 终实现科创企业风控体系完善、青年复合型人才培育、金融服 务科创效能提升的多方共赢,为国家高水平科技创新筑牢安全 底座、搭建良性发展孵化生态。
|
||||
|
||||
参赛团队可围绕但不限于以下方向展开研究:科创企业全 生命周期、全运营流程的特有风险识别体系构建;适配大模型 研发等“长周期、高不确定性”技术攻关的风控模式创新;人 工智能科创企业智能风控、网络安全、数据合规等场景的解决 2
|
||||
|
||||
<!-- Page 3 -->
|
||||
|
||||
方案设计;以金融手段赋能人工智能领域科技伦理与治理体系 建设的实践路径;科创企业风险数据资产化的实现机制;人工 智能科创生态可持续发展的风控支撑体系等。
|
||||
|
||||
四、参赛对象 学生赛道:2026年6月1日以前正式注册的国内全日制 非成人教育的普通高等学校在校专科生、本科生、硕士和 博士研究生(不含在职研究生),以及全日制职业教育本 科、高职高专在校学生,可通过学生赛道申报作品参赛。
|
||||
|
||||
高校青年教师在指导学生参赛的同时不得以参赛人员 身份参加同一选题比赛。
|
||||
|
||||
参赛对象可以团队或个人形式参赛,每个团队不超过 10人,每件作品可由不超过3名指导教师进行指导。可以 跨专业、跨学校组队,但同一团队所有成员均应符合本赛 道相关年龄、身份要求。每件作品只可由1所高等院校或 科研院所作为参赛主体提交申报。
|
||||
|
||||
五、答题要求
|
||||
|
||||
1. 作品形式要求。提交的作品包括视频(含图片)及
|
||||
|
||||
文档两个部分,均为电子形式。(1)视频(含图片)部分 主要包括:团队视频介绍(视频包含:团队介绍,研究方 向和相关内容解读,选题成果展示);团队合照与成员个 人证件照。(2)文档部分包括:研究报告与汇报PPT(报 告需自行制作封面,确认选题名称无误)。
|
||||
|
||||
3
|
||||
|
||||
<!-- Page 4 -->
|
||||
|
||||
同时,充分鼓励提交的成果作品在形式方面进行创新, 附件可以提供如代码、程序、设计稿、作品集、实证研究 等。代码、程序等需要自行验证,确保其真实可靠、可验 证。
|
||||
|
||||
2. 作品格式要求。(1)视频大小:不超过1G。(2)
|
||||
|
||||
视频时长:不低于90秒。(3)视频格式:仅支持mp4格 式(画面尺寸建议4:3或16:9)。(4)图片格式:仅支持 JPG。(5)研究报告与PPT格式:仅支持PDF。(6)其 他附件形式,以常规格式为主。
|
||||
|
||||
六、作品评选标准 邀请2026年中国青基会平安励志计划专家团专家担任 本次赛事的评委,从作品的选题及意义、创新性与可落地 性、数据及分析、AI技术应用、团队协作能力、作品呈现 表达能力等六个维度进行综合评价。赛事评审各阶段统一 执行以下评选标准,确保评选公平公正、规范有序开展。
|
||||
|
||||
综合评价满分为100分,附加分为20分,各维度所占 分值情况如下:
|
||||
|
||||
|指标|分值|评判标准|
|
||||
|---|---|---|
|
||||
|1.选题与项目主题<br>相关度和现实意义|25<br>分|1. 选题契合度和现实意义(0–15<br>分):选题与项目主题是否高度<br>相关,现实意义是否突出、产业<br>价值是否明确。是否紧扣科技金|
|
||||
|||融、科技伦理、数据安全、产业<br>安全等国家战略需求;<br>2. 对于风险管理研究的理解程度<br>(0–10 分):对风险管理研究的<br>理解是否深入,是否精准识别科<br>创企业非标准化、全生命周期的<br>风险场景。|
|
||||
|---|---|---|
|
||||
|2.实践项目的创新<br>性和可落地性|25<br>分|1. 创新性(0–15 分):是否突<br>破传统企业风控思维框架,以未<br>来视野构建科创企业风险防控新<br>模式,是否具备原创性;<br>2. 可落地性(0–10 分):方案<br>是否适配科创企业特征,具备可<br>操作路径、实施步骤与应用场<br>景,是否兼顾技术创新与安全底<br>线。|
|
||||
|3.数据的详实度与<br>对资料的认识和理<br>解程度|15<br>分|1. 数据的详实程度(0–5 分):<br>数据是否具备来源的多样性和可<br>靠性,数据支撑是否充分;<br>2. 数据分析深度(0–5 分):数<br>据分析是否逻辑严谨且有深度;|
|
||||
|||3. 论证的严谨性(0–5 分):论<br>证是否充分有据,结论是否基于<br>数据、资料合理推导,无主观臆<br>断与数据误用。|
|
||||
|---|---|---|
|
||||
|4.人工智能技术应<br>用水平|15<br>分|1. AI 技术适配性与应用深度(0–<br>10 分):AI 技术与课题是否高<br>度适配,应用深度与创新性是否<br>强,技术路径是否合理,工具使<br>用是否规范,是否符合数据安全<br>与伦理合规要求;<br>2. AI 技术支撑与实际提升(0–5<br>分):是否至少应用 1–2 项 AI<br>关键技术支撑研究并与科创企业<br>深度结合,包括但不限于大模型/<br>小模型、机器学习/深度学习、自<br>然语言处理、知识图谱、量化建<br>模分析等;对研究结论、成果产<br>出或解决方案是否有明显提升效<br>果。|
|
||||
|5. 团队协作能力|10<br>分|1. 团队学科结构合理性(0–5<br>分):学生团队学科配置是否合|
|
||||
|||理,专业互补性是否强;<br>2. 分工与协作成效(0–5 分):<br>团队成员职责分工是否清晰明<br>确,跨专业协作是否高效有序,<br>团队协同完成研究与成果产出的<br>综合成效是否显著。|
|
||||
|---|---|---|
|
||||
|6. 作品呈现表达能<br>力|10<br>分|1. 文档规范性与写作质量(0–5<br>分):研究报告是否语言流畅、<br>详略得当、结构合理、层次清<br>晰、逻辑严密、格式规范,研究<br>方案与成果是否完整;<br>2. 可视化呈现能力(0–5 分):<br>成果展示是否清晰直观,可视化<br>效果是否好,表达是否专业且重<br>点突出。|
|
||||
|基础分(满分 100 分)|||
|
||||
|1. 成果在实际问题<br>应用上的潜力|20<br>分|技术成熟度与长期适用性(0-10<br>分):研究成果是否具备扩展到<br>多个相关或相似场景的潜力,体<br>现其通用性。研究成果是否具备<br>应对未来技术或市场变化的适应|
|
||||
||性,是否考虑了技术迭代或升级<br>路径。|
|
||||
|---|---|
|
||||
|2. 作品呈现的创新<br>性|成果形式创新(0-10 分):是否<br>提交代码、模型、程序、可视化<br>系统、风险报告工具、风控原<br>型、技术文件等多样化呈现载<br>体,是否通过创新形式提升成果<br>表现力。|
|
||||
|附加分(满分 20 分)||
|
||||
七、作品提交时间 2026年5月至9月上旬,各参赛团队选择榜单中的题 目开展研发攻关。
|
||||
|
||||
2026年9月13日12:00前,各参赛团队通过邮件方式 完成作品提交,具体要求本方案第八点第(二)款,并严 格遵照发榜单位明确的提交规范执行。
|
||||
|
||||
2026年10月中旬,由发榜单位完成初审,确定入围终 审擂台赛的晋级作品和团队。
|
||||
|
||||
2026年10月中下旬至终审擂台赛前,中国青基会平安 励志计划将发挥资源优势,组织专家团队,为晋级作品和 团队提供帮助和指导,帮助各晋级团队完善作品,冲刺攻 关参加终审擂台赛,角逐“擂主”。
|
||||
|
||||
2026年11月,组织终审擂台赛,角逐“擂主”。
|
||||
|
||||
8
|
||||
|
||||
<!-- Page 9 -->
|
||||
|
||||
八、参赛报名及作品提交方式 (一)报名方式
|
||||
|
||||
1. 参赛选手登录“挑战杯”官网www.tiaozhanbei.net,在
|
||||
|
||||
“揭榜挂帅”擂台赛报名入口注册账号,登录大赛申报系统在 线填写报名信息。报名信息提交后,下载打印系统生成的报名 表。
|
||||
|
||||
2. 申报人在报名表对应位置加盖所在学校公章。
|
||||
3. 将盖章版报名表扫描件上传至报名系统,等待系统审核。
|
||||
|
||||
请参赛选手注意查看审核状态,如审核不通过,需重新提交。
|
||||
|
||||
4. 系统开放报名时间为2026年5月30日—6月30日,逾
|
||||
|
||||
期后系统将自动关闭报名功能。
|
||||
|
||||
(二)作品提交方式 请已在官网报名成功的团队,于9月5日前将盖章的参赛 申报表pdf、作品所有相关材料发送至发榜单位邮箱 lizhijihua2026@qq.com。压缩包名称格式:选题名称-提报单 位(学校全称)-团队名称-作品名称。注:PPT名称应与研 究报告选题名称保持一致。提交具体作品时,务必一并提交1 份报名系统中审核通过的参赛报名表(所有信息与系统中填报 信息保持严格一致)。以上材料无需在“挑战杯”官网提交。
|
||||
|
||||
九、赛事保障 (一)社会资源支持 中国青基会平安励志计划将视实际研究情况及工作安排, 9
|
||||
|
||||
<!-- Page 10 -->
|
||||
|
||||
提供中国平安及其生态圈企业调研、励志计划专家指导、社会 实践、案例研究、项目实战、数据库支持、业务指导等机会。
|
||||
|
||||
(二)专业辅导与培训
|
||||
|
||||
1. 举办讲座、线上辅导等活动,邀请专家、老师分享行业
|
||||
|
||||
见解,提升团队的研究与呈现能力。
|
||||
|
||||
2. 围绕报告撰写、数据模型分析、方案设计、视频拍摄等
|
||||
|
||||
主题进行针对性培训。
|
||||
|
||||
(三)团队管理与激励机制
|
||||
|
||||
1. 安排老师进行日常跟踪管理,确保团队活动有序进行。
|
||||
2. 通过小活动鼓励团队提交日志、周报、视频等素材,对
|
||||
|
||||
表现优异的团队提供相应奖励。
|
||||
|
||||
(四)成果产出与质量控制
|
||||
|
||||
1. 规范成果产出的呈现形式,明确报告撰写、数据模型分
|
||||
|
||||
析、视频拍摄等要求。
|
||||
|
||||
2. 通过扎实的评榜筛选出高质量成果,确保最终晋级队伍
|
||||
|
||||
成果的质量水平。
|
||||
|
||||
十、设奖情况及奖励措施 (一)设奖情况 2026年中国青基会平安励志计划设擂主奖1个,特等奖5 个,一等奖6个,二等奖8个,三等奖10个。如因成绩并列 等情况需突破获奖比例(数量)或进行相应调整,须经评审委 员会研究确认。
|
||||
|
||||
10
|
||||
|
||||
<!-- Page 11 -->
|
||||
|
||||
(二)奖励措施
|
||||
|
||||
1. 资金奖励
|
||||
|
||||
2026年中国青基会平安励志计划为晋级队伍提供总额约 为75万元的奖励金,具体分配如下:
|
||||
|
||||
擂主奖1个:16万元/个(税后金额,税前20万元/ 个);
|
||||
|
||||
特等奖5个:4.8万元/个,共24万元(税后金额,税前 30万元);
|
||||
|
||||
一等奖6个:1.6万元/个,共9.6万元(税后金额,税前 12万元);
|
||||
|
||||
二等奖8个:0.8万元/个,共6.4万元(税后金额,税前 8万元);
|
||||
|
||||
三等奖10个:0.4万元/个,共4万元(税后金额,税前5 万元)。
|
||||
|
||||
2. 学术进阶成长活动
|
||||
|
||||
2026年中国青基会平安励志计划将邀请晋级队伍师生代表 参与学术进阶成长活动,通过实地学习交流、学术讲座、企业 探访及互动研讨等形式,拓宽师生学术视野,深化专业知识理 解,促进理论与实践的深度融合。
|
||||
|
||||
3. 就业赋能
|
||||
|
||||
2026年中国青基会平安励志计划拟为参与学生提供职培赋 能:包括平安及其生态圈企业提供的就业辅导,招聘直通车 11
|
||||
|
||||
<!-- Page 12 -->
|
||||
|
||||
等,具体措施,由平安公司根据实际情况进行安排。
|
||||
|
||||
(三)奖金发放方式 比赛结束后,比赛专班工作人员将与获奖团队取得联系, 填写奖金申请表,待获奖团队提供银行卡详细信息后1个季度 内,将奖金一次性发放至获奖团队提供的银行卡中。
|
||||
|
||||
十一、比赛专班联系方式 成立专班,安排专门人员负责比赛组织,专家指导团队进 行技术指导和保障,通过电话、邮件等方式接受参赛团队咨询;
|
||||
|
||||
赛务组织服务负责与组委会对接以及后期相关比赛赛务的协调 联络。
|
||||
|
||||
1. 专家指导团队
|
||||
|
||||
顾问专家:曲老师,联系电话:18618166748 负责比赛期间技术指导保障。
|
||||
|
||||
2. 赛事服务团队
|
||||
|
||||
联络专员:王老师,联系电话:18210859970 联络专员:唐老师,联系电话:13951844550 负责比赛期间组织服务及后期相关赛务协调联络。
|
||||
|
||||
3. 赛事咨询微信公众号
|
||||
|
||||
微信搜索“励志计划小助手”公众号,添加后进行留言咨 询。
|
||||
|
||||
4. 联系时间
|
||||
|
||||
比赛期间工作日(9:00-17:00) 12
|
||||
|
||||
<!-- Page 13 -->
|
||||
|
||||
附:发榜单位简介 中国青少年发展基金会简称为“中国青基会”,中国青基 会成立于1989年3月,是由共青团中央主管、在民政部登记注 册的全国性5A级公募基金会。中国青基会积极践行“为党育 人、为国育才,汇聚爱心、传递温暖,为青少年成长提供新助 力、播种新希望”的组织使命。目前,全国共有33家省级青基 会。共青团中央、中国青少年发展基金会于1989年10月发起 实施希望工程。截至2025年底,全国希望工程累计接受捐赠收 入247.29亿元,资助困难学生784.83万名,援建希望小学 21205所。同时,相继推出了乡村教师培训、“圆梦行动”等 项目,有效推动了欠发达地区教育事业发展、服务了广大青少 年成长发展、弘扬了社会文明新风,希望工程已经成为我国社 会参与最广泛、最富影响力的公益事业之一。
|
||||
|
||||
13
|
||||
@@ -0,0 +1,541 @@
|
||||
# 中国青基会平安励志计划 · 2026竞赛作品
|
||||
|
||||
# 科创企业特有风险识别与管理——基于语义计算与知识图谱的闭环风控系统研究报告
|
||||
|
||||
**题目编号**:XH-202626
|
||||
**选题名称**:科创企业特有风险的识别与管理
|
||||
**发榜单位**:中国青少年发展基金会、中国平安保险(联合发榜)
|
||||
**提报单位**:厦门城市职业学院
|
||||
**作品类型**:研究报告 × 风控原型系统(AI Multi-Agent + 知识图谱 + 动态定价引擎)
|
||||
**提交日期**:2026年9月
|
||||
|
||||
---
|
||||
|
||||
## 执行摘要
|
||||
|
||||
科技金融是中央金融工作会议提出的“五篇大文章”之首。以人工智能、半导体、前沿硬科技为代表的科创企业,是实现高水平科技自立自强的核心力量。然而,科创企业兼具技术密集、高不确定性、轻资产、长周期等特征,其面临的风险深藏于非结构化文本、算法备案公示、国际制裁清单及供应链拓扑关系中。传统依赖静态财务指标的评价体系对此类非标准化特有风险严重失效。
|
||||
|
||||
本研究报告紧扣“看得见风险、管得住过程、降得下损失”的全链条风控目标,创新性地构建了基于 Multi-Agent 专家辩论、供应链知识图谱与动态保险定价的科创企业特有风控闭环:
|
||||
1. **特有风险场景识别**:精准定义并构建了包括技术路线颠覆、核心人员流失、算法数据合规、地缘政治制裁、研发资本化操纵、客户/供应商集中等六维特有风险指标体系。
|
||||
2. **AI 多智能体辩论机制 (Multi-Agent Debate)**:引入法务风控节点 (Law Agent)、技术风控节点 (Tech Agent)、财务风控节点 (Finance Agent) 与法官裁决节点 (Judge Agent),基于 DeepSeek 在线推理引擎,实现多视角交叉质证与自动冲突消除。
|
||||
3. **供应链风险穿透图谱 (Knowledge Graph)**:利用 NetworkX 搭建包含实体清单与上下游依赖的拓扑网络,实现地缘政治与断供风险的毫秒级穿透预警。
|
||||
4. **中国平安保险主业闭环**:设计“科创特有风险综合险”,开发动态费率定价引擎 (Dynamic Pricing Engine) 与自动化核保决策报告生成器,将风控研究转化为具有强商业可行性的金融赋能方案。
|
||||
|
||||
本团队交付了完整落地的交互式金融级原型系统,实现了数据采集、多智能体辩论、图谱可视化与定价核保的全流程交互。
|
||||
|
||||
---
|
||||
|
||||
## 第一章 绪论与科创企业特有风险场景构建
|
||||
|
||||
### 1.1 科技金融战略与传统风控范式困局
|
||||
|
||||
中央金融工作会议强调将“科技金融”列为金融五篇大文章之首,明确要求金融机构加大对高科技企业、新质生产力的支持力度。然而,商业银行、保险公司以及股权投资机构在服务科创企业时,普遍面临“不敢投、不敢贷、不敢保”的结构性矛盾。
|
||||
|
||||
问题的本质在于传统企业风控逻辑与科创企业风险特征的根本性错位:
|
||||
1. **指标体系静态化**:传统企业风控依赖资产负债表、损益表及现金流量表,关注 EBIT、资产负债率、速动比率等财务数据。但科创企业前期研发投入巨大、无盈利或利润微薄、固定资产较少,静态财务指标无法真实反映企业的真实生存状态。
|
||||
2. **风险形态非标准化与隐蔽化**:科创企业的核心价值在于未来的技术壁垒与合规边界,其关键风险隐藏于年报长文本、网信办算法备案库、美国 BIS 实体清单、高管及核心研发人员异动公告中。这些信息具有高维、异构、非结构化的特征,传统规则引擎与量化模型难以有效捕捉。
|
||||
|
||||
### 1.2 科创企业六维特有风险机理模型
|
||||
|
||||
结合对科创板上市公司公告、司法诉讼记录、网信办备案数据及国际出口管制案列的深入研究,本研究定义并量化了科创企业的六大特有风险维度:
|
||||
|
||||
| 风险维度 | 风险名称 | 风险成因与演化机理 | 传统模型盲区 | 识别与量化路径 |
|
||||
|:---|:---|:---|:---|:---|
|
||||
| 维度一 | 技术路线颠覆风险 | 行业出现跨代突破性技术,原有技术研发路线被瞬间边缘化 | 传统模型视研发投入为无形资产,无法预判技术路线失效 | 抽取竞品技术关键词重合度,对比专利申请增速与替代技术文献分布 |
|
||||
| 维度二 | 核心人员流失风险 | 科创企业高度依赖少数领军科学家或 CTO,核心人员离职导致研发中断与技术泄露 | 资产负债表无法衡量人力资本价值与研发延续性 | 解析年报核心技术人员变动公示、高管股权激励解锁情况及劳动仲裁 |
|
||||
| 维度三 | 算法备案与数据合规 | 大模型及 AI 应用未通过网信办算法备案或违反数据出境安全评估,遭遇强制下架 | 传统合规审查仅关注营业执照与税务合规,不具备算法治理能力 | 检索网信办深度合成/算法备案库、对齐数据安全评估规范 |
|
||||
| 维度四 | 地缘政治与出口管制 | 上游核心元器件或 EDA 工具提供商被列入实体清单,导致供应链断裂 | 仅评估直接供应商信用,无法感知多级供应链依赖的隐性地缘风险 | 构建拓扑图谱,穿透上游二、三级供应商制裁状态与替代率 |
|
||||
| 维度五 | 研发资本化操纵风险 | 企业通过将本应费用化的研发支出异常资本化,人工虚增当期利润与资产 | 传统财务比率看重净利润,忽视资本化会计政策操纵 | 监控研发资本化率异动、比较同行均值偏差及资本化无形资产减值准备 |
|
||||
| 维度六 | 客户/供应商集中风险 | 营收过度依赖单一大客户或供应链依赖单一供应商,发生单点故障 (SPOF) | 传统信用评估孤立看单个主体,不评估产业链单点风险 | 计算 HHI 集中度指数,结合图谱出入度节点权重进行综合穿透 |
|
||||
|
||||
### 1.3 核心研究目标与闭环路径
|
||||
|
||||
本方案旨在打造“看得见风险、管得住过程、降得下损失”的全链条风控系统。整体路径划分为四个阶段:
|
||||
1. **数据感知**:全网抓取并解析财务量化指标与非结构化文本;
|
||||
2. **智能研判**:利用 Multi-Agent 辩论机制消除逻辑分歧,确定综合风险评级;
|
||||
3. **图谱穿透**:通过供应链知识图谱,实现地缘与断供风险的毫秒级预警;
|
||||
4. **金融赋能**:切入中国平安保险主业,完成“科创特有风险综合险”的动态定价与智能核保。
|
||||
|
||||
---
|
||||
|
||||
## 第二章 基于 AI 多智能体交叉辩论的技术架构
|
||||
|
||||
### 2.1 整体系统架构设计
|
||||
|
||||
系统包含数据采集与抽取层、供应链知识图谱层、AI 多智能体辩论研判层以及中国平安业务闭环层:
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
subgraph Layer1["1. 数据采集与抽取层"]
|
||||
A1["AKShare 量化数据接口<br/>(财务指标 / 集中度 / 资本化率)"]
|
||||
A2["巨潮资讯公告解析器<br/>(核心人员 / 诉讼 / 技术路线)"]
|
||||
A3["外部情报数据库<br/>(美国 BIS 实体清单 / 网信办算法备案)"]
|
||||
end
|
||||
|
||||
subgraph Layer2["2. 供应链知识图谱层 (NetworkX)"]
|
||||
B1["异构拓扑节点构建<br/>(科创企业 / 供应商 / 客户 / 专家)"]
|
||||
B2["广度优先风险传染算法<br/>(Breadth-First Risk Contagion)"]
|
||||
end
|
||||
|
||||
subgraph Layer3["3. AI 多智能体辩论研判层 (DeepSeek Engine)"]
|
||||
direction LR
|
||||
C1["法务风控节点<br/>(Law Agent)"] <--> C2["技术风控节点<br/>(Tech Agent)"]
|
||||
C2 <--> C3["财务风控节点<br/>(Finance Agent)"]
|
||||
C1 <--> C3
|
||||
C1 --> C4["委员会法官裁决节点<br/>(Judge Agent)"]
|
||||
C2 --> C4
|
||||
C3 --> C4
|
||||
end
|
||||
|
||||
subgraph Layer4["4. 中国平安主业闭环应用层"]
|
||||
D1["实时风控仪表盘<br/>(Web Dashboard)"]
|
||||
D2["动态费率定价引擎<br/>(Dynamic Pricing Engine)"]
|
||||
D3["自动化核保决策报告生成器<br/>(Underwriting Report Generator)"]
|
||||
end
|
||||
|
||||
Layer1 --> Layer2
|
||||
Layer2 --> Layer3
|
||||
Layer3 --> Layer4
|
||||
|
||||
style Layer1 fill:#0284c7,stroke:#38bdf8,color:#ffffff,stroke-width:2px
|
||||
style Layer2 fill:#7c3aed,stroke:#c084fc,color:#ffffff,stroke-width:2px
|
||||
style Layer3 fill:#ea580c,stroke:#fb923c,color:#ffffff,stroke-width:2px
|
||||
style Layer4 fill:#059669,stroke:#34d399,color:#ffffff,stroke-width:2px
|
||||
|
||||
style A1 fill:#e0f2fe,stroke:#0284c7,color:#0369a1
|
||||
style A2 fill:#e0f2fe,stroke:#0284c7,color:#0369a1
|
||||
style A3 fill:#e0f2fe,stroke:#0284c7,color:#0369a1
|
||||
|
||||
style B1 fill:#f3e8ff,stroke:#7c3aed,color:#6b21a8
|
||||
style B2 fill:#f3e8ff,stroke:#7c3aed,color:#6b21a8
|
||||
|
||||
style C1 fill:#ffedd5,stroke:#ea580c,color:#c2410c
|
||||
style C2 fill:#ffedd5,stroke:#ea580c,color:#c2410c
|
||||
style C3 fill:#ffedd5,stroke:#ea580c,color:#c2410c
|
||||
style C4 fill:#fef3c7,stroke:#d97706,color:#b45309
|
||||
|
||||
style D1 fill:#d1fae5,stroke:#059669,color:#047857
|
||||
style D2 fill:#d1fae5,stroke:#059669,color:#047857
|
||||
style D3 fill:#d1fae5,stroke:#059669,color:#047857
|
||||
```
|
||||
|
||||
### 2.2 多智能体辩论 (Multi-Agent Debate) 机制
|
||||
|
||||
单一的大语言模型在处理跨学科金融风控任务时,极易因Prompt偏向或事实幻觉而产生片面结论。为此,本系统设计了多视角交叉质证与辩论消除机制:
|
||||
|
||||
```python
|
||||
class MultiAgentDebateEngine:
|
||||
def __init__(self, law_agent, tech_agent, finance_agent, judge_agent):
|
||||
self.law_agent = law_agent
|
||||
self.tech_agent = tech_agent
|
||||
self.finance_agent = finance_agent
|
||||
self.judge_agent = judge_agent
|
||||
|
||||
def run_debate(self, company_data: dict) -> dict:
|
||||
# Phase 1: 专家节点独立研判
|
||||
law_result = self.law_agent.evaluate(company_data)
|
||||
tech_result = self.tech_agent.evaluate(company_data)
|
||||
finance_result = self.finance_agent.evaluate(company_data)
|
||||
|
||||
# Phase 2: 提取三方潜在冲突点
|
||||
conflicts = self._detect_conflicts(law_result, tech_result, finance_result)
|
||||
|
||||
# Phase 3: 法官节点综合裁决与冲突消除
|
||||
judge_result = self.judge_agent.adjudicate(
|
||||
company_data, law_result, tech_result, finance_result, conflicts
|
||||
)
|
||||
|
||||
return {
|
||||
"law_result": law_result,
|
||||
"tech_result": tech_result,
|
||||
"finance_result": finance_result,
|
||||
"conflicts": conflicts,
|
||||
"judge_result": judge_result,
|
||||
}
|
||||
|
||||
def _detect_conflicts(self, law_res, tech_res, fin_res):
|
||||
conflicts = []
|
||||
# 识别技术与财务之间的评价背离 (如技术专家评高分但财务专家识别资本化操纵)
|
||||
if tech_res["score"] < 40 and fin_res["scores"].get("rd_capitalization", 0) > 60:
|
||||
conflicts.append("技术专家认可研发强度,但财务专家指出研发支出资本化率异常高,存在粉饰嫌疑。")
|
||||
# 识别法务与技术之间的评价背离 (如技术领先但存在合规红线)
|
||||
if tech_res["score"] < 40 and law_res["scores"].get("algo_compliance", 0) > 60:
|
||||
conflicts.append("技术专家评定算法优势明显,但法务专家警告该算法未完成网信办合规备案。")
|
||||
return conflicts
|
||||
```
|
||||
|
||||
### 2.3 专家节点 Prompt 链工程规范
|
||||
|
||||
为了保证输出结果的严谨性与结构化,每个智能体节点均配置了明确的 Persona 提示词规范:
|
||||
|
||||
#### 法务风控节点 Prompt 示例:
|
||||
```text
|
||||
系统角色:你是一名精通《生成式人工智能服务管理暂行办法》、《出口管制法》及美国 BIS 实体清单规则的资深法务合规专家。
|
||||
任务目标:分析目标科创企业在地缘政治、出口管制及数据算法合规方面的特有风险。
|
||||
输入数据:企业合规记录、算法备案公示状态、供应链敏感节点清单。
|
||||
输出规范:请以 JSON 格式输出评估结果,包含:
|
||||
1. algo_compliance (算法/数据合规评分,0-100)
|
||||
2. geopolitical (地缘政治/实体清单风险评分,0-100)
|
||||
3. key_findings (关键违规要点列表)
|
||||
```
|
||||
|
||||
#### 财务风控节点 Prompt 示例:
|
||||
```text
|
||||
系统角色:你是一名熟悉科创板上市审计规则的资深注册会计师 (CPA)。
|
||||
任务目标:穿透目标企业的财务报告,重点识别研发资本化操纵及客户/供应商高度集中风险。
|
||||
输入数据:研发投入总额、研发资本化费用、前五大客户及供应商占比、应收账款周转率。
|
||||
输出规范:请以 JSON 格式输出评估结果,包含:
|
||||
1. rd_capitalization (研发资本化风险评分,0-100)
|
||||
2. concentration (客户/供应商集中风险评分,0-100)
|
||||
3. key_findings (财务异常特征分析)
|
||||
```
|
||||
|
||||
### 2.4 委员会法官节点冲突消除算法
|
||||
|
||||
法官节点 (Judge Agent) 接收三大专家的评分及冲突列表,采用动态加权评分矩阵计算综合风险评分 $S_{\text{comp}}$:
|
||||
|
||||
$$S_{\text{comp}} = \sum_{i \in \{\text{Law}, \text{Tech}, \text{Fin}\}} w_i \cdot S_i + \delta_{\text{conflict}}$$
|
||||
|
||||
其中,$w_{\text{Law}} = 0.35$,$w_{\text{Tech}} = 0.35$,$w_{\text{Fin}} = 0.30$;当检测到致命红线冲突(如直接被列入实体清单或重大算法违规)时,惩罚项 $\delta_{\text{conflict}} \in [15, 30]$,确保系统具备风险一票否决能力。
|
||||
|
||||
### 2.5 交叉质证冲突判定规则的研究设计
|
||||
|
||||
为了让委员会法官节点具备人类专家的敏感度,本研究在代码实现中硬编码了多种典型的科创企业风险冲突模式。这并非单纯依赖大模型的自由发挥,而是将金融审计经验转化为具体的规则前置约束。例如:
|
||||
|
||||
1. **研发投入真实性冲突 (Tech vs Finance)**:
|
||||
* 触发条件:技术节点评分 `< 40` (技术领先),但财务节点中“研发资本化风险”子项评分 `> 60`。
|
||||
* 研判逻辑:技术专家认可其高强度的研发投入,但财务审计视角发现该投入大量采用资本化手段而非费用化处理,存在为了满足上市利润要求而虚增资产的盈余管理嫌疑。
|
||||
2. **合规红线一票否决冲突 (Tech vs Law)**:
|
||||
* 触发条件:技术节点高度认可其算法性能,但法务节点检测到该模型未通过国家网信办《深度合成服务算法备案》。
|
||||
* 研判逻辑:在监管趋严的环境下,未合规的技术资产随时面临下架甚至行政处罚,此时系统将强制拉高整体风险评分,触发“附条件承保”或“拒保”决议。
|
||||
|
||||
通过上述专家规则 (Expert Rules) 与大模型推理能力的结合,系统显著提升了多智能体辩论的业务可解释性。
|
||||
|
||||
---
|
||||
|
||||
## 第三章 供应链知识图谱与地缘风险穿透模型
|
||||
|
||||
### 3.1 异构知识图谱本体设计 (Ontology Design)
|
||||
|
||||
在科创企业风险评估中,单一主体的风险往往沿着供应链、投资链及高管任职链条进行传染。本研究设计了包含以下实体与关系的异构图谱:
|
||||
|
||||
1. **实体类型 (Nodes)**:
|
||||
* `Enterprise` (科创企业节点):属性包括股票代码、行业领域、风险评级。
|
||||
* `Supplier` (供应商节点):属性包括供应元器件、制裁状态 (Is_Sanctioned)。
|
||||
* `Customer` (客户节点):属性包括营收贡献比例。
|
||||
* `Person` (核心技术人员/高管节点):属性包括姓名、职位、重要性。
|
||||
2. **关系类型 (Edges)**:
|
||||
* `SUPPLIES` (供应关系):属性包含供货份额 ($W_{\text{sup}}$)、可替代性得分 ($S_{\text{sub}}$)。
|
||||
* `RELIES_ON` (客户依赖关系):属性包含收入占比 ($W_{\text{rev}}$)。
|
||||
* `EMPLOYED_AT` (任职关系):属性包含入职时间、离职状态。
|
||||
|
||||
### 3.2 供应链风险传染算法实现
|
||||
|
||||
采用广度优先拓扑遍历算法 (Breadth-First Risk Contagion Algorithm),计算目标企业受上游制裁波及的波及指数 $I_{\text{contagion}}$:
|
||||
|
||||
```python
|
||||
import networkx as nx
|
||||
|
||||
def calculate_contagion_index(G: nx.DiGraph, target_company: str) -> dict:
|
||||
"""
|
||||
计算目标科创企业的供应链风险传染指数
|
||||
"""
|
||||
if target_company not in G:
|
||||
return {"risk_score": 0, "sanctioned_paths": []}
|
||||
|
||||
sanctioned_paths = []
|
||||
total_impact = 0.0
|
||||
|
||||
# 深度优先搜索 2 步内的上游供应商
|
||||
for predecessor in G.predecessors(target_company):
|
||||
edge_data = G.get_edge_data(predecessor, target_company)
|
||||
weight = edge_data.get("weight", 0.5)
|
||||
|
||||
# 检查供应商自身状态
|
||||
if G.nodes[predecessor].get("is_sanctioned", False):
|
||||
impact = weight * 100
|
||||
total_impact += impact
|
||||
sanctioned_paths.append({
|
||||
"supplier": predecessor,
|
||||
"impact": impact,
|
||||
"reason": "直接一级供应商被列入实体清单"
|
||||
})
|
||||
|
||||
# 检查二级供应商制裁情况
|
||||
for sub_pred in G.predecessors(predecessor):
|
||||
if G.nodes[sub_pred].get("is_sanctioned", False):
|
||||
sub_edge = G.get_edge_data(sub_pred, predecessor)
|
||||
impact = weight * sub_edge.get("weight", 0.5) * 60
|
||||
total_impact += impact
|
||||
sanctioned_paths.append({
|
||||
"supplier": f"{sub_pred} -> {predecessor}",
|
||||
"impact": impact,
|
||||
"reason": "二级上游元器件供应商被列入实体清单"
|
||||
})
|
||||
|
||||
final_score = min(100, total_impact)
|
||||
return {
|
||||
"risk_score": final_score,
|
||||
"sanctioned_paths": sanctioned_paths
|
||||
}
|
||||
```
|
||||
|
||||
### 3.3 实证数据源接入与预处理
|
||||
|
||||
系统构建了多源异构数据采集流水线,确保数据输入的真实性与可校验性:
|
||||
1. **财务与集中度数据**:调用 AKShare API 采集科创板企业的营收、研发费用、前五大客户及前五大供应商采购比例。
|
||||
2. **非结构化文本解析**:使用 Python PyPDF2 与正则表达式,自动化提取巨潮资讯网年报公告中的“核心技术人员变动”、“重大诉讼事项”及“技术路线描述”段落。
|
||||
3. **外部清单对接**:建立自动更新脚本,定期比对美国商务部工业和安全局 (BIS) 实体清单 (Entity List) 与网信办“互联网信息服务算法备案”公示名单。
|
||||
|
||||
---
|
||||
|
||||
## 第四章 中国平安业务闭环——“科创特有风险综合险”动态定价与智能核保
|
||||
|
||||
### 4.1 科创专属保险产品体系设计
|
||||
|
||||
针对传统财财险、责任险无法覆盖科创企业特有风险的空白,本方案依托中国平安保险主业资源,设计了“科创特有风险综合保险”产品组合:
|
||||
|
||||
1. **知识产权被诉与侵权损失保险**:赔偿因遭遇国外专利流氓或竞品公司诉讼产生的应诉抗辩费用及经济赔偿。
|
||||
2. **核心技术人员流失业务中断保险**:当核心研发人员离职触发业务停滞条件时,按约定标准向企业支付业务中断补偿金与人才再招聘津贴。
|
||||
3. **数据合规与算法监管整改损失保险**:保障企业因非主观恶意的数据合规整改导致的系统暂停营业损失与整改咨询费用。
|
||||
|
||||
### 4.2 动态费率精算模型
|
||||
|
||||
系统打破传统固定费率核保模式,建立基于实时综合风险评分的动态精算模型:
|
||||
|
||||
$$P_{\text{final}} = P_{\text{base}} \cdot M_{\text{risk}} \cdot F_{\text{industry}} \cdot F_{\text{scale}} \cdot \left(1 + \sum_{k=1}^{6} \Delta_k\right)$$
|
||||
|
||||
#### 1. 参数定义与取值规则:
|
||||
* $P_{\text{base}}$:基础保费(按投保保额 $\text{Coverage} \times \text{BaseRate}$ 计算)。
|
||||
* $M_{\text{risk}}$:基于六维综合风险评分 $S_{\text{comp}}$ 的风险调整乘数:
|
||||
|
||||
$$M_{\text{risk}} = \begin{cases}
|
||||
2.50 & (S_{\text{comp}} \ge 70, \text{高风险/惩罚性费率}) \\
|
||||
1.0 + \frac{S_{\text{comp}} - 40}{30} \cdot 0.80 & (40 \le S_{\text{comp}} < 70, \text{中风险线性浮动}) \\
|
||||
0.85 & (S_{\text{comp}} < 40, \text{优质企业优惠费率})
|
||||
\end{cases}$$
|
||||
|
||||
* $F_{\text{industry}}$:行业风险调节系数(如 AI 大模型为 1.35,半导体设计为 1.25,生物医药为 1.15)。
|
||||
* $F_{\text{scale}}$:企业规模折扣系数(营收大于 10 亿元为 0.90,小于 1 亿元为 1.10)。
|
||||
* $\Delta_k$:特定维度超标时的专项附加惩罚费率(例如当发现研发资本化率超过 40% 时,附加 $\Delta_{\text{cap}} = 0.20$)。
|
||||
|
||||
#### 2. 动态定价计算逻辑实现代码:
|
||||
|
||||
```python
|
||||
def calculate_dynamic_pricing(company_data: dict, risk_result: dict, product_config: dict) -> dict:
|
||||
comprehensive_score = risk_result["comprehensive_score"]
|
||||
base_premium = product_config["base_premium"]
|
||||
|
||||
# 1. 风险乘数计算
|
||||
if comprehensive_score >= 70:
|
||||
risk_multiplier = 2.50
|
||||
is_insurable = False # 建议拒保
|
||||
elif comprehensive_score >= 40:
|
||||
risk_multiplier = 1.0 + ((comprehensive_score - 40) / 30.0) * 0.80
|
||||
is_insurable = True
|
||||
else:
|
||||
risk_multiplier = 0.85
|
||||
is_insurable = True
|
||||
|
||||
# 2. 行业系数
|
||||
sector = company_data.get("sector", "")
|
||||
industry_factors = {"人工智能": 1.35, "半导体": 1.25, "生物医药": 1.15, "高端制造": 1.05}
|
||||
industry_factor = industry_factors.get(sector, 1.0)
|
||||
|
||||
# 3. 最终保费与保额调整
|
||||
final_premium = base_premium * risk_multiplier * industry_factor
|
||||
deductible_rate = 0.05 if comprehensive_score < 40 else (0.10 if comprehensive_score < 70 else 0.20)
|
||||
|
||||
return {
|
||||
"product_name": product_config["name"],
|
||||
"is_insurable": is_insurable,
|
||||
"base_premium": base_premium,
|
||||
"final_premium": round(final_premium, 2),
|
||||
"risk_multiplier": round(risk_multiplier, 3),
|
||||
"industry_factor": industry_factor,
|
||||
"deductible_rate": deductible_rate,
|
||||
"underwriting_decision": "同意承保" if is_insurable else "拒绝承保"
|
||||
}
|
||||
```
|
||||
|
||||
### 4.3 自动化核保决策报告生成引擎
|
||||
|
||||
系统集成了 Markdown 核保决策报告生成器,自动整合公司基本面、六维风险评分、多智能体辩论研判过程及动态定价结论:
|
||||
|
||||
```text
|
||||
===================================================================================
|
||||
中国平安保险 · 科创企业核保决策报告
|
||||
===================================================================================
|
||||
报告编号: RPT-20260913-688256 生成时间: 2026-09-13 10:30:00
|
||||
被保险企业: 寒武纪科技股份有限公司 股票代码: 688256
|
||||
所属行业: 半导体及芯片设计 评估结论: 【附条件承保】
|
||||
|
||||
一、六维风险综合评估
|
||||
-----------------------------------------------------------------------------------
|
||||
综合风险评分: 68分 (中高风险)
|
||||
- 技术路线颠覆风险: 45分 (中) - 核心人员流失风险: 35分 (低)
|
||||
- 算法与数据合规风险: 75分 (高) - 地缘政治与出口管制: 82分 (极高)
|
||||
- 研发资本化操纵风险: 40分 (中) - 客户/供应商集中度: 65分 (中高)
|
||||
|
||||
二、多智能体交叉验证审计意见
|
||||
-----------------------------------------------------------------------------------
|
||||
[法务专家 (Law Agent)]:
|
||||
上游 EDA 软件供应商 Synopsys 存在潜在出口管制风险;算法备案公示信息符合规范。
|
||||
[财务专家 (Finance Agent)]:
|
||||
前两大客户占总营收 82%,存在严重单点依赖风险;研发费用资本化率 15%,处于合理区间。
|
||||
[委员会裁决 (Judge Agent)]:
|
||||
企业总体具备较高技术壁垒,但上游供应链受制裁波及风险显著,且客户集中度偏高。
|
||||
|
||||
三、核保决策与特约条件
|
||||
-----------------------------------------------------------------------------------
|
||||
1. 承保方案: 同意承保“科创特有风险综合险”
|
||||
2. 基础保费: ¥100,000 --> 动态调整后保费: ¥168,750 (风险乘数: 1.35)
|
||||
3. 免赔率: 10%
|
||||
4. 特约特别约定:
|
||||
- 投保企业须在 90 天内提供上游 EDA 工具的备用国产化替代预案;
|
||||
- 排他条款:因主动违反出口管制法规导致的设备断供不在理赔范围内。
|
||||
===================================================================================
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 第五章 原型系统实现与应用展示
|
||||
|
||||
### 5.1 系统开发环境与技术栈配置
|
||||
|
||||
本作品交付了可直接运行的完整金融级 Web 系统原型。开发环境与核心组件如下:
|
||||
* **前端与交互框架**:金融级 Web 交互框架 (支持多页面路由与全局 State 同步)
|
||||
* **矢量与图谱可视化**:Plotly 5.18+ / PyVis 0.3+ (网络拓扑渲染)
|
||||
|
||||
### 4.2 系统模块架构与导航结构
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
Root["金融级 Web 多页面导航结构"]
|
||||
```
|
||||
* **大模型推理引擎**:DeepSeek API (`deepseek-chat` 引擎)
|
||||
* **知识图谱与计算库**:NetworkX 3.0+、Pandas 2.0+、NumPy
|
||||
* **数据可视化库**:Plotly Express & Graph Objects (暗黑金融科技主题)
|
||||
|
||||
### 5.2 核心页面结构与功能列表
|
||||
|
||||
原型系统包含五个规范化的业务板块:
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
Root["Streamlit 多页面导航结构"]
|
||||
|
||||
Sub1["系统首页"] --> F1["全景监控大屏"] & F2["高/中/低风险企业热力图"] & F3["统计卡片"]
|
||||
Sub2["企业风险概览"] --> F4["六维风险雷达图"] & F5["核心技术人员变动"] & F6["财务明细透视"]
|
||||
Sub3["供应链知识图谱"] --> F7["交互式 NetworkX 图谱"] & F8["实体清单受制裁高亮"] & F9["波及传染分析"]
|
||||
Sub4["多智能体辩论诊断"] --> F10["实时打字机流式终端"] & F11["三方交叉质证"] & F12["法官裁决卡片"]
|
||||
Sub5["动态定价与核保"] --> F13["费率对比图表"] & F14["定价因子瀑布图"] & F15["Markdown 核保报告"]
|
||||
|
||||
Root --> Sub1
|
||||
Root --> Sub2
|
||||
Root --> Sub3
|
||||
Root --> Sub4
|
||||
Root --> Sub5
|
||||
|
||||
style Root fill:#4f46e5,stroke:#818cf8,color:#ffffff,stroke-width:2px
|
||||
style Sub1 fill:#0284c7,stroke:#38bdf8,color:#ffffff
|
||||
style Sub2 fill:#7c3aed,stroke:#c084fc,color:#ffffff
|
||||
style Sub3 fill:#db2777,stroke:#f472b6,color:#ffffff
|
||||
style Sub4 fill:#ea580c,stroke:#fb923c,color:#ffffff
|
||||
style Sub5 fill:#059669,stroke:#34d399,color:#ffffff
|
||||
|
||||
style F1 fill:#e0f2fe,color:#0369a1
|
||||
style F2 fill:#e0f2fe,color:#0369a1
|
||||
style F3 fill:#e0f2fe,color:#0369a1
|
||||
style F4 fill:#f3e8ff,color:#6b21a8
|
||||
style F5 fill:#f3e8ff,color:#6b21a8
|
||||
style F6 fill:#f3e8ff,color:#6b21a8
|
||||
style F7 fill:#fce7f3,color:#be185d
|
||||
style F8 fill:#fce7f3,color:#be185d
|
||||
style F9 fill:#fce7f3,color:#be185d
|
||||
style F10 fill:#ffedd5,color:#c2410c
|
||||
style F11 fill:#ffedd5,color:#c2410c
|
||||
style F12 fill:#ffedd5,color:#c2410c
|
||||
style F13 fill:#d1fae5,color:#047857
|
||||
style F14 fill:#d1fae5,color:#047857
|
||||
style F15 fill:#d1fae5,color:#047857
|
||||
```
|
||||
|
||||
### 5.3 核心功能创新与金融可解释性设计
|
||||
|
||||
1. **沉浸式多智能体推演可视化 (Explainable AI 展现)**:
|
||||
在金融风控领域,黑盒模型往往无法被合规部门接受。本系统在辩论诊断页面,实时拉取并展示三大风控专家与委员会法官的推理思维链 (Thinking Stream)。这种全过程透明可视化的设计,让核保人员不仅知其然,更能“知其所以然”,大幅提升了 AI 介入强监管金融业务的可解释性。
|
||||
2. **图谱视角的风险穿透与高亮预警**:
|
||||
有别于传统风控系统孤立展示企业数据的做法,本原型在知识图谱模块实现了“风险沿供应链传染”的动态高亮。当系统检索到某二级供应商位列美国 BIS 实体清单时,会自动沿拓扑网络将风险路径标红,直观呈现地缘政治带来的断供波及效应,为保险精算提供直观的证据链。
|
||||
3. **规则引擎与大模型混合驱动的智能核保**:
|
||||
在最终定价与报告生成环节,系统摒弃了完全由 LLM 自由发挥的不可控模式,采用了“硬规则 + 柔性文本”的混合架构。综合评分硬性决定基础保费的上浮系数与免赔额(如 `score >= 70` 直接拒保或实施惩罚性费率),而大模型则负责基于这些硬结论,润色并生成带有“特约条款(如限期寻找国产化替代方案)”的标准 Markdown 核保报告。
|
||||
|
||||
---
|
||||
|
||||
## 第六章 课题研发与跨学科技术路线说明
|
||||
|
||||
### 6.1 课题研发技术路线架构
|
||||
|
||||
本项目研究与工程实现充分融合了计算机软件工程、大模型算法、金融精算与经济法学等多学科方法论,形成了清晰完整的研发技术路线:
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
Developer["课题研发与技术工程路线<br/>(跨学科交叉融合)"]
|
||||
|
||||
GroupA["软件工程与 AI 落地<br/>(计算机 / 数据科学)"]
|
||||
GroupB["金融精算与法律研判<br/>(金融工程 / 经济法学)"]
|
||||
|
||||
Developer --> GroupA
|
||||
Developer --> GroupB
|
||||
|
||||
TaskA1["DeepSeek API 接口封装"] --> GroupA
|
||||
TaskA2["Multi-Agent 辩论引擎开发"] --> GroupA
|
||||
TaskA3["NetworkX 知识图谱算法"] --> GroupA
|
||||
TaskA4["金融级 Web 交互原型"] --> GroupA
|
||||
|
||||
TaskB1["六维特有风险指标定义"] --> GroupB
|
||||
TaskB2["平安主业动态保费定价模型"] --> GroupB
|
||||
TaskB3["算法与出口管制合规研究"] --> GroupB
|
||||
TaskB4["自动化核保决策报告模板"] --> GroupB
|
||||
|
||||
style Developer fill:#7c3aed,stroke:#a855f7,color:#ffffff,stroke-width:3px
|
||||
style GroupA fill:#0284c7,stroke:#38bdf8,color:#ffffff,stroke-width:2px
|
||||
style GroupB fill:#059669,stroke:#34d399,color:#ffffff,stroke-width:2px
|
||||
|
||||
style TaskA1 fill:#e0f2fe,color:#0369a1
|
||||
style TaskA2 fill:#e0f2fe,color:#0369a1
|
||||
style TaskA3 fill:#e0f2fe,color:#0369a1
|
||||
style TaskA4 fill:#e0f2fe,color:#0369a1
|
||||
|
||||
style TaskB1 fill:#d1fae5,color:#047857
|
||||
style TaskB2 fill:#d1fae5,color:#047857
|
||||
style TaskB3 fill:#d1fae5,color:#047857
|
||||
style TaskB4 fill:#d1fae5,color:#047857
|
||||
```
|
||||
|
||||
### 6.2 跨学科研发成果
|
||||
|
||||
1. **AI 与软件工程实现**:完成了后端 Python 数据流水线搭建、DeepSeek API 接口封装、Multi-Agent 辩论质询逻辑与 Prompt 链测试、NetworkX 异构知识图谱拓扑建图,以及金融级 Web 交互原型的全套工程开发。
|
||||
2. **金融精算与法律研究**:深入研读科创板上市公司年报与 BIS 实体清单案例,构建六维特有风险量化指标体系,设计平安“科创特有风险综合险”产品条款,推导动态保费精算模型,并撰写标准化核保决策报告模板。
|
||||
|
||||
---
|
||||
|
||||
## 第七章 结论与未来展望
|
||||
|
||||
### 7.1 研究结论总结
|
||||
|
||||
本研究针对科创企业技术密集、高不确定性及非标准化特有风险突出的时代痛点,成功构建了“基于 AI 多智能体交叉辩论 × 供应链知识图谱”的新型风控范式,并打通了中国平安保险主业的动态定价与智能核保闭环:
|
||||
1. 精准定义了技术路线颠覆、核心人员流失、算法合规等六维特有风险指标,填补了传统静态财务风控的盲区。
|
||||
2. 引入多智能体交叉辩论与冲突消除机制,克服了单一大模型评估的视角片面性与事实幻觉。
|
||||
3. 建立供应链拓扑知识图谱,实现了地缘政治制裁风险的毫秒级穿透预警。
|
||||
4. 推出“科创特有风险综合险”及动态定价引擎,将学术研究转化为具备强可行性的金融产品原型。
|
||||
|
||||
### 7.2 场景扩展与应用前景
|
||||
|
||||
本研究成果具备极高的通用性与扩展潜力,可进一步辐射至多个相关金融场景:
|
||||
1. **商业银行“科技贷”质押审查**:帮助银行穿透评估科创企业的专利技术真实价值与供应链稳定性,降低坏账风险。
|
||||
2. **硬科技 VC/PE 智能尽职调查**:为股权投资机构提供自动化的技术路线颠覆性预警与高管履历穿透工具,提升尽调效率。
|
||||
3. **再保险与巨灾风险组合管理**:为再保险公司评估高科技产业链的系统性断供风险,优化风险组合配置。
|
||||
|
||||
---
|
||||
*中国青基会平安励志计划 · 2026 挑战杯“揭榜挂帅”擂台赛 XH-202626 课题研究团队 敬呈*
|
||||
@@ -0,0 +1,72 @@
|
||||
<!-- ppt-master-schema: spec-lock/v1 -->
|
||||
# Execution Lock
|
||||
|
||||
## canvas
|
||||
- viewBox: 0 0 1280 720
|
||||
- format: PPT 16:9
|
||||
|
||||
## communication
|
||||
- audience: 2026年中国青基会平安励志计划评审专家团(金融/技术/管理/法律跨学科背景)
|
||||
- objective: 全面展示本团队在“科创企业特有风险识别与管理”课题上的研究深度、技术创新与商业落地能力
|
||||
- core_message: 构建了“AI多智能体辩论 x 供应链知识图谱 x 动态保险定价”的科创企业全链条风控闭环,填补传统风控盲区
|
||||
- consumption_mode: balanced
|
||||
|
||||
## mode
|
||||
- mode: pyramid
|
||||
|
||||
## visual_style
|
||||
- visual_style: dark-tech
|
||||
|
||||
## colors
|
||||
- bg: #0a0f1e
|
||||
- secondary_bg: #111827
|
||||
- primary: #3b82f6
|
||||
- accent: #f97316
|
||||
- secondary_accent: #22d3ee
|
||||
- text: #e2e8f0
|
||||
- surface: #1e293b
|
||||
- grid: #334155
|
||||
- positive: #22c55e
|
||||
- warning: #eab308
|
||||
- negative: #ef4444
|
||||
|
||||
## typography
|
||||
- font_family: SimHei, Microsoft YaHei, Segoe UI, sans-serif
|
||||
- body: 24
|
||||
- title: 36
|
||||
- subtitle: 28
|
||||
- lead: 26
|
||||
- annotation: 18
|
||||
- footnote: 14
|
||||
|
||||
## icons
|
||||
- library: tabler-filled
|
||||
- inventory: alert-triangle, device-desktop, user, world, coin, chart-pie, shield-check, code-circle, bolt, file-text, circle-arrow-right, circle-arrow-up, chess, circle-check, database, search, arrow-big-up
|
||||
|
||||
## page_rhythm
|
||||
- P01: anchor
|
||||
- P02: breathing
|
||||
- P03: dense
|
||||
- P04: breathing
|
||||
- P05: dense
|
||||
- P06: dense
|
||||
- P07: dense
|
||||
- P08: dense
|
||||
- P09: dense
|
||||
- P10: dense
|
||||
- P11: dense
|
||||
- P12: dense
|
||||
- P13: dense
|
||||
- P14: dense
|
||||
- P15: dense
|
||||
- P16: breathing
|
||||
- P17: breathing
|
||||
- P18: anchor
|
||||
|
||||
## pptx_structure
|
||||
- mode: flat
|
||||
|
||||
## forbidden
|
||||
- Mixing icon libraries
|
||||
- `mask`, `<style>`, `class`, external CSS, `<foreignObject>`, `textPath`, `@font-face`, `<animate*>`, `<set>`, `<script>` / event attributes, `<iframe>`
|
||||
- HTML named entities in text; write typography as raw Unicode and escape XML reserved characters
|
||||
@@ -0,0 +1,19 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="#0A0F1E"/>
|
||||
<path d="M 0,180 L 1280,180 M 0,360 L 1280,360 M 0,540 L 1280,540" stroke="#1E293B" stroke-width="1" opacity="0.3"/>
|
||||
<path d="M 320,0 L 320,720 M 640,0 L 640,720 M 960,0 L 960,720" stroke="#1E293B" stroke-width="1" opacity="0.3"/>
|
||||
<circle cx="640" cy="360" r="280" fill="none" stroke="#3B82F6" stroke-width="1.5" opacity="0.15"/>
|
||||
<circle cx="640" cy="360" r="420" fill="none" stroke="#22D3EE" stroke-width="1" opacity="0.1"/>
|
||||
|
||||
<g transform="translate(640, 280)">
|
||||
<text x="0" y="0" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="46" font-weight="bold" fill="#F8FAFC" text-anchor="middle">数智风控:AI 科创企业新型风险前瞻治理方案</text>
|
||||
<text x="0" y="70" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="26" font-weight="bold" fill="#22D3EE" text-anchor="middle">基于语义计算与知识图谱的闭环风控系统</text>
|
||||
</g>
|
||||
|
||||
<g transform="translate(640, 520)">
|
||||
<line x1="-200" y1="-30" x2="200" y2="-30" stroke="#334155" stroke-width="1.5"/>
|
||||
<text x="0" y="10" font-family="Microsoft YaHei, sans-serif" font-size="24" font-weight="bold" fill="#CBD5E1" text-anchor="middle">提报单位:厦门城市职业学院</text>
|
||||
</g>
|
||||
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
@@ -0,0 +1,61 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="#0A0F1E"/>
|
||||
|
||||
<!-- Header -->
|
||||
<text x="40" y="65" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="36" font-weight="bold" fill="#F8FAFC">汇报大纲</text>
|
||||
<text x="40" y="105" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#22D3EE">研究报告与原型系统九大核心板块</text>
|
||||
<line x1="40" y1="122" x2="1240" y2="122" stroke="#334155" stroke-width="1.5"/>
|
||||
|
||||
<g transform="translate(60, 145)">
|
||||
<!-- 行 1 -->
|
||||
<rect x="0" y="0" width="270" height="230" rx="8" fill="#111827" stroke="#3B82F6" stroke-width="1.5"/>
|
||||
<text x="25" y="45" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="28" font-weight="bold" fill="#3B82F6">01</text>
|
||||
<text x="25" y="85" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="22" font-weight="bold" fill="#F8FAFC">研究背景与局限</text>
|
||||
<text x="25" y="135" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 财务范式失灵</text>
|
||||
<text x="25" y="175" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 闭环风控目标</text>
|
||||
|
||||
<rect x="295" y="0" width="270" height="230" rx="8" fill="#111827" stroke="#334155" stroke-width="1"/>
|
||||
<text x="320" y="45" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="28" font-weight="bold" fill="#3B82F6">02</text>
|
||||
<text x="320" y="85" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="22" font-weight="bold" fill="#F8FAFC">六维特有风险</text>
|
||||
<text x="320" y="135" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 六大场景定义</text>
|
||||
<text x="320" y="175" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 量化路径与数据</text>
|
||||
|
||||
<rect x="590" y="0" width="270" height="230" rx="8" fill="#111827" stroke="#334155" stroke-width="1"/>
|
||||
<text x="615" y="45" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="28" font-weight="bold" fill="#3B82F6">03</text>
|
||||
<text x="615" y="85" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="22" font-weight="bold" fill="#F8FAFC">系统整体架构</text>
|
||||
<text x="615" y="135" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 四层解耦架构图</text>
|
||||
<text x="615" y="175" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• DeepSeek 底座</text>
|
||||
|
||||
<rect x="885" y="0" width="270" height="230" rx="8" fill="#111827" stroke="#F97316" stroke-width="1.5"/>
|
||||
<text x="910" y="45" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="28" font-weight="bold" fill="#F97316">04</text>
|
||||
<text x="910" y="85" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="22" font-weight="bold" fill="#F8FAFC">Multi-Agent 辩论</text>
|
||||
<text x="910" y="135" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 三节点质询</text>
|
||||
<text x="910" y="175" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 一票否决规则</text>
|
||||
|
||||
<!-- 行 2 -->
|
||||
<rect x="0" y="255" width="270" height="230" rx="8" fill="#111827" stroke="#22D3EE" stroke-width="1.5"/>
|
||||
<text x="25" y="300" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="28" font-weight="bold" fill="#22D3EE">05</text>
|
||||
<text x="25" y="340" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="22" font-weight="bold" fill="#F8FAFC">供应链知识图谱</text>
|
||||
<text x="25" y="390" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 拓扑穿透模型</text>
|
||||
<text x="25" y="430" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• BIS 清单预警</text>
|
||||
|
||||
<rect x="295" y="255" width="270" height="230" rx="8" fill="#111827" stroke="#334155" stroke-width="1"/>
|
||||
<text x="320" y="300" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="28" font-weight="bold" fill="#3B82F6">06</text>
|
||||
<text x="320" y="340" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="22" font-weight="bold" fill="#F8FAFC">平安动态定价</text>
|
||||
<text x="320" y="390" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 动态保费精算</text>
|
||||
<text x="320" y="430" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 自动化核保报告</text>
|
||||
|
||||
<rect x="590" y="255" width="270" height="230" rx="8" fill="#111827" stroke="#22C55E" stroke-width="1.5"/>
|
||||
<text x="615" y="300" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="28" font-weight="bold" fill="#22C55E">07</text>
|
||||
<text x="615" y="340" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="22" font-weight="bold" fill="#22C55E">系统实操截图展示</text>
|
||||
<text x="615" y="390" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#F8FAFC">• 4 大功能模块真实截图</text>
|
||||
<text x="615" y="430" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#F8FAFC">• 浏览器 Mockup 展示</text>
|
||||
|
||||
<rect x="885" y="255" width="270" height="230" rx="8" fill="#111827" stroke="#334155" stroke-width="1"/>
|
||||
<text x="910" y="300" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="28" font-weight="bold" fill="#3B82F6">08</text>
|
||||
<text x="910" y="340" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="22" font-weight="bold" fill="#F8FAFC">课题研发与展望</text>
|
||||
<text x="910" y="390" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 跨学科成果展示</text>
|
||||
<text x="910" y="430" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 场景泛化扩展</text>
|
||||
</g>
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 6.0 KiB |
@@ -0,0 +1,44 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="#0A0F1E"/>
|
||||
|
||||
<!-- Header -->
|
||||
<text x="40" y="65" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="36" font-weight="bold" fill="#F8FAFC">研究背景与传统范式局限</text>
|
||||
<text x="40" y="105" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#22D3EE">传统静态财务风控严重盲区</text>
|
||||
<line x1="40" y1="122" x2="1240" y2="122" stroke="#334155" stroke-width="1.5"/>
|
||||
|
||||
|
||||
<g transform="translate(60, 140)">
|
||||
<rect x="0" y="0" width="560" height="500" rx="8" fill="#111827" stroke="#EF4444" stroke-width="1.5"/>
|
||||
<rect x="0" y="0" width="560" height="55" rx="8" fill="#7F1D1D"/>
|
||||
<text x="280" y="36" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="22" font-weight="bold" fill="#F8FAFC" text-anchor="middle">传统静态财务风控两大盲区</text>
|
||||
|
||||
<g transform="translate(30, 85)">
|
||||
<text x="0" y="35" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#EF4444">盲区一:轻资产与高研致财报失真</text>
|
||||
<text x="0" y="75" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 研发投入占比高,缺少固定资产抵押</text>
|
||||
<text x="0" y="115" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 会计资本化操纵难以识别</text>
|
||||
|
||||
<text x="0" y="185" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#EF4444">盲区二:非标特有风险完全隐蔽</text>
|
||||
<text x="0" y="225" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 技术路线被颠覆、核心人员流失</text>
|
||||
<text x="0" y="265" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 算法违规被拒、地缘政治制裁</text>
|
||||
</g>
|
||||
|
||||
<rect x="600" y="0" width="560" height="500" rx="8" fill="#111827" stroke="#22C55E" stroke-width="1.5"/>
|
||||
<rect x="600" y="0" width="560" height="55" rx="8" fill="#064E3B"/>
|
||||
<text x="880" y="36" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="22" font-weight="bold" fill="#F8FAFC" text-anchor="middle">全链条闭环风控目标</text>
|
||||
|
||||
<g transform="translate(630, 85)">
|
||||
<rect x="0" y="20" width="500" height="100" rx="8" fill="#1E293B" stroke="#22C55E" stroke-width="1"/>
|
||||
<text x="30" y="60" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#22C55E">看得见风险</text>
|
||||
<text x="30" y="95" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 实时穿透非结构化数据与关系网</text>
|
||||
|
||||
<rect x="0" y="145" width="500" height="100" rx="8" fill="#1E293B" stroke="#22C55E" stroke-width="1"/>
|
||||
<text x="30" y="185" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#22C55E">管得住过程</text>
|
||||
<text x="30" y="220" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• Multi-Agent 多视角质询与动态评估</text>
|
||||
|
||||
<rect x="0" y="270" width="500" height="100" rx="8" fill="#1E293B" stroke="#22C55E" stroke-width="1"/>
|
||||
<text x="30" y="310" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#22C55E">降得下损失</text>
|
||||
<text x="30" y="345" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 平安科创综合险与动态精算定价</text>
|
||||
</g>
|
||||
</g>
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.7 KiB |
@@ -0,0 +1,42 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="#0A0F1E"/>
|
||||
|
||||
<!-- Header -->
|
||||
<text x="40" y="65" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="36" font-weight="bold" fill="#F8FAFC">课题整体研究路线图</text>
|
||||
<text x="40" y="105" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#22D3EE">理论探索 ➔ 算法建模 ➔ 工程落地 ➔ 保险闭环</text>
|
||||
<line x1="40" y1="122" x2="1240" y2="122" stroke="#334155" stroke-width="1.5"/>
|
||||
|
||||
|
||||
<rect x="60" y="150" width="1160" height="500" rx="8" fill="#111827" stroke="#3B82F6" stroke-width="1.5"/>
|
||||
|
||||
<g transform="translate(90, 220)">
|
||||
<rect x="0" y="0" width="240" height="360" rx="8" fill="#1E293B" stroke="#3B82F6" stroke-width="1.5"/>
|
||||
<rect x="0" y="0" width="240" height="50" rx="8" fill="#3B82F6"/>
|
||||
<text x="120" y="33" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#F8FAFC" text-anchor="middle">阶段一:理论构建</text>
|
||||
<text x="20" y="100" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 识别六维特有风险</text>
|
||||
<text x="20" y="150" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 建立多源数据提取</text>
|
||||
<text x="20" y="200" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 构建量化计算指标</text>
|
||||
|
||||
<rect x="280" y="0" width="240" height="360" rx="8" fill="#1E293B" stroke="#F97316" stroke-width="1.5"/>
|
||||
<rect x="280" y="0" width="240" height="50" rx="8" fill="#F97316"/>
|
||||
<text x="400" y="33" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#F8FAFC" text-anchor="middle">阶段二:算法研发</text>
|
||||
<text x="300" y="100" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• Multi-Agent 质询</text>
|
||||
<text x="300" y="150" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 冲突裁决一票否决</text>
|
||||
<text x="300" y="200" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 知识图谱拓扑穿透</text>
|
||||
|
||||
<rect x="560" y="0" width="240" height="360" rx="8" fill="#1E293B" stroke="#22D3EE" stroke-width="1.5"/>
|
||||
<rect x="560" y="0" width="240" height="50" rx="8" fill="#0891B2"/>
|
||||
<text x="680" y="33" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#F8FAFC" text-anchor="middle">阶段三:原型开发</text>
|
||||
<text x="580" y="100" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• Python 数据流水线</text>
|
||||
<text x="580" y="150" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• DeepSeek API 封装</text>
|
||||
<text x="580" y="200" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 交互式控制台大屏</text>
|
||||
|
||||
<rect x="840" y="0" width="240" height="360" rx="8" fill="#1E293B" stroke="#22C55E" stroke-width="1.5"/>
|
||||
<rect x="840" y="0" width="240" height="50" rx="8" fill="#059669"/>
|
||||
<text x="960" y="33" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#F8FAFC" text-anchor="middle">阶段四:商业闭环</text>
|
||||
<text x="860" y="100" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 科创综合险产品</text>
|
||||
<text x="860" y="150" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 动态费率精算模型</text>
|
||||
<text x="860" y="200" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 自动核保报告生成</text>
|
||||
</g>
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.8 KiB |
@@ -0,0 +1,42 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="#0A0F1E"/>
|
||||
|
||||
<!-- Header -->
|
||||
<text x="40" y="65" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="36" font-weight="bold" fill="#F8FAFC">科创企业六维特有风险模型</text>
|
||||
<text x="40" y="105" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#22D3EE">突破传统静态财务框架的动态评估矩阵</text>
|
||||
<line x1="40" y1="122" x2="1240" y2="122" stroke="#334155" stroke-width="1.5"/>
|
||||
|
||||
|
||||
<g transform="translate(60, 140)">
|
||||
<rect x="0" y="0" width="360" height="235" rx="8" fill="#111827" stroke="#3B82F6" stroke-width="1.5"/>
|
||||
<text x="20" y="40" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="22" font-weight="bold" fill="#3B82F6">技术路线颠覆风险</text>
|
||||
<text x="20" y="90" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#F8FAFC">• 竞品突破导致技术迭代</text>
|
||||
<text x="20" y="130" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 量化:竞品重合度 + 专利增速</text>
|
||||
|
||||
<rect x="390" y="0" width="360" height="235" rx="8" fill="#111827" stroke="#3B82F6" stroke-width="1.5"/>
|
||||
<text x="410" y="40" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="22" font-weight="bold" fill="#3B82F6">核心技术人员流失</text>
|
||||
<text x="410" y="90" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#F8FAFC">• 核心科学家/CTO 离职</text>
|
||||
<text x="410" y="130" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 量化:高管变动 NLP 抽取</text>
|
||||
|
||||
<rect x="780" y="0" width="360" height="235" rx="8" fill="#111827" stroke="#F97316" stroke-width="1.5"/>
|
||||
<text x="800" y="40" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="22" font-weight="bold" fill="#F97316">算法与数据合规风险</text>
|
||||
<text x="800" y="90" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#F8FAFC">• 深度合成未备案/数据出境</text>
|
||||
<text x="800" y="130" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#F97316">• 一票否决机制</text>
|
||||
|
||||
<rect x="0" y="255" width="360" height="235" rx="8" fill="#111827" stroke="#F97316" stroke-width="1.5"/>
|
||||
<text x="20" y="295" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="22" font-weight="bold" fill="#F97316">地缘与出口管制</text>
|
||||
<text x="20" y="345" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#F8FAFC">• 实体清单引发二级断供</text>
|
||||
<text x="20" y="385" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#F97316">• 量化:图谱 BFS 穿透传染</text>
|
||||
|
||||
<rect x="390" y="255" width="360" height="235" rx="8" fill="#111827" stroke="#3B82F6" stroke-width="1.5"/>
|
||||
<text x="410" y="295" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="22" font-weight="bold" fill="#3B82F6">研发资本化操纵</text>
|
||||
<text x="410" y="345" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#F8FAFC">• 虚增资本化粉饰利润</text>
|
||||
<text x="410" y="385" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 量化:资本化率跳变偏离</text>
|
||||
|
||||
<rect x="780" y="255" width="360" height="235" rx="8" fill="#111827" stroke="#3B82F6" stroke-width="1.5"/>
|
||||
<text x="800" y="295" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="22" font-weight="bold" fill="#3B82F6">客户/供应商集中度</text>
|
||||
<text x="800" y="345" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#F8FAFC">• 单一大客户引发单点故障</text>
|
||||
<text x="800" y="385" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 量化:HHI 指数 + 前五大占比</text>
|
||||
</g>
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.0 KiB |
@@ -0,0 +1,55 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="#0A0F1E"/>
|
||||
|
||||
<!-- Header -->
|
||||
<text x="40" y="65" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="36" font-weight="bold" fill="#F8FAFC">六维风险量化与计算路径</text>
|
||||
<text x="40" y="105" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#22D3EE">多源数据抽取与精细化量化指标</text>
|
||||
<line x1="40" y1="122" x2="1240" y2="122" stroke="#334155" stroke-width="1.5"/>
|
||||
|
||||
|
||||
<rect x="50" y="130" width="1180" height="540" rx="8" fill="#111827" stroke="#3B82F6" stroke-width="1.5"/>
|
||||
|
||||
<rect x="50" y="130" width="1180" height="50" rx="8" fill="#1E293B"/>
|
||||
<text x="130" y="162" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="18" font-weight="bold" fill="#22D3EE" text-anchor="middle">风险维度</text>
|
||||
<text x="350" y="162" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="18" font-weight="bold" fill="#22D3EE" text-anchor="middle">量化指标</text>
|
||||
<text x="630" y="162" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="18" font-weight="bold" fill="#22D3EE" text-anchor="middle">数据来源</text>
|
||||
<text x="970" y="162" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="18" font-weight="bold" fill="#22D3EE" text-anchor="middle">判定与计算模型</text>
|
||||
<line x1="50" y1="180" x2="1230" y2="180" stroke="#334155" stroke-width="1.5"/>
|
||||
|
||||
<text x="75" y="225" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="18" font-weight="bold" fill="#F8FAFC">技术路线颠覆</text>
|
||||
<text x="240" y="225" font-family="Microsoft YaHei, sans-serif" font-size="17" fill="#CBD5E1">竞品重合度 / 专利增速</text>
|
||||
<text x="520" y="225" font-family="Microsoft YaHei, sans-serif" font-size="16" fill="#94A3B8">巨潮 PDF / 专利库</text>
|
||||
<text x="770" y="225" font-family="Microsoft YaHei, sans-serif" font-size="17" fill="#CBD5E1">DeepSeek 语义 + 专利分布余弦相似度</text>
|
||||
<line x1="75" y1="252" x2="1205" y2="252" stroke="#334155" stroke-width="1" opacity="0.4"/>
|
||||
|
||||
<text x="75" y="297" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="18" font-weight="bold" fill="#F8FAFC">核心人员流失</text>
|
||||
<text x="240" y="297" font-family="Microsoft YaHei, sans-serif" font-size="17" fill="#CBD5E1">CTO 离职 / 高管变动</text>
|
||||
<text x="520" y="297" font-family="Microsoft YaHei, sans-serif" font-size="16" fill="#94A3B8">巨潮公告 / 高管变更</text>
|
||||
<text x="770" y="297" font-family="Microsoft YaHei, sans-serif" font-size="17" fill="#CBD5E1">NLP 提取核心名单异动,直接扣分</text>
|
||||
<line x1="75" y1="324" x2="1205" y2="324" stroke="#334155" stroke-width="1" opacity="0.4"/>
|
||||
|
||||
<text x="75" y="369" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="18" font-weight="bold" fill="#F97316">算法与数据合规</text>
|
||||
<text x="240" y="369" font-family="Microsoft YaHei, sans-serif" font-size="17" fill="#CBD5E1">深度合成备案 / 出境评估</text>
|
||||
<text x="520" y="369" font-family="Microsoft YaHei, sans-serif" font-size="16" fill="#94A3B8">网信办算法备案库</text>
|
||||
<text x="770" y="369" font-family="Microsoft YaHei, sans-serif" font-size="17" font-weight="bold" fill="#F97316">备案库比对,未备案直接触发一票否决</text>
|
||||
<line x1="75" y1="396" x2="1205" y2="396" stroke="#334155" stroke-width="1" opacity="0.4"/>
|
||||
|
||||
<text x="75" y="441" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="18" font-weight="bold" fill="#F97316">地缘与出口管制</text>
|
||||
<text x="240" y="441" font-family="Microsoft YaHei, sans-serif" font-size="17" fill="#CBD5E1">实体清单波及 / 供应链断供</text>
|
||||
<text x="520" y="441" font-family="Microsoft YaHei, sans-serif" font-size="16" fill="#94A3B8">美国 BIS List / 海关关单</text>
|
||||
<text x="770" y="441" font-family="Microsoft YaHei, sans-serif" font-size="17" font-weight="bold" fill="#F97316">BFS 图谱传染算法计算指数 I_contagion</text>
|
||||
<line x1="75" y1="468" x2="1205" y2="468" stroke="#334155" stroke-width="1" opacity="0.4"/>
|
||||
|
||||
<text x="75" y="513" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="18" font-weight="bold" fill="#F8FAFC">研发资本化操纵</text>
|
||||
<text x="240" y="513" font-family="Microsoft YaHei, sans-serif" font-size="17" fill="#CBD5E1">资本化率 / 同行偏离</text>
|
||||
<text x="520" y="513" font-family="Microsoft YaHei, sans-serif" font-size="16" fill="#94A3B8">AKShare 财报明细</text>
|
||||
<text x="770" y="513" font-family="Microsoft YaHei, sans-serif" font-size="17" fill="#CBD5E1">资本化率 > 40% 且 偏离均值 > 20% 警示</text>
|
||||
<line x1="75" y1="540" x2="1205" y2="540" stroke="#334155" stroke-width="1" opacity="0.4"/>
|
||||
|
||||
<text x="75" y="585" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="18" font-weight="bold" fill="#F8FAFC">客户/供应商集中</text>
|
||||
<text x="240" y="585" font-family="Microsoft YaHei, sans-serif" font-size="17" fill="#CBD5E1">前五大集中度 / HHI 指数</text>
|
||||
<text x="520" y="585" font-family="Microsoft YaHei, sans-serif" font-size="16" fill="#94A3B8">AKShare 集中度数据</text>
|
||||
<text x="770" y="585" font-family="Microsoft YaHei, sans-serif" font-size="17" fill="#CBD5E1">前五大营收占比 > 80% 触发惩罚系数</text>
|
||||
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.4 KiB |
@@ -0,0 +1,82 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<defs>
|
||||
<marker id="arch-arrow" viewBox="0 0 10 10" refX="5" refY="5" markerWidth="8" markerHeight="8" orient="auto-start-reverse">
|
||||
<path d="M 0 0 L 10 5 L 0 10 z" fill="#22D3EE"/>
|
||||
</marker>
|
||||
</defs>
|
||||
<rect width="1280" height="720" fill="#0A0F1E"/>
|
||||
|
||||
<!-- Header -->
|
||||
<text x="40" y="65" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="36" font-weight="bold" fill="#F8FAFC">系统整体架构图</text>
|
||||
<text x="40" y="105" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#22D3EE">数据采集 ➔ 核心引擎 ➔ 智能决策 ➔ 商业闭环</text>
|
||||
<line x1="40" y1="122" x2="1240" y2="122" stroke="#334155" stroke-width="1.5"/>
|
||||
|
||||
|
||||
<g transform="translate(60, 140)">
|
||||
<rect x="0" y="0" width="1160" height="500" rx="8" fill="#111827" stroke="#3B82F6" stroke-width="1.5"/>
|
||||
|
||||
<!-- 层 4:应用闭环层 -->
|
||||
<rect x="30" y="20" width="1100" height="95" rx="8" fill="#1E293B" stroke="#22C55E" stroke-width="1.5"/>
|
||||
<rect x="30" y="20" width="220" height="95" rx="8" fill="#059669"/>
|
||||
<text x="140" y="75" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="22" font-weight="bold" fill="#F8FAFC" text-anchor="middle">应用闭环层</text>
|
||||
<g transform="translate(270, 42)">
|
||||
<rect x="0" y="0" width="250" height="50" rx="8" fill="#111827" stroke="#22C55E" stroke-width="1"/>
|
||||
<text x="125" y="32" font-family="Microsoft YaHei, sans-serif" font-size="18" font-weight="bold" fill="#F8FAFC" text-anchor="middle">科创综合险产品方案</text>
|
||||
<rect x="275" y="0" width="250" height="50" rx="8" fill="#111827" stroke="#22C55E" stroke-width="1"/>
|
||||
<text x="400" y="32" font-family="Microsoft YaHei, sans-serif" font-size="18" font-weight="bold" fill="#F8FAFC" text-anchor="middle">动态保费精算模型</text>
|
||||
<rect x="550" y="0" width="280" height="50" rx="8" fill="#111827" stroke="#22C55E" stroke-width="1"/>
|
||||
<text x="690" y="32" font-family="Microsoft YaHei, sans-serif" font-size="18" font-weight="bold" fill="#F8FAFC" text-anchor="middle">自动化核保决策报告</text>
|
||||
</g>
|
||||
|
||||
<!-- 向上连接箭头 3->4 -->
|
||||
<path d="M 680,140 L 680,120" stroke="#22D3EE" stroke-width="2.5" marker-end="url(#arch-arrow)"/>
|
||||
|
||||
<!-- 层 3:智能决策层 -->
|
||||
<rect x="30" y="140" width="1100" height="95" rx="8" fill="#1E293B" stroke="#F97316" stroke-width="1.5"/>
|
||||
<rect x="30" y="140" width="220" height="95" rx="8" fill="#F97316"/>
|
||||
<text x="140" y="195" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="22" font-weight="bold" fill="#F8FAFC" text-anchor="middle">智能决策层</text>
|
||||
<g transform="translate(270, 162)">
|
||||
<rect x="0" y="0" width="250" height="50" rx="8" fill="#111827" stroke="#F97316" stroke-width="1"/>
|
||||
<text x="125" y="32" font-family="Microsoft YaHei, sans-serif" font-size="18" font-weight="bold" fill="#F8FAFC" text-anchor="middle">Multi-Agent 辩论诊断</text>
|
||||
<rect x="275" y="0" width="250" height="50" rx="8" fill="#111827" stroke="#F97316" stroke-width="1"/>
|
||||
<text x="400" y="32" font-family="Microsoft YaHei, sans-serif" font-size="18" font-weight="bold" fill="#F8FAFC" text-anchor="middle">法官一票否决裁决</text>
|
||||
<rect x="550" y="0" width="280" height="50" rx="8" fill="#111827" stroke="#F97316" stroke-width="1"/>
|
||||
<text x="690" y="32" font-family="Microsoft YaHei, sans-serif" font-size="18" font-weight="bold" fill="#F8FAFC" text-anchor="middle">图谱 BFS 风险穿透</text>
|
||||
</g>
|
||||
|
||||
<!-- 向上连接箭头 2->3 -->
|
||||
<path d="M 680,260 L 680,240" stroke="#22D3EE" stroke-width="2.5" marker-end="url(#arch-arrow)"/>
|
||||
|
||||
<!-- 层 2:核心推理层 -->
|
||||
<rect x="30" y="260" width="1100" height="95" rx="8" fill="#1E293B" stroke="#22D3EE" stroke-width="1.5"/>
|
||||
<rect x="30" y="260" width="220" height="95" rx="8" fill="#0891B2"/>
|
||||
<text x="140" y="315" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="22" font-weight="bold" fill="#F8FAFC" text-anchor="middle">核心推理层</text>
|
||||
<g transform="translate(270, 282)">
|
||||
<rect x="0" y="0" width="250" height="50" rx="8" fill="#111827" stroke="#22D3EE" stroke-width="1"/>
|
||||
<text x="125" y="32" font-family="Microsoft YaHei, sans-serif" font-size="18" font-weight="bold" fill="#F8FAFC" text-anchor="middle">DeepSeek 推理底座</text>
|
||||
<rect x="275" y="0" width="250" height="50" rx="8" fill="#111827" stroke="#22D3EE" stroke-width="1"/>
|
||||
<text x="400" y="32" font-family="Microsoft YaHei, sans-serif" font-size="18" font-weight="bold" fill="#F8FAFC" text-anchor="middle">NetworkX 图谱计算</text>
|
||||
<rect x="550" y="0" width="280" height="50" rx="8" fill="#111827" stroke="#22D3EE" stroke-width="1"/>
|
||||
<text x="690" y="32" font-family="Microsoft YaHei, sans-serif" font-size="18" font-weight="bold" fill="#F8FAFC" text-anchor="middle">规则前置校验引擎</text>
|
||||
</g>
|
||||
|
||||
<!-- 向上连接箭头 1->2 -->
|
||||
<path d="M 680,380 L 680,360" stroke="#22D3EE" stroke-width="2.5" marker-end="url(#arch-arrow)"/>
|
||||
|
||||
<!-- 层 1:数据采集层 -->
|
||||
<rect x="30" y="380" width="1100" height="95" rx="8" fill="#1E293B" stroke="#3B82F6" stroke-width="1.5"/>
|
||||
<rect x="30" y="380" width="220" height="95" rx="8" fill="#3B82F6"/>
|
||||
<text x="140" y="435" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="22" font-weight="bold" fill="#F8FAFC" text-anchor="middle">数据采集层</text>
|
||||
<g transform="translate(270, 402)">
|
||||
<rect x="0" y="0" width="190" height="50" rx="8" fill="#111827" stroke="#3B82F6" stroke-width="1"/>
|
||||
<text x="95" y="32" font-family="Microsoft YaHei, sans-serif" font-size="17" font-weight="bold" fill="#F8FAFC" text-anchor="middle">巨潮 PDF 年报</text>
|
||||
<rect x="205" y="0" width="190" height="50" rx="8" fill="#111827" stroke="#3B82F6" stroke-width="1"/>
|
||||
<text x="300" y="32" font-family="Microsoft YaHei, sans-serif" font-size="17" font-weight="bold" fill="#F8FAFC" text-anchor="middle">网信办算法库</text>
|
||||
<rect x="410" y="0" width="190" height="50" rx="8" fill="#111827" stroke="#3B82F6" stroke-width="1"/>
|
||||
<text x="505" y="32" font-family="Microsoft YaHei, sans-serif" font-size="17" font-weight="bold" fill="#F8FAFC" text-anchor="middle">美国 BIS List</text>
|
||||
<rect x="615" y="0" width="215" height="50" rx="8" fill="#111827" stroke="#3B82F6" stroke-width="1"/>
|
||||
<text x="722" y="32" font-family="Microsoft YaHei, sans-serif" font-size="17" font-weight="bold" fill="#F8FAFC" text-anchor="middle">AKShare 财报</text>
|
||||
</g>
|
||||
</g>
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 6.9 KiB |
@@ -0,0 +1,37 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="#0A0F1E"/>
|
||||
|
||||
<!-- Header -->
|
||||
<text x="40" y="65" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="36" font-weight="bold" fill="#F8FAFC">Multi-Agent 辩论诊断机制</text>
|
||||
<text x="40" y="105" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#22D3EE">多视角交叉质证与自动冲突消除架构</text>
|
||||
<line x1="40" y1="122" x2="1240" y2="122" stroke="#334155" stroke-width="1.5"/>
|
||||
|
||||
|
||||
<rect x="60" y="140" width="1160" height="500" rx="8" fill="#111827" stroke="#F97316" stroke-width="1.5"/>
|
||||
|
||||
<g transform="translate(90, 170)">
|
||||
<rect x="340" y="0" width="400" height="110" rx="8" fill="#1E293B" stroke="#F97316" stroke-width="2"/>
|
||||
<rect x="340" y="0" width="400" height="40" rx="8" fill="#F97316"/>
|
||||
<text x="540" y="27" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="22" font-weight="bold" fill="#F8FAFC" text-anchor="middle">法官 Node (Judge Agent)</text>
|
||||
<text x="540" y="75" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1" text-anchor="middle">综合质询观点 | 消除冲突 | 一票否决裁决</text>
|
||||
|
||||
<rect x="0" y="160" width="320" height="240" rx="8" fill="#1E293B" stroke="#3B82F6" stroke-width="1.5"/>
|
||||
<rect x="0" y="160" width="320" height="45" rx="8" fill="#3B82F6"/>
|
||||
<text x="160" y="190" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#F8FAFC" text-anchor="middle">法务 Agent (Law)</text>
|
||||
<text x="20" y="245" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 网信办算法备案核查</text>
|
||||
<text x="20" y="290" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 数据出境评估风险</text>
|
||||
|
||||
<rect x="380" y="160" width="320" height="240" rx="8" fill="#1E293B" stroke="#22D3EE" stroke-width="1.5"/>
|
||||
<rect x="380" y="160" width="320" height="45" rx="8" fill="#0891B2"/>
|
||||
<text x="540" y="190" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#F8FAFC" text-anchor="middle">技术 Agent (Tech)</text>
|
||||
<text x="400" y="245" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 技术路线颠覆推演</text>
|
||||
<text x="400" y="290" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 核心团队流失评估</text>
|
||||
|
||||
<rect x="760" y="160" width="320" height="240" rx="8" fill="#1E293B" stroke="#22C55E" stroke-width="1.5"/>
|
||||
<rect x="760" y="160" width="320" height="45" rx="8" fill="#059669"/>
|
||||
<text x="920" y="190" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#F8FAFC" text-anchor="middle">财务 Agent (Finance)</text>
|
||||
<text x="780" y="245" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• 研发资本化率异常</text>
|
||||
<text x="780" y="290" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#CBD5E1">• HHI 集中度风险</text>
|
||||
</g>
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.2 KiB |
@@ -0,0 +1,32 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="#0A0F1E"/>
|
||||
|
||||
<!-- Header -->
|
||||
<text x="40" y="65" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="36" font-weight="bold" fill="#F8FAFC">多智能体冲突消除与裁决规则</text>
|
||||
<text x="40" y="105" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#22D3EE">一票否决与加权融合规则</text>
|
||||
<line x1="40" y1="122" x2="1240" y2="122" stroke="#334155" stroke-width="1.5"/>
|
||||
|
||||
|
||||
<rect x="60" y="140" width="1160" height="500" rx="8" fill="#111827" stroke="#3B82F6" stroke-width="1.5"/>
|
||||
|
||||
<g transform="translate(90, 175)">
|
||||
<rect x="0" y="0" width="510" height="210" rx="8" fill="#1E293B" stroke="#EF4444" stroke-width="1.5"/>
|
||||
<rect x="0" y="0" width="510" height="45" rx="8" fill="#7F1D1D"/>
|
||||
<text x="255" y="30" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="22" font-weight="bold" fill="#F8FAFC" text-anchor="middle">规则一:合规红线一票否决</text>
|
||||
<text x="25" y="90" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 算法未备案直接拒保(得分归 0)</text>
|
||||
<text x="25" y="140" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 列入 BIS 清单触发最高级风险惩罚</text>
|
||||
|
||||
<rect x="550" y="0" width="510" height="210" rx="8" fill="#1E293B" stroke="#EAB308" stroke-width="1.5"/>
|
||||
<rect x="550" y="0" width="510" height="45" rx="8" fill="#713F12"/>
|
||||
<text x="805" y="30" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="22" font-weight="bold" fill="#F8FAFC" text-anchor="middle">规则二:证据加权与冲突平息</text>
|
||||
<text x="575" y="90" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 意见分歧时依赖检索硬证据</text>
|
||||
<text x="575" y="140" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 综合加权计算综合风险指数 Score</text>
|
||||
|
||||
<rect x="0" y="240" width="1060" height="190" rx="8" fill="#1E293B" stroke="#22C55E" stroke-width="1.5"/>
|
||||
<rect x="0" y="240" width="1060" height="45" rx="8" fill="#064E3B"/>
|
||||
<text x="530" y="270" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="22" font-weight="bold" fill="#F8FAFC" text-anchor="middle">最终裁决与决策输出</text>
|
||||
<text x="40" y="330" font-family="Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#22C55E">• 决策分类:[低风险 / 中风险 / 高风险 / 直接拒保]</text>
|
||||
<text x="40" y="380" font-family="Microsoft YaHei, sans-serif" font-size="20" fill="#CBD5E1">• 自动调取基础保费上浮系数与动态特约条款</text>
|
||||
</g>
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.8 KiB |
@@ -0,0 +1,32 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="#0A0F1E"/>
|
||||
|
||||
<!-- Header -->
|
||||
<text x="40" y="65" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="36" font-weight="bold" fill="#F8FAFC">供应链知识图谱本体设计</text>
|
||||
<text x="40" y="105" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#22D3EE">NetworkX 异构图谱建模</text>
|
||||
<line x1="40" y1="122" x2="1240" y2="122" stroke="#334155" stroke-width="1.5"/>
|
||||
|
||||
|
||||
<rect x="60" y="140" width="1160" height="500" rx="8" fill="#111827" stroke="#22D3EE" stroke-width="1.5"/>
|
||||
|
||||
<g transform="translate(90, 175)">
|
||||
<rect x="0" y="0" width="510" height="430" rx="8" fill="#1E293B" stroke="#3B82F6" stroke-width="1.5"/>
|
||||
<rect x="0" y="0" width="510" height="50" rx="8" fill="#3B82F6"/>
|
||||
<text x="255" y="33" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="22" font-weight="bold" fill="#F8FAFC" text-anchor="middle">图谱核心实体 Node</text>
|
||||
<text x="30" y="95" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 目标科创企业 (Core Target)</text>
|
||||
<text x="30" y="155" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 1 级/ 2 级/ 3 级 供应商 (Suppliers)</text>
|
||||
<text x="30" y="215" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 美国 BIS 实体清单对象 (BIS Entity)</text>
|
||||
<text x="30" y="275" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 核心专利与技术节点 (Patents)</text>
|
||||
<text x="30" y="335" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 算法备案归属主体 (Algorithm Reg)</text>
|
||||
|
||||
<rect x="550" y="0" width="510" height="430" rx="8" fill="#1E293B" stroke="#22D3EE" stroke-width="1.5"/>
|
||||
<rect x="550" y="0" width="510" height="50" rx="8" fill="#0891B2"/>
|
||||
<text x="805" y="33" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="22" font-weight="bold" fill="#F8FAFC" text-anchor="middle">拓扑关系 Edge</text>
|
||||
<text x="580" y="95" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 供应依赖 (SUPPLIES_TO)</text>
|
||||
<text x="580" y="155" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 制裁波及 (SANCTIONED_BY)</text>
|
||||
<text x="580" y="215" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 专利竞争 (COMPETES_WITH)</text>
|
||||
<text x="580" y="275" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 股权关联 (OWNS_SHARES)</text>
|
||||
<text x="580" y="335" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 核心流向 (MIGRATED_TO)</text>
|
||||
</g>
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.9 KiB |
@@ -0,0 +1,32 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="#0A0F1E"/>
|
||||
|
||||
<!-- Header -->
|
||||
<text x="40" y="65" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="36" font-weight="bold" fill="#F8FAFC">供应链风险拓扑传染算法</text>
|
||||
<text x="40" y="105" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#22D3EE">BFS 毫秒级多级穿透预警算法</text>
|
||||
<line x1="40" y1="122" x2="1240" y2="122" stroke="#334155" stroke-width="1.5"/>
|
||||
|
||||
|
||||
<rect x="60" y="140" width="1160" height="500" rx="8" fill="#111827" stroke="#F97316" stroke-width="1.5"/>
|
||||
|
||||
<g transform="translate(90, 175)">
|
||||
<rect x="0" y="0" width="1060" height="110" rx="8" fill="#1E293B" stroke="#F97316" stroke-width="1.5"/>
|
||||
<text x="30" y="45" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="22" font-weight="bold" fill="#F97316">传染衰减计算公式:</text>
|
||||
<text x="30" y="85" font-family="Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#F8FAFC">I_contagion = Sum( (1 / d_i^2) * Weight_i ) [d_i 为拓扑最短距离]</text>
|
||||
|
||||
<rect x="0" y="140" width="510" height="280" rx="8" fill="#1E293B" stroke="#3B82F6" stroke-width="1.5"/>
|
||||
<rect x="0" y="140" width="510" height="45" rx="8" fill="#3B82F6"/>
|
||||
<text x="255" y="170" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#F8FAFC" text-anchor="middle">算法优势</text>
|
||||
<text x="25" y="225" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 穿透 2-3 级隐蔽供应商断供</text>
|
||||
<text x="25" y="275" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 突破单体财报审查局限</text>
|
||||
<text x="25" y="325" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 毫秒级图解计算</text>
|
||||
|
||||
<rect x="550" y="140" width="510" height="280" rx="8" fill="#1E293B" stroke="#22C55E" stroke-width="1.5"/>
|
||||
<rect x="550" y="140" width="510" height="45" rx="8" fill="#059669"/>
|
||||
<text x="805" y="170" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#F8FAFC" text-anchor="middle">实际应用成效</text>
|
||||
<text x="575" y="225" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 精准捕捉二级供应商 BIS 制裁</text>
|
||||
<text x="575" y="275" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 自动将风险传导路径标红预警</text>
|
||||
<text x="575" y="325" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 自动触发保费上浮系数</text>
|
||||
</g>
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.8 KiB |
@@ -0,0 +1,35 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="#0A0F1E"/>
|
||||
|
||||
<!-- Header -->
|
||||
<text x="40" y="65" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="36" font-weight="bold" fill="#F8FAFC">中国平安主业创新产品矩阵</text>
|
||||
<text x="40" y="105" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#22D3EE">科创企业特有风险综合险三大产品</text>
|
||||
<line x1="40" y1="122" x2="1240" y2="122" stroke="#334155" stroke-width="1.5"/>
|
||||
|
||||
|
||||
<rect x="60" y="140" width="1160" height="500" rx="8" fill="#111827" stroke="#3B82F6" stroke-width="1.5"/>
|
||||
|
||||
<g transform="translate(90, 175)">
|
||||
<rect x="0" y="0" width="330" height="420" rx="8" fill="#1E293B" stroke="#3B82F6" stroke-width="1.5"/>
|
||||
<rect x="0" y="0" width="330" height="55" rx="8" fill="#3B82F6"/>
|
||||
<text x="165" y="36" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#F8FAFC" text-anchor="middle">产品一:研发成果保险</text>
|
||||
<text x="25" y="110" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 承保技术迭代颠覆损失</text>
|
||||
<text x="25" y="165" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 补偿研发失败沉没成本</text>
|
||||
<text x="25" y="220" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 针对研发资本化率监控</text>
|
||||
|
||||
<rect x="365" y="0" width="330" height="420" rx="8" fill="#1E293B" stroke="#F97316" stroke-width="1.5"/>
|
||||
<rect x="365" y="0" width="330" height="55" rx="8" fill="#F97316"/>
|
||||
<text x="530" y="36" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#F8FAFC" text-anchor="middle">产品二:合规与断供险</text>
|
||||
<text x="390" y="110" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 承保算法合规被拒损失</text>
|
||||
<text x="390" y="165" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 赔偿实体清单断供停工</text>
|
||||
<text x="390" y="220" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 图谱穿透动态监控</text>
|
||||
|
||||
<rect x="730" y="0" width="330" height="420" rx="8" fill="#1E293B" stroke="#22D3EE" stroke-width="1.5"/>
|
||||
<rect x="730" y="0" width="330" height="55" rx="8" fill="#0891B2"/>
|
||||
<text x="895" y="36" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#F8FAFC" text-anchor="middle">产品三:核心人才离任险</text>
|
||||
<text x="755" y="110" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 补偿首席科学家流失</text>
|
||||
<text x="755" y="165" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 覆盖团队重组过渡费用</text>
|
||||
<text x="755" y="220" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• NLP 异动自动抓取</text>
|
||||
</g>
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.1 KiB |
@@ -0,0 +1,32 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="#0A0F1E"/>
|
||||
|
||||
<!-- Header -->
|
||||
<text x="40" y="65" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="36" font-weight="bold" fill="#F8FAFC">平安主业动态保费定价引擎</text>
|
||||
<text x="40" y="105" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#22D3EE">风控评分与费率精算联动模型</text>
|
||||
<line x1="40" y1="122" x2="1240" y2="122" stroke="#334155" stroke-width="1.5"/>
|
||||
|
||||
|
||||
<rect x="60" y="140" width="1160" height="500" rx="8" fill="#111827" stroke="#22C55E" stroke-width="1.5"/>
|
||||
|
||||
<g transform="translate(90, 175)">
|
||||
<rect x="0" y="0" width="1060" height="110" rx="8" fill="#1E293B" stroke="#22C55E" stroke-width="1.5"/>
|
||||
<text x="30" y="45" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="22" font-weight="bold" fill="#22C55E">动态保费精算模型:</text>
|
||||
<text x="30" y="85" font-family="Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#F8FAFC">Premium = BasePremium * (1 + Sum(Weight_i * Factor_i)) * K_contagion</text>
|
||||
|
||||
<rect x="0" y="140" width="510" height="280" rx="8" fill="#1E293B" stroke="#3B82F6" stroke-width="1.5"/>
|
||||
<rect x="0" y="140" width="510" height="45" rx="8" fill="#3B82F6"/>
|
||||
<text x="255" y="170" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#F8FAFC" text-anchor="middle">上浮调节因子</text>
|
||||
<text x="25" y="225" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 资本化率跳变偏离:费率上浮 15%</text>
|
||||
<text x="25" y="275" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• HHI 集中度超标:费率上浮 20%</text>
|
||||
<text x="25" y="325" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 图谱临近 BIS 清单:浮动系数 1.3</text>
|
||||
|
||||
<rect x="550" y="140" width="510" height="280" rx="8" fill="#1E293B" stroke="#22D3EE" stroke-width="1.5"/>
|
||||
<rect x="550" y="140" width="510" height="45" rx="8" fill="#0891B2"/>
|
||||
<text x="805" y="170" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#F8FAFC" text-anchor="middle">优惠调节因子</text>
|
||||
<text x="575" y="225" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 完成网信办算法备案:费率优惠 10%</text>
|
||||
<text x="575" y="275" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 专利增速同行业领先:费率优惠 15%</text>
|
||||
<text x="575" y="325" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 核心团队稳定度高:免赔额下调</text>
|
||||
</g>
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.8 KiB |
@@ -0,0 +1,31 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="#0A0F1E"/>
|
||||
|
||||
<!-- Header -->
|
||||
<text x="40" y="65" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="36" font-weight="bold" fill="#F8FAFC">自动化核保决策报告生成</text>
|
||||
<text x="40" y="105" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#22D3EE">硬规则 + 柔性文本 混合驱动输出</text>
|
||||
<line x1="40" y1="122" x2="1240" y2="122" stroke="#334155" stroke-width="1.5"/>
|
||||
|
||||
|
||||
<rect x="60" y="140" width="1160" height="500" rx="8" fill="#111827" stroke="#3B82F6" stroke-width="1.5"/>
|
||||
|
||||
<g transform="translate(90, 175)">
|
||||
<rect x="0" y="0" width="510" height="430" rx="8" fill="#1E293B" stroke="#3B82F6" stroke-width="1.5"/>
|
||||
<rect x="0" y="0" width="510" height="50" rx="8" fill="#3B82F6"/>
|
||||
<text x="255" y="33" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="22" font-weight="bold" fill="#F8FAFC" text-anchor="middle">硬规则驱动(量化结论)</text>
|
||||
<text x="25" y="100" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 综合风控得分:78 分 (中风险)</text>
|
||||
<text x="25" y="160" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 基础保费上浮系数:+25%</text>
|
||||
<text x="25" y="220" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 算法合规状态:已通过备案</text>
|
||||
<text x="25" y="280" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 地缘传染指数:I_contagion = 0.25</text>
|
||||
<text x="25" y="340" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 最终决策:承保并实施特约条款</text>
|
||||
|
||||
<rect x="550" y="0" width="510" height="430" rx="8" fill="#1E293B" stroke="#22D3EE" stroke-width="1.5"/>
|
||||
<rect x="550" y="0" width="510" height="50" rx="8" fill="#0891B2"/>
|
||||
<text x="805" y="33" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="22" font-weight="bold" fill="#F8FAFC" text-anchor="middle">大模型驱动(特约条款)</text>
|
||||
<text x="575" y="100" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 自动润色生成标准化 Markdown 报告</text>
|
||||
<text x="575" y="160" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 特约 1:限期寻找二级供应商国产替代</text>
|
||||
<text x="575" y="220" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 特约 2:关键岗位设置 6 个月竞业期</text>
|
||||
<text x="575" y="280" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 附录:包含思维链与拓扑路径证据链</text>
|
||||
</g>
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.9 KiB |
@@ -0,0 +1,38 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="#0A0F1E"/>
|
||||
|
||||
<!-- Header -->
|
||||
<text x="40" y="65" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="36" font-weight="bold" fill="#F8FAFC">金融级原型系统总体概述</text>
|
||||
<text x="40" y="105" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#22D3EE">已公网部署至域名 risk.aiformat.cn</text>
|
||||
<line x1="40" y1="122" x2="1240" y2="122" stroke="#334155" stroke-width="1.5"/>
|
||||
|
||||
|
||||
<rect x="60" y="140" width="1160" height="500" rx="8" fill="#111827" stroke="#F97316" stroke-width="1.5"/>
|
||||
|
||||
<g transform="translate(90, 175)">
|
||||
<rect x="0" y="0" width="510" height="200" rx="8" fill="#1E293B" stroke="#3B82F6" stroke-width="1.5"/>
|
||||
<rect x="0" y="0" width="510" height="45" rx="8" fill="#3B82F6"/>
|
||||
<text x="255" y="30" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#F8FAFC" text-anchor="middle">模块 1:全景风控大屏</text>
|
||||
<text x="25" y="90" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 综合风险评分大屏与动态告警</text>
|
||||
<text x="25" y="140" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 六维风险因子可视化穿透</text>
|
||||
|
||||
<rect x="550" y="0" width="510" height="200" rx="8" fill="#1E293B" stroke="#F97316" stroke-width="1.5"/>
|
||||
<rect x="550" y="0" width="510" height="45" rx="8" fill="#F97316"/>
|
||||
<text x="805" y="30" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#F8FAFC" text-anchor="middle">模块 2:辩论诊断控制台</text>
|
||||
<text x="575" y="90" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 实时展示 3 大专家 Agent 思维链</text>
|
||||
<text x="575" y="140" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 裁决过程全透明(Explainable AI)</text>
|
||||
|
||||
<rect x="0" y="230" width="510" height="200" rx="8" fill="#1E293B" stroke="#22D3EE" stroke-width="1.5"/>
|
||||
<rect x="0" y="230" width="510" height="45" rx="8" fill="#0891B2"/>
|
||||
<text x="255" y="260" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#F8FAFC" text-anchor="middle">模块 3:交互式知识图谱</text>
|
||||
<text x="25" y="320" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 拓扑网络节点穿透与关联查询</text>
|
||||
<text x="25" y="370" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 实体清单地缘风险红线高亮</text>
|
||||
|
||||
<rect x="550" y="230" width="510" height="200" rx="8" fill="#1E293B" stroke="#22C55E" stroke-width="1.5"/>
|
||||
<rect x="550" y="230" width="510" height="45" rx="8" fill="#059669"/>
|
||||
<text x="805" y="260" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#F8FAFC" text-anchor="middle">模块 4:试算器与报告导出</text>
|
||||
<text x="575" y="320" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 动态费率计算器与参数拉杆试算</text>
|
||||
<text x="575" y="370" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 一键导出 Markdown 核保决策报告</text>
|
||||
</g>
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.4 KiB |
@@ -0,0 +1,36 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="#0A0F1E"/>
|
||||
|
||||
<!-- Header -->
|
||||
<text x="40" y="65" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="36" font-weight="bold" fill="#F8FAFC">系统界面实操一:全景风控大屏</text>
|
||||
<text x="40" y="105" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#22D3EE">可视化六维风险综合指数与告警</text>
|
||||
<line x1="40" y1="122" x2="1240" y2="122" stroke="#334155" stroke-width="1.5"/>
|
||||
|
||||
|
||||
|
||||
<g transform="translate(60, 140)">
|
||||
<!-- 浏览器外框 -->
|
||||
<rect x="0" y="0" width="1160" height="510" rx="10" fill="#1E293B" stroke="#3B82F6" stroke-width="1.5"/>
|
||||
|
||||
<!-- 控制按钮 -->
|
||||
<circle cx="20" cy="18" r="6" fill="#EF4444"/>
|
||||
<circle cx="38" cy="18" r="6" fill="#F59E0B"/>
|
||||
<circle cx="56" cy="18" r="6" fill="#10B981"/>
|
||||
|
||||
<!-- 网址栏 -->
|
||||
<rect x="80" y="7" width="1060" height="22" rx="4" fill="#0F172A"/>
|
||||
<text x="95" y="22" font-family="Microsoft YaHei, sans-serif" font-size="13" fill="#22D3EE">https://risk.aiformat.cn/dashboard</text>
|
||||
|
||||
<!-- 内容区域占位 -->
|
||||
<rect x="10" y="36" width="1140" height="464" rx="6" fill="#0A0F1E" stroke="#334155" stroke-dasharray="6,6" stroke-width="2"/>
|
||||
|
||||
<!-- 引导说明卡片 -->
|
||||
<g transform="translate(580.0, 268.0)">
|
||||
<rect x="-220" y="-45" width="440" height="90" rx="8" fill="#1E293B" stroke="#F97316" stroke-width="1.5"/>
|
||||
<text x="0" y="-12" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#F8FAFC" text-anchor="middle">全景风控大屏界面截图</text>
|
||||
<text x="0" y="20" font-family="Microsoft YaHei, sans-serif" font-size="15" fill="#94A3B8" text-anchor="middle">请在此粘贴/插入 [全景风控大屏 🏠] 真实运行截图</text>
|
||||
</g>
|
||||
</g>
|
||||
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.0 KiB |
@@ -0,0 +1,36 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="#0A0F1E"/>
|
||||
|
||||
<!-- Header -->
|
||||
<text x="40" y="65" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="36" font-weight="bold" fill="#F8FAFC">系统界面实操二:Multi-Agent 辩论控制台</text>
|
||||
<text x="40" y="105" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#22D3EE">实时推理思维链 (Reasoning Stream) 与法官裁决</text>
|
||||
<line x1="40" y1="122" x2="1240" y2="122" stroke="#334155" stroke-width="1.5"/>
|
||||
|
||||
|
||||
|
||||
<g transform="translate(60, 140)">
|
||||
<!-- 浏览器外框 -->
|
||||
<rect x="0" y="0" width="1160" height="510" rx="10" fill="#1E293B" stroke="#3B82F6" stroke-width="1.5"/>
|
||||
|
||||
<!-- 控制按钮 -->
|
||||
<circle cx="20" cy="18" r="6" fill="#EF4444"/>
|
||||
<circle cx="38" cy="18" r="6" fill="#F59E0B"/>
|
||||
<circle cx="56" cy="18" r="6" fill="#10B981"/>
|
||||
|
||||
<!-- 网址栏 -->
|
||||
<rect x="80" y="7" width="1060" height="22" rx="4" fill="#0F172A"/>
|
||||
<text x="95" y="22" font-family="Microsoft YaHei, sans-serif" font-size="13" fill="#22D3EE">https://risk.aiformat.cn/debate</text>
|
||||
|
||||
<!-- 内容区域占位 -->
|
||||
<rect x="10" y="36" width="1140" height="464" rx="6" fill="#0A0F1E" stroke="#334155" stroke-dasharray="6,6" stroke-width="2"/>
|
||||
|
||||
<!-- 引导说明卡片 -->
|
||||
<g transform="translate(580.0, 268.0)">
|
||||
<rect x="-220" y="-45" width="440" height="90" rx="8" fill="#1E293B" stroke="#F97316" stroke-width="1.5"/>
|
||||
<text x="0" y="-12" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#F8FAFC" text-anchor="middle">Multi-Agent 辩论控制台截图</text>
|
||||
<text x="0" y="20" font-family="Microsoft YaHei, sans-serif" font-size="15" fill="#94A3B8" text-anchor="middle">请在此粘贴/插入 [多智能体辩论控制台 🤖] 真实运行截图</text>
|
||||
</g>
|
||||
</g>
|
||||
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
@@ -0,0 +1,36 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="#0A0F1E"/>
|
||||
|
||||
<!-- Header -->
|
||||
<text x="40" y="65" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="36" font-weight="bold" fill="#F8FAFC">系统界面实操三:供应链知识图谱</text>
|
||||
<text x="40" y="105" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#22D3EE">NetworkX 拓扑渲染与 BIS 实体清单制裁高亮</text>
|
||||
<line x1="40" y1="122" x2="1240" y2="122" stroke="#334155" stroke-width="1.5"/>
|
||||
|
||||
|
||||
|
||||
<g transform="translate(60, 140)">
|
||||
<!-- 浏览器外框 -->
|
||||
<rect x="0" y="0" width="1160" height="510" rx="10" fill="#1E293B" stroke="#3B82F6" stroke-width="1.5"/>
|
||||
|
||||
<!-- 控制按钮 -->
|
||||
<circle cx="20" cy="18" r="6" fill="#EF4444"/>
|
||||
<circle cx="38" cy="18" r="6" fill="#F59E0B"/>
|
||||
<circle cx="56" cy="18" r="6" fill="#10B981"/>
|
||||
|
||||
<!-- 网址栏 -->
|
||||
<rect x="80" y="7" width="1060" height="22" rx="4" fill="#0F172A"/>
|
||||
<text x="95" y="22" font-family="Microsoft YaHei, sans-serif" font-size="13" fill="#22D3EE">https://risk.aiformat.cn/knowledge_graph</text>
|
||||
|
||||
<!-- 内容区域占位 -->
|
||||
<rect x="10" y="36" width="1140" height="464" rx="6" fill="#0A0F1E" stroke="#334155" stroke-dasharray="6,6" stroke-width="2"/>
|
||||
|
||||
<!-- 引导说明卡片 -->
|
||||
<g transform="translate(580.0, 268.0)">
|
||||
<rect x="-220" y="-45" width="440" height="90" rx="8" fill="#1E293B" stroke="#F97316" stroke-width="1.5"/>
|
||||
<text x="0" y="-12" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#F8FAFC" text-anchor="middle">供应链知识图谱界面截图</text>
|
||||
<text x="0" y="20" font-family="Microsoft YaHei, sans-serif" font-size="15" fill="#94A3B8" text-anchor="middle">请在此粘贴/插入 [知识图谱拓扑穿透 🕸️] 真实运行截图</text>
|
||||
</g>
|
||||
</g>
|
||||
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
@@ -0,0 +1,36 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="#0A0F1E"/>
|
||||
|
||||
<!-- Header -->
|
||||
<text x="40" y="65" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="36" font-weight="bold" fill="#F8FAFC">系统界面实操四:动态定价与核保报告</text>
|
||||
<text x="40" y="105" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#22D3EE">费率调节拉杆与 Markdown 核保报告导出</text>
|
||||
<line x1="40" y1="122" x2="1240" y2="122" stroke="#334155" stroke-width="1.5"/>
|
||||
|
||||
|
||||
|
||||
<g transform="translate(60, 140)">
|
||||
<!-- 浏览器外框 -->
|
||||
<rect x="0" y="0" width="1160" height="510" rx="10" fill="#1E293B" stroke="#3B82F6" stroke-width="1.5"/>
|
||||
|
||||
<!-- 控制按钮 -->
|
||||
<circle cx="20" cy="18" r="6" fill="#EF4444"/>
|
||||
<circle cx="38" cy="18" r="6" fill="#F59E0B"/>
|
||||
<circle cx="56" cy="18" r="6" fill="#10B981"/>
|
||||
|
||||
<!-- 网址栏 -->
|
||||
<rect x="80" y="7" width="1060" height="22" rx="4" fill="#0F172A"/>
|
||||
<text x="95" y="22" font-family="Microsoft YaHei, sans-serif" font-size="13" fill="#22D3EE">https://risk.aiformat.cn/underwriting</text>
|
||||
|
||||
<!-- 内容区域占位 -->
|
||||
<rect x="10" y="36" width="1140" height="464" rx="6" fill="#0A0F1E" stroke="#334155" stroke-dasharray="6,6" stroke-width="2"/>
|
||||
|
||||
<!-- 引导说明卡片 -->
|
||||
<g transform="translate(580.0, 268.0)">
|
||||
<rect x="-220" y="-45" width="440" height="90" rx="8" fill="#1E293B" stroke="#F97316" stroke-width="1.5"/>
|
||||
<text x="0" y="-12" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#F8FAFC" text-anchor="middle">动态定价与核保报告界面截图</text>
|
||||
<text x="0" y="20" font-family="Microsoft YaHei, sans-serif" font-size="15" fill="#94A3B8" text-anchor="middle">请在此粘贴/插入 [保费定价与核保报告 💰] 真实运行截图</text>
|
||||
</g>
|
||||
</g>
|
||||
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
@@ -0,0 +1,56 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="#0A0F1E"/>
|
||||
|
||||
<!-- Header -->
|
||||
<text x="40" y="65" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="36" font-weight="bold" fill="#F8FAFC">课题团队结构与跨学科协同分工</text>
|
||||
<text x="40" y="105" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#22D3EE">黄金三人组:AI 软件工程 x 金融精算 x 经济法学</text>
|
||||
<line x1="40" y1="122" x2="1240" y2="122" stroke="#334155" stroke-width="1.5"/>
|
||||
|
||||
|
||||
<rect x="60" y="140" width="1160" height="500" rx="8" fill="#111827" stroke="#3B82F6" stroke-width="1.5"/>
|
||||
|
||||
<g transform="translate(90, 175)">
|
||||
<!-- 成员 1:周丽梅 -->
|
||||
<rect x="0" y="0" width="330" height="430" rx="8" fill="#1E293B" stroke="#3B82F6" stroke-width="1.5"/>
|
||||
<rect x="0" y="0" width="330" height="55" rx="8" fill="#3B82F6"/>
|
||||
<text x="165" y="36" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#F8FAFC" text-anchor="middle">周丽梅 (项目负责人)</text>
|
||||
<text x="165" y="85" font-family="Microsoft YaHei, sans-serif" font-size="16" font-weight="bold" fill="#22D3EE" text-anchor="middle">AI 与软件工程实现 (计算机/数据科学)</text>
|
||||
|
||||
<text x="20" y="130" font-family="Microsoft YaHei, sans-serif" font-size="17" fill="#CBD5E1">• DeepSeek API 与推理引擎封装</text>
|
||||
<text x="20" y="175" font-family="Microsoft YaHei, sans-serif" font-size="17" fill="#CBD5E1">• Multi-Agent 辩论与冲突平息算法</text>
|
||||
<text x="20" y="220" font-family="Microsoft YaHei, sans-serif" font-size="17" fill="#CBD5E1">• NetworkX 知识图谱与 BFS 穿透</text>
|
||||
<text x="20" y="265" font-family="Microsoft YaHei, sans-serif" font-size="17" fill="#CBD5E1">• 金融级 Web 原型与公网部署守护</text>
|
||||
|
||||
<rect x="15" y="340" width="300" height="60" rx="6" fill="#111827"/>
|
||||
<text x="165" y="376" font-family="Microsoft YaHei, sans-serif" font-size="16" font-weight="bold" fill="#3B82F6" text-anchor="middle">交付成果:代码仓库与在线系统</text>
|
||||
|
||||
<!-- 成员 2:许珍妮 -->
|
||||
<rect x="365" y="0" width="330" height="430" rx="8" fill="#1E293B" stroke="#22C55E" stroke-width="1.5"/>
|
||||
<rect x="365" y="0" width="330" height="55" rx="8" fill="#059669"/>
|
||||
<text x="530" y="36" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#F8FAFC" text-anchor="middle">许珍妮 (核心成员)</text>
|
||||
<text x="530" y="85" font-family="Microsoft YaHei, sans-serif" font-size="16" font-weight="bold" fill="#22C55E" text-anchor="middle">金融精算与产品设计 (金融工程)</text>
|
||||
|
||||
<text x="385" y="130" font-family="Microsoft YaHei, sans-serif" font-size="17" fill="#CBD5E1">• 科创特有风险六维量化指标体系</text>
|
||||
<text x="385" y="175" font-family="Microsoft YaHei, sans-serif" font-size="17" fill="#CBD5E1">• 平安“科创综合险”三大产品设计</text>
|
||||
<text x="385" y="220" font-family="Microsoft YaHei, sans-serif" font-size="17" fill="#CBD5E1">• 动态保费精算模型与调节系数</text>
|
||||
<text x="385" y="265" font-family="Microsoft YaHei, sans-serif" font-size="17" fill="#CBD5E1">• 精算费率拉杆试算推导</text>
|
||||
|
||||
<rect x="380" y="340" width="300" height="60" rx="6" fill="#111827"/>
|
||||
<text x="530" y="376" font-family="Microsoft YaHei, sans-serif" font-size="16" font-weight="bold" fill="#22C55E" text-anchor="middle">交付成果:精算方案与试算逻辑</text>
|
||||
|
||||
<!-- 成员 3:赖应珍 -->
|
||||
<rect x="730" y="0" width="330" height="430" rx="8" fill="#1E293B" stroke="#F97316" stroke-width="1.5"/>
|
||||
<rect x="730" y="0" width="330" height="55" rx="8" fill="#F97316"/>
|
||||
<text x="895" y="36" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#F8FAFC" text-anchor="middle">赖应珍 (核心成员)</text>
|
||||
<text x="895" y="85" font-family="Microsoft YaHei, sans-serif" font-size="16" font-weight="bold" fill="#F97316" text-anchor="middle">法律研究与合规审查 (经济法学)</text>
|
||||
|
||||
<text x="750" y="130" font-family="Microsoft YaHei, sans-serif" font-size="17" fill="#CBD5E1">• 网信办算法备案合规规则提炼</text>
|
||||
<text x="750" y="175" font-family="Microsoft YaHei, sans-serif" font-size="17" fill="#CBD5E1">• BIS 实体清单地缘出口管制研究</text>
|
||||
<text x="750" y="220" font-family="Microsoft YaHei, sans-serif" font-size="17" fill="#CBD5E1">• 合规红线一票否决逻辑设计</text>
|
||||
<text x="750" y="265" font-family="Microsoft YaHei, sans-serif" font-size="17" fill="#CBD5E1">• 自动化核保报告特约条款拟定</text>
|
||||
|
||||
<rect x="745" y="340" width="300" height="60" rx="6" fill="#111827"/>
|
||||
<text x="895" y="376" font-family="Microsoft YaHei, sans-serif" font-size="16" font-weight="bold" fill="#F97316" text-anchor="middle">交付成果:合规规则与核保条款</text>
|
||||
</g>
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.1 KiB |
@@ -0,0 +1,38 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="#0A0F1E"/>
|
||||
|
||||
<!-- Header -->
|
||||
<text x="40" y="65" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="36" font-weight="bold" fill="#F8FAFC">场景泛化与应用前景扩展</text>
|
||||
<text x="40" y="105" font-family="Microsoft YaHei, sans-serif" font-size="18" fill="#22D3EE">辐射三大金融场景,具极强通用价值</text>
|
||||
<line x1="40" y1="122" x2="1240" y2="122" stroke="#334155" stroke-width="1.5"/>
|
||||
|
||||
|
||||
<rect x="60" y="140" width="1160" height="500" rx="8" fill="#111827" stroke="#22C55E" stroke-width="1.5"/>
|
||||
|
||||
<g transform="translate(90, 175)">
|
||||
<rect x="0" y="0" width="330" height="420" rx="8" fill="#1E293B" stroke="#3B82F6" stroke-width="1.5"/>
|
||||
<rect x="0" y="0" width="330" height="55" rx="8" fill="#3B82F6"/>
|
||||
<text x="165" y="36" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#F8FAFC" text-anchor="middle">场景一:商业银行科技贷</text>
|
||||
<text x="25" y="110" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 解决专利质押评估难题</text>
|
||||
<text x="25" y="165" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 预警供应链断供坏账</text>
|
||||
<text x="25" y="220" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 辅助确定授信额度与利率</text>
|
||||
<text x="25" y="330" font-family="Microsoft YaHei, sans-serif" font-size="18" font-weight="bold" fill="#3B82F6">赋能:降低科技贷坏账风险</text>
|
||||
|
||||
<rect x="365" y="0" width="330" height="420" rx="8" fill="#1E293B" stroke="#F97316" stroke-width="1.5"/>
|
||||
<rect x="365" y="0" width="330" height="55" rx="8" fill="#F97316"/>
|
||||
<text x="530" y="36" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#F8FAFC" text-anchor="middle">场景二:硬科技 VC/PE 尽调</text>
|
||||
<text x="390" y="110" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 缩短早期项目尽调周期</text>
|
||||
<text x="390" y="165" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 自动核查算法合规漏洞</text>
|
||||
<text x="390" y="220" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 技术路线颠覆前瞻预警</text>
|
||||
<text x="390" y="330" font-family="Microsoft YaHei, sans-serif" font-size="18" font-weight="bold" fill="#F97316">赋能:提升投资尽调成功率</text>
|
||||
|
||||
<rect x="730" y="0" width="330" height="420" rx="8" fill="#1E293B" stroke="#22D3EE" stroke-width="1.5"/>
|
||||
<rect x="730" y="0" width="330" height="55" rx="8" fill="#0891B2"/>
|
||||
<text x="895" y="36" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="20" font-weight="bold" fill="#F8FAFC" text-anchor="middle">场景三:政府产业基金监控</text>
|
||||
<text x="755" y="110" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 园区企业地缘清单预警</text>
|
||||
<text x="755" y="165" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 监控研发资本化异动</text>
|
||||
<text x="755" y="220" font-family="Microsoft YaHei, sans-serif" font-size="19" fill="#CBD5E1">• 辅助专项补贴精准发放</text>
|
||||
<text x="755" y="330" font-family="Microsoft YaHei, sans-serif" font-size="18" font-weight="bold" fill="#22D3EE">赋能:保障财政资金安全</text>
|
||||
</g>
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.6 KiB |
@@ -0,0 +1,16 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720">
|
||||
<rect width="1280" height="720" fill="#0A0F1E"/>
|
||||
<circle cx="640" cy="360" r="280" fill="none" stroke="#3B82F6" stroke-width="1.5" opacity="0.2"/>
|
||||
<circle cx="640" cy="360" r="400" fill="none" stroke="#22D3EE" stroke-width="1" opacity="0.1"/>
|
||||
|
||||
<g transform="translate(640, 310)">
|
||||
<text x="0" y="0" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="56" font-weight="bold" fill="#F8FAFC" text-anchor="middle">谢谢!</text>
|
||||
</g>
|
||||
|
||||
<g transform="translate(640, 440)">
|
||||
<rect x="-450" y="-45" width="900" height="90" rx="8" fill="#1E293B" stroke="#3B82F6" stroke-width="1.5"/>
|
||||
<text x="0" y="10" font-family="SimHei, Microsoft YaHei, sans-serif" font-size="24" font-weight="bold" fill="#22D3EE" text-anchor="middle">数智风控:AI 科创企业新型风险前瞻治理方案 (XH-202626)</text>
|
||||
</g>
|
||||
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 977 B |
@@ -0,0 +1,816 @@
|
||||
{
|
||||
"schema": "ppt-master.pptx-postflight-report.v1",
|
||||
"status": "passed-with-warnings",
|
||||
"output": {
|
||||
"path": "D:\\code\\XH-202626_科创企业特有风险的识别与管理\\数智风控:AI 科创企业新型风险前瞻治理方案_竞赛汇报PPT_0728.pptx",
|
||||
"bytes": 69419
|
||||
},
|
||||
"source": {
|
||||
"svg_slide_count": 22,
|
||||
"layout_definition_count": 0,
|
||||
"fingerprint": {
|
||||
"algorithm": "sha256",
|
||||
"digest": "0771b2758a5acb4f9d2df0895789f65226f0b31daebb396fbc86c8853f87eafd",
|
||||
"file_count": 22,
|
||||
"files": [
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"sha256": "c50a082795e007543e12094f07b28d30d6f7e395bf69c10f2fce2b45f9b20a77"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"sha256": "9f8fc3ab98f69eccca6e1091ab0170164e0345f8442d864aa4a7e1b1382f53bd"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"sha256": "9cd1fb0a4b8681163b14f4852257442565b3215bb94f0151cf0de2454b9858d8"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"sha256": "4626c73b76ef6418d545bfe8b3e8e60a98f180d32c09eba74f0b1420ed97efe1"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"sha256": "3fbdcf1b1cf9ab5ef22422d2f254d01561feadee9f1f88e4927d26a41366276b"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"sha256": "b7768c710464a27eb98bebe203db780f45baf2180396647719f572236af9d35e"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"sha256": "b8327bdaa893628f081d970993257558f4dff50bfd2de507a71de030bf8fd1a1"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"sha256": "1822d50768871c2e07da0f1d3dcf7af6a90f25c06809f19e553d04faaee0d363"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"sha256": "1e201380f959c4b44d7d6e112367383781dbbd97d5c0b2e6cfe6223dc3db5223"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"sha256": "0d7d0cf7cd69e6759bf1051cdc69be188709bae3ce6fef8b6ae81dcd78272fd2"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"sha256": "5c62fb6e8ad93d39eb0a7d272cf1a4c5d506d80c906be96ac62c9568a4c2171d"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"sha256": "cf2764398444bc306d76096aca2ca982264653d326095ed7ba935a61d870d7b6"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"sha256": "d71adf0bfae4c05662bc097fd9acb543efd11415631acb32aed76c4b1eb2582e"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"sha256": "65c941a31f5545c358b6d4b25c81c6b0a59c0bf58faf9020ade19a716c2aab29"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"sha256": "b895b241ad3ff86d93d9a0cc2bc26c3d6b14660099e2697dd6f63da34a1c586d"
|
||||
},
|
||||
{
|
||||
"file": "16_screenshot_dashboard.svg",
|
||||
"sha256": "57ffd2071f3cc17bef9484d45d6a6ed2f59447a7b21a69768a81272b377b14ca"
|
||||
},
|
||||
{
|
||||
"file": "17_screenshot_debate.svg",
|
||||
"sha256": "8b22280e5f841227f78ba92c720d7026d86c1d08fa2e36df2b923997258b231a"
|
||||
},
|
||||
{
|
||||
"file": "18_screenshot_kg.svg",
|
||||
"sha256": "caf4de25205829ad7109b943f6c00736f202f68341f22047b7acdd91c2f9034d"
|
||||
},
|
||||
{
|
||||
"file": "19_screenshot_pricing.svg",
|
||||
"sha256": "af61246565e3f9bd9363d75b20e29e4c43a0efbef5af21c8a18a1129b8dcc040"
|
||||
},
|
||||
{
|
||||
"file": "20_team_structure.svg",
|
||||
"sha256": "7216c0bf335863854da7a3f19e57b4ea1dc774df26b4b27b91ae2b558ad7cd5e"
|
||||
},
|
||||
{
|
||||
"file": "21_future_prospects.svg",
|
||||
"sha256": "f329caaa55787df259f8022a6a2d86bf37614831eeb01367d7106e64b48793e3"
|
||||
},
|
||||
{
|
||||
"file": "22_thanks.svg",
|
||||
"sha256": "d0ed2b4798cfb95e49d62f126ec20d5d95c6d5b8df5c8c17e034cdcf5c201dd3"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"package": {
|
||||
"zip_integrity": "passed",
|
||||
"corrupt_member": null,
|
||||
"slides": 22,
|
||||
"notes": 0,
|
||||
"masters": 1,
|
||||
"layouts": 1
|
||||
},
|
||||
"checks": {
|
||||
"zip_integrity": "passed",
|
||||
"slide_count": "passed",
|
||||
"internal_relationships": "enforced-at-build",
|
||||
"structured_package": "not-applicable",
|
||||
"transitions": "enforced-at-build",
|
||||
"animations": "enforced-at-build",
|
||||
"quality_gate": "stale",
|
||||
"quality_warnings": "warning",
|
||||
"template_tokens": "passed",
|
||||
"external_images": "passed",
|
||||
"font_portability": "passed"
|
||||
},
|
||||
"quality": {
|
||||
"status": "loaded",
|
||||
"path": "d:\\code\\XH-202626_科创企业特有风险的识别与管理\\projects\\XH-202626-presentation_ppt169_20260727\\validation\\svg_quality_report.json",
|
||||
"schema": "ppt-master.svg-quality-report.v1",
|
||||
"stage": "final",
|
||||
"source_match": "mismatch",
|
||||
"source_fingerprint": {
|
||||
"algorithm": "sha256",
|
||||
"digest": "5f1a6a1495a66e3b3c82294907c18be137016d12283a8a707bd48b7e511d8c62",
|
||||
"file_count": 25,
|
||||
"files": [
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"sha256": "e586ea6f3f0e47bf34b389a4506dec28265ee0d50804779022f44ac29dba0fbc"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"sha256": "9f8fc3ab98f69eccca6e1091ab0170164e0345f8442d864aa4a7e1b1382f53bd"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"sha256": "9cd1fb0a4b8681163b14f4852257442565b3215bb94f0151cf0de2454b9858d8"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"sha256": "4626c73b76ef6418d545bfe8b3e8e60a98f180d32c09eba74f0b1420ed97efe1"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"sha256": "3fbdcf1b1cf9ab5ef22422d2f254d01561feadee9f1f88e4927d26a41366276b"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"sha256": "b7768c710464a27eb98bebe203db780f45baf2180396647719f572236af9d35e"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"sha256": "b8327bdaa893628f081d970993257558f4dff50bfd2de507a71de030bf8fd1a1"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"sha256": "1822d50768871c2e07da0f1d3dcf7af6a90f25c06809f19e553d04faaee0d363"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"sha256": "1e201380f959c4b44d7d6e112367383781dbbd97d5c0b2e6cfe6223dc3db5223"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"sha256": "0d7d0cf7cd69e6759bf1051cdc69be188709bae3ce6fef8b6ae81dcd78272fd2"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"sha256": "5c62fb6e8ad93d39eb0a7d272cf1a4c5d506d80c906be96ac62c9568a4c2171d"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"sha256": "cf2764398444bc306d76096aca2ca982264653d326095ed7ba935a61d870d7b6"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"sha256": "d71adf0bfae4c05662bc097fd9acb543efd11415631acb32aed76c4b1eb2582e"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"sha256": "65c941a31f5545c358b6d4b25c81c6b0a59c0bf58faf9020ade19a716c2aab29"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"sha256": "b895b241ad3ff86d93d9a0cc2bc26c3d6b14660099e2697dd6f63da34a1c586d"
|
||||
},
|
||||
{
|
||||
"file": "16_screenshot_dashboard.svg",
|
||||
"sha256": "57ffd2071f3cc17bef9484d45d6a6ed2f59447a7b21a69768a81272b377b14ca"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"sha256": "218e3755ba2a804a57a1d6ef5edbcf3c886eaff11ce99cfcafb64b3be889a5e0"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"sha256": "76dc2b84fc6c3c84b70f7d2b6cc51aa856de29a19b009fdb94a064e56ad14b68"
|
||||
},
|
||||
{
|
||||
"file": "17_screenshot_debate.svg",
|
||||
"sha256": "8b22280e5f841227f78ba92c720d7026d86c1d08fa2e36df2b923997258b231a"
|
||||
},
|
||||
{
|
||||
"file": "18_screenshot_kg.svg",
|
||||
"sha256": "caf4de25205829ad7109b943f6c00736f202f68341f22047b7acdd91c2f9034d"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"sha256": "9aa002d48ac83c3279552abaac4a3433d34ef906ccdfbd20117d4281a5d77327"
|
||||
},
|
||||
{
|
||||
"file": "19_screenshot_pricing.svg",
|
||||
"sha256": "af61246565e3f9bd9363d75b20e29e4c43a0efbef5af21c8a18a1129b8dcc040"
|
||||
},
|
||||
{
|
||||
"file": "20_team_structure.svg",
|
||||
"sha256": "218e3755ba2a804a57a1d6ef5edbcf3c886eaff11ce99cfcafb64b3be889a5e0"
|
||||
},
|
||||
{
|
||||
"file": "21_future_prospects.svg",
|
||||
"sha256": "f329caaa55787df259f8022a6a2d86bf37614831eeb01367d7106e64b48793e3"
|
||||
},
|
||||
{
|
||||
"file": "22_thanks.svg",
|
||||
"sha256": "9aa002d48ac83c3279552abaac4a3433d34ef906ccdfbd20117d4281a5d77327"
|
||||
}
|
||||
]
|
||||
},
|
||||
"summary": {
|
||||
"total": 25,
|
||||
"passed": 0,
|
||||
"warnings": 25,
|
||||
"errors": 0
|
||||
},
|
||||
"categories": {
|
||||
"blocking": {
|
||||
"count": 0,
|
||||
"issues": []
|
||||
},
|
||||
"introduced": {
|
||||
"count": 132,
|
||||
"issues": [
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "Reference SVG: detected 2 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>; <g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "Top-level visible <g> #7 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<path> #2, <path> #3, <circle> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "spec_lock drift: 2 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "spec_lock drift: 2 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "spec_lock drift: 4 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "spec_lock drift: 4 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "spec_lock drift: 2 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"message": "39 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 16x6, 17x12. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 17x4. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "spec_lock drift: 4 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "spec_lock drift: 5 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "spec_lock drift: 4 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "16_screenshot_dashboard.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "16_screenshot_dashboard.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "16_screenshot_dashboard.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "16_screenshot_dashboard.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "16_screenshot_dashboard.svg",
|
||||
"message": "spec_lock drift: 5 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "16_screenshot_dashboard.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 13, 15. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "17_screenshot_debate.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "17_screenshot_debate.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "17_screenshot_debate.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "17_screenshot_debate.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "17_screenshot_debate.svg",
|
||||
"message": "spec_lock drift: 5 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "17_screenshot_debate.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 13, 15. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "18_screenshot_kg.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "18_screenshot_kg.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "18_screenshot_kg.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "18_screenshot_kg.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "18_screenshot_kg.svg",
|
||||
"message": "spec_lock drift: 5 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "18_screenshot_kg.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 13, 15. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "Reference SVG: detected 2 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>; <g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "Top-level visible <g> #4 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "2 ungrouped top-level Slide-local element(s) in svg_output (<circle> #2, <circle> #3); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "spec_lock drift: 1 color(s), 1 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "19_screenshot_pricing.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "19_screenshot_pricing.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "19_screenshot_pricing.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "19_screenshot_pricing.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "19_screenshot_pricing.svg",
|
||||
"message": "spec_lock drift: 5 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "19_screenshot_pricing.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 13, 15. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "20_team_structure.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "20_team_structure.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "20_team_structure.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "20_team_structure.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "20_team_structure.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "21_future_prospects.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "21_future_prospects.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "21_future_prospects.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "21_future_prospects.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "21_future_prospects.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "22_thanks.svg",
|
||||
"message": "Reference SVG: detected 2 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>; <g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "22_thanks.svg",
|
||||
"message": "Top-level visible <g> #4 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "22_thanks.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "22_thanks.svg",
|
||||
"message": "2 ungrouped top-level Slide-local element(s) in svg_output (<circle> #2, <circle> #3); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "22_thanks.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "22_thanks.svg",
|
||||
"message": "spec_lock drift: 1 color(s), 1 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"inherited": {
|
||||
"count": 0,
|
||||
"issues": []
|
||||
},
|
||||
"source-import": {
|
||||
"count": 0,
|
||||
"summary": {
|
||||
"warning_count": 0,
|
||||
"by_code": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"resources": {
|
||||
"unresolved_template_tokens": [],
|
||||
"fonts": {
|
||||
"stacks": [
|
||||
"Microsoft YaHei, sans-serif",
|
||||
"SimHei, Microsoft YaHei, sans-serif"
|
||||
],
|
||||
"generic_only_stacks": []
|
||||
},
|
||||
"images": {
|
||||
"data_uri": 0,
|
||||
"local": 0,
|
||||
"external": 0,
|
||||
"external_references": []
|
||||
}
|
||||
},
|
||||
"backup_path": null,
|
||||
"conversion_trace_path": null
|
||||
}
|
||||
@@ -0,0 +1,677 @@
|
||||
{
|
||||
"schema": "ppt-master.pptx-postflight-report.v1",
|
||||
"status": "passed-with-warnings",
|
||||
"output": {
|
||||
"path": "D:\\code\\XH-202626_科创企业特有风险的识别与管理\\科创企业特有风险识别与管理_竞赛汇报PPT.pptx",
|
||||
"bytes": 74793
|
||||
},
|
||||
"source": {
|
||||
"svg_slide_count": 18,
|
||||
"layout_definition_count": 0,
|
||||
"fingerprint": {
|
||||
"algorithm": "sha256",
|
||||
"digest": "b5987ea261c5a97868deff446360e86b2ca7f2a18544e60d0b6c9ab2a9e217b8",
|
||||
"file_count": 18,
|
||||
"files": [
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"sha256": "087f940b41107d9708bd9789a0e18a1274e92d7b0705da3677cb1862c3c844a4"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"sha256": "54a46ea304ee861e3c00463ce95a0fa4c30cebd903bbc6aef6994a8051fd9f44"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"sha256": "88f33222eff0ca9aa6160c2bca5e95c5d050da470b6f29bea6f0d51c9841508a"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"sha256": "d741f7ef7651919c1da3b8e7ddb8dd4bc2fe8f3db62208195783025382de37ac"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"sha256": "a077643f1526b78b11ed05681fdaf0a779dbb4359c4ffc6a5587bae464d24ca0"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"sha256": "2c941b5a89d8b20ede30a518a9942e1df3b3192832c8ad9c329caaad888e5c36"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"sha256": "3fd20871a0e6d9c5590b4ffeff6d4773652c36bec13747958f269230770f4734"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"sha256": "d59612deeaf4d133e37925367ed04736abf5999d7596a0f561a5046919befbb1"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"sha256": "e6eb2240ebc92fc7096321445cfbec5ad2e1b3951110cc5b6452f9a0d2ccec7f"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"sha256": "236e1ba04f6724910ff89ebd75814dde977ab184003d737be019c3f474581ec5"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"sha256": "ce69d1a34b391f62e7dd104f69424ba514661d84a437b9353223787f961468e2"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"sha256": "e67a6a336d751047247b4f94e3ba7b6b382b68ecc915e3161ed957d0230c8412"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"sha256": "48d2b937d5fa72deced71175680c1a921f77204abbea8219d6f9085eb46d3567"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"sha256": "7df7593adabda9d8529d157c4212bde4f8a2296263d5bb1aeb5b1050fc532240"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"sha256": "eddbaf2fb5333298e681d6a858f40df0447515b51e31755a3cb38158478394a4"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"sha256": "340a3574506ac6bdd582d65e0bb3be71b7fb2352b69f64a543218d18c6f8c4ef"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"sha256": "c6436a544ab8b7b7cd39eacccf8cfc4ee5f4e2bc6d2a7cb1fd99a74f19e32f85"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"sha256": "1997d5b118aef3a8b2338c8feb2c54ff47d982ee600c3477eefa879a15735960"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"package": {
|
||||
"zip_integrity": "passed",
|
||||
"corrupt_member": null,
|
||||
"slides": 18,
|
||||
"notes": 0,
|
||||
"masters": 1,
|
||||
"layouts": 1
|
||||
},
|
||||
"checks": {
|
||||
"zip_integrity": "passed",
|
||||
"slide_count": "passed",
|
||||
"internal_relationships": "enforced-at-build",
|
||||
"structured_package": "not-applicable",
|
||||
"transitions": "enforced-at-build",
|
||||
"animations": "enforced-at-build",
|
||||
"quality_gate": "passed",
|
||||
"quality_warnings": "warning",
|
||||
"template_tokens": "passed",
|
||||
"external_images": "passed",
|
||||
"font_portability": "passed"
|
||||
},
|
||||
"quality": {
|
||||
"status": "loaded",
|
||||
"path": "d:\\code\\XH-202626_科创企业特有风险的识别与管理\\projects\\XH-202626-presentation_ppt169_20260727\\validation\\svg_quality_report.json",
|
||||
"schema": "ppt-master.svg-quality-report.v1",
|
||||
"stage": "final",
|
||||
"source_match": "passed",
|
||||
"source_fingerprint": {
|
||||
"algorithm": "sha256",
|
||||
"digest": "b5987ea261c5a97868deff446360e86b2ca7f2a18544e60d0b6c9ab2a9e217b8",
|
||||
"file_count": 18,
|
||||
"files": [
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"sha256": "087f940b41107d9708bd9789a0e18a1274e92d7b0705da3677cb1862c3c844a4"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"sha256": "54a46ea304ee861e3c00463ce95a0fa4c30cebd903bbc6aef6994a8051fd9f44"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"sha256": "88f33222eff0ca9aa6160c2bca5e95c5d050da470b6f29bea6f0d51c9841508a"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"sha256": "d741f7ef7651919c1da3b8e7ddb8dd4bc2fe8f3db62208195783025382de37ac"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"sha256": "a077643f1526b78b11ed05681fdaf0a779dbb4359c4ffc6a5587bae464d24ca0"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"sha256": "2c941b5a89d8b20ede30a518a9942e1df3b3192832c8ad9c329caaad888e5c36"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"sha256": "3fd20871a0e6d9c5590b4ffeff6d4773652c36bec13747958f269230770f4734"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"sha256": "d59612deeaf4d133e37925367ed04736abf5999d7596a0f561a5046919befbb1"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"sha256": "e6eb2240ebc92fc7096321445cfbec5ad2e1b3951110cc5b6452f9a0d2ccec7f"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"sha256": "236e1ba04f6724910ff89ebd75814dde977ab184003d737be019c3f474581ec5"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"sha256": "ce69d1a34b391f62e7dd104f69424ba514661d84a437b9353223787f961468e2"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"sha256": "e67a6a336d751047247b4f94e3ba7b6b382b68ecc915e3161ed957d0230c8412"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"sha256": "48d2b937d5fa72deced71175680c1a921f77204abbea8219d6f9085eb46d3567"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"sha256": "7df7593adabda9d8529d157c4212bde4f8a2296263d5bb1aeb5b1050fc532240"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"sha256": "eddbaf2fb5333298e681d6a858f40df0447515b51e31755a3cb38158478394a4"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"sha256": "340a3574506ac6bdd582d65e0bb3be71b7fb2352b69f64a543218d18c6f8c4ef"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"sha256": "c6436a544ab8b7b7cd39eacccf8cfc4ee5f4e2bc6d2a7cb1fd99a74f19e32f85"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"sha256": "1997d5b118aef3a8b2338c8feb2c54ff47d982ee600c3477eefa879a15735960"
|
||||
}
|
||||
]
|
||||
},
|
||||
"summary": {
|
||||
"total": 18,
|
||||
"passed": 0,
|
||||
"warnings": 18,
|
||||
"errors": 0
|
||||
},
|
||||
"categories": {
|
||||
"blocking": {
|
||||
"count": 0,
|
||||
"issues": []
|
||||
},
|
||||
"introduced": {
|
||||
"count": 108,
|
||||
"issues": [
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "Top-level visible <g> #10 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "13 ungrouped top-level Slide-local element(s) in svg_output (<path> #2, <path> #3, <circle> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 15x7, 16. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "spec_lock drift: 2 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 15x24, 16. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "Top-level visible <g> #9 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "26 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "spec_lock drift: 6 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 15x12, 16x2. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "Recommendation: fill='#0e7490' is converter-compatible in 1 location(s) (<rect> attribute); generated SVG should prefer fill=\"#0E7490\". No change is required for export."
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "Top-level visible <g> #8 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "6 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "spec_lock drift: 7 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 15x16, 16x2. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 13x6, 15x6, 16. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"message": "39 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 15x6, 16x5. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "spec_lock drift: 5 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 13x18, 15x14, 16, 17x4. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "Reference SVG: detected 2 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>; <g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "Top-level visible <g> #7 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "Top-level visible <g> #10 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "7 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "spec_lock drift: 5 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 12x3, 13x5, 16x7, 17. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "Top-level visible <g> #22 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "20 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "spec_lock drift: 2 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 15x7, 16x4, 17x2. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "Reference SVG: detected 2 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>; <g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "Top-level visible <g> #7 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "Top-level visible <g> #10 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "7 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "spec_lock drift: 5 color(s), 2 font-family value(s), 1 font-size value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 11, 12x5, 13x4, 15, 16x3. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "Reference SVG: detected 2 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>; <g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "Top-level visible <g> #7 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "Top-level visible <g> #10 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "7 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "spec_lock drift: 4 color(s), 3 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 13x2, 15, 16, 17x3. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "Top-level visible <g> #7 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "5 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "spec_lock drift: 4 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 13x3, 16x7, 17x3. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "Top-level visible <g> #8 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "6 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "spec_lock drift: 4 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 13x4, 15x7, 16, 17x6. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "Top-level visible <g> #7 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "5 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 3 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 13x2, 15x3, 16. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "spec_lock drift: 2 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 13x5, 16, 17x5. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "spec_lock drift: 4 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 15x8, 16x2, 17x2. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "Top-level visible <g> #7 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "5 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "spec_lock drift: 4 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 13x3, 16x7, 17x3. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "8 ungrouped top-level Slide-local element(s) in svg_output (<circle> #2, <circle> #3, <text> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "spec_lock drift: 2 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 15, 16. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
}
|
||||
]
|
||||
},
|
||||
"inherited": {
|
||||
"count": 0,
|
||||
"issues": []
|
||||
},
|
||||
"source-import": {
|
||||
"count": 0,
|
||||
"summary": {
|
||||
"warning_count": 0,
|
||||
"by_code": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"resources": {
|
||||
"unresolved_template_tokens": [],
|
||||
"fonts": {
|
||||
"stacks": [
|
||||
"Consolas, monospace",
|
||||
"Microsoft YaHei, sans-serif",
|
||||
"SimHei, Microsoft YaHei, sans-serif"
|
||||
],
|
||||
"generic_only_stacks": []
|
||||
},
|
||||
"images": {
|
||||
"data_uri": 0,
|
||||
"local": 0,
|
||||
"external": 0,
|
||||
"external_references": []
|
||||
}
|
||||
},
|
||||
"backup_path": null,
|
||||
"conversion_trace_path": null
|
||||
}
|
||||
@@ -0,0 +1,816 @@
|
||||
{
|
||||
"schema": "ppt-master.pptx-postflight-report.v1",
|
||||
"status": "passed-with-warnings",
|
||||
"output": {
|
||||
"path": "D:\\code\\XH-202626_科创企业特有风险的识别与管理\\科创企业特有风险识别与管理_竞赛汇报PPT_22页截图占位版.pptx",
|
||||
"bytes": 68860
|
||||
},
|
||||
"source": {
|
||||
"svg_slide_count": 22,
|
||||
"layout_definition_count": 0,
|
||||
"fingerprint": {
|
||||
"algorithm": "sha256",
|
||||
"digest": "91ba76696f50956513e213d1ffa029ef1b52ba572c4a33d477ef9516f39bc4bb",
|
||||
"file_count": 22,
|
||||
"files": [
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"sha256": "e586ea6f3f0e47bf34b389a4506dec28265ee0d50804779022f44ac29dba0fbc"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"sha256": "9f8fc3ab98f69eccca6e1091ab0170164e0345f8442d864aa4a7e1b1382f53bd"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"sha256": "9cd1fb0a4b8681163b14f4852257442565b3215bb94f0151cf0de2454b9858d8"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"sha256": "4626c73b76ef6418d545bfe8b3e8e60a98f180d32c09eba74f0b1420ed97efe1"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"sha256": "3fbdcf1b1cf9ab5ef22422d2f254d01561feadee9f1f88e4927d26a41366276b"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"sha256": "b7768c710464a27eb98bebe203db780f45baf2180396647719f572236af9d35e"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"sha256": "b8327bdaa893628f081d970993257558f4dff50bfd2de507a71de030bf8fd1a1"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"sha256": "1822d50768871c2e07da0f1d3dcf7af6a90f25c06809f19e553d04faaee0d363"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"sha256": "1e201380f959c4b44d7d6e112367383781dbbd97d5c0b2e6cfe6223dc3db5223"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"sha256": "0d7d0cf7cd69e6759bf1051cdc69be188709bae3ce6fef8b6ae81dcd78272fd2"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"sha256": "5c62fb6e8ad93d39eb0a7d272cf1a4c5d506d80c906be96ac62c9568a4c2171d"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"sha256": "cf2764398444bc306d76096aca2ca982264653d326095ed7ba935a61d870d7b6"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"sha256": "d71adf0bfae4c05662bc097fd9acb543efd11415631acb32aed76c4b1eb2582e"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"sha256": "65c941a31f5545c358b6d4b25c81c6b0a59c0bf58faf9020ade19a716c2aab29"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"sha256": "b895b241ad3ff86d93d9a0cc2bc26c3d6b14660099e2697dd6f63da34a1c586d"
|
||||
},
|
||||
{
|
||||
"file": "16_screenshot_dashboard.svg",
|
||||
"sha256": "57ffd2071f3cc17bef9484d45d6a6ed2f59447a7b21a69768a81272b377b14ca"
|
||||
},
|
||||
{
|
||||
"file": "17_screenshot_debate.svg",
|
||||
"sha256": "8b22280e5f841227f78ba92c720d7026d86c1d08fa2e36df2b923997258b231a"
|
||||
},
|
||||
{
|
||||
"file": "18_screenshot_kg.svg",
|
||||
"sha256": "caf4de25205829ad7109b943f6c00736f202f68341f22047b7acdd91c2f9034d"
|
||||
},
|
||||
{
|
||||
"file": "19_screenshot_pricing.svg",
|
||||
"sha256": "af61246565e3f9bd9363d75b20e29e4c43a0efbef5af21c8a18a1129b8dcc040"
|
||||
},
|
||||
{
|
||||
"file": "20_team_structure.svg",
|
||||
"sha256": "218e3755ba2a804a57a1d6ef5edbcf3c886eaff11ce99cfcafb64b3be889a5e0"
|
||||
},
|
||||
{
|
||||
"file": "21_future_prospects.svg",
|
||||
"sha256": "f329caaa55787df259f8022a6a2d86bf37614831eeb01367d7106e64b48793e3"
|
||||
},
|
||||
{
|
||||
"file": "22_thanks.svg",
|
||||
"sha256": "9aa002d48ac83c3279552abaac4a3433d34ef906ccdfbd20117d4281a5d77327"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"package": {
|
||||
"zip_integrity": "passed",
|
||||
"corrupt_member": null,
|
||||
"slides": 22,
|
||||
"notes": 0,
|
||||
"masters": 1,
|
||||
"layouts": 1
|
||||
},
|
||||
"checks": {
|
||||
"zip_integrity": "passed",
|
||||
"slide_count": "passed",
|
||||
"internal_relationships": "enforced-at-build",
|
||||
"structured_package": "not-applicable",
|
||||
"transitions": "enforced-at-build",
|
||||
"animations": "enforced-at-build",
|
||||
"quality_gate": "stale",
|
||||
"quality_warnings": "warning",
|
||||
"template_tokens": "passed",
|
||||
"external_images": "passed",
|
||||
"font_portability": "passed"
|
||||
},
|
||||
"quality": {
|
||||
"status": "loaded",
|
||||
"path": "d:\\code\\XH-202626_科创企业特有风险的识别与管理\\projects\\XH-202626-presentation_ppt169_20260727\\validation\\svg_quality_report.json",
|
||||
"schema": "ppt-master.svg-quality-report.v1",
|
||||
"stage": "final",
|
||||
"source_match": "mismatch",
|
||||
"source_fingerprint": {
|
||||
"algorithm": "sha256",
|
||||
"digest": "5f1a6a1495a66e3b3c82294907c18be137016d12283a8a707bd48b7e511d8c62",
|
||||
"file_count": 25,
|
||||
"files": [
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"sha256": "e586ea6f3f0e47bf34b389a4506dec28265ee0d50804779022f44ac29dba0fbc"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"sha256": "9f8fc3ab98f69eccca6e1091ab0170164e0345f8442d864aa4a7e1b1382f53bd"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"sha256": "9cd1fb0a4b8681163b14f4852257442565b3215bb94f0151cf0de2454b9858d8"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"sha256": "4626c73b76ef6418d545bfe8b3e8e60a98f180d32c09eba74f0b1420ed97efe1"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"sha256": "3fbdcf1b1cf9ab5ef22422d2f254d01561feadee9f1f88e4927d26a41366276b"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"sha256": "b7768c710464a27eb98bebe203db780f45baf2180396647719f572236af9d35e"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"sha256": "b8327bdaa893628f081d970993257558f4dff50bfd2de507a71de030bf8fd1a1"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"sha256": "1822d50768871c2e07da0f1d3dcf7af6a90f25c06809f19e553d04faaee0d363"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"sha256": "1e201380f959c4b44d7d6e112367383781dbbd97d5c0b2e6cfe6223dc3db5223"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"sha256": "0d7d0cf7cd69e6759bf1051cdc69be188709bae3ce6fef8b6ae81dcd78272fd2"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"sha256": "5c62fb6e8ad93d39eb0a7d272cf1a4c5d506d80c906be96ac62c9568a4c2171d"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"sha256": "cf2764398444bc306d76096aca2ca982264653d326095ed7ba935a61d870d7b6"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"sha256": "d71adf0bfae4c05662bc097fd9acb543efd11415631acb32aed76c4b1eb2582e"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"sha256": "65c941a31f5545c358b6d4b25c81c6b0a59c0bf58faf9020ade19a716c2aab29"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"sha256": "b895b241ad3ff86d93d9a0cc2bc26c3d6b14660099e2697dd6f63da34a1c586d"
|
||||
},
|
||||
{
|
||||
"file": "16_screenshot_dashboard.svg",
|
||||
"sha256": "57ffd2071f3cc17bef9484d45d6a6ed2f59447a7b21a69768a81272b377b14ca"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"sha256": "218e3755ba2a804a57a1d6ef5edbcf3c886eaff11ce99cfcafb64b3be889a5e0"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"sha256": "76dc2b84fc6c3c84b70f7d2b6cc51aa856de29a19b009fdb94a064e56ad14b68"
|
||||
},
|
||||
{
|
||||
"file": "17_screenshot_debate.svg",
|
||||
"sha256": "8b22280e5f841227f78ba92c720d7026d86c1d08fa2e36df2b923997258b231a"
|
||||
},
|
||||
{
|
||||
"file": "18_screenshot_kg.svg",
|
||||
"sha256": "caf4de25205829ad7109b943f6c00736f202f68341f22047b7acdd91c2f9034d"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"sha256": "9aa002d48ac83c3279552abaac4a3433d34ef906ccdfbd20117d4281a5d77327"
|
||||
},
|
||||
{
|
||||
"file": "19_screenshot_pricing.svg",
|
||||
"sha256": "af61246565e3f9bd9363d75b20e29e4c43a0efbef5af21c8a18a1129b8dcc040"
|
||||
},
|
||||
{
|
||||
"file": "20_team_structure.svg",
|
||||
"sha256": "218e3755ba2a804a57a1d6ef5edbcf3c886eaff11ce99cfcafb64b3be889a5e0"
|
||||
},
|
||||
{
|
||||
"file": "21_future_prospects.svg",
|
||||
"sha256": "f329caaa55787df259f8022a6a2d86bf37614831eeb01367d7106e64b48793e3"
|
||||
},
|
||||
{
|
||||
"file": "22_thanks.svg",
|
||||
"sha256": "9aa002d48ac83c3279552abaac4a3433d34ef906ccdfbd20117d4281a5d77327"
|
||||
}
|
||||
]
|
||||
},
|
||||
"summary": {
|
||||
"total": 25,
|
||||
"passed": 0,
|
||||
"warnings": 25,
|
||||
"errors": 0
|
||||
},
|
||||
"categories": {
|
||||
"blocking": {
|
||||
"count": 0,
|
||||
"issues": []
|
||||
},
|
||||
"introduced": {
|
||||
"count": 132,
|
||||
"issues": [
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "Reference SVG: detected 2 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>; <g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "Top-level visible <g> #7 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<path> #2, <path> #3, <circle> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "spec_lock drift: 2 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "spec_lock drift: 2 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "spec_lock drift: 4 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "spec_lock drift: 4 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "spec_lock drift: 2 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"message": "39 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 16x6, 17x12. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 17x4. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "spec_lock drift: 4 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "spec_lock drift: 5 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "spec_lock drift: 4 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "16_screenshot_dashboard.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "16_screenshot_dashboard.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "16_screenshot_dashboard.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "16_screenshot_dashboard.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "16_screenshot_dashboard.svg",
|
||||
"message": "spec_lock drift: 5 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "16_screenshot_dashboard.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 13, 15. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "17_screenshot_debate.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "17_screenshot_debate.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "17_screenshot_debate.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "17_screenshot_debate.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "17_screenshot_debate.svg",
|
||||
"message": "spec_lock drift: 5 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "17_screenshot_debate.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 13, 15. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "18_screenshot_kg.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "18_screenshot_kg.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "18_screenshot_kg.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "18_screenshot_kg.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "18_screenshot_kg.svg",
|
||||
"message": "spec_lock drift: 5 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "18_screenshot_kg.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 13, 15. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "Reference SVG: detected 2 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>; <g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "Top-level visible <g> #4 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "2 ungrouped top-level Slide-local element(s) in svg_output (<circle> #2, <circle> #3); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "spec_lock drift: 1 color(s), 1 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "19_screenshot_pricing.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "19_screenshot_pricing.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "19_screenshot_pricing.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "19_screenshot_pricing.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "19_screenshot_pricing.svg",
|
||||
"message": "spec_lock drift: 5 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "19_screenshot_pricing.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 13, 15. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "20_team_structure.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "20_team_structure.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "20_team_structure.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "20_team_structure.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "20_team_structure.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "21_future_prospects.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "21_future_prospects.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "21_future_prospects.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "21_future_prospects.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "21_future_prospects.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "22_thanks.svg",
|
||||
"message": "Reference SVG: detected 2 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>; <g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "22_thanks.svg",
|
||||
"message": "Top-level visible <g> #4 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "22_thanks.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "22_thanks.svg",
|
||||
"message": "2 ungrouped top-level Slide-local element(s) in svg_output (<circle> #2, <circle> #3); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "22_thanks.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "22_thanks.svg",
|
||||
"message": "spec_lock drift: 1 color(s), 1 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"inherited": {
|
||||
"count": 0,
|
||||
"issues": []
|
||||
},
|
||||
"source-import": {
|
||||
"count": 0,
|
||||
"summary": {
|
||||
"warning_count": 0,
|
||||
"by_code": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"resources": {
|
||||
"unresolved_template_tokens": [],
|
||||
"fonts": {
|
||||
"stacks": [
|
||||
"Microsoft YaHei, sans-serif",
|
||||
"SimHei, Microsoft YaHei, sans-serif"
|
||||
],
|
||||
"generic_only_stacks": []
|
||||
},
|
||||
"images": {
|
||||
"data_uri": 0,
|
||||
"local": 0,
|
||||
"external": 0,
|
||||
"external_references": []
|
||||
}
|
||||
},
|
||||
"backup_path": null,
|
||||
"conversion_trace_path": null
|
||||
}
|
||||
@@ -0,0 +1,685 @@
|
||||
{
|
||||
"schema": "ppt-master.pptx-postflight-report.v1",
|
||||
"status": "passed-with-warnings",
|
||||
"output": {
|
||||
"path": "D:\\code\\XH-202626_科创企业特有风险的识别与管理\\科创企业特有风险识别与管理_竞赛汇报PPT_V2.pptx",
|
||||
"bytes": 73614
|
||||
},
|
||||
"source": {
|
||||
"svg_slide_count": 18,
|
||||
"layout_definition_count": 0,
|
||||
"fingerprint": {
|
||||
"algorithm": "sha256",
|
||||
"digest": "d4e958d09d3f9295b07b4e4e8e8baf6a3ee36f58da46f9ee578c7a620bf25e54",
|
||||
"file_count": 18,
|
||||
"files": [
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"sha256": "121ca9324bcc8ca615a12e322d6598821fbe5201280832fb51fa1db6d90d8e1a"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"sha256": "54a46ea304ee861e3c00463ce95a0fa4c30cebd903bbc6aef6994a8051fd9f44"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"sha256": "88f33222eff0ca9aa6160c2bca5e95c5d050da470b6f29bea6f0d51c9841508a"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"sha256": "d741f7ef7651919c1da3b8e7ddb8dd4bc2fe8f3db62208195783025382de37ac"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"sha256": "a077643f1526b78b11ed05681fdaf0a779dbb4359c4ffc6a5587bae464d24ca0"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"sha256": "be562a24f68340bb8fb49362f227856a4e3bb3cb270c1a698eac0b80beca88b5"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"sha256": "3fd20871a0e6d9c5590b4ffeff6d4773652c36bec13747958f269230770f4734"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"sha256": "d59612deeaf4d133e37925367ed04736abf5999d7596a0f561a5046919befbb1"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"sha256": "e6eb2240ebc92fc7096321445cfbec5ad2e1b3951110cc5b6452f9a0d2ccec7f"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"sha256": "236e1ba04f6724910ff89ebd75814dde977ab184003d737be019c3f474581ec5"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"sha256": "ce69d1a34b391f62e7dd104f69424ba514661d84a437b9353223787f961468e2"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"sha256": "e67a6a336d751047247b4f94e3ba7b6b382b68ecc915e3161ed957d0230c8412"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"sha256": "48d2b937d5fa72deced71175680c1a921f77204abbea8219d6f9085eb46d3567"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"sha256": "7df7593adabda9d8529d157c4212bde4f8a2296263d5bb1aeb5b1050fc532240"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"sha256": "eddbaf2fb5333298e681d6a858f40df0447515b51e31755a3cb38158478394a4"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"sha256": "340a3574506ac6bdd582d65e0bb3be71b7fb2352b69f64a543218d18c6f8c4ef"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"sha256": "c6436a544ab8b7b7cd39eacccf8cfc4ee5f4e2bc6d2a7cb1fd99a74f19e32f85"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"sha256": "11ddf4e3ddff201cdc3a81349bd84824a582fe1a3bd16409c662d716737fdecd"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"package": {
|
||||
"zip_integrity": "passed",
|
||||
"corrupt_member": null,
|
||||
"slides": 18,
|
||||
"notes": 0,
|
||||
"masters": 1,
|
||||
"layouts": 1
|
||||
},
|
||||
"checks": {
|
||||
"zip_integrity": "passed",
|
||||
"slide_count": "passed",
|
||||
"internal_relationships": "enforced-at-build",
|
||||
"structured_package": "not-applicable",
|
||||
"transitions": "enforced-at-build",
|
||||
"animations": "enforced-at-build",
|
||||
"quality_gate": "passed",
|
||||
"quality_warnings": "warning",
|
||||
"template_tokens": "passed",
|
||||
"external_images": "passed",
|
||||
"font_portability": "passed"
|
||||
},
|
||||
"quality": {
|
||||
"status": "loaded",
|
||||
"path": "d:\\code\\XH-202626_科创企业特有风险的识别与管理\\projects\\XH-202626-presentation_ppt169_20260727\\validation\\svg_quality_report.json",
|
||||
"schema": "ppt-master.svg-quality-report.v1",
|
||||
"stage": "final",
|
||||
"source_match": "passed",
|
||||
"source_fingerprint": {
|
||||
"algorithm": "sha256",
|
||||
"digest": "d4e958d09d3f9295b07b4e4e8e8baf6a3ee36f58da46f9ee578c7a620bf25e54",
|
||||
"file_count": 18,
|
||||
"files": [
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"sha256": "121ca9324bcc8ca615a12e322d6598821fbe5201280832fb51fa1db6d90d8e1a"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"sha256": "54a46ea304ee861e3c00463ce95a0fa4c30cebd903bbc6aef6994a8051fd9f44"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"sha256": "88f33222eff0ca9aa6160c2bca5e95c5d050da470b6f29bea6f0d51c9841508a"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"sha256": "d741f7ef7651919c1da3b8e7ddb8dd4bc2fe8f3db62208195783025382de37ac"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"sha256": "a077643f1526b78b11ed05681fdaf0a779dbb4359c4ffc6a5587bae464d24ca0"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"sha256": "be562a24f68340bb8fb49362f227856a4e3bb3cb270c1a698eac0b80beca88b5"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"sha256": "3fd20871a0e6d9c5590b4ffeff6d4773652c36bec13747958f269230770f4734"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"sha256": "d59612deeaf4d133e37925367ed04736abf5999d7596a0f561a5046919befbb1"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"sha256": "e6eb2240ebc92fc7096321445cfbec5ad2e1b3951110cc5b6452f9a0d2ccec7f"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"sha256": "236e1ba04f6724910ff89ebd75814dde977ab184003d737be019c3f474581ec5"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"sha256": "ce69d1a34b391f62e7dd104f69424ba514661d84a437b9353223787f961468e2"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"sha256": "e67a6a336d751047247b4f94e3ba7b6b382b68ecc915e3161ed957d0230c8412"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"sha256": "48d2b937d5fa72deced71175680c1a921f77204abbea8219d6f9085eb46d3567"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"sha256": "7df7593adabda9d8529d157c4212bde4f8a2296263d5bb1aeb5b1050fc532240"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"sha256": "eddbaf2fb5333298e681d6a858f40df0447515b51e31755a3cb38158478394a4"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"sha256": "340a3574506ac6bdd582d65e0bb3be71b7fb2352b69f64a543218d18c6f8c4ef"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"sha256": "c6436a544ab8b7b7cd39eacccf8cfc4ee5f4e2bc6d2a7cb1fd99a74f19e32f85"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"sha256": "11ddf4e3ddff201cdc3a81349bd84824a582fe1a3bd16409c662d716737fdecd"
|
||||
}
|
||||
]
|
||||
},
|
||||
"summary": {
|
||||
"total": 18,
|
||||
"passed": 0,
|
||||
"warnings": 18,
|
||||
"errors": 0
|
||||
},
|
||||
"categories": {
|
||||
"blocking": {
|
||||
"count": 0,
|
||||
"issues": []
|
||||
},
|
||||
"introduced": {
|
||||
"count": 110,
|
||||
"issues": [
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "Reference SVG: detected 2 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>; <g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "Top-level visible <g> #7 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<path> #2, <path> #3, <circle> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "spec_lock drift: 2 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "spec_lock drift: 2 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 15x24, 16. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "Top-level visible <g> #9 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "26 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "spec_lock drift: 6 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 15x12, 16x2. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "Recommendation: fill='#0e7490' is converter-compatible in 1 location(s) (<rect> attribute); generated SVG should prefer fill=\"#0E7490\". No change is required for export."
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "Top-level visible <g> #8 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "6 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "spec_lock drift: 7 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 15x16, 16x2. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 13x6, 15x6, 16. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"message": "39 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 16x7, 17x12. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "spec_lock drift: 5 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 13x18, 15x14, 16, 17x4. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "Reference SVG: detected 2 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>; <g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "Top-level visible <g> #7 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "Top-level visible <g> #10 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "7 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "spec_lock drift: 5 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 12x3, 13x5, 16x7, 17. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "Top-level visible <g> #22 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "20 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "spec_lock drift: 2 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 15x7, 16x4, 17x2. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "Reference SVG: detected 2 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>; <g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "Top-level visible <g> #7 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "Top-level visible <g> #10 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "7 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "spec_lock drift: 5 color(s), 2 font-family value(s), 1 font-size value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 11, 12x5, 13x4, 15, 16x3. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "Reference SVG: detected 2 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>; <g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "Top-level visible <g> #7 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "Top-level visible <g> #10 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "7 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "spec_lock drift: 4 color(s), 3 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 13x2, 15, 16, 17x3. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "Top-level visible <g> #7 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "5 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "spec_lock drift: 4 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 13x3, 16x7, 17x3. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "Top-level visible <g> #8 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "6 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "spec_lock drift: 4 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 13x4, 15x7, 16, 17x6. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "Top-level visible <g> #7 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "5 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 3 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 13x2, 15x3, 16. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "spec_lock drift: 2 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 13x5, 16, 17x5. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "spec_lock drift: 4 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 15x8, 16x2, 17x2. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "Top-level visible <g> #7 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "5 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "spec_lock drift: 4 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 13x3, 16x7, 17x3. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "Reference SVG: detected 2 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>; <g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "Top-level visible <g> #4 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "2 ungrouped top-level Slide-local element(s) in svg_output (<circle> #2, <circle> #3); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "spec_lock drift: 1 color(s), 1 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"inherited": {
|
||||
"count": 0,
|
||||
"issues": []
|
||||
},
|
||||
"source-import": {
|
||||
"count": 0,
|
||||
"summary": {
|
||||
"warning_count": 0,
|
||||
"by_code": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"resources": {
|
||||
"unresolved_template_tokens": [],
|
||||
"fonts": {
|
||||
"stacks": [
|
||||
"Consolas, monospace",
|
||||
"Microsoft YaHei, sans-serif",
|
||||
"SimHei, Microsoft YaHei, sans-serif"
|
||||
],
|
||||
"generic_only_stacks": []
|
||||
},
|
||||
"images": {
|
||||
"data_uri": 0,
|
||||
"local": 0,
|
||||
"external": 0,
|
||||
"external_references": []
|
||||
}
|
||||
},
|
||||
"backup_path": null,
|
||||
"conversion_trace_path": null
|
||||
}
|
||||
@@ -0,0 +1,816 @@
|
||||
{
|
||||
"schema": "ppt-master.pptx-postflight-report.v1",
|
||||
"status": "passed-with-warnings",
|
||||
"output": {
|
||||
"path": "D:\\code\\XH-202626_科创企业特有风险的识别与管理\\科创企业特有风险识别与管理_竞赛汇报PPT_大字最终版.pptx",
|
||||
"bytes": 69378
|
||||
},
|
||||
"source": {
|
||||
"svg_slide_count": 22,
|
||||
"layout_definition_count": 0,
|
||||
"fingerprint": {
|
||||
"algorithm": "sha256",
|
||||
"digest": "5667a2cb8bb3f9981d07aab3aa40db5857401e61eb2110643f86cb46389d4636",
|
||||
"file_count": 22,
|
||||
"files": [
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"sha256": "e586ea6f3f0e47bf34b389a4506dec28265ee0d50804779022f44ac29dba0fbc"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"sha256": "9f8fc3ab98f69eccca6e1091ab0170164e0345f8442d864aa4a7e1b1382f53bd"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"sha256": "9cd1fb0a4b8681163b14f4852257442565b3215bb94f0151cf0de2454b9858d8"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"sha256": "4626c73b76ef6418d545bfe8b3e8e60a98f180d32c09eba74f0b1420ed97efe1"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"sha256": "3fbdcf1b1cf9ab5ef22422d2f254d01561feadee9f1f88e4927d26a41366276b"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"sha256": "b7768c710464a27eb98bebe203db780f45baf2180396647719f572236af9d35e"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"sha256": "b8327bdaa893628f081d970993257558f4dff50bfd2de507a71de030bf8fd1a1"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"sha256": "1822d50768871c2e07da0f1d3dcf7af6a90f25c06809f19e553d04faaee0d363"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"sha256": "1e201380f959c4b44d7d6e112367383781dbbd97d5c0b2e6cfe6223dc3db5223"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"sha256": "0d7d0cf7cd69e6759bf1051cdc69be188709bae3ce6fef8b6ae81dcd78272fd2"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"sha256": "5c62fb6e8ad93d39eb0a7d272cf1a4c5d506d80c906be96ac62c9568a4c2171d"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"sha256": "cf2764398444bc306d76096aca2ca982264653d326095ed7ba935a61d870d7b6"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"sha256": "d71adf0bfae4c05662bc097fd9acb543efd11415631acb32aed76c4b1eb2582e"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"sha256": "65c941a31f5545c358b6d4b25c81c6b0a59c0bf58faf9020ade19a716c2aab29"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"sha256": "b895b241ad3ff86d93d9a0cc2bc26c3d6b14660099e2697dd6f63da34a1c586d"
|
||||
},
|
||||
{
|
||||
"file": "16_screenshot_dashboard.svg",
|
||||
"sha256": "57ffd2071f3cc17bef9484d45d6a6ed2f59447a7b21a69768a81272b377b14ca"
|
||||
},
|
||||
{
|
||||
"file": "17_screenshot_debate.svg",
|
||||
"sha256": "8b22280e5f841227f78ba92c720d7026d86c1d08fa2e36df2b923997258b231a"
|
||||
},
|
||||
{
|
||||
"file": "18_screenshot_kg.svg",
|
||||
"sha256": "caf4de25205829ad7109b943f6c00736f202f68341f22047b7acdd91c2f9034d"
|
||||
},
|
||||
{
|
||||
"file": "19_screenshot_pricing.svg",
|
||||
"sha256": "af61246565e3f9bd9363d75b20e29e4c43a0efbef5af21c8a18a1129b8dcc040"
|
||||
},
|
||||
{
|
||||
"file": "20_team_structure.svg",
|
||||
"sha256": "7216c0bf335863854da7a3f19e57b4ea1dc774df26b4b27b91ae2b558ad7cd5e"
|
||||
},
|
||||
{
|
||||
"file": "21_future_prospects.svg",
|
||||
"sha256": "f329caaa55787df259f8022a6a2d86bf37614831eeb01367d7106e64b48793e3"
|
||||
},
|
||||
{
|
||||
"file": "22_thanks.svg",
|
||||
"sha256": "9aa002d48ac83c3279552abaac4a3433d34ef906ccdfbd20117d4281a5d77327"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"package": {
|
||||
"zip_integrity": "passed",
|
||||
"corrupt_member": null,
|
||||
"slides": 22,
|
||||
"notes": 0,
|
||||
"masters": 1,
|
||||
"layouts": 1
|
||||
},
|
||||
"checks": {
|
||||
"zip_integrity": "passed",
|
||||
"slide_count": "passed",
|
||||
"internal_relationships": "enforced-at-build",
|
||||
"structured_package": "not-applicable",
|
||||
"transitions": "enforced-at-build",
|
||||
"animations": "enforced-at-build",
|
||||
"quality_gate": "stale",
|
||||
"quality_warnings": "warning",
|
||||
"template_tokens": "passed",
|
||||
"external_images": "passed",
|
||||
"font_portability": "passed"
|
||||
},
|
||||
"quality": {
|
||||
"status": "loaded",
|
||||
"path": "d:\\code\\XH-202626_科创企业特有风险的识别与管理\\projects\\XH-202626-presentation_ppt169_20260727\\validation\\svg_quality_report.json",
|
||||
"schema": "ppt-master.svg-quality-report.v1",
|
||||
"stage": "final",
|
||||
"source_match": "mismatch",
|
||||
"source_fingerprint": {
|
||||
"algorithm": "sha256",
|
||||
"digest": "5f1a6a1495a66e3b3c82294907c18be137016d12283a8a707bd48b7e511d8c62",
|
||||
"file_count": 25,
|
||||
"files": [
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"sha256": "e586ea6f3f0e47bf34b389a4506dec28265ee0d50804779022f44ac29dba0fbc"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"sha256": "9f8fc3ab98f69eccca6e1091ab0170164e0345f8442d864aa4a7e1b1382f53bd"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"sha256": "9cd1fb0a4b8681163b14f4852257442565b3215bb94f0151cf0de2454b9858d8"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"sha256": "4626c73b76ef6418d545bfe8b3e8e60a98f180d32c09eba74f0b1420ed97efe1"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"sha256": "3fbdcf1b1cf9ab5ef22422d2f254d01561feadee9f1f88e4927d26a41366276b"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"sha256": "b7768c710464a27eb98bebe203db780f45baf2180396647719f572236af9d35e"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"sha256": "b8327bdaa893628f081d970993257558f4dff50bfd2de507a71de030bf8fd1a1"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"sha256": "1822d50768871c2e07da0f1d3dcf7af6a90f25c06809f19e553d04faaee0d363"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"sha256": "1e201380f959c4b44d7d6e112367383781dbbd97d5c0b2e6cfe6223dc3db5223"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"sha256": "0d7d0cf7cd69e6759bf1051cdc69be188709bae3ce6fef8b6ae81dcd78272fd2"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"sha256": "5c62fb6e8ad93d39eb0a7d272cf1a4c5d506d80c906be96ac62c9568a4c2171d"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"sha256": "cf2764398444bc306d76096aca2ca982264653d326095ed7ba935a61d870d7b6"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"sha256": "d71adf0bfae4c05662bc097fd9acb543efd11415631acb32aed76c4b1eb2582e"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"sha256": "65c941a31f5545c358b6d4b25c81c6b0a59c0bf58faf9020ade19a716c2aab29"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"sha256": "b895b241ad3ff86d93d9a0cc2bc26c3d6b14660099e2697dd6f63da34a1c586d"
|
||||
},
|
||||
{
|
||||
"file": "16_screenshot_dashboard.svg",
|
||||
"sha256": "57ffd2071f3cc17bef9484d45d6a6ed2f59447a7b21a69768a81272b377b14ca"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"sha256": "218e3755ba2a804a57a1d6ef5edbcf3c886eaff11ce99cfcafb64b3be889a5e0"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"sha256": "76dc2b84fc6c3c84b70f7d2b6cc51aa856de29a19b009fdb94a064e56ad14b68"
|
||||
},
|
||||
{
|
||||
"file": "17_screenshot_debate.svg",
|
||||
"sha256": "8b22280e5f841227f78ba92c720d7026d86c1d08fa2e36df2b923997258b231a"
|
||||
},
|
||||
{
|
||||
"file": "18_screenshot_kg.svg",
|
||||
"sha256": "caf4de25205829ad7109b943f6c00736f202f68341f22047b7acdd91c2f9034d"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"sha256": "9aa002d48ac83c3279552abaac4a3433d34ef906ccdfbd20117d4281a5d77327"
|
||||
},
|
||||
{
|
||||
"file": "19_screenshot_pricing.svg",
|
||||
"sha256": "af61246565e3f9bd9363d75b20e29e4c43a0efbef5af21c8a18a1129b8dcc040"
|
||||
},
|
||||
{
|
||||
"file": "20_team_structure.svg",
|
||||
"sha256": "218e3755ba2a804a57a1d6ef5edbcf3c886eaff11ce99cfcafb64b3be889a5e0"
|
||||
},
|
||||
{
|
||||
"file": "21_future_prospects.svg",
|
||||
"sha256": "f329caaa55787df259f8022a6a2d86bf37614831eeb01367d7106e64b48793e3"
|
||||
},
|
||||
{
|
||||
"file": "22_thanks.svg",
|
||||
"sha256": "9aa002d48ac83c3279552abaac4a3433d34ef906ccdfbd20117d4281a5d77327"
|
||||
}
|
||||
]
|
||||
},
|
||||
"summary": {
|
||||
"total": 25,
|
||||
"passed": 0,
|
||||
"warnings": 25,
|
||||
"errors": 0
|
||||
},
|
||||
"categories": {
|
||||
"blocking": {
|
||||
"count": 0,
|
||||
"issues": []
|
||||
},
|
||||
"introduced": {
|
||||
"count": 132,
|
||||
"issues": [
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "Reference SVG: detected 2 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>; <g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "Top-level visible <g> #7 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<path> #2, <path> #3, <circle> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "spec_lock drift: 2 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "spec_lock drift: 2 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "spec_lock drift: 4 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "spec_lock drift: 4 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "spec_lock drift: 2 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"message": "39 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 16x6, 17x12. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 17x4. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "spec_lock drift: 4 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "spec_lock drift: 5 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "spec_lock drift: 4 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "16_screenshot_dashboard.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "16_screenshot_dashboard.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "16_screenshot_dashboard.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "16_screenshot_dashboard.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "16_screenshot_dashboard.svg",
|
||||
"message": "spec_lock drift: 5 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "16_screenshot_dashboard.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 13, 15. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "17_screenshot_debate.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "17_screenshot_debate.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "17_screenshot_debate.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "17_screenshot_debate.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "17_screenshot_debate.svg",
|
||||
"message": "spec_lock drift: 5 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "17_screenshot_debate.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 13, 15. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "18_screenshot_kg.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "18_screenshot_kg.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "18_screenshot_kg.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "18_screenshot_kg.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "18_screenshot_kg.svg",
|
||||
"message": "spec_lock drift: 5 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "18_screenshot_kg.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 13, 15. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "Reference SVG: detected 2 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>; <g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "Top-level visible <g> #4 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "2 ungrouped top-level Slide-local element(s) in svg_output (<circle> #2, <circle> #3); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "spec_lock drift: 1 color(s), 1 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "19_screenshot_pricing.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "19_screenshot_pricing.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "19_screenshot_pricing.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "19_screenshot_pricing.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "19_screenshot_pricing.svg",
|
||||
"message": "spec_lock drift: 5 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "19_screenshot_pricing.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 13, 15. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "20_team_structure.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "20_team_structure.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "20_team_structure.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "20_team_structure.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "20_team_structure.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "21_future_prospects.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "21_future_prospects.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "21_future_prospects.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "21_future_prospects.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "21_future_prospects.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "22_thanks.svg",
|
||||
"message": "Reference SVG: detected 2 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>; <g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "22_thanks.svg",
|
||||
"message": "Top-level visible <g> #4 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "22_thanks.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "22_thanks.svg",
|
||||
"message": "2 ungrouped top-level Slide-local element(s) in svg_output (<circle> #2, <circle> #3); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "22_thanks.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "22_thanks.svg",
|
||||
"message": "spec_lock drift: 1 color(s), 1 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"inherited": {
|
||||
"count": 0,
|
||||
"issues": []
|
||||
},
|
||||
"source-import": {
|
||||
"count": 0,
|
||||
"summary": {
|
||||
"warning_count": 0,
|
||||
"by_code": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"resources": {
|
||||
"unresolved_template_tokens": [],
|
||||
"fonts": {
|
||||
"stacks": [
|
||||
"Microsoft YaHei, sans-serif",
|
||||
"SimHei, Microsoft YaHei, sans-serif"
|
||||
],
|
||||
"generic_only_stacks": []
|
||||
},
|
||||
"images": {
|
||||
"data_uri": 0,
|
||||
"local": 0,
|
||||
"external": 0,
|
||||
"external_references": []
|
||||
}
|
||||
},
|
||||
"backup_path": null,
|
||||
"conversion_trace_path": null
|
||||
}
|
||||
@@ -0,0 +1,608 @@
|
||||
{
|
||||
"schema": "ppt-master.pptx-postflight-report.v1",
|
||||
"status": "passed-with-warnings",
|
||||
"output": {
|
||||
"path": "D:\\code\\XH-202626_科创企业特有风险的识别与管理\\科创企业特有风险识别与管理_竞赛汇报PPT_大字极简版.pptx",
|
||||
"bytes": 58911
|
||||
},
|
||||
"source": {
|
||||
"svg_slide_count": 18,
|
||||
"layout_definition_count": 0,
|
||||
"fingerprint": {
|
||||
"algorithm": "sha256",
|
||||
"digest": "a4f0bef661b161cb39f0fa8265127efd973b3c78333933c619d0c3f7c16b6763",
|
||||
"file_count": 18,
|
||||
"files": [
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"sha256": "e586ea6f3f0e47bf34b389a4506dec28265ee0d50804779022f44ac29dba0fbc"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"sha256": "4ffa184d5c7156047b5b0f2b5e1e6ce7d596c5cd672060f43c45c94899748ca8"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"sha256": "9cd1fb0a4b8681163b14f4852257442565b3215bb94f0151cf0de2454b9858d8"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"sha256": "eef5c169ee7cd5e2d4309c7e6bd12c65855038ba838082c351da99bb6485e3a0"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"sha256": "d7b03ebf0104ddc6c8d7e7076f8e731bea56c6ef94b037faa41f11226d68e3d4"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"sha256": "40d2da7c8125760ee4117b113158cff34d4dd0759e5ceea4cb2332fb09b9369a"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"sha256": "4e816597ffa638dfdbe1f5abd01e888d704c21f52d3df1c4dc93b1cfd6ecb858"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"sha256": "d1f5ea7a9bdee5105f5c25437f81e62e5e23cd994d52147fda0ea9b5533b7e27"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"sha256": "2030104a153a777260aabcfe593bbf963cce1cef6c83fc72368e838bbc178523"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"sha256": "0d7d0cf7cd69e6759bf1051cdc69be188709bae3ce6fef8b6ae81dcd78272fd2"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"sha256": "5c62fb6e8ad93d39eb0a7d272cf1a4c5d506d80c906be96ac62c9568a4c2171d"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"sha256": "176cd708b0fc9048524178ed299be2908cbfca3fbbf70ff84c18331e7c781cba"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"sha256": "d71adf0bfae4c05662bc097fd9acb543efd11415631acb32aed76c4b1eb2582e"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"sha256": "65c941a31f5545c358b6d4b25c81c6b0a59c0bf58faf9020ade19a716c2aab29"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"sha256": "e1380c330fd54acb009f033274576cef6127919255135caace52c5ddd7221acf"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"sha256": "218e3755ba2a804a57a1d6ef5edbcf3c886eaff11ce99cfcafb64b3be889a5e0"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"sha256": "76dc2b84fc6c3c84b70f7d2b6cc51aa856de29a19b009fdb94a064e56ad14b68"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"sha256": "9aa002d48ac83c3279552abaac4a3433d34ef906ccdfbd20117d4281a5d77327"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"package": {
|
||||
"zip_integrity": "passed",
|
||||
"corrupt_member": null,
|
||||
"slides": 18,
|
||||
"notes": 0,
|
||||
"masters": 1,
|
||||
"layouts": 1
|
||||
},
|
||||
"checks": {
|
||||
"zip_integrity": "passed",
|
||||
"slide_count": "passed",
|
||||
"internal_relationships": "enforced-at-build",
|
||||
"structured_package": "not-applicable",
|
||||
"transitions": "enforced-at-build",
|
||||
"animations": "enforced-at-build",
|
||||
"quality_gate": "passed",
|
||||
"quality_warnings": "warning",
|
||||
"template_tokens": "passed",
|
||||
"external_images": "passed",
|
||||
"font_portability": "passed"
|
||||
},
|
||||
"quality": {
|
||||
"status": "loaded",
|
||||
"path": "d:\\code\\XH-202626_科创企业特有风险的识别与管理\\projects\\XH-202626-presentation_ppt169_20260727\\validation\\svg_quality_report.json",
|
||||
"schema": "ppt-master.svg-quality-report.v1",
|
||||
"stage": "final",
|
||||
"source_match": "passed",
|
||||
"source_fingerprint": {
|
||||
"algorithm": "sha256",
|
||||
"digest": "a4f0bef661b161cb39f0fa8265127efd973b3c78333933c619d0c3f7c16b6763",
|
||||
"file_count": 18,
|
||||
"files": [
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"sha256": "e586ea6f3f0e47bf34b389a4506dec28265ee0d50804779022f44ac29dba0fbc"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"sha256": "4ffa184d5c7156047b5b0f2b5e1e6ce7d596c5cd672060f43c45c94899748ca8"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"sha256": "9cd1fb0a4b8681163b14f4852257442565b3215bb94f0151cf0de2454b9858d8"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"sha256": "eef5c169ee7cd5e2d4309c7e6bd12c65855038ba838082c351da99bb6485e3a0"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"sha256": "d7b03ebf0104ddc6c8d7e7076f8e731bea56c6ef94b037faa41f11226d68e3d4"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"sha256": "40d2da7c8125760ee4117b113158cff34d4dd0759e5ceea4cb2332fb09b9369a"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"sha256": "4e816597ffa638dfdbe1f5abd01e888d704c21f52d3df1c4dc93b1cfd6ecb858"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"sha256": "d1f5ea7a9bdee5105f5c25437f81e62e5e23cd994d52147fda0ea9b5533b7e27"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"sha256": "2030104a153a777260aabcfe593bbf963cce1cef6c83fc72368e838bbc178523"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"sha256": "0d7d0cf7cd69e6759bf1051cdc69be188709bae3ce6fef8b6ae81dcd78272fd2"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"sha256": "5c62fb6e8ad93d39eb0a7d272cf1a4c5d506d80c906be96ac62c9568a4c2171d"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"sha256": "176cd708b0fc9048524178ed299be2908cbfca3fbbf70ff84c18331e7c781cba"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"sha256": "d71adf0bfae4c05662bc097fd9acb543efd11415631acb32aed76c4b1eb2582e"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"sha256": "65c941a31f5545c358b6d4b25c81c6b0a59c0bf58faf9020ade19a716c2aab29"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"sha256": "e1380c330fd54acb009f033274576cef6127919255135caace52c5ddd7221acf"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"sha256": "218e3755ba2a804a57a1d6ef5edbcf3c886eaff11ce99cfcafb64b3be889a5e0"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"sha256": "76dc2b84fc6c3c84b70f7d2b6cc51aa856de29a19b009fdb94a064e56ad14b68"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"sha256": "9aa002d48ac83c3279552abaac4a3433d34ef906ccdfbd20117d4281a5d77327"
|
||||
}
|
||||
]
|
||||
},
|
||||
"summary": {
|
||||
"total": 18,
|
||||
"passed": 0,
|
||||
"warnings": 18,
|
||||
"errors": 0
|
||||
},
|
||||
"categories": {
|
||||
"blocking": {
|
||||
"count": 0,
|
||||
"issues": []
|
||||
},
|
||||
"introduced": {
|
||||
"count": 91,
|
||||
"issues": [
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "Reference SVG: detected 2 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>; <g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "Top-level visible <g> #7 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<path> #2, <path> #3, <circle> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "spec_lock drift: 2 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "spec_lock drift: 2 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "spec_lock drift: 4 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "spec_lock drift: 4 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "spec_lock drift: 2 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"message": "39 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 16x6, 17x12. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "spec_lock drift: 4 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "spec_lock drift: 5 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "spec_lock drift: 4 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "Reference SVG: detected 2 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>; <g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "Top-level visible <g> #4 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "2 ungrouped top-level Slide-local element(s) in svg_output (<circle> #2, <circle> #3); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "spec_lock drift: 1 color(s), 1 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"inherited": {
|
||||
"count": 0,
|
||||
"issues": []
|
||||
},
|
||||
"source-import": {
|
||||
"count": 0,
|
||||
"summary": {
|
||||
"warning_count": 0,
|
||||
"by_code": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"resources": {
|
||||
"unresolved_template_tokens": [],
|
||||
"fonts": {
|
||||
"stacks": [
|
||||
"Microsoft YaHei, sans-serif",
|
||||
"SimHei, Microsoft YaHei, sans-serif"
|
||||
],
|
||||
"generic_only_stacks": []
|
||||
},
|
||||
"images": {
|
||||
"data_uri": 0,
|
||||
"local": 0,
|
||||
"external": 0,
|
||||
"external_references": []
|
||||
}
|
||||
},
|
||||
"backup_path": null,
|
||||
"conversion_trace_path": null
|
||||
}
|
||||
@@ -0,0 +1,612 @@
|
||||
{
|
||||
"schema": "ppt-master.pptx-postflight-report.v1",
|
||||
"status": "passed-with-warnings",
|
||||
"output": {
|
||||
"path": "D:\\code\\XH-202626_科创企业特有风险的识别与管理\\科创企业特有风险识别与管理_竞赛汇报PPT_大字架构版.pptx",
|
||||
"bytes": 59735
|
||||
},
|
||||
"source": {
|
||||
"svg_slide_count": 18,
|
||||
"layout_definition_count": 0,
|
||||
"fingerprint": {
|
||||
"algorithm": "sha256",
|
||||
"digest": "9cf621fa820d6b8e7eab8aed867bf3a0867b33b8568a8e8fb9a1f55f7dda866e",
|
||||
"file_count": 18,
|
||||
"files": [
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"sha256": "e586ea6f3f0e47bf34b389a4506dec28265ee0d50804779022f44ac29dba0fbc"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"sha256": "4ffa184d5c7156047b5b0f2b5e1e6ce7d596c5cd672060f43c45c94899748ca8"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"sha256": "9cd1fb0a4b8681163b14f4852257442565b3215bb94f0151cf0de2454b9858d8"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"sha256": "eef5c169ee7cd5e2d4309c7e6bd12c65855038ba838082c351da99bb6485e3a0"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"sha256": "d7b03ebf0104ddc6c8d7e7076f8e731bea56c6ef94b037faa41f11226d68e3d4"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"sha256": "40d2da7c8125760ee4117b113158cff34d4dd0759e5ceea4cb2332fb09b9369a"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"sha256": "b8327bdaa893628f081d970993257558f4dff50bfd2de507a71de030bf8fd1a1"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"sha256": "d1f5ea7a9bdee5105f5c25437f81e62e5e23cd994d52147fda0ea9b5533b7e27"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"sha256": "2030104a153a777260aabcfe593bbf963cce1cef6c83fc72368e838bbc178523"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"sha256": "0d7d0cf7cd69e6759bf1051cdc69be188709bae3ce6fef8b6ae81dcd78272fd2"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"sha256": "5c62fb6e8ad93d39eb0a7d272cf1a4c5d506d80c906be96ac62c9568a4c2171d"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"sha256": "176cd708b0fc9048524178ed299be2908cbfca3fbbf70ff84c18331e7c781cba"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"sha256": "d71adf0bfae4c05662bc097fd9acb543efd11415631acb32aed76c4b1eb2582e"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"sha256": "65c941a31f5545c358b6d4b25c81c6b0a59c0bf58faf9020ade19a716c2aab29"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"sha256": "e1380c330fd54acb009f033274576cef6127919255135caace52c5ddd7221acf"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"sha256": "218e3755ba2a804a57a1d6ef5edbcf3c886eaff11ce99cfcafb64b3be889a5e0"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"sha256": "76dc2b84fc6c3c84b70f7d2b6cc51aa856de29a19b009fdb94a064e56ad14b68"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"sha256": "9aa002d48ac83c3279552abaac4a3433d34ef906ccdfbd20117d4281a5d77327"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"package": {
|
||||
"zip_integrity": "passed",
|
||||
"corrupt_member": null,
|
||||
"slides": 18,
|
||||
"notes": 0,
|
||||
"masters": 1,
|
||||
"layouts": 1
|
||||
},
|
||||
"checks": {
|
||||
"zip_integrity": "passed",
|
||||
"slide_count": "passed",
|
||||
"internal_relationships": "enforced-at-build",
|
||||
"structured_package": "not-applicable",
|
||||
"transitions": "enforced-at-build",
|
||||
"animations": "enforced-at-build",
|
||||
"quality_gate": "passed",
|
||||
"quality_warnings": "warning",
|
||||
"template_tokens": "passed",
|
||||
"external_images": "passed",
|
||||
"font_portability": "passed"
|
||||
},
|
||||
"quality": {
|
||||
"status": "loaded",
|
||||
"path": "d:\\code\\XH-202626_科创企业特有风险的识别与管理\\projects\\XH-202626-presentation_ppt169_20260727\\validation\\svg_quality_report.json",
|
||||
"schema": "ppt-master.svg-quality-report.v1",
|
||||
"stage": "final",
|
||||
"source_match": "passed",
|
||||
"source_fingerprint": {
|
||||
"algorithm": "sha256",
|
||||
"digest": "9cf621fa820d6b8e7eab8aed867bf3a0867b33b8568a8e8fb9a1f55f7dda866e",
|
||||
"file_count": 18,
|
||||
"files": [
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"sha256": "e586ea6f3f0e47bf34b389a4506dec28265ee0d50804779022f44ac29dba0fbc"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"sha256": "4ffa184d5c7156047b5b0f2b5e1e6ce7d596c5cd672060f43c45c94899748ca8"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"sha256": "9cd1fb0a4b8681163b14f4852257442565b3215bb94f0151cf0de2454b9858d8"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"sha256": "eef5c169ee7cd5e2d4309c7e6bd12c65855038ba838082c351da99bb6485e3a0"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"sha256": "d7b03ebf0104ddc6c8d7e7076f8e731bea56c6ef94b037faa41f11226d68e3d4"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"sha256": "40d2da7c8125760ee4117b113158cff34d4dd0759e5ceea4cb2332fb09b9369a"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"sha256": "b8327bdaa893628f081d970993257558f4dff50bfd2de507a71de030bf8fd1a1"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"sha256": "d1f5ea7a9bdee5105f5c25437f81e62e5e23cd994d52147fda0ea9b5533b7e27"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"sha256": "2030104a153a777260aabcfe593bbf963cce1cef6c83fc72368e838bbc178523"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"sha256": "0d7d0cf7cd69e6759bf1051cdc69be188709bae3ce6fef8b6ae81dcd78272fd2"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"sha256": "5c62fb6e8ad93d39eb0a7d272cf1a4c5d506d80c906be96ac62c9568a4c2171d"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"sha256": "176cd708b0fc9048524178ed299be2908cbfca3fbbf70ff84c18331e7c781cba"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"sha256": "d71adf0bfae4c05662bc097fd9acb543efd11415631acb32aed76c4b1eb2582e"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"sha256": "65c941a31f5545c358b6d4b25c81c6b0a59c0bf58faf9020ade19a716c2aab29"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"sha256": "e1380c330fd54acb009f033274576cef6127919255135caace52c5ddd7221acf"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"sha256": "218e3755ba2a804a57a1d6ef5edbcf3c886eaff11ce99cfcafb64b3be889a5e0"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"sha256": "76dc2b84fc6c3c84b70f7d2b6cc51aa856de29a19b009fdb94a064e56ad14b68"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"sha256": "9aa002d48ac83c3279552abaac4a3433d34ef906ccdfbd20117d4281a5d77327"
|
||||
}
|
||||
]
|
||||
},
|
||||
"summary": {
|
||||
"total": 18,
|
||||
"passed": 0,
|
||||
"warnings": 18,
|
||||
"errors": 0
|
||||
},
|
||||
"categories": {
|
||||
"blocking": {
|
||||
"count": 0,
|
||||
"issues": []
|
||||
},
|
||||
"introduced": {
|
||||
"count": 92,
|
||||
"issues": [
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "Reference SVG: detected 2 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>; <g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "Top-level visible <g> #7 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<path> #2, <path> #3, <circle> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "01_cover.svg",
|
||||
"message": "spec_lock drift: 2 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "02_contents.svg",
|
||||
"message": "spec_lock drift: 2 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "03_background.svg",
|
||||
"message": "spec_lock drift: 4 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "04_roadmap.svg",
|
||||
"message": "spec_lock drift: 4 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "05_six_risk_model.svg",
|
||||
"message": "spec_lock drift: 2 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"message": "39 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "06_quant_paths.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 16x6, 17x12. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "3 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "07_architecture.svg",
|
||||
"message": "possible template font-size drift: undeclared sub-body size(s) 17x4. Map each text item to a spec_lock typography role first, then reflow card height / y / dy / line-height from the locked px values."
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "08_multi_agent.svg",
|
||||
"message": "spec_lock drift: 4 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "09_conflict_rules.svg",
|
||||
"message": "spec_lock drift: 5 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "10_kg_ontology.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "11_contagion_algo.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "12_pingan_products.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "13_dynamic_pricing.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "14_underwriting_report.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "15_system_prototype.svg",
|
||||
"message": "spec_lock drift: 4 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "16_team_structure.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "Reference SVG: detected 1 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "Top-level visible <g> #6 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "4 ungrouped top-level Slide-local element(s) in svg_output (<text> #2, <text> #3, <line> #4, ...); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "17_future_prospects.svg",
|
||||
"message": "spec_lock drift: 3 color(s), 2 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "Reference SVG: detected 2 visible root-level <g> module(s) without explicit data-pptx-bounds (<g>; <g>); every final-page/template root <g> declares its root-coordinate layout subcanvas even when it also carries data-pptx-frame or native chart/table coordinates"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "Top-level visible <g> #4 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "Top-level visible <g> #5 has no id; object-level animation config cannot reference it"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "2 ungrouped top-level Slide-local element(s) in svg_output (<circle> #2, <circle> #3); wrap each logical content unit in a top-level <g id=\"...\">"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "page SVG is missing root data-pptx-page-role"
|
||||
},
|
||||
{
|
||||
"file": "18_thanks.svg",
|
||||
"message": "spec_lock drift: 1 color(s), 1 font-family value(s) not in spec_lock.md (see drift summary for details)"
|
||||
}
|
||||
]
|
||||
},
|
||||
"inherited": {
|
||||
"count": 0,
|
||||
"issues": []
|
||||
},
|
||||
"source-import": {
|
||||
"count": 0,
|
||||
"summary": {
|
||||
"warning_count": 0,
|
||||
"by_code": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"resources": {
|
||||
"unresolved_template_tokens": [],
|
||||
"fonts": {
|
||||
"stacks": [
|
||||
"Microsoft YaHei, sans-serif",
|
||||
"SimHei, Microsoft YaHei, sans-serif"
|
||||
],
|
||||
"generic_only_stacks": []
|
||||
},
|
||||
"images": {
|
||||
"data_uri": 0,
|
||||
"local": 0,
|
||||
"external": 0,
|
||||
"external_references": []
|
||||
}
|
||||
},
|
||||
"backup_path": null,
|
||||
"conversion_trace_path": null
|
||||
}
|
||||