⚪️ Swarm-Forge, большой обзор (часть 3)
(вторая часть ранее ...)
2️⃣ coder
Владеет: реализацией approved behavior slices, то есть куски функционала умеет делать.
Что делает:
- берет принятую спецификацию;
- ставит normal acceptance pipeline из Acceptance-Pipeline-Specification;
- использует gherkin-parser;
- строит project-specific acceptance entrypoint generator, runtime, step handlers;
- пишет unit tests через TDD;
- пишет production code только под тесты;
- гоняет unit + acceptance tests.
Не делает:
- не занимается CRAP/DRY/mutation;
- не делает Gherkin mutation;
- не поддерживает QA suite от specifier.
Передает дальше: coder -> cleaner
Условие: acceptance и unit tests проходят, изменения закоммичены.
3️⃣ cleaner
Владеет: локальной чисткой без изменения поведения.
Что делает:
- улучшает имена, cohesion, локальную связность;
- убирает duplication;
- чистит тесты, fixtures, helpers;
- делает error paths явными;
- выносит поведение из environment-heavy модулей в testable modules, если это можно сделать без смены поведения;
- запускает coverage;
- ставит и запускает CRAP/DRY tools;
- использует mutation tool только в scan/count mode, не полноценные mutation tests;
- если файл имеет больше 100 mutation sites, разумно split-ит его до handoff.
Не делает:
- не вводит новое поведение;
- не запускает mutation tests;
- не запускает Gherkin mutation;
- не занимается end-to-end QA suite.
Передает дальше: cleaner -> architect
Условие: refactor small enough, acceptance + unit tests проходят, изменения закоммичены.
4️⃣ architect
Владеет: архитектурой, границами модулей, dependency direction, property-test support.
Что делает:
- проверяет UI/core separation;
- следит, чтобы high-level policy не зависела от IO/UI/framework/db/network;
- исправляет dependency direction violations;
- убирает framework leakage, low-level DTO leakage, accidental public APIs;
- вводит narrow interfaces, owned by high-level modules;
- может добавить lightweight architecture checks;
- оценивает property-test coverage и добавляет property tests там, где полезны инварианты, round trips, ordering, parsing/formatting stability и
т.п.
Не делает:
- не занимается QA suite от specifier.
Передает дальше: architect -> hardender
Условие: если handoff содержит реальные изменения. Если изменений нет, не надо гонять дальше пустую работу. Перед handoff запускает relevant local test suite / verification.
(продолжение далее...)
@deksden_notes
Post #882
1.17K
- 👍 5
- ❤ 2
- 🔥 2