#!/usr/bin/env python3
"""ROADMAP.md από το public/dev/roadmap/roadmap.json (η μόνη πηγή του roadmap). Τρέξιμο: python3 scripts/roadmap.py"""
import json
import os

ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
rm = json.load(open(os.path.join(ROOT, 'public/dev/roadmap/roadmap.json'), encoding='utf-8'))
LABEL = {'active': '🔵 Σε εξέλιξη', 'next': '🟡 Επόμενο', 'later': '⚪ Αργότερα', 'done': '✅ Ολοκληρώθηκε'}

out = [f"# {rm['project']} — Roadmap", '', rm['subtitle'], '',
       f"Τελευταία ενημέρωση: {rm['updated']}  ", f"Επόμενο βήμα: **{rm['next']}**", '',
       '> Πηγή αλήθειας: `public/dev/roadmap/roadmap.json`. Το ίδιο αρχείο τροφοδοτεί το HTML progress roadmap στο '
       'https://manage.myzenbnb.gr/dev/roadmap/ (με κωδικό). Μετά από κάθε αλλαγή: `python3 scripts/roadmap.py`.', '',
       '## Stack', '', '| Πακέτο | Έκδοση |', '|---|---|']
out += [f'| {n} | {v} |' for n, v in rm['stack']]
out += ['', '## Αρχιτεκτονικές αποφάσεις', ''] + [f'- {d}' for d in rm.get('decisions', [])] + ['']

for i, p in enumerate(rm['phases'], 1):
    done = sum(1 for x in p['items'] if x[1])
    total = len(p['items'])
    status = 'done' if done == total else p['status']
    when = f"  ·  {p['when']}" if p['when'] else ''
    out += [f"## {i}. {p['title']}  ·  {LABEL.get(status, status)}  ·  {done}/{total}{when}", '', p['desc'], '']
    out += [f"- [{'x' if ok else ' '}] {text} `{tag}`" for text, ok, tag in p['items']] + ['']

open(os.path.join(ROOT, 'ROADMAP.md'), 'w', encoding='utf-8').write('\n'.join(out))
print('ROADMAP.md OK')
