feat(agents): Scope B A1 — 4 竞品生成器 schema/spec + 2 上下文 builder

续写/扩写/降AI率/拆书 4 个生成器的声明(preview-only writes=[],只声明 tier #2):
- schemas.py: ContinuationResult/PolishResult/DeAiResult/BookTeardownResult
- specs.py: continue(writer)/expand(writer)/de-ai(analyst)/teardown(analyst),各配 system_prompt
- generation_node.py: build_continuation_context(续写读前文)/build_text_input_context(原文输入)
- 单测: 4 spec/schema 契约 + 2 builder 纯函数(确定性/空值降级)

守不变量 #2(只声明 tier)/#3(纯预览不写库)/#9(system_prompt 进缓存前缀)。
This commit is contained in:
Yaojia Wang
2026-06-23 19:01:11 +02:00
parent 681f8e61eb
commit 87dd09a797
7 changed files with 415 additions and 0 deletions

View File

@@ -8,12 +8,15 @@ from __future__ import annotations
from .schemas import (
Blurb,
BlurbResult,
BookTeardownResult,
CharacterCard,
CharacterGenResult,
CharacterRelation,
Conflict,
ConflictType,
ContinuationResult,
ContinuityReview,
DeAiResult,
DetailedOutlineResult,
ForeshadowReview,
ForeshadowSuggestion,
@@ -32,6 +35,7 @@ from .schemas import (
OutlineResult,
PaceIssue,
PaceReview,
PolishResult,
Scene,
StyleDimension,
StyleDriftReview,
@@ -48,7 +52,10 @@ from .specs import (
book_title_spec,
brainstorm_spec,
character_gen_spec,
continue_spec,
continuity_spec,
de_ai_spec,
expand_spec,
fine_outline_spec,
foreshadow_spec,
glossary_spec,
@@ -60,6 +67,7 @@ from .specs import (
refiner_spec,
style_drift_spec,
style_extract_spec,
teardown_spec,
worldbuilder_spec,
)
@@ -67,12 +75,15 @@ __all__ = [
"AgentSpec",
"Blurb",
"BlurbResult",
"BookTeardownResult",
"CharacterCard",
"CharacterGenResult",
"CharacterRelation",
"Conflict",
"ConflictType",
"ContinuationResult",
"ContinuityReview",
"DeAiResult",
"DetailedOutlineResult",
"ForeshadowReview",
"ForeshadowSuggestion",
@@ -91,6 +102,7 @@ __all__ = [
"OutlineResult",
"PaceIssue",
"PaceReview",
"PolishResult",
"Scene",
"StyleDimension",
"StyleDriftReview",
@@ -104,7 +116,10 @@ __all__ = [
"book_title_spec",
"brainstorm_spec",
"character_gen_spec",
"continue_spec",
"continuity_spec",
"de_ai_spec",
"expand_spec",
"fine_outline_spec",
"foreshadow_spec",
"glossary_spec",
@@ -116,5 +131,6 @@ __all__ = [
"refiner_spec",
"style_drift_spec",
"style_extract_spec",
"teardown_spec",
"worldbuilder_spec",
]