yangqianqian
e095b1162e
核销表: C1看板回写为◐(代码就绪+交叉复核过,待Z阶段目视)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-22 10:11:41 +08:00
yangqianqian
2ca6ac2e48
C1: 新增轻量任务看板/board(按状态分列只读视图)
...
- board/components.tsx: BOARD_COLUMNS(4列:生成中/待审核/已通过/已打回)+TaskCard(只读点击进详情)+BoardColumn+BoardSkeleton
- board/page.tsx: 复用 GET /api/v1/tasks?status=...(跟随角色不写前端权限),failed/archived不进看板
- Sidebar: 加「任务看板」📋 入口;顺修两项同href的重复key warning(改key=label)
- 卡片跳转:进行中/待审核→confirm,已通过/打回→images(路由均已存在)
独立agent交叉复核6项全过(状态全覆盖/多status参数与history一致/无前端权限/无死链/字段判空/边界安全),无must-fix
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-22 10:10:33 +08:00
yangqianqian
ff21116ff8
A8: 文案按A/B/C三套正交叙事生成,避免套路化重复
...
- constants: 新增 TEXT_NARRATIVE_BY_STRATEGY(A痛点/B场景/C成分),与图片侧同轴
- build_prompt: 加 strategy_narrative 参数并注入 prompt
- text_variants: 全链路透传(含优化轮)
- run_text_generation: 改循环三套,text_count均摊(divmod余前补),跨套去重,打_strategy标记
- TextCandidate: 加 strategy String(4) 字段 + 迁移021(已upgrade head)
- packaging: 打包按strategy精准配对文图(texts_by_strategy映射+三层兜底)
- SSE text_candidate 事件携带 strategy
独立agent交叉验证7改造点全过,边界(text_count<3/无别名/不截断)无must-fix
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-22 10:00:47 +08:00
yangqianqian
4bed7425a8
A8多套打包+M4归档+R5多图:存量功能备份
...
A8 多套交付包(packaging_task.py):
- 修复交付包只打第1条混乱note的bug,按ImageCandidate.strategy分A/B/C组
- 每组生独立note_0N夹(6图+文案.txt),同seq留最新去重,老数据兼容
- task74端到端验:3套各6图,独立agent7项交叉验证全过
M4 归档(tasks.py/exports.py/前端):
- list_tasks加date_from/date_to/product_id筛选+product_name批量填(防N+1)
- 新增exports.py:产品JSON导出+标杆CSV导出(UTF-8 BOM)
- 前端HistoryFilters日期/产品筛选+产品列+打回原因红banner
- response.py加raise_param_error;独立agent验A1/A2/A9通过
R5 产品多图(product_images.py/020迁移/前端):
- product_images表+5端点(上传/列/改场景/设主图/删图)
- 生图按ROLE_SCENE_PREFERENCE选对应场景图,回落primary
- 前端ProductImageManager多图画廊
R6 账号config拆页(settings/):
- 配置页按角色拆/settings(运营+组长+admin)+/config(仅admin)
- Key只显末4位不显余额(守红线)
核销表对齐真实代码状态:D1改稿框/M7裂变/E12评图分纠偏为已完成(曾漏回写)
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-18 17:32:49 +08:00
yangqianqian
285791c12f
裂变补图:中转站波动导致单张失败时只重生失败分镜
...
实测发现 codeproxy 偶发不稳,单套中某张图重试3次仍失败会记 error。
本次加按需补图:只重生标 error 的分镜,成功的图与 token 不浪费。
- 019迁移+模型:fission_tasks 加 source_task_id(新架构不扇出GenerationTask,
补图需复刻首轮上下文:产品/operator key/张数,故落库回查)
- fission_image_retry:只补失败 role(引擎 target_role 单张重生,R2零改动),
merge 回 images_json,全恢复则 status=image_done
- tasks.py:retry_fission_images Celery task,key归属源任务operator(基石B),
幂等锁防重复补图
- api:POST /fission/{id}/notes/{seq}/retry-images,无失败分镜守卫 queued=false
- 前端:FissionNoteCard 失败提示改"重试补图"按钮+loading,父页轮询刷新
实测task5 seq1(hook图首轮codeproxy重试3次失败)补图跑通:只补hook(1024×1536
去AI化)、applied_proof原图不动、recovered=1 still_failed=0、status=image_done;
apiports503回落codeproxy gpt-5.5强档兜底;seq0无失败图守卫queued=false
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-18 11:30:41 +08:00
yangqianqian
25f86b2f4a
存量前端:生图分组/灯箱/重生控件/导入文案/驳回横幅+SSE+总核销表
...
- ImageStrategyGroup/ImageLightbox/RegenControls/ImportTextModal/
RejectReasonBanner 新建组件
- tasks images/text/new + history + 配置/布局/SSE hooks 存量改动
- 总核销表进度更新
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-18 11:17:53 +08:00
yangqianqian
d85dcd401b
第11环裂变重写:对齐上线版 split.js 一次LLM出N套完整笔记包
...
架构从"扇出N个GenerationTask各跑完整管道"改为"一次LLM调用直接出N套
完整笔记包(N=1~5)",落 FissionNote 表 + 独立展示页。
后端:
- 018迁移:fission_notes 表(文案JSON+score+passed+imagePlan+images+status)
- fission_prompt:FISSION_SYSTEM+三档参考度(low/mid/high)+normalize_tags+品类兜底
- fission_pipeline:一次LLM出N套→各评分(@80合格线)→排序→落库,不达标标
needs_optimization 非丢弃;apiports 503 回落 codeproxy gpt-5.5 强档兜底
- fission_images:每套串行调现有生图接口(零改动image_gen/storyboard)
- tasks.py:run_fission_pipeline Celery task,删旧扇出注入
- api/v1/fission:进度聚合FissionNote + GET /fission/{id}/notes(剥内部字段)
前端:FissionProgress对齐状态机 + N套独立展示页 + FissionNoteCard
测试:test_fission_engine(19)+test_fission_pipeline(5) 全过;104 全量回归绿
实测task5(fanout=2,mid)端到端跑通:一次出2套→seq0=85过/seq1=79标优化→
生图codeproxy/edits→1024×1536去AI化→task completed→notes端点返完整数据
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-18 11:17:37 +08:00
yangqianqian
7f419f4c8b
存量积累:生图素人感约束+评图分+幂等防重跑+审核回路
...
- 015-017迁移:image_candidate 文案复审/AI视觉分/重生标记
- constants C7素人感约束(反电商摆拍对齐真实笔记)+C3叠字口子
- celery visibility_timeout=2h 防长任务被误判重投重复烧钱(task75教训)
- image_scorer 评图分(只筛选+展示,真实信号才进飞轮权重)
- storyboard/image_gen/pipeline_io 生图存量
- task_actions/tasks/task_service/flywheel 审核回路+飞轮存量
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-18 11:16:42 +08:00
yangqianqian
cefdbaabdc
feat(M7): 第11环裂变引擎端到端打通
...
- fission_service: 1源任务扇出N套子任务(回填source_fission_id,复用主管道),MAX_FANOUT=5红线
- fission_prompt: 三档参考度(high/mid/low)占位规则,真实措辞待北哥定义
- tasks.py: worker识别裂变子任务→注入对应档位规则进文案上下文(关键缺口修复)
- api/v1/fission: POST触发 + GET进度聚合, main.py注册路由
- 实测: fission_id=2扇出task70/71,worker注入日志level=high,进度端点聚合正确
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-16 15:05:27 +08:00
yangqianqian
9f263032ad
核销表:M6截图vision路径端到端验过(真读图source=vision),引擎闭环
2026-06-16 14:38:17 +08:00
yangqianqian
0f71bd85ce
核销表:M6标杆引擎标◐(文本路径已验,待截图/端点/北哥过目)
2026-06-16 14:28:43 +08:00
yangqianqian
c1ac2a6ab9
feat(M6): 第2环标杆8维分析引擎
...
8维草案(banana不变量+俊达配方+3链接):标题公式/开头钩子/正文结构/
卖点呈现/情绪语气emoji/目标人群/话题标签/视觉配图节奏。
- _benchmark_prompt.py: 8维vision prompt(不打分,提炼可复用配方)
- benchmark_analyzer.py: 引擎核心(vision读截图+手填亮点→8维JSON,失败兜底)
- benchmarks.py: POST /benchmarks/{id}/analyze 端点(写features_json,流转analyze_status)
端到端实测:8维齐全0缺失,真调LLM(conf0.9非兜底),落库done,质量高(识别收藏钩子/成分背书/诚实标未体现)
2026-06-16 14:28:17 +08:00
yangqianqian
c5567614b4
修注释bug(score>=90→80红线)+核销表按代码真实状态纠偏
...
- pipeline_io.py/replenish_task.py 注释写90与代码实际80打架,统一为80(红线)
- 核销表纠正:文案先展示后台补=真做了/合格线80/M1本体已做
- M6标杆M7裂变改'草案先提炼再请北哥'(不干等),过滤策略条作废
2026-06-16 14:11:45 +08:00
yangqianqian
a299169eb6
核销表同步:补2归入B6+迁移版本号到014
2026-06-16 13:56:25 +08:00
yangqianqian
ffc213fb3d
B6 fix: error事件只在重试耗尽时推送
...
重试中也推error会让前端FatalErrorBanner误报生成失败,
应只在exhausted(彻底失败)时推error事件。
import OK
2026-06-16 12:47:06 +08:00
yangqianqian
1b488752e6
B6/B7: failed终态前端可见 + SSE事件链核实
...
B6 错误态:
- 后端已加 TaskStatus.FAILED + 异常区分重试中/耗尽(014迁移ALTER status ENUM)
- 前端 TaskStatus 类型加 failed
- RecentTasksBar/history STATUS_LABEL 补 failed 标签
- history 页 HISTORY_STATUSES 纳入 failed(否则失败任务前端找不到)
- FatalErrorBanner + useSse error 不再静默丢弃
B7: 核实 SSE(ticket换JWT) + 事件消费链无缺口,标绿
tsc EXIT=0
2026-06-16 12:45:13 +08:00
yangqianqian
ea423e8a32
fix(C2): 审核台显示文案质量分(总分+7维明细)
...
审核要能判断,原审核队列接口不返回分数=组长盲审。
- review.py _fmt_queue_item: 解析selected_text.score_json,复用现成
_score_array_to_obj(tasks.py)算总分+透传维度,绝不读eval_score(留NULL)
- dto.tasks.ts: ReviewQueueItem.selected_text 加 score?:TextScore|null
- ReviewCard.tsx: 复用现成ScoreDimBars组件,passLine=80(合格线红线,
不用组件默认85)
端到端验:task40审核队列返回total=83+5维明细,新旧维度兼容。tsc EXIT0。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-16 12:28:56 +08:00
yangqianqian
e3fb6f2655
feat(D1): 改稿进飞轮 - 最强真实信号 text_edit +5
...
倩倩姐2026-06-16拍板:改稿=用户真改了字=最在乎这条方向=最强真实信号。
先激进入飞轮跑一周,北哥用后按真实数据校准是否加"过审才入"闸门。
改动:
- enums.py: SignalType.TEXT_EDIT + SIGNAL_WEIGHTS权重5(≥选择类)
- task.py: TextCandidate.edited 布尔字段
- 013迁移: text_candidates加edited列 + preference_events.signal_type
ENUM补text_edit(端到端实测抓出:不补会Data truncated)
- task_actions.py: POST /{task_id}/text-candidates/{cid}/edit 端点
回写content+edited=True+record_signal写text_edit,走task_actions不碰review.py
端到端实测:edited False→True,飞轮信号真落库type=text_edit weight=5。
顺手: tsconfig.tsbuildinfo 移出版本控制(构建产物)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-16 12:20:54 +08:00
yangqianqian
77f52e7eb0
fix(A1): 清除Sidebar 4个死链路由,补回审核台导航
...
死链(全不存在的路由): /tasks /images /tasks/build /tasks/list
真实存在却漏进导航的 /review(组长审核台)补回,限supervisor+admin。
选文案/选图片是任务流程内步骤(经/tasks/[id]/text|images,需task id),
不做顶层导航。tsc全量通过。
同步: 总核销表新增P3前端打通+飞轮(九文档审核5桶结论)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-16 11:34:21 +08:00
yangqianqian
6a2632da70
baseline: Clover 独立仓库首次基线提交
...
将 Clover 从上层产品包旧仓库中独立出来,建立专属版本控制。
当前状态=纵切片端到端已打通(登录→选品→出文出图→审核→下载包),
M1文案质量去套路化已验收。此提交作为后续按核销清单逐条修复的基线。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-16 11:30:22 +08:00