- CLAUDE.md lean entry-point + index - BOT_WORKFLOW.md dispatch rules + no-make-work + recommendations cadence - SITES.md 14 ports inventory - SYNC_WORKFLOW.md 2 sync paradigms - MODULES.md module map + DEL_/test/obfuscated flags - REFACTOR_RULES.md REFACTOR vs CLEANUP vs BUG vs FEATURE - RECOMMENDATIONS.md initial backlog from gocc1+2+3+4 audits 2026-04-30 - docs/roles/ 4 bot roles
5.2 KiB
tubev — Modules Map
Модулі = views/modules/*.etlua partials що включаються через <%= include … %> у layout/page templates.
Канонічні модулі (присутні скрізь або майже)
| Module | Sites Present | Reuse signal | Notes |
|---|---|---|---|
video.etlua |
14/14 | ❌ всі md5 різні (67-77% common lines) | Top SSOT candidate — найвища similarity, зберігає однакову data-loop структуру |
related_video.etlua |
13/14 (no 8148) | ❌ всі md5 різні | structurally similar, candidates for shared partial |
recommended_video.etlua |
13/14 (no 8148) | ❌ | те саме |
relink_videos.etlua |
13/14 (no 8148) | ❌ | те саме |
cat_list_alpha.etlua |
13/14 (no 8129) | mixed | |
cat_list_thumb.etlua |
12/14 | ❌ всі md5 різні | + 5 варіантів з пробілами/"with ads" — потребує нормалізації |
lang.etlua |
12/14 (no 8081, 8129, 8148) | 9 unique md5, 2 ідентичні | i18n switcher |
pager.etlua |
10/14 | ✅ 3 unique md5, 7 ідентичні | Shared candidate — вже фактично shared |
removed_notify.etlua |
10/14 | ✅ 4 unique md5, 6 ідентичні | Shared candidate — вже фактично shared |
paginator.etlua |
10/14 | ❌ всі різні | + paginator_old.etlua, paginator_ajax.etlua варіанти |
donors.etlua |
12/14 | ❌ всі md5 різні |
Site-specific (тільки на 1 сайті)
| Module | Site | Why |
|---|---|---|
profile_index.etlua |
8081 | NL agego SPA-like, профілі користувачів — окрема архітектура |
profile_public.etlua |
8081 | те саме |
profile_upload.etlua |
8081 | те саме |
channel_list_thumb.etlua |
8081 | unique to 8081 |
_cat_list_thumb.etlua |
8081 | underscore-prefix variant |
related_top_channels.etlua |
8081 | |
ga/ga.etlua |
8081, 8112 | Google Analytics module |
DEL_* tombstones (24 файли × 6 сайтів)
Видалити при першій нагоді (XS task, ~15 хв). Префікс DEL_ явно signals tombstone, але файли досі живуть і шумлять у grep.
| Module | Sites |
|---|---|
DEL_channel_id.etlua |
8100, 8102, 8107, 8112, 8131, 8133 |
DEL_friend_list.etlua |
8100, 8102, 8107, 8112, 8131, 8133 |
DEL_lang.etlua |
8100, 8102, 8107, 8112, 8131, 8133 |
DEL_lang_mob.etlua |
8100, 8102, 8107, 8112, 8131, 8133 |
Деталі: RECOMMENDATIONS.md #2.
_test.etlua / .test.js (sandbox у prod tree)
Tests не повинні жити у prod. Перенести у /tests/ або видалити.
| File | Sites |
|---|---|
cat_list_thumb_test.etlua |
8084, 8085 |
cat_index_test.etlua |
8084, 8085 |
main_list_test.etlua |
8084, 8085 |
video_test.etlua |
8084, 8085 |
counters.min.test.js |
8133 |
Backup-via-rename артефакти (~30 файлів)
Видалити при першій нагоді (S task, ~1h). Файлові імена з пробілами ламають shell scripts. Версії повинні бути у git, не у filename.
| Pattern | Examples | Sites |
|---|---|---|
header copy bongo link 25_10_22.etlua |
(один з typo bogolink на 8112) |
8084, 8085, 8112, 8126, 8131 |
* copy_ads_actual.etlua |
id_index copy_ads_actual.etlua |
8084, 8085 |
* copy.etlua/.js |
my copy.js, machine copy.js |
8 sites |
* with ads.etlua / * without ads.etlua |
cat_list_thumb with ads.etlua |
8112 (10 файлів) |
* with titles.etlua |
8100 (5 файлів) | |
untitled file |
IDE saved-no-name | 8126 (×2) |
*_old/, *_bak* |
js_old/, img_old/, paginator_old.etlua, layout_bak_25-05-18.etlua |
8085 (dirs), 8086, 8100 |
asdadsasd.html, del___search_top.etlua |
obvious garbage | 8086 |
Obfuscated JS (10 файлів — потребує origin audit)
Random naming підозріло на adblock-bypass scripts. Не у sync.sh. Походження невідоме.
| File | Site |
|---|---|
9qFdXQ7.js |
8131 |
gD0A3.js |
8131 |
PxqbeCb.js |
8131 |
gk5LT.js |
8107 |
f4T4s.js |
8126 |
aOKM9.js |
8085 |
N7Ym4F.js |
8084 |
k3KL5.js |
8102 |
qDap9.js |
8112 |
c24c4cd9.js |
(неідентифіковано) |
popa.js, mo.js |
(неідентифіковано) |
Питання до розробника: ваші adblock-bypass payloads, legacy ad scripts, чи невідомий drop?
Banners модулі
views/modules/banners/ — окрема зона з ~30+ файлів native_adspy variants, embed_*adspy classes. Site-specific. Map поки не побудовано (P4 doc).
Refactor candidate: shared base partial
video.etlua — найкращий кандидат на extraction до shared partial з per-site CSS theme overrides. Деталі: RECOMMENDATIONS.md #4.
Source: gocc2 + gocc3 + gocc4 audits 2026-04-30.