NewsAgency — LLM Wiki Schema

This project is an Obsidian vault operating as an automated news agency.
It follows Andrej Karpathy’s LLM Wiki pattern: raw sources are compiled into a structured,
cross-linked wiki, while a pipeline of agents manages the news production lifecycle.

Architecture

graph LR
    subgraph "Layer 1: Raw Sources"
        R[raw/feeds/]
        T[raw/tips/]
    end
    subgraph "Layer 2: Wiki"
        I[wiki/index.md]
        C[wiki/concepts/]
        E[wiki/entities/]
        TP[wiki/topics/]
    end
    subgraph "Layer 3: Pipeline"
        P1[1-incoming] --> P2[2-prescreened]
        P2 --> P3[3-evaluated]
        P3 --> P4[4-analyzed]
        P4 --> P5[5-approved]
        P5 --> P6[6-reported]
        P6 --> P7[7-done]
        P2 --> REJ[rejected]
        P3 --> REJ
        P5 --> REJ
    end
    R --> P1
    P4 --> C
    P4 --> E
    P4 --> TP
    P6 --> PUB[published/]

Domain

  • Topics: Software Engineering, Artificial Intelligence, Finance & Fintech
  • Source languages: Any (English, Turkish, German, etc.)
  • Output language: Turkish (final articles only)
  • Target audience: Software developers, AI enthusiasts, finance professionals

Directory Structure

NewsAgency/                    # Obsidian vault root
├── CLAUDE.md                  # This file — schema & rules
├── raw/                       # Layer 1: immutable source material
│   ├── feeds/                 # Web-scraped articles (never edit after creation)
│   └── tips/                  # Manual news tips
├── wiki/                      # Layer 2: LLM-generated knowledge base
│   ├── index.md               # Navigation hub — all pages linked here
│   ├── log.md                 # Chronological ingestion log
│   ├── concepts/              # Concept pages (e.g., transformer-architecture.md)
│   ├── entities/              # Entity pages (e.g., openai.md, nvidia.md)
│   └── topics/                # Topic pages (e.g., llm-scaling-laws.md)
├── pipeline/                  # Layer 3: news production pipeline
│   ├── 1-incoming/            # Newly discovered news items
│   ├── 2-prescreened/         # Passed initial newsworthy filter
│   ├── 3-evaluated/           # Evaluated for value, risk, audience fit
│   ├── 4-analyzed/            # Deep-researched, wiki-enriched
│   ├── 5-approved/            # Editor-approved, ready for writing
│   ├── 6-reported/            # Turkish article drafted
│   ├── 7-done/                # Published and archived
│   └── rejected/              # Items that did not pass filters
└── published/                 # Final Turkish articles for distribution

Naming Conventions

  • All filenames: lowercase, kebab-case, .md extension
  • Raw sources: {YYYY-MM-DD}-{slug}.md (e.g., 2026-04-21-openai-gpt5-release.md)
  • Wiki pages: {slug}.md (e.g., transformer-architecture.md)
  • Pipeline items: {YYYY-MM-DD}-{slug}.md (same as raw source slug)
  • Published articles: {YYYY-MM-DD}-{slug}.md
  • Wikilinks: Always use [[slug]] syntax without file extension

Page Templates

Raw Source Page (raw/feeds/)

---
title: "Original Article Title"
source_url: "https://..."
source_language: "en"
scraped_at: "2026-04-21T10:00:00Z"
author: "Author Name"
source_name: "TechCrunch"
---
 
[Full article content in original language]

Pipeline Item (pipeline/*/)

---
title: "Descriptive Title"
slug: "descriptive-title"
source_url: "https://..."
source_language: "en"
discovered_at: "2026-04-21T10:00:00Z"
stage: "incoming"
category: ["ai"]
priority: null
newsworthy_score: null
tags: []
related_wiki: []
rejection_reason: null
---
 
## Summary
[Brief summary of the news item]
 
## Source Analysis
[Added during prescreening/evaluation]
 
## Research Notes
[Added during analysis]
 
## Draft Article
[Added during reporting — in Turkish]

Wiki Concept Page (wiki/concepts/)

---
title: "Concept Name"
aliases: ["Alternative Name"]
category: "ai|software|finance"
created_at: "2026-04-21"
updated_at: "2026-04-21"
sources: ["[[raw-source-slug]]"]
---
 
## Definition
[Clear, concise definition]
 
## Key Points
- Point 1
- Point 2
 
## Related
- [[related-concept]]
- [[related-entity]]
 
## Sources
- [[raw-source-1]]
- [[raw-source-2]]

Wiki Entity Page (wiki/entities/)

---
title: "Entity Name"
type: "company|person|product|organization"
category: "ai|software|finance"
created_at: "2026-04-21"
updated_at: "2026-04-21"
sources: ["[[raw-source-slug]]"]
---
 
## Overview
[Brief description of the entity]
 
## Recent Developments
- [Date]: [Development] ([[source]])
 
## Related
- [[related-entity]]
- [[related-concept]]
 
## Sources
- [[raw-source-1]]

Wiki Topic Page (wiki/topics/)

---
title: "Topic Title"
category: "ai|software|finance"
status: "active|archived"
created_at: "2026-04-21"
updated_at: "2026-04-21"
---
 
## Overview
[What this ongoing topic/trend is about]
 
## Timeline
- [Date]: [Event] ([[source]])
 
## Key Players
- [[entity-1]]
- [[entity-2]]
 
## Analysis
[Synthesized analysis across multiple sources]
 
## Related Topics
- [[related-topic]]

Published Article (published/)

---
title: "Makale Başlığı"
slug: "makale-basligi"
date: "2026-04-21"
category: ["ai"]
tags: ["tag1", "tag2"]
sources: ["[[raw-source-slug]]"]
pipeline_item: "[[pipeline-item-slug]]"
language: "tr"
---
 
# Makale Başlığı
 
[Full Turkish article]
 
---
 
## Kaynaklar
- [Source 1](url)
- [Source 2](url)

Operational Rules

General

  1. Never modify files in raw/ — they are immutable source of truth
  2. Always use [[wikilinks]] to cross-reference pages
  3. Update wiki/log.md after every ingest operation
  4. Update wiki/index.md when creating new wiki pages
  5. Update frontmatter updated_at when modifying any wiki page
  6. Move files between pipeline stages by physically moving the .md file to the next folder
  7. Update the stage field in frontmatter when moving pipeline items
  8. Never skip pipeline stages — items must progress sequentially
  9. Use WebSearch and WebFetch for all web operations

Wiki Maintenance

  1. Every wiki page must have at least one incoming wikilink (no orphans)
  2. Every wikilink target must have a corresponding page (no broken links)
  3. Contradictions between sources must be flagged with > [!warning] callouts
  4. Stale information (>30 days without update) should be flagged with > [!info] callouts
  5. Prefer updating existing pages over creating new ones for the same concept

Pipeline Rules

  1. Each pipeline item file represents one news story
  2. Items can only move forward (1→2→3→…→7) or to rejected/
  3. Rejected items must have rejection_reason filled in frontmatter
  4. Priority levels: critical, high, medium, low
  5. Categories: ai, software, finance
  6. Newsworthy score: 1-10 (assigned during prescreening)

Content Quality

  1. Final articles must be in Turkish with proper grammar
  2. Technical terms remain in English (e.g., “transformer”, “API”, “blockchain”)
  3. Every claim must trace back to a raw source via wikilinks
  4. Articles must include a “Kaynaklar” (Sources) section
  5. Maintain neutral, journalistic tone — no opinion unless labeled as commentary