<feed xmlns='http://www.w3.org/2005/Atom'>
<title>fund-lab.git/qa/stub/fund-lab-python, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>http://git.somhairle.bid/fund-lab.git/atom?h=main</id>
<link rel='self' href='http://git.somhairle.bid/fund-lab.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://git.somhairle.bid/fund-lab.git/'/>
<updated>2026-09-21T19:48:12+00:00</updated>
<entry>
<title>Add multi-source bond quote probe fields and daily fallback (3d-20)</title>
<updated>2026-09-21T19:48:12+00:00</updated>
<author>
<name>Somhairle H. Marisol</name>
<email>muqiu-han@outlook.com</email>
</author>
<published>2026-09-21T19:48:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.somhairle.bid/fund-lab.git/commit/?id=b5a80f69cb2e2793e5134e23a0eb3e72cdbdbe0b'/>
<id>urn:sha1:b5a80f69cb2e2793e5134e23a0eb3e72cdbdbe0b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add real AKShare stock daily history probe slice (3d-19)</title>
<updated>2026-09-21T19:25:00+00:00</updated>
<author>
<name>Somhairle H. Marisol</name>
<email>muqiu-han@outlook.com</email>
</author>
<published>2026-09-21T19:25:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.somhairle.bid/fund-lab.git/commit/?id=7dd0e3f42105569b6e6ec02aeeec9b5a8bbd9dd3'/>
<id>urn:sha1:7dd0e3f42105569b6e6ec02aeeec9b5a8bbd9dd3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add stocks probe panel with live stock quote flow (3d-18)</title>
<updated>2026-09-21T18:29:30+00:00</updated>
<author>
<name>Somhairle H. Marisol</name>
<email>muqiu-han@outlook.com</email>
</author>
<published>2026-09-21T18:29:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.somhairle.bid/fund-lab.git/commit/?id=8c01adf05f1428bf2ada49574b25529c064da884'/>
<id>urn:sha1:8c01adf05f1428bf2ada49574b25529c064da884</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add bonds probe panel with live bond quote flow (3d-16)</title>
<updated>2026-09-21T17:54:55+00:00</updated>
<author>
<name>Somhairle H. Marisol</name>
<email>muqiu-han@outlook.com</email>
</author>
<published>2026-09-21T17:54:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.somhairle.bid/fund-lab.git/commit/?id=0d1af831c10683bb1e5a5853e5924c5ddfb1310d'/>
<id>urn:sha1:0d1af831c10683bb1e5a5853e5924c5ddfb1310d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add real AKShare NAV-date probe slice (3d-12)</title>
<updated>2026-09-21T16:19:09+00:00</updated>
<author>
<name>Somhairle H. Marisol</name>
<email>muqiu-han@outlook.com</email>
</author>
<published>2026-09-21T16:19:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.somhairle.bid/fund-lab.git/commit/?id=0597ac74757e223c17a6477ff49d69a559168279'/>
<id>urn:sha1:0597ac74757e223c17a6477ff49d69a559168279</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(web): 基金创建/读取界面与仓库内浏览器 QA</title>
<updated>2026-09-20T18:23:43+00:00</updated>
<author>
<name>Somhairle H. Marisol</name>
<email>muqiu-han@outlook.com</email>
</author>
<published>2026-09-20T18:23:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.somhairle.bid/fund-lab.git/commit/?id=f55ed58d2c75b53774ef7256fddb973ae3e73323'/>
<id>urn:sha1:f55ed58d2c75b53774ef7256fddb973ae3e73323</id>
<content type='text'>
[变更性质]
- 本提交完成 3c-1 切片：Web 端基金建档（创建/重读）表单接入既有幂等 API，并提供仓库内可复现的端到端 QA 入口与生命周期回归。

[新增功能]
- 前端新增 03 / CREATE 面板：名称与初始现金（decimal 字符串）输入、创建/重新读取按钮、服务端返回的基金档案行（份额诚实显示 0、来源标注真实建档/合成标记）；移动端单列布局。
- 创建请求携带 32 位十六进制 Idempotency-Key；网络失败重试复用同一 key，输入变更或成功后换新 key；token 变更清空档案并按序列号拒绝过期响应。

[实现方案]
- 金额全程 decimal 字符串，不经 JS float；update 层 fundSeq 守卫 FundCreate/FundRead 完成消息；BoundaryTests 新增 FundBoundaryTests 9 项（幂等键长度/复用、token 失效、stale 读取拒绝等）。
- qa/run.sh 一次性拉起非默认端口 Postgres/API/Vite（桩行情，_synthetic 标记），清理仅限本次创建的容器（ID+名称归属校验）；临时目录 mktemp 隔离；qa/lifecycle-test.sh 验证拒绝路径不破坏既有资源。

[影响范围]
- Web 测试增至 17 项，全套 56 项通过；浏览器 QA 30/30 通过；README 更新阶段描述。本提交不包含 docs/overnight-progress.md 的现有修改。
</content>
</entry>
</feed>
