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>
This commit is contained in:
@@ -92,6 +92,22 @@ def run_generation_pipeline(self, task_id: int) -> dict:
|
||||
product_dict = build_product_dict(product)
|
||||
flywheel_fragment, flywheel_ctx = load_flywheel_context(db, workspace_id, task.product_id, product_dict)
|
||||
|
||||
# 第11环裂变:子任务(source_fission_id非空)按裂变档位+源爆款生成,拼进文案上下文。
|
||||
if getattr(task, "source_fission_id", None):
|
||||
import json as _json
|
||||
from app.models.fission import FissionTask
|
||||
from app.services.ai_engine.fission_prompt import build_fission_context
|
||||
ft = db.query(FissionTask).filter(FissionTask.id == task.source_fission_id).first()
|
||||
if ft:
|
||||
try:
|
||||
src_note = _json.loads(ft.source_note) if ft.source_note else {}
|
||||
except Exception:
|
||||
src_note = {}
|
||||
fission_ctx = build_fission_context(src_note, ft.reference_level)
|
||||
flywheel_fragment = f"{fission_ctx}\n\n{flywheel_fragment}".strip()
|
||||
logger.info("裂变子任务注入档位: task_id=%s fission=%s level=%s",
|
||||
task_id, ft.id, ft.reference_level)
|
||||
|
||||
if flywheel_fragment:
|
||||
seq += 1
|
||||
_push_event_sync(task_id, workspace_id, "flywheel_injected", {
|
||||
|
||||
Reference in New Issue
Block a user