import os import re import uuid import sys from datetime import datetime # UTF-8 Output support if sys.stdout.encoding != 'utf-8': import io sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') base_dir = r"e:\Wiki\2nd" raw_dir = os.path.join(base_dir, "00_Raw", "2026-04-20") # List of files to process batch_files = [ "Algorithmic-Governance.md", "Allocation Timeline.md", "Alpha Blending.md", "AlphaZero Strategy.md", "Amazon-AWS-Formal-Verification.md", "Ambient Contexts.md", "Ambient Declarations.md", "Americans-with-Disabilities-Act-ADA.md", "Amygdala Hyperactivity.md", "Analyze runtime performance.md", "ANGLE.md", "AODA-Accessibility-for-Ontarians-with-Disabilities-Act.md", "API-Contract-Definition.md", "API-First Architecture.md", "API-First-Design.md", "Apple Human Interface Guidelines.md", "Apple Vision Pro Ecosystem.md", "AppSec (ΓΈΜΌ ).md", "Architectural-Constraint-Enforcement.md" ] mapping = { "Algorithmic-Governance.md": "Sociology & Tech", "Allocation Timeline.md": "Memory & Systems", "Alpha Blending.md": "Graphics & Performance", "AlphaZero Strategy.md": "AI & Games", "Amazon-AWS-Formal-Verification.md": "Software Reliability", "Ambient Contexts.md": "Programming & Language", "Ambient Declarations.md": "Programming & Language", "Americans-with-Disabilities-Act-ADA.md": "Design & Experience", "Amygdala Hyperactivity.md": "Psychology & Behavior", "Analyze runtime performance.md": "Web & Performance", "ANGLE.md": "Graphics & Performance", "AODA-Accessibility-for-Ontarians-with-Disabilities-Act.md": "Design & Experience", "API-Contract-Definition.md": "Software Architecture", "API-First Architecture.md": "Software Architecture", "API-First-Design.md": "Software Architecture", "Apple Human Interface Guidelines.md": "Design & Experience", "Apple Vision Pro Ecosystem.md": "Metaverse & Devices", "AppSec (ΓΈΜΌ ).md": "Security", "Architectural-Constraint-Enforcement.md": "Software Architecture" } def wikify(filename): raw_path = os.path.join(raw_dir, filename) if not os.path.exists(raw_path): return try: with open(raw_path, "r", encoding="utf-8") as f: content = f.read() except UnicodeDecodeError: try: with open(raw_path, "r", encoding="cp949") as f: content = f.read() except: return title_match = re.search(r'^#\s*\[\[(.*?)\]\]', content, re.M) if not title_match: title_match = re.search(r'^\[\[(.*?)\]\]', content, re.M) title = title_match.group(1) if title_match else filename.replace(".md", "") sub_folder = mapping.get(filename, "Uncategorized") category_path = f"10_Wiki/πŸ’‘ Topics/{sub_folder}" summary_match = re.search(r'##?\s*πŸ“Œ\s*Brief Summary\n(.*?)(?=\n##|$)', content, re.S) summary = summary_match.group(1).strip() if summary_match else "핡심 μš”μ•½ μž‘μ—… μ§„ν–‰ 쀑" core_match = re.search(r'##?\s*πŸ“–\s*Core Content\n(.*?)(?=\n##|$)', content, re.S) core = core_match.group(1).strip() if core_match else "λ³Έλ¬Έ 상세 ꡬ성 μ§„ν–‰ 쀑" conn_match = re.search(r'##?\s*πŸ”—\s*Knowledge Connections\n(.*?)(?=\n##|$)', content, re.S) conn = conn_match.group(1).strip() if conn_match else "" doc_id = f"P-REINFORCE-{uuid.uuid4().hex[:6].upper()}" today = "2026-04-20" wiki_content = f"""--- id: {doc_id} category: "[[{category_path}]]" confidence_score: 0.95 tags: [] last_reinforced: {today} github_commit: "[P-Reinforce] Mega Batch - Wikified {title}" --- # [[{title}]] ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > {summary} ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) {core} ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & RL Update) - **κ³Όκ±° λ°μ΄ν„°μ™€μ˜ 좩돌:** 지식 μžμ‚°ν™” 및 κΈ°μ‘΄ λ„€νŠΈμ›Œν¬ 연동 단계. - **μ •μ±… λ³€ν™”:** {sub_folder} μΉ΄ν…Œκ³ λ¦¬μ˜ μ „λ¬Έμ„± 확보 및 링크 밀도 μ΅œμ ν™”. ## πŸ”— 지식 μ—°κ²° (Graph) {conn} - Raw Source: [[00_Raw/2026-04-20/{filename}]] --- """ target_dir = os.path.join(base_dir, category_path.replace("/", os.sep)) if not os.path.exists(target_dir): os.makedirs(target_dir) safe_title = re.sub(r'[^\w\s\(\)\[\]-]', '', title).strip() target_path = os.path.join(target_dir, f"{safe_title}.md") with open(target_path, "w", encoding="utf-8") as f: f.write(wiki_content) print(f"Processed: {filename}") if __name__ == "__main__": for f in batch_files: wikify(f)