Перейти до вмісту
Reldava Tech
Усі проєкти

PulseRepo

Що репозиторій каже про процес, який його породив.

Роль
Єдиний інженер: рушій аналізу, AI-шари, SaaS, деплой
Період
2025 - 2026
Статус
Живе обкатування
Працює на
pulse-repo.com

Власник замовив софт агенції або групі фрилансерів. Немає тікет-системи, немає pull-request флоу, немає критеріїв приймання - є git-репозиторій і демо, яке виглядає як прогрес. PulseRepo читає репозиторій і каже, куди дивитися і що питати.

Початок звіту по репозиторію: проаналізоване вікно і кількість комітів, підсумок звичайною мовою і ті самі сигнали, переписані для власника і для інвестора.
Один аналіз, прочитаний на двох рівнях: засновника питають, хто відвантажує, якщо однієї людини немає, а рада бачить ту саму річ як ризик концентрації.
Лента питань: кожен пункт - питання з позначкою flag або watch, а рядок під ним називає файли, кількість комітів і вікно аналізу.
Шістнадцять детекторів дають питання, а не вироки, і кожне несе прямо під собою докази, з яких воно зроблене.
Секція demo-risk: детермінований скан із залишками дебагу і співвідношенням тестових файлів до кодових, а під ним прочитання того самого скану моделлю.
Детермінований скан констатує знайдене; AI-шар лише перетворює це на питання і прямо каже, які перевірки виявилися чистими.

Питання, а не вироки

Вихід рушія - це питання з прикріпленим доказом: цей ендпоінт переписували дванадцять разів, ось коміти, варто спитати чому. Ніколи не судження про людину.

Ця рамка - інженерне рішення не менше, ніж етичне. Атомарна одиниця виходу стає питанням, а не звинуваченням, що знижує планку точності на порядок і прибирає цілий клас юридичних ризиків. Ціна хибного спрацювання - двохвилинна розмова.

Чесні межі проговорені в самому продукті: репозиторій показує форму процесу, а не його причини; зусилля це не обсяг, і найцінніша зміна часто найменша; атрибуція крихка, і інструмент про це каже, замість вдавати, що його дані чисті.

Детерміноване ядро

Перший шар - це факти git і нічого більше: без мережі, без моделі, без коду, який залишає машину. Профілі учасників, володіння по областях з blame на HEAD, гарячі точки переробок, churn-фактор, стрічка аномалій bus-фактора, поверхня функціональності і гігієна самих повідомлень комітів.

Класифікація файлів адаптується під стек - Laravel, Python, JS/TS, Go, Java, C#, Rust, C++, Kotlin - визначений автоматично, з підтримкою монорепо і нефреймворкових розкладок, а не з припущенням, що їх не буває.

Що воно знайшло на реальному репозиторії

Перевірено на моноліті Laravel: одинадцять місяців, троє розробників, 1907 комітів, з цілою історією мержів, тому churn видно чесно.

Розробниця з найбільшою кількістю комітів володіла трьома відсотками бекенда; рушій побудувала інша людина, з меншою кількістю комітів, але з 71-81 відсотком продакшн-коду. Це не рейтинг людей - це форма ролі, і наївний підрахунок комітів перевертає її повністю.

Партіал на 24 рядки переписували 24 рази. Один контролер зібрав 87 комітів. Власник чотирьох п'ятих продакшн-коду востаннє комітив за два з половиною місяці до кінця вікна - це питання про передачу знань з конкретною датою. Ризик демо повернувся чистим - без залишків дебага, пропущених тестів і зашитих секретів, - бо інструмент, який ніколи не може сказати "тут усе гаразд", нічого не міряє.

Семантика, потім AI, потім стрічка

Другий шар переносить аналіз з файлів на функції через tree-sitter, тому ріст і churn приписуються тому, що насправді змінилося.

Третій шар додає моделі там, де вони себе виправдовують: відновлення робочих елементів з історії, коли тікет-системи немає, класифікація наміру коміта, формулювання підсумку. Розділений між дешевою і дорогою моделлю з кешем на кожен коміт, і він необов'язковий - детерміноване ядро дає близько вісімдесяти відсотків цінності без нього.

Четвертий шар ранжує все у стрічку питань, з шістнадцятьма детекторами і підтягуванням pull-request з GitHub і GitLab. Є ще й вільні питання по збережених фактах: планувальник обирає інструменти, синтезатор пише відповідь, і "що буде, якщо піде головний розробник" можна просто спитати.

Локально за замовчуванням

Перший і другий шари працюють цілком на машині, де лежить репозиторій. Мережу чіпає лише необов'язковий AI-шар, а хостована версія існує для тих, хто не хоче нічого встановлювати, - не тому, що аналізу потрібен сервер.

Хостована частина несе акаунти, чотирьох OAuth-провайдерів, асинхронні джоби аналізу, історію і тренди по репозиторіях, ліміти тарифів і адмін-консоль на власному піддомені.

Стек

  • Python
  • Typer
  • tree-sitter
  • FastAPI
  • PostgreSQL
  • React
  • Docker
  • Anthropic
  • GitHub API
  • GitLab API
  • pytest
  • Vitest

Розкажіть, що ви будуєте

Для початку достатньо опису задачі. Якщо це моє - скажу, що б я побудував, скільки це приблизно займе і чого робити не став би.

Обговорити задачу