21 слайд · ← → · зібрано зі звіту
existing-system audit
Два роки чудової інженерії без жодного запуску. Система вміє тихо заблокувати роботу цеху і не має способу про це повідомити, і саме тому власник двох діючих фабрик щоразу відступає.
PL1 · direction · proposed
Найдешевша політика в наборі, і водночас та, що б'є в найдорожчий дефект. Ламається все в одному місці: канал, який працює за дошку задач, не має стану.
PL2 · direction · proposed
У проєкті є 6 114 прикладів rspec і 95,71% покриття рядків. BE-розробник запускає їх регулярно , тож набір не лежить мертвим — він прикриває ті зміни, які проходять через його руки.
Стартап-грант до 100 тис. USD вимагає запущеної версії продукту, бажано з доходом. Тред прожив тиждень у грудні 2025 і згас після перенесеної зустрічі. За наступні сім місяців слово «грант» в експорті не зустрічається жодного разу.
У травні 2025 розробник спроєктував «резервну функцію, щоб адмін міг вручну внести дані про виконанні процеси». У червні 2026 вона отримала повний CRUD процесів зміни у вебі й сім e2e-специфікацій. Мобільна половина петлі — та, що несе обіцянку — з серпня 2025 на людях не перевірялась.
| Власник | предметна істина, пріоритети, гроші, доступ до двох фабрик | технічна стратегія — немає експертизи |
| BE-розробник | домен backend, інфраструктура Heroku | не бере на себе покращення машини та інженерне лідерство |
| FE-розробник | CI, ADR, PRD, harness, e2e, фактично і backend теж | немає глибокої BE-експертизи; 2026-07-30 питає, чи шукати роботу |
Резерв кількості без строку давності зупиняє наступну людину на операції. Спостережуваності нуль. Для фабрики час до виявлення дорівнює часу простою, а механізм виявлення сьогодні — це власник, який пише в Telegram.
| Rule | Written where? | Health | |
|---|---|---|---|
| S1 | Якість забезпечується локально й добровільно, а не рамками. Доказ : 6 114 прикладів, 95,71% покриття, і жодної джоби, що їх запускає. | ніде не записана | набір чудовий, не захищає нікого |
| S2 | Відомий провал тесту є нормальним станом. Доказ : сім падінь rspec відомі розробникам, задокументовані і терпимі досі. | тіньова — тримається машиною, не документом | працює як норма і руйнує сигнал |
| S3 | Дошка задач — це Telegram. Доказ : 5 735 повідомлень, жодного трекера; дата запуску, грант і виміряна скарга розчинились однаково. | ніде не записана | ні — у каналу немає стану |
| S4 | Архітектурну дисципліну задає фронтенд. Доказ : межі FSD як помилки CI, два ADR, harness на 426 рядків, запінені скіли. | ратифікована у frontend_v2/CLAUDE.md і рамках CI | так — найкраще працююча стратегія проєкту |
| S5 | Backend-контекст живе в приватній пам'яті агента розробника. Доказ : кореневого CLAUDE.md чи AGENTS.md немає; на весь репозиторій два harness-артефакти, обидва фронтендові. | ніде не записана | ні — знання не кумулятивне |
| S6 | Коли впровадження буксує — переписуємо. Доказ : v1→v2 з лютого 2026, хвиля 70/44/35 комітів на місяць, переробка моделі матеріалів у липні 2026. З вересня 2026 — переписування мобільного застосунку, тоді як запуску на фабриці так і не було . | ніде не записана, але приписова на практиці | продукує якість, не продукує запуск |
| S7 | Продуктову обіцянку ніхто не тримає. Доказ : петля провалилась у серпні 2025, не перевірялась відтоді, резервний шлях виріс поруч, а письмового сліду рішення про це немає . | за умовчанням — через відсутність рішення | ні |
Вхід у систему коштує дорожче за вихід із неї; збій тихий і небезпечний одночасно; скарзі власника нема куди потрапити; відомий дефект нічого не коштує ігнорувати; обіцянку не перевіряють і не знімають; за інженерну машину і послідовність робіт не відповідає ніхто. Жодна з шести не лікується переписуванням коду — усі шість лікуються рішеннями про те, куди йде сигнал і хто його читає.
| Risk | Flag | Likelihood | Would you notice? | |
|---|---|---|---|---|
| R1 | Конвеєр стає, і ніхто не дізнається | висока в перший же тиждень реальної роботи — обидва сценарії вже траплялись у 2025 | практично нульова: трекінгу помилок немає, логи Heroku живуть буфером на ~1 500 рядків без пошуку, єдиний надійний канал сигналу — власник пише в Telegram | |
| R2 | Єдиний носій знань і єдиний кандидат у лідери йде | знижена, але не знята: для FE-розробника проєкт — повна зайнятість, і питання 2026-07-30 про пошук роботи виникло саме через брак задач; з вересня 2026 він переписує мобільний застосунок. Завантаження дала нова переробка, а не домовленість, тож ризик повернеться разом із її завершенням | висока — про це вже сказано вголос; це рідкісний випадок гучного ризику | |
| R3 | Петля скану досі не працює, і це з'ясується вже після онбордингу | невідома і саме тому небезпечна: репозиторій мобільного застосунку аудиту недоступний | нульова до першого дня в цеху | |
| R4 | Гроші закінчаться раніше за запуск | середня: суми коливаються, є розрив у виплатах на п'ять місяців, є величина невиплаченого | середня — квитанції видно, але справжній рахунок ведеться в таблиці, недоступній аудиту | |
| R5 | Власник знову зупиняється на введенні даних | справдився: 2026-09-08 запуску на фабриці досі немає, власник зупинився на тому, як згрупувати обладнання; механізму завантаження так само немає | висока — це видно за днями мовчання в каналі | |
| R6 | Мобільний застосунок містить невідомі аудиту дефекти | невідома | низька |
| Debt | Kind | |
|---|---|---|
| D1 | rspec поза CI | організаційний і технічний |
| D3 | Нуль спостережуваності | технічний |
| D4 | Дві клієнтські поверхні на дві пари рук | стратегічний |
| D8 | Нуль рамок безпеки і гігієни залежностей | технічний |
| D5 | Backend-контекст існує лише в приватній пам'яті агента | знаннєвий |
| D6 | Telegram виконує роль дошки задач | організаційний |
| D7 | Резерв кількості без строку давності | технічний |
| Credit | Status | |
|---|---|---|
| C1 | Набір backend-тестів: 6 114 прикладів, 95,71% рядків, 82,12% гілок | працює, але прикриває лише половину змін |
| C2 | 303 e2e-тести у 110 файлах, з інфраструктурою фікстур | підтверджений — набір проходить повністю |
| C3 | Фікстури e2e як еталонний набір для агентного онбордингу | підтверджений — найцінніший актив під B3 |
| C4 | Система вже видає повну технологічну карту виробу | підтверджений — це вихід системи, а не вхід |
| C8 | e2e дає 79% покриття backend і 81% frontend | підтверджений |
| C5 | Документація: PRD, user stories, моделі даних, два ADR | підтверджений |
| C6 | Agent harness фронтенду | підтверджений |
| C7 | Власник як предметний оракул | підтверджений |
| Win | Feeds | Day | Status | |
|---|---|---|---|---|
| E2 | Джоба rspec у наявному воркфлоу + карантин семи відомих падінь із issue. Виконує PL2. | verification: тести в конвеєрі | 0.5 | — |
| E3 | Записувати покриття обома наборами, а не лише rspec: SimpleCov у групі :test дає 95,71% від юніт-тестів і 79,05% від e2e (той самий SimpleCov у процесі Puma), vite-plugin-istanbul плюс nyc дають 80,72% фронтенду. Артефакт у CI і Codecov роблять C1 і C8 видимими команді вперше: сьогодні жодної з цих цифр не бачив ніхто. | verification: планка покриття | 0.5 | — |
| E4 | Sentry у backend і в обох фронтендах; сорсмапи вже вивантажуються, приймача бракує. Одразу з інтеграцією Sentry → GitHub Issues, бо саме вона робить PL1 повним: машинний сигнал потрапляє в той самий трекер, що й людський. Закриває половину D3. | observability: трекінг помилок | 0.5 | — |
| E5 | Підключити log drain на Heroku. Зараз логи живуть у Logplex: буфер на ~1 500 рядків і щонайбільше тиждень, без пошуку . Drain пересилає кожен рядок у зовнішній сервіс, де він зберігається і шукається, тож розбір збою в цеху перестає означати «відтворіть його ще раз». | observability: структуровані логи | 0.2 | — |
| E6 | Окрема база для rspec у тестовому стеку — прибирає deadlock, через який набір не стартує штатно. | verification: швидкий зворотний зв'язок | 0.2 | — |
| E7 | Верхнє поле на етикетці QR — названа розробником причина поганого сканування в серпні 2025. | release safety: якість друку | 0.1 | — |
| E8 | Кореневий AGENTS.md для backend за зразком frontend_v2/CLAUDE.md: правила, команди, пастки, карта доменів. Закриває D5. | agent harness: маршрутизація контексту | 1.0 | — |
| E10 | brakeman і bundler-audit як геми плюс дві джоби в наявному воркфлоу. Закриває половину D8. | static gates: сканери безпеки | 0.3 | — |
| E11 | .github/dependabot.yml на два екосистеми (bundler і npm). Друга половина D8. | dependency hygiene: автоматичні оновлення | 0.2 | — |
| E9 | Скрипт дампу і відновлення продакшн-бази з перевіркою — передумова будь-якого пілоту на реальних даних. | release safety: перевірені бекапи | 0.5 | — |
| Bet | Verdict | Addresses | Cost | |
|---|---|---|---|---|
| B1 | Зробити збій помітним і безпечним: трекінг помилок, таймаут на резерв незавершеного процесу, ідемпотентність створення процесу, алерт на заблоковану операцію. R1 · RC6 · D3 · D7 | Робити | ≈1 тиждень | |
| B2 | Один виріб, один цех, паралельно з чинним обліком: завантажити виріб із того джерела, яке власник має насправді (Q6), руками або агентом. Критерій готовності вже існує: система має видати техкарту, що збігається з паперовою C4. Далі пройти повний цикл до закритої зміни й нарахованої зарплати, звіряючи з чинним обліком щодня. RC4 · RC5 · R3 · R5 | Робити | ≈6 тижнів, з них 2 у цеху | |
| B4 | Призначити відповідального за інженерну машину: одна людина відповідає за CI, деплой, спостережуваність і послідовність робіт — із доступами, які це дозволяють. Кандидат один. RC2 · R2 · D5 | Робити | одна розмова + доступи | |
| B3 | Агентний онбординг як повторюваний механізм: скіл, що читає вихідні дані власника — у тому форматі, який з'ясує Q6, — і наповнює фабрику через API, ідемпотентно і з сухим прогоном. Навчається на фікстурах e2e як на еталонному наборі C3 і звіряється проти них. RC5 · C3 | Чекати на B2 | ≈2 тижні після | |
| B5 | Мобільний застосунок: або провести аудит тією ж дисципліною, або офіційно визнати веб-режим основним і зняти обіцянку. R6 · RC4 | Вирішити | ≈3 дні на аудит | |
| B7 | Разова консультація QA по наявному набору e2e: чи правильна методологія, яких критичних шляхів бракує. Не наймання — саме зовнішній погляд на те, що вже написано. C2 · R3 · RC4 | Купити разово | кілька годин консультації | |
| B6 | Міграція v1→v2 доведена до кінця без цього звіту: збірку v1 прибрали з ланцюга 2026-07-10, сам каталог внесли до .slugignore 2026-07-22. | Зроблено | D4 | — |
«Швейка 8» заявляє понад 550 українських підприємств, має штрихкодування техоперацій у готовому рішенні і продуктизований платний онбординг «Примірка» (2 місяці, 11 000 грн, зараховується в покупку). Мобільна петля в цеху — не відмінність SaaS ERP, а очікуваний елемент, який у конкурента відвантажений, а тут непідтверджений.
Перелік забороненого ПЗ від 9 січня 2026 стосується держсектора і критичної інфраструктури; законопроєкт №13505 зі штрафами не ухвалено. Водночас BAF проєктувався як наближення до 1С, тож переїзд 1С → BAS дешевший за переїзд 1С → SaaS ERP, і хвиля міграції тече переважно туди.
| 2026-09-13 | PL2: чи рамки увімкнені й чи хоч раз зупинили злиття | технічний відповідальний (B4) |
| 2026-09-13 | Швидкі перемоги E2–E11: що відвантажено, що перевищило свій день і що саме чинило опір | технічний відповідальний |
| 2026-10-13 | PL3 і PL5: чи стартував пілот, чи зведено щоденну розбіжність | власник бізнесу |
| 2026-10-13 | PL4: у якій колонці фактично була робота | власник бізнесу |
| 2026-11-13 | PL1: скільки скарг стало issue і скільки з них закрито | технічний відповідальний |
| 2026-11-13 | C1 і C2: чи перейшли з проєктних у підтверджені | технічний відповідальний |
| 2027-02-13 | PL6: переписування мобільного застосунку почалося у вересні 2026 — чи записані його причина, критерій виходу і дата | технічний відповідальний |
Перед висновками
Скільки з почутого справді знайдено в джерелах.