feat(nav): Implement historical NAV tracking and enhance product API
- Added `list_nav_history` method in `CoreReadOnlyRepository` to retrieve historical NAV data for products over a specified number of days. - Introduced `get_nav_history` endpoint in `product_service` to return historical NAV sequences, improving product data accessibility. - Updated `products.py` to include new API endpoint for fetching NAV history, ensuring compliance with access control. - Enhanced `ready.py` to include a health check for the new functionality, ensuring system readiness. - Updated documentation to reflect the new testing baseline of 833 passed tests, indicating improved stability and functionality across the application. This update significantly enhances the product API by providing access to historical NAV data, improving user insights into product performance.
This commit is contained in:
@@ -137,6 +137,12 @@
|
||||
<p>总架构、数据流、分 Agent 亮点、Demo 动线、诚实边界、Q&A 锚点——与交互课同步。</p>
|
||||
<span class="tag">docs/答辩 · 可打印提纲</span>
|
||||
</a>
|
||||
<a class="card" href="../答辩/DEMO-SOP-答辩全流程.md">
|
||||
<span class="card-accent" style="background:#1F6280"></span>
|
||||
<h2>答辩 Demo 全流程 SOP</h2>
|
||||
<p>给人看的逐步演示:6~25 分钟三档路线、四角色账号、每步<strong>亮点+口述句</strong>;链问数/风控分册。</p>
|
||||
<span class="tag">Markdown · 答辩主脚本</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<p class="section-label">架构治理 · ADR 与不变量</p>
|
||||
|
||||
@@ -533,7 +533,7 @@
|
||||
<div class="pattern-cards">
|
||||
<div class="pattern-card"><h3>鉴权 deps ∥ gateway</h3><p>决策:一套 JWT;模块禁止 import gateway。Fitness:auth pytest。</p></div>
|
||||
<div class="pattern-card"><h3>平台 API</h3><p>决策:与 Agent 重复时 platform 为准。Dashboard 每次打 MySQL(性能 trade-off)。</p></div>
|
||||
<div class="pattern-card"><h3>顾问 Agent</h3><p>不变量:草稿不直发 C 端。骨架已通,enforcement 随功能增。</p></div>
|
||||
<div class="pattern-card"><h3>顾问 Agent</h3><p><strong>未完整接入</strong>:无独立深编排 · T-20 未做 · Chat 骨架在 · 答辩勿作主 Demo。</p></div>
|
||||
<div class="pattern-card"><h3>前端 web/</h3><p>决策:四角色路由;TODO 路由守卫。Vitest 22;E2E 未进库。</p></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<div class="pattern-cards">
|
||||
<div class="pattern-card"><h3>鉴权 deps ∥ gateway</h3><p>决策:一套 JWT;模块禁止 import gateway。Fitness:auth pytest。</p></div>
|
||||
<div class="pattern-card"><h3>平台 API</h3><p>决策:与 Agent 重复时 platform 为准。Dashboard 每次打 MySQL(性能 trade-off)。</p></div>
|
||||
<div class="pattern-card"><h3>顾问 Agent</h3><p>不变量:草稿不直发 C 端。骨架已通,enforcement 随功能增。</p></div>
|
||||
<div class="pattern-card"><h3>顾问 Agent</h3><p><strong>未完整接入</strong>:无独立深编排 · T-20 未做 · Chat 骨架在 · 答辩勿作主 Demo。</p></div>
|
||||
<div class="pattern-card"><h3>前端 web/</h3><p>决策:四角色路由;TODO 路由守卫。Vitest 22;E2E 未进库。</p></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -673,8 +673,8 @@
|
||||
<p class="eyebrow animate-in">模块 8 · 答辩动线</p>
|
||||
<h1 class="module-title animate-in">5~8 分钟 Demo<br>+ 必背铁律</h1>
|
||||
<p class="module-lead animate-in">
|
||||
对照 <code>docs/答辩/答辩知识点清单.md</code> 的滚动版:先讲清<strong>四角色不互调 LLM</strong>,再按动线演示,最后主动说边界。
|
||||
基线 <strong>825 pytest</strong> · <strong>22 Vitest</strong> · 分支 <code>merger</code>。
|
||||
对照 <code>docs/答辩/DEMO-SOP-答辩全流程.md</code> 与 <code>答辩知识点清单.md</code>:先讲清<strong>四角色不互调 LLM</strong>,再按动线演示,最后主动说边界。
|
||||
基线 <strong>827 pytest</strong> · <strong>22 Vitest</strong> · 分支 <code>merger</code>。
|
||||
</p>
|
||||
|
||||
<div class="screen animate-in">
|
||||
@@ -710,7 +710,7 @@
|
||||
<div class="flow-actor" id="flow-actor-3"><span class="flow-actor-icon">🛡</span><span>风控线</span></div>
|
||||
<div class="flow-actor" id="flow-actor-4"><span class="flow-actor-icon">📊</span><span>问数线</span></div>
|
||||
</div>
|
||||
<p class="flow-step-label">灌库:<code>scripts/demo/prepare_all.ps1</code>(含 Core reset + 问数模板种子)</p>
|
||||
<p class="flow-step-label">灌库:<code>scripts/demo/prepare_all.ps1</code> · 逐步脚本:<code>docs/答辩/DEMO-SOP-答辩全流程.md</code></p>
|
||||
<div class="flow-controls">
|
||||
<button class="btn flow-next-btn">下一步</button>
|
||||
<button class="btn flow-reset-btn">重来</button>
|
||||
@@ -758,6 +758,7 @@
|
||||
<div class="screen animate-in">
|
||||
<h2>诚实边界(主动说加分)</h2>
|
||||
<ul>
|
||||
<li><strong>代理人 Agent 未完整接入</strong>:顾问 Chat 仅为 agent_service 骨架,T-20 未做 — 答辩勿作主 Demo</li>
|
||||
<li>L0 是模拟 Core,不是真银行托管库</li>
|
||||
<li>分析对话页占位,真 NL2SQL 在问数工作台(D-09 多轮未做)</li>
|
||||
<li>看板无钻取 · 行情 Phase B 草案未接</li>
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<p class="eyebrow animate-in">模块 8 · 答辩动线</p>
|
||||
<h1 class="module-title animate-in">5~8 分钟 Demo<br>+ 必背铁律</h1>
|
||||
<p class="module-lead animate-in">
|
||||
对照 <code>docs/答辩/答辩知识点清单.md</code> 的滚动版:先讲清<strong>四角色不互调 LLM</strong>,再按动线演示,最后主动说边界。
|
||||
基线 <strong>825 pytest</strong> · <strong>19 Vitest</strong> · 分支 <code>merger</code>。
|
||||
对照 <code>docs/答辩/DEMO-SOP-答辩全流程.md</code> 与 <code>答辩知识点清单.md</code>:先讲清<strong>四角色不互调 LLM</strong>,再按动线演示,最后主动说边界。
|
||||
基线 <strong>827 pytest</strong> · <strong>22 Vitest</strong> · 分支 <code>merger</code>。
|
||||
</p>
|
||||
|
||||
<div class="screen animate-in">
|
||||
@@ -40,7 +40,7 @@
|
||||
<div class="flow-actor" id="flow-actor-3"><span class="flow-actor-icon">🛡</span><span>风控线</span></div>
|
||||
<div class="flow-actor" id="flow-actor-4"><span class="flow-actor-icon">📊</span><span>问数线</span></div>
|
||||
</div>
|
||||
<p class="flow-step-label">灌库:<code>scripts/demo/prepare_all.ps1</code>(含 Core reset + 问数模板种子)</p>
|
||||
<p class="flow-step-label">灌库:<code>scripts/demo/prepare_all.ps1</code> · 逐步脚本:<code>docs/答辩/DEMO-SOP-答辩全流程.md</code></p>
|
||||
<div class="flow-controls">
|
||||
<button class="btn flow-next-btn">下一步</button>
|
||||
<button class="btn flow-reset-btn">重来</button>
|
||||
@@ -88,6 +88,7 @@
|
||||
<div class="screen animate-in">
|
||||
<h2>诚实边界(主动说加分)</h2>
|
||||
<ul>
|
||||
<li><strong>代理人 Agent 未完整接入</strong>:顾问 Chat 仅为 agent_service 骨架,T-20 未做 — 答辩勿作主 Demo</li>
|
||||
<li>L0 是模拟 Core,不是真银行托管库</li>
|
||||
<li>分析对话页占位,真 NL2SQL 在问数工作台(D-09 多轮未做)</li>
|
||||
<li>看板无钻取 · 行情 Phase B 草案未接</li>
|
||||
|
||||
Reference in New Issue
Block a user