docs(etl): target architecture and phased plan (RFC) - #174
Conversation
Преглед на документацията — ETL целева архитектура (RFC)Прегледът е направен с екип от 4 специализирани агента (двама data-engineer, един за SERVED зоната, един архитектурен), всеки от които стъпва на реалния код ( Какво е PR-ът: само документация ( Обща оценка: APPROVE-WITH-COMMENTS. Като RFC за обсъждане документът е точен, последователен и в правилната посока. Като спецификация за имплементация има два проблема с висок приоритет, които трябва да се решат, преди да започне работа по #163/#158 — като и двата са места, където текстът противоречи на вече съществуващия код. Преглед на данните — трите зониRFC-ът коректно поставя истинския проблем: деплойнатият 🟫 RAW зона — ingest буфер (нова D1)Плюсове: коректно изолира преходния мрежов retry от детерминистичния derive; дневната партиция по източник ( Минуси / отворени въпроси:
🟨 STAGING / integrity gateПлюсове: глобалната композитна проверка (не slice-local) е правилното прозрение — slice-local проверка структурно не може да види остарелия rollup от старата страна на пре-атрибутиран entity. Минуси — класификацията на инвариантите във Фаза 0 има конкретни грешки:
🟩 SERVED / mart зона — публикуваният read слойПлюсове: gate-before-publish е реално подобрение спрямо днешния post-publish „ship-and-alert"; „reject пази served на последните валидни данни" е издържано, защото derive-ът е scoped/идемпотентен. Минуси — централното противоречие на целия RFC:
Между зоните
Scope хигиена: обединяването на prettier fix-а е приемливо — PR описанието обяснява, че тези два файла чупеха CI за целия repo след като ЗаключениеRFC-ът е мержим като RFC (което е целта му). Ядрото на архитектурата е коректно и вярно стъпило на кода. Двете находки за дискусията по #163/#158 преди да се пише код:
Плюс поправка само по документацията, която си струва да се направи сега: коригирайте таблицата с инварианти във Фаза 0 (Inv 3 → structural; разделете Inv 2; отбележете, че Inv 4 в момента не може да задейства карантина). Преглед, изготвен от екип специализирани агенти; находките са проверени спрямо текущия код в |
…X order, edge cache
|
Благодаря за изчерпателния преглед, Stefan — всичко се потвърди спрямо кода. Обнових
За дискусия при имплементацията остават точният примитив за промоция и дефиницията на RAW уникалния ключ. |
|
Този ПР може да се мърджне as-is - както се разбрахме да се сложи нисък приоритет и да се имплементира спрямо зададен роудмеп, когато се стигне до тази част. |
|
#157, #174 и #178 правят идентичния prettier reflow на |
Добавя
docs/etl-architecture.md— RFC за целевата ETL архитектура и реда на изпълнение.Обобщава дискусията observe-vs-gate (#139 / #154) и включва коментарите за raw зона, идемпотентност и retry стратегия. Описва:
Само документация — без промяна по код. Документ за обсъждане преди имплементацията.
Свързано: #103 (архитектурна диаграма / data-flow),
docs/etl-pipeline-state.md.Текущо състояние
Lint/typecheck/test), merge state CLEAN — готов за merge.75418b2 style(web): apply prettier formatting to risk indicators. Това форматираapps/web/app/components/RiskIndicators.tsxиapps/web/app/lib/riskLogic.test.ts— двата файла, които2d93cd5("clear repo-wide prettier debt and make CI lint blocking") остави неформатирани. Тъй катоpnpm lintвече е блокиращ и тече за целия repo, тези два файла чупеха CI на всеки отворен PR.