 adminandClaude Fable 5
|
957f3cb062
|
feat(ui): 导航按钮迁移右上角+删除会话栏底部工具栏
- 会话/扩展/知识图谱/设置 4 按钮自侧栏迁移至 TopBar 右侧(与主题按钮并列)
- 按需求收敛为扩展/设置两按钮,与主题按钮右上角同行水平对齐
(.theme-toggle-anim 改 inline-flex + svg 脱离基线,消除图标下沉)
- SessionRail 全档位删除(桌面底部工具栏/折叠态图标轨/窄屏抽屉)
- 清理死接线:openKg 函数与 toggle-side/goto-kg 事件
- 同步删除 r3debug 的 SessionRail 测试用例
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-09-15 22:49:41 +08:00 |
|
 adminandClaude Fable 5
|
03e6ff508a
|
feat(extension-frontend): 扩展分析前端引导卡 + 事件分派(Dev-C)
按 EXTENSION_CONTRACT.md §4 事件帧契约实现用户自定义扩展分析前端:
- chat.js: applyExtensionFrame extension_* 全事件集分派 + patchExtension*
块更新器(与 patchBioflow* 同幂等模式)+ sendExtension 引导流
+ uploadExtensionFile/trialRunExtension/confirmExtensionRun 动作
+ retry 扩展消息路由;现有 bioflow 路径零改动
- api/bioflow.js: 契约 §6 扩展端点封装(CRUD/build/trial-run/repair/
publish/run/runs/events SSE)
- 8 个扩展卡组件(Upload/Build/Trial/Validate/Publish/Candidates/
Confirm/Run)+ AssistantMessage 渲染挂接 + extension_published 确认块
- extensions store(侧栏数据面)+ ExtensionsPane + SessionRail 扩展入口
- intent.js A 层创建意图词典(§5 与后端同表双跑)+ Composer 分流
- i18n/bioflow.js 扩展卡文案 + 8 base 镜像表
- 单测 33 例:事件→块映射幂等/sendExtension 流/store 动作/8 卡 mount 冒烟/
创建意图词典;vitest 全绿 122/122 + build 通过
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-09-14 13:43:20 +08:00 |
|
 adminandClaude Fable 5
|
36fc2a7250
|
fix(statusbar): 生信任务活跃期回退消息列表点亮 4 点
生产实测暴露缺口:生信对话的 chat/stream 在 plan_ready 后即关闭
(_finishCtx 清 streamCtx→currentMessage 为 null),而任务阶段恰在
流关闭后才真正运行——StatusBar 只读 currentMessage,阶段运行期
间 4 点仍不亮。这正是用户报的 bug 主场景。
- chat.js 新增 agentDotMessage getter:优先流式中 currentMessage;
流已收口时回退到消息列表里持有活跃生信任务(progress.jobId 且
jobStatus ∈ created/running/paused)的最后一条助手消息——其派生
pipeline 块正被任务事件订阅(connectJobEvents onEvent →
patchBioflowEvent → syncBioflowDotBlock)持续刷新。
- StatusBar.vue 数据源换 agentDotMessage;TopBar.vue runningPhaseOf
同换 + aggregate 在生信任务活跃期(busy=false 但有 running 相位)
点亮聚合点。
- 单测补生产实测场景:流已收口任务活跃→回退点亮;阶段推进随动;
任务终态正确收口空态。
验证:r3debug 89/89(新增回退用例)、主套件 373/373、dist 重建。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-09-12 18:22:03 +08:00 |
|
 adminandClaude Fable 5
|
f74b27daa1
|
fix(statusbar): 生信对话 4 个 agent 点不随相位点亮
根因:StatusBar/TopBar 只读 chat.currentMessage 的 pipeline 块 steps,生信对话
(sendBioflow)从不创建 pipeline 块——相位推进只写在 bioflow_progress.stages,
4 个点永远空态。
修复:
- chat.js 生信消息派生 pipeline 块(derived:true):bioflowDotStepsFromStages
按「每 4 阶段一轮」把 stages 镜像为 4 相位 steps(running→running、
failed→error 单调保持、done/skipped→done);newBioflowSkeletonMessage 自带
派生块,patchBioflowEvent/patchBioflowSnapshot 每次推进后同步,error 分支
收口当前 running 相位;AssistantMessage 与 _persistableBlocks 跳过派生块
(不渲染、不落库,后端 Block union 不受影响)。
- 连带修复:web_search_started 相位 retrieval→evidence(sse_relay.py 语义
属证据补全环节,原映射会在联网检索时造成「证据→检索」倒流跳变);
labels.js 兜底表补两条与 BFF 对齐。
验证:r3debug 88/88(新增 bioflowDots 14 + statusBarDots 6,含真实时序
mount→流到达→相位推进→终态)、主套件 373/373、sse_relay 29/29、dist 构建。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-09-12 16:32:21 +08:00 |
|
admin
|
75877ecab7
|
fix(r4-27/32/47b/52a): 前端四项缺陷修复
#27 消息级来源 title 空值串行:SourceRow 标题链空值 fallback(非空 title
>paper_id>id>「(无标题)」,绝不渲染空文本或正文片段);bench store 新增
sourcesStale 失效标记,chat.js QA 流 onComplete 与检索模式完成终态置标记,
SourcesPane 监听自动 force 重拉(终态一次,跨会话后台完成不打扰当前视图)。
后端 normalize title 回填由 Dev-B1 负责。
#32 KG 搜索「水稻」无结果无反馈:KgPane 成功空结果新增 kgNoResult
「未找到相关实体」提示(与 kgDown 服务离线、kgEmpty 初始空态三态文案区分、
触发条件互斥),搜索按钮空结果后保持可用,arginine 命中路径不回归。
#47b 关闭文档→返回→再关闭看不到文档:docgen store 状态机加固——open/
adoptArtifact 自含复位 viewMode='doc';close() 作废在途 content/html 拉取序号
(迟到响应不再复活已清空的 html/css/templateKey/letterhead);fetchHtml 追加
contentSeq 归属守卫。反复关闭/资料库往返/会话切换无残留。
#52a「总结论文」路由 QA:WRITE_VERB 补「总结/概括/归纳」;「总结」自身在
DOC_TYPE 中会误拉无附件普通总结句,规则 3 细化——纯总结类动词句须命中
其他文档类型词(如「论文」)才进 docgen,带附件走规则 4 兜底。后端
intent.py 词典同步由 Dev-B1 负责,请 TL 校验双端一致。
单测:tests/r3debug/r4fixes.test.js 新增 31 例(含 SourceRow fallback、
sourcesStale 链路、KgPane 三态、docgen 状态机迟到响应作废、意图路由),
r3debug 全套 68/68 通过。
|
2026-09-11 13:57:00 +08:00 |
|
admin
|
7840527f82
|
fix(bioflow): 路径卡确认创建后事件断链——任务 201 创建但 UI 无反馈
根因:FlowPathCard.confirmCreate 创建成功后 emit(updated) 全链无人监听
(与 r3-07-01 跳过按钮同模式的事件断链,基线即存在)。后果:无进度卡、
无任务事件订阅、不落库(刷新即丢 jobId)。
修复:chat store 新增 confirmBioflowPath 一站式 action(创建→挂 job_created
进度块→connectJobEvents 带 onEvent 桥接推进消息块→落库);FlowPathCard
改调 action 并防重复创建;hydrateDetail 恢复未终态任务的订阅(刷新后续流转);
connectJobEvents 加 onEvent 回调。单测 5 项新增,全套 373 全绿。
|
2026-09-10 21:14:24 +08:00 |
|
 adminandClaude Fable 5
|
53069d4940
|
fix(ui): 复测缺陷 r3-07-01/r3-52-02 + b3 测试债
- r3-07-01 「跳过」无效:补齐事件转发链 MessageList(新增
skip-reveal emit)→ ChatPanel(@skip-reveal 监听)→ store.skipReveal();
新增 skipReveal.test.js 三层断言(点击定格终态/组件转发/ChatPanel 监听)
- r3-52-02 终态文案残留:docgen 轮询 tick 的 done 分支把 generation 步
desc 还原 DOCGEN_STEPS 默认文案「按大纲逐节生成正文」;docgenPoll
done 用例改两阶段 mock(running 进度文案 → done 还原)复现原缺陷
- 测试债:b3 bench.store.test.js 删除已下线 sessionSourceItems 引用,
按 #27 修复后语义改断言(后端去重结果原样透出)
自测:r3debug 32 项 + 全套 373 项 + private_docs 23 项全绿;
playwright 实测(mock SSE/docgen 202):跳过按钮点击后全文定格、
skip-btn/cursor 消失;docgen done 后第 4 步 desc 还原默认文案;无 JS 错误。
未 push。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-09-10 18:01:01 +08:00 |
|
 adminandClaude Fable 5
|
671783eb1e
|
fix(ui): r3 前端 10 项缺陷修复(#7/#27/#28/#31/#39/#40/#42/#47b/#52/#55)
- #7a reveal 超时:长文按总时长 ≤8s 反推 interval(下限 12ms),短路径
30ms/字符不变(step=1);跳过按钮与 reduced-motion 行为不变
- #7b 标题编号:heading_open 注入 h1「一、」/h2「1.1」/h3「1.2.3」,
层级变化归零、自带编号跳过、md-hN class 恒挂、计数器逐次渲染重置;
DocPane md 回退预览与私有参考块用 renderMarkdownPlain 关闭注入
(防止编号被序列化写回正本)
- #27 会话聚合:删除前端二次聚合,会话域直接以后端 sources 为准;
SourcesPane/SourceRow 以 paper_id/id 为 key 与高亮依据,徽标显示
真实 paper_id(截断+悬浮),无 paper_id 退 index+1;
setHighlightSource 参数 index→key,chip 编号契约保持
- #31 节点详情:KgEntityDetail fetchExtra 序号守卫;KgPane :key 强制
重建;KgGraphView pointer 事件重构(pointerdown 不捕获、位移>4px
才捕获+标记 dragging、pointerup release、onClickNode dragging 拦截)
- #39 日志刷新:打开总是重拉+「刷新日志」按钮+有 running 时 5s 独立
轮询(onBeforeUnmount 清理)
- #40 轮询暂停:任何离开 extract 的切换 pausePolling;详情/日志展开态
提升到 store(detailOpenId/logOpen/runLog/logError),切 TAB 保留
- #42 模板选择:Composer docgen 模式模板下拉(自动推荐+内置+as_template
懒加载,失败降级),template_id 经 sendDocgen 传入
- #47b 会话切换 resetSession(selectSession 动态 import,只清不丢)
- #55 文档 TAB:docgen store viewMode + DocPane「资料库」/「关闭文档」/
「返回文档」按钮
- #28 检索文案:searchNoAnswer/searchTimeoutEmpty;200 降级体按
payload.degraded 分流,不再走 _errorMarker TIMEOUT 报错
- #52 异步轮询:api getTask/listTasks;sendDocgen 兼容 200/202,
202 后释放 busy 锁(生成期间可继续对话)、消息块记录 task_id、
2s 轮询 getTask、progress 驱动「生成中 x/y 节」、done 复用现有
artifact 挂块+落库+adoptArtifact+切 TAB、error 可重试;
会话恢复时 running 块含 task_id 续轮询(不误标「已中断」)
自测:29 个新增 r3debug 单测 + 23 个既有 private_docs 测试全绿;
npm run build 通过;playwright 冒烟(dev server 5199)无 JS 错误,
模板下拉/提取面板/日志刷新按钮渲染正常。
未 push;Debug-2 9090 未就绪,#52/#28 联调留待 9090 就绪后执行。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-09-10 16:17:11 +08:00 |
|
 adminandClaude Fable 5
|
6bf11821c1
|
test(priv): T1 骨架修正——L1-01 笔误 + 7 处执行期缺陷(vi.mock TDZ/恒真断言/vault 夹具路径隔离/mock 边界对齐 A1 真实实现)
自证: vstore pytest 27 passed; vitest 23 passed; 追溯矩阵 92=92 无孤儿。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-09-07 22:41:36 +08:00 |
|
 adminandClaude Fable 5
|
9e5367b268
|
test(priv): T1 用例基线 92 条——100% 覆盖 FR-PRIV 调整内容 + 双向追溯矩阵 + 测试骨架
TL 复查达标放行:92 defined = 92 used、unmatched 0、unreferenced 0;
假设 1/9 已按实施方案 §1.2/§3.2 裁决修订(表格原位聚合/outline 不参与
切块/跨轮归属行为级判据)。骨架:test_chunks.py 416 行 + vitest 4 文件。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-09-07 21:42:22 +08:00 |
|