Repository navigation
feat(skills): add codebase-simplification-audit, a read-only whole-repo simplification audit - #784
Conversation
…po simplification audit Closes #777 The skill runs only when the user asks to audit the codebase or has decided to refactor part of it, and answers with the target representation rather than an opinion. Four phases. Inventory every subsystem as an explicit coverage contract — stable ID, exact non-overlapping ownership boundary, key files, interfaces, tests, status — where a catch-all row is itself a coverage defect. Review each subsystem inside its boundary for at most two materially useful simplifications, each returned with all eight fields (verdict, file:line evidence, current invalid states, proposed representation, smallest scope, risks, validation, confidence). Independently verify every finding against the code before accepting it, rejecting anything vague, duplicated, semantics-misreading, or merely relocating complexity behind a new type. Then audit the audit across coverage, ownership overlap, materiality, schema completeness and dependency-aware ranking, adding a real subsystem row for any omission instead of broadening a finished boundary. Parallel workers are used where the host provides them, sequential inline review otherwise — the execution mode changes the wall-clock cost, never the coverage contract. Audit-only throughout: no file edited, no test run, nothing committed or pushed.
|
Status: converged Summary: assignment conformance: conformant — issue #777 asked for a skill that fires only on an audit / refactor request and produces the cleanest achievable answer; all four phases of its brief landed verbatim in intent (coverage contract with per-subsystem ownership boundaries, bounded reviews capped at two findings carrying the eight-field schema, independent coordinator verification, and the five audit-the-audit passes), together with the six look-for patterns, the four explicit non-reasons for a recommendation, and the issue's own completion criteria as Verified during the review: every Two documented divergences from the issue text, both deliberate:
|
Closes #777
Summary
Nový skill
codebase-simplification-audit. Spouští se jen když uživatel požádá o audit codebase nebo se rozhodne refaktorovat nějakou její část — a odpovídá cílovou reprezentací, ne názorem. Je audit-only: neupraví soubor, nespustí test, nic nekomituje ani nepushne.Proč nový skill a ne rozšíření existujícího
Prošel jsem sousední skilly a žádný tenhle záběr nepokrývá; hranice je proto napsaná přímo ve skillu, aby se nález nehlásil dvakrát:
class-refactoringMODE=applymění kódautomation-audit-opsproduction-auditblueprintanalyze-problemČtyři fáze
1. Coverage contract. Inventura každého subsystému: stabilní ID, přesná nepřekrývající se hranice vlastnictví, klíčové soubory, veřejná rozhraní, call sites, testy, status (
queued/in review/recommend/skip). Souhrnný řádek typu „S9 — všechno ostatní" nedokazuje nic a je sám o sobě vadou pokrytí — musí se rozpadnout na skutečné hranice dřív, než začne první review.2. Ohraničené subsystémové review. Jeden worker = jeden subsystém, nejvýš dvě materiálně užitečné simplifikace. Hledá se šest vzorů: rozházené booleany a nullable pole připouštějící nevalidní kombinace → stavový automat / discriminated union; opakované předpoklady o tvaru objektu → sdílený typovaný model; duplikované větvení → mapa / registry / reducer / command; nejasné vlastnictví stavu → hranice modulu; opakované scany a lookupy → vhodnější kolekce nebo index; lifecycle / concurrency stavy připouštějící zastaralý nebo protiřečící si stav. Každé doporučení nese všech osm polí (verdict,
file:lineevidence, dnešní nevalidní stavy, navržená reprezentace, nejmenší scope, rizika, validace, confidence).skipje dokončené review, ne selhání.3. Validace a syntéza. Koordinátor sám ověří každý nález proti kódu — přečte citované řádky, nevěří workerovu shrnutí. Zamítá vágní, duplicitní, nálezy mísící úmyslnou sémantiku a hlavně ty, které komplexitu jen přesouvají za nový typ — což je nejčastější falešně pozitivní nález tohohle auditu.
4. Audit auditu. Pět nezávislých průchodů: pokrytí, překryv vlastnictví, materialita a over-abstraction, úplnost schématu, dependency-aware ranking. Když průchod pokrytí najde skutečné opomenutí, přidá se řádek subsystému a audituje se — nikdy se nezakryje rozšířením hranice, která už byla označená za hotovou.
Adaptace na tenhle repozitář
CLAUDE.mdauditovaného projektu podle kontraktu z #782. Projektové instrukce často deklarují úmyslnou sémantiku, která ze „simplifikace" dělá nedorozumění.Changes
feat(skills): add codebase-simplification-audit, a read-only whole-repo simplification audit055207bJeden commit: SKILL.md, jeho piny, README a CHANGELOG jsou jedna vertikální vrstva. Rozdělení po vrstvách by dalo commit se skillem, na který nic neukazuje.
Jak otestovat
composer build— zeleně: 391 testů, 2699 assertions, 100 % coverage.composer skill-check— nový skill na 100 % rozpočtu bez warningu (jediný warning v reportu je zděděnýresolve-issue, viz TODO v #782)./codebase-simplification-audit) na malém repu a zkontroluj, že výstup nese tabulku Coverage se statusem u každého řádku a že se v pracovním stromu nic nezměnilo (git statusčistý).Piny
Dva nové testy v
tests/Installer/SkillsContentTest.phpdrží read-only povahu, coverage contract, schéma o osmi polích, odmítnutí přesunuté komplexity, sekvenční fallback bez agentů a hranici vůči pěti sousedním skillům (u každého se navíc ověřuje, že cílový soubor existuje). Zafixováno jakosubstr_count(...)->toBe(1, $msg)— nese zprávu i unikátnost, podle poznatku zapsaného v #783. Pin ověřen mutate-and-revert (mutace vrácena inverznímsed, negit checkout --).