---
name: atlas
description: >
  Weekly full rebuild of Mark's atlas — a versioned dossier on who he is right now.
  Every run reads the accumulated chronology (maintained by atlas-chronology), does a
  fresh discovery pass over every connector and over the VPS, and publishes a COMPLETE
  NEW ISSUE (atlas_vN+1) written from scratch on current data — never an edit of the
  previous one. Published to https://mandrock-files.duckdns.org/atlas.
  Trigger on "атлас", "atlas", "/atlas", "онови атлас", "згенеруй атлас",
  "timeline мого мислення", or automatically on the weekly Wednesday-evening schedule.
  NOT for logging a single new pivotal moment ad hoc — that's atlas-chronology.
---

# Atlas

Тижневий перезбір. `atlas-chronology` — леджер; це — видавець.

## Головне правило

**Кожен запуск створює НОВИЙ випуск під нову версію Марка.** Не інкремент, не правка
попереднього, не копія сторінок з новою датою. Усі розділи пишуться з нуля на даних
вікна «від зрізу попереднього випуску до сьогодні». Якщо новий випуск суперечить
старому — це не помилка, це вимір: змінився Марк, а не редактор.

Старі випуски **заморожені й не чіпаються ніколи**. `atlas_v1`, `atlas_v2`, … лишаються
такими, якими були опубліковані.

## Каденс

Щосереди ввечері (21:00 Київ) через scheduled task, або на вимогу коли Марк каже «атлас».
Ручний запуск не збиває розклад — вікно наступного разу рахується від зрізу останнього
опублікованого випуску.

## Процес

1. **Визначити версію.** `ls /root/cdn/web/atlas/` на VPS через `mandrock-ssh`.
   Останній `atlas_vN` → цей запуск робить `atlas_v(N+1)`. Ніколи не перезаписувати.
2. **Прочитати леджер.** `cat /root/cdn/web/atlas/chronology/data.json`. Це база —
   не передискаверити те, що вже там.
3. **Discovery за вікно.** Скоуп — від дати зрізу попереднього випуску до сьогодні.
   Обов'язкові джерела, у порядку цінності:
   - `git log` по всіх репо в `/root/projects`, `/root/projects/portfolio`, `/root/tmp/ghpass`
     — з таймстемпами, **приведеними до Europe/Kyiv** (не UTC! v2 на цьому спіймався
     і назвав ранкову роботу нічною);
   - `/root/projects/schedule-tracker/tracker.db` (sqlite, читати через python3 —
     `sqlite3` CLI на VPS немає): `projects` з `last_touch`, `captures` з energy/note/
     transcript, `day_items`, `obligations`, `dashboard_opens`;
   - `systemctl` / `docker ps` / `systemctl list-timers` / nginx-локейшни — анатомія системи;
   - `ls -lat` по `/root/claude-config/skills/user/` і `/root/.claude/agents/` — що нового;
   - Gmail (кар'єра, CI-нотифікації, алерти безпеки), Google Calendar, Craft, Notion.
4. **Записати нові пивоти** через скіл `atlas-chronology` — не писати в JSON напряму.
   Один writer тримає леджер консистентним.
   **Таксономія категорій — твоя парафія, не Маркова.** Раз на випуск подивись на
   розподіл: якщо три-чотири записи в різних осях утворюють патерн, якого сітка не
   показує — заведи вісь; якщо вісь роками тримає один запис, який нічого не втратить
   у сусідній — прибери. Не питати дозволу, не міняти заради зміни. Правила й історія
   змін — у `atlas-chronology`. Поточні осі: `identity`, `tooling`, `creative`, `body`,
   `system`, `career`, `philosophy` (`body` додано 05.08.2026).
5. **Зібрати випуск.** Структура — вісім розділів (можна менше, якщо вікно тонке;
   краще вісім написаних, ніж дванадцять напівпорожніх):
   `01-identity` · `02-mind` · `03-system` · `04-pivots` · `05-catalog` ·
   `06-critique` · `07-organism` · `08-appendix`, плюс `index.html` (хаб випуску)
   і `timeline/index.html`.
   Розмітка й класи — сталі між випусками (topbar, wrap narrow, section, kicker, lead,
   stats/stat, grid g2/g3, card, tag, callout insight/crit/hyp/dump, qstrip, chips,
   table, blockquote). Консистентність між випусками важливіша за новизну верстки.
6. **Обов'язково у кожному випуску:**
   - блок **«Досягнення тижня»** в timeline — тільки реально знайдені завершені речі
     (коміти, мілстони, нові доки, закриті таски). Нічого не вигадувати; якщо тонко —
     короткий список і чесна фраза про це;
   - **звірка з прогнозами попереднього випуску** в `06-critique`: якщо v(N-1) залишив
     фальсифіковані тести з датами — сказати прямо, що з них вийшло, включно з тим,
     де тест був поставлений хибно;
   - **нові фальсифіковані тести з датами** для наступного випуску.
7. **Ротація теми.** Кожен випуск має власну тему з `palette-themes` — не повторювати
   тему попереднього. Тему застосовувати до `assets/atlas.css` копії випуску (замінити
   `--teal`/`--bg`/`--line`) і позначати тегом у блоці досягнень.
   Використано: v2 — `malachite/dark`; v3 — `octarine-3/dark`.
   Далі не використані: `octarine-1`, `octarine-2`, `vampire-werewolf`, `blue`,
   `pink-violet`, `red`, `green`.
8. **Публікація.** Писати напряму в `/root/cdn/web/atlas/atlas_vN/` через `mandrock-ssh`
   (nginx alias-ить `/atlas/` на `/root/cdn/web/atlas/`, а НЕ на `/var/www/html`).
   Симлінк `chronology -> ../chronology`. Потім оновити кореневий
   `/root/cdn/web/atlas/index.html`: новий випуск стає `rel cur` з бейджем «останній»,
   попередній — `badge old` «архів». Наприкінці `chown -R www-data:www-data`.
9. **Звіт** — коротко: лінк на новий випуск, скільки нових записів у леджері,
   що потрапило в досягнення тижня, яка тема. Не дампити рендер у чат.

## Чесність покриття

Якщо вікно тонке — сказати це в звіті й у самому випуску, а не набивати слабкими
записами. Розріджений але точний атлас кращий за щільний з натяжками. Малі вибірки
(два-три розмічені дні, один транскрипт) називати сигналом, а не статистикою — прямо
в тексті, поруч із висновком.

## Скоупінг

- «atlas of X only» — звузити discovery і фільтр рендера до теми, писати в підшлях
  (`/atlas/atlas_vN/bitwig/`), не чіпаючи основний випуск.
- Голе «/me» без дати й публікації — це скіл `me`, не сюди.
