# Round 14 — Tower Floors J13-J17 · Writers Wing

**Date**: 2026-04-30
**Status**: ✅ COMPLETE

---

## 🏛️ Writers Wing — Routing

```
J04 Desk Router decides which writer:
   ├── breaking, security  → J14 (Urgent)
   ├── politics, economy   → J15 (Political)
   ├── sports, tech        → J16 (Casual)
   └── ent, health, social, gallery → J17 (Lifestyle)

archive desk → J13 (Light edit only, no rewrite)
```

5 קומות, **רק אחת רצה** לפי routing. ה-J17 הוא ה-fallback אם desk לא ידוע.

---

## ✏️ J13 · Light Editor (Archive Path)

**תפקיד**: עדכון הפנים בלי לכתוב מחדש. מתאים לarchive ולpress releases ש-desk הראשי הוא תחזוקה.

**Operations**:
- Spell check
- Punctuation fix
- Minor restructure
- Add hreflang tags

**No new text generation**. Output ≤ 110% of input length.

**Cost**: 0.0001$ · 200ms

---

## 🚨 J14 · Urgent Writer (Breaking + Security)

**תפקיד**: כתבה מהירה, ברורה, ב-~150 מילים. מבנה: lede → context → impact.

**Style guidelines** (מ-`maariv.theme.jason.json`):
- Headline: 8-12 words max
- Lede: ~30 words, must include WHO+WHAT+WHEN+WHERE
- Body: 100-150 words
- Call-to-action: optional, at end

**LLM**: Gemini 2.5 Flash with **streaming output** (chunks).

**Streaming pattern**:
```python
async for chunk in stream_article(prompt):
    yield {"type": "chunk", "text": accumulated_text}
    # ה-A2UI emitter מתרגם → updateDataModel /article/text
```

**Cost**: 0.001$ · 3-5s (streaming)

**A2UI**: 
- `createSurface` עבור `article-output` (חדש)
- streaming `updateDataModel` token-by-token

---

## 📜 J15 · Political/Economy Writer

**תפקיד**: כתבה מנותחת, ~300 מילים. הקשר היסטורי + analysis.

**Style**:
- Headline: 10-15 words
- Lede: ~40 words
- Body: 250-300 words עם 3-4 paragraphs
- **Always include**: historical context, expert quote (if applicable), implications

**LLM**: Gemini 2.5 Flash + system prompt עם 5 דוגמאות.

**Cost**: 0.002$ · 5-8s

---

## 🏆 J16 · Casual Writer (Sports + Tech)

**תפקיד**: כתבה זרימה, ~200 מילים. tone יותר קליל.

**Sports-specific**:
- Score in headline if applicable
- Player names highlighted
- Stats inline (e.g., "Ronaldo, 38, scored his 8th goal of the season")

**Tech-specific**:
- Product name + version explicit
- Brief comparison to competitor
- Implications for users

**Cost**: 0.0015$ · 4-6s

---

## 🎬 J17 · Lifestyle Writer (Entertainment, Health, Social, Gallery)

**תפקיד**: כתבה רכה, צרכנית, ~250 מילים.

**Multi-mode** based on sub-desk:
- Entertainment: review-style if applicable, lots of names
- Health: medical accuracy critical (J11 FactCheck stricter)
- Social: trending angle, social media references
- Gallery: image-heavy, captions explicit

**Cost**: 0.002$ · 5-8s

---

## 📐 J17.5 · Editor (Final Pass)

**תפקיד**: לאחר writer מסיים — passes שלעבור על:
- Headline punchiness (≤12 words ideally)
- Hook strength (first 30 chars must hook)
- Paragraph rhythm (varied lengths)
- "ה" overuse check (Hebrew quirk)
- Pull quote suggestions (J17.5 outputs `<pullquote>` markers)

**Cost**: 0.0005$ · 1s

---

## ⏱️ Timing מצטבר

| Path | Writer time | Editor | Total |
|---|---|---|---|
| Archive (J13) | 200ms | 0 | 200ms |
| Breaking (J14) | 4s | 1s | 5s |
| Political (J15) | 6s | 1s | 7s |
| Sports/Tech (J16) | 5s | 1s | 6s |
| Lifestyle (J17) | 6s | 1s | 7s |

ה-writing הוא ה-**bottleneck של pipeline** (5-7 שניות). אבל זה streamed, ה-user רואה את הכתבה נבנית בזמן אמת.

---

## 💰 Cost מצטבר (per article)

| Desk | Writer | Editor | Total |
|---|---|---|---|
| Breaking | 0.001$ | 0.0005$ | 0.0015$ |
| Political | 0.002$ | 0.0005$ | 0.0025$ |
| Sports | 0.0015$ | 0.0005$ | 0.002$ |
| Lifestyle | 0.002$ | 0.0005$ | 0.0025$ |

ב-100 כתבות ביום = **0.20$ ביום ל-tenant**. סופר זול.

---

## ✅ Closure

✅ Round 14 closed. **5 writers · 5-7s streaming · ~0.002$ per article**.
