Skip to content

og 分享卡片卡A:总结成功后生成分享卡片文案 llm_share_card.json - #248

Merged
zj1123581321 merged 7 commits into
mainfrom
card/vta-261015-og-text
Oct 15, 2026
Merged

zj1123581321 merged 7 commits into
mainfrom
card/vta-261015-og-text

Conversation

@zj1123581321

Copy link
Copy Markdown
Collaborator

概要(卡 A:分享卡片文案)

总结(summary)成功生成后,另发一次独立的小型大模型调用,产出分享卡片文案,按固定契约落盘为任务缓存目录下的 llm_share_card.json,供并行的卡 B(出图接口 + 页面 og 标签)读取。

设计文档:docs/sessions/og-card-261015/design.md;调研事实:docs/sessions/og-card-261015/research.md(本 PR 首个提交原样入库;research.md 的 file:// 本地绝对路径链接改写为仓内相对路径以通过 public-scan 闸,文字内容零改动,原链接指向已销毁的调研 worktree 本就是死链)。

落盘契约(A 写、B 读,已由测试锁死)

{"version": 1, "headline": "≤30 汉字(英文 ≤60 字符)", "points": ["1-3 条,每条 ≤40 汉字(英文 ≤80 字符)"], "generated_at": "ISO8601 带时区"}
  • 文件:与 llm_summary.txt 同一任务缓存目录,UTF-8,tmp + os.replace 原子写(B 卡不会读到半截 JSON)。
  • 文案语言跟总结正文一致;模型复用 config["llm"]["summary_model"] 与 summary_reasoning_effort(含风控 selected_models 覆盖)。

行为语义

  • 生成点:coordinator 内总结本轮 GENERATED 之后(与 chapters 层同构的数据流:processor 生成 → 返回值携带 → llm_ops 落盘)。
  • 失败隔离:卡片调用任何异常不冒泡、不影响任务终态与总结落盘;不写文件,记 error 日志(带 task_id 与原因),不重试。
  • 重新总结(resummarize):先删旧 llm_share_card.json,新总结成功且新卡片生成成功后写入新文件;SKIPPED_SHORT / FAILED 轮次旧卡保持删除。
  • 只重新校对(calibrate_only)与未请求总结的轮次:文件原样不动。
  • 旧式手工 result_dict(无 share_card 键)不触碰卡片、不额外探缓存(保住「全流程默认不探缓存」的分层缓存性能约定,有测试锁死)。

验证

  • uv run --frozen pytest tests -k share_card:32 条全绿(processor 契约/拒绝/隔离 21 条 + coordinator 挂点 4 条 + llm_ops 落盘 wiring 8 条)。
  • 红验 3 处(注释写入调用 / 取反保留门 / 去掉不探缓存守卫)均转红且为断言失败型,已还原。
  • 相关套件(coordinator_with_summary、summary_processor、llm_ops_helpers、chapters_pipeline_wiring)168 条全绿。
  • make test:唯一失败 test_unix_domain_socket_is_not_blocked 为继承红(AF_UNIX path too long,基线 552f496 的独立 worktree 复跑同样红,worktree 路径过长的环境性问题)。
  • summary_processor.py 相对基线 552f496 零改动(卡面 Accept-Check 通过)。

边界

  • 不改总结正文的 prompt / 输出格式 / llm_summary.txt;不做出图、路由、模板、依赖、Dockerfile(卡 B 范围);不回填历史任务;不新增数据库列或状态字段。

后续(卡 B):GET /og/{view_token}.png 出图 + transcript.html og 标签,按上述契约读文件。

zj1123581321 added 5 commits October 16, 2026 00:44
Agent-Executor: glm-pi
Agent-Model: glm-5.3-flash
Agent-Effort: high
Dispatch-Id: dlg-20261015-161137-54d4e3
Task-Id: VideoTranscriptAPI-20261016-01
Agent-Executor: glm-pi
Agent-Model: glm-5.3-flash
Agent-Effort: high
Dispatch-Id: dlg-20261015-161137-54d4e3
Task-Id: VideoTranscriptAPI-20261016-01
Agent-Executor: glm-pi
Agent-Model: glm-5.3-flash
Agent-Effort: high
Dispatch-Id: dlg-20261015-161137-54d4e3
Task-Id: VideoTranscriptAPI-20261016-01
Agent-Executor: glm-pi
Agent-Model: glm-5.3-flash
Agent-Effort: high
Dispatch-Id: dlg-20261015-161137-54d4e3
Task-Id: VideoTranscriptAPI-20261016-01
Agent-Executor: glm-pi
Agent-Model: glm-5.3-flash
Agent-Effort: high
Dispatch-Id: dlg-20261015-161137-54d4e3
Task-Id: VideoTranscriptAPI-20261016-01
@zj1123581321
zj1123581321 marked this pull request as ready for review October 15, 2026 16:53
@github-actions

github-actions Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

Required Gate v2 — 状态面板

当前状态:pass · 可合并

当前裁决:code_pass / primary_pass

PR 累计主审轮(影子):2/5 · collecting

Gate 历史(v1;来源为持久化 gate_terminal 制品)

Run Attempt Head 状态 PR 累计主审轮(影子) 收件人动作
38771696830 1 912f3ed skipped — 无需动作(主审未跑,绿≠过审)
38772805896 1 912f3ed fail — 要修代码
38774451416 1 1a9d242 pass 2/5 · collecting 可合并

历史行按 run_id + run_attempt 去重并只增不删;删除本评论后可由 gate_terminal 制品重建。

Agent-Executor: glm-pi
Agent-Model: glm-5.3-flash
Agent-Effort: high
Dispatch-Id: dlg-20261015-165806-1ca5a0
Task-Id: VideoTranscriptAPI-20261016-01
Agent-Executor: glm-pi
Agent-Model: glm-5.3-flash
Agent-Effort: high
Dispatch-Id: dlg-20261015-165806-1ca5a0
Task-Id: VideoTranscriptAPI-20261016-01
@zj1123581321
zj1123581321 merged commit 21f3113 into main Oct 15, 2026
13 checks passed
@zj1123581321
zj1123581321 deleted the card/vta-261015-og-text branch October 15, 2026 17:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant