Files
document-haness/build/lib/claridoc/templates.py
T

80 lines
3.2 KiB
Python

from __future__ import annotations
from typing import Any
def mock_pipeline_config() -> dict[str, Any]:
return {
"planner": {"provider": "mock"},
"writer": {"provider": "mock"},
"reviewers": [
{"role": "logic", "provider": "mock"},
{"role": "decision", "provider": "mock"},
{"role": "reader", "provider": "mock"},
{"role": "editor", "provider": "mock"},
{"role": "evidence", "provider": "mock"},
{"role": "operations", "provider": "mock"},
],
"reviser": {"provider": "mock"},
"quality_gate": {
"minimum_score": 82,
"max_blockers": 0,
"max_errors": 2,
"max_revisions": 2,
"deterministic_weight": 0.4,
"model_weight": 0.6,
},
"fail_on_reviewer_error": True,
}
def starter_brief() -> dict[str, Any]:
return {
"title": "기술적 선택을 문제와 근거로 설명하기",
"document_type": "technical_blog",
"language": "ko-KR",
"audience": {
"roles": ["소프트웨어 개발자"],
"prior_knowledge": ["기본적인 개발 및 운영 경험"],
"needs": ["구현 선택의 이유와 적용 조건을 빠르게 파악"],
},
"reader_goal": "문제, 대안, 선택 이유, 검증, 트레이드오프를 연결해 설명한다",
"core_message": "기술적 선택은 사용 기술의 목록이 아니라 해결하려던 문제, 제외한 대안, 수용한 비용, 지킨 경계로 설명해야 한다.",
"scope": ["단일 기술 블로그 또는 기술 문서의 논리 구조"],
"non_scope": ["제품 마케팅 카피", "근거 없는 프로젝트 구현 추정"],
"prerequisites": ["Markdown을 읽을 수 있음"],
"required_topics": ["구체적인 문제", "제약", "대안", "선택 이유", "검증", "트레이드오프"],
"constraints": {
"target_words": 1400,
"tone": "전문적이고 직접적이며 과장하지 않음",
"version_context": "",
"max_heading_depth": 3,
"require_citations": True,
"allow_external_knowledge": False,
"citation_style": "hidden",
"date_policy": "only_when_material",
"style_profile": "woowahan_tech_blog_ko",
},
"forbidden_claims": [],
"metadata": {"owner": "documentation-team", "risk": "medium"},
}
def starter_sources() -> dict[str, Any]:
return {
"sources": [
{
"id": "SRC1",
"title": "Replace with a verified project or concept source",
"url": "repo:///replace-with-a-real-source.md",
"publisher": "project documentation",
"facts": [
"Replace this placeholder with the problem, decision, reason, alternative, accepted cost, and guardrail that the source explicitly supports."
],
"source_type": "canonical-project",
"status": "verified",
"notes": "Source IDs and paths stay in provenance artifacts when citation_style is hidden.",
}
]
}