fix(coverage): фолбек моделі fix-сесій + live e2e обкатка fix-шляху (17→7 survived) - #198
Merged
Merged
Conversation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…депів Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…, lang-js провайдер (порт js-collector @7n/test), делта per-file гейт, ownership правила test у core Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… тести провайдера/класифікатора, перейменування coverage-provider проти колізії з артефактами vitest Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ast oxc-адаптер, provider shape, пороги/гейт core) — гейт провайдерної теки чистий Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ixin lang-js), канон-mdc секцією в test/main.mdc, правило storybook видалено Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…en-stories/fix-tests/coverage-fix через runAgentFix) + fix-worker концерну під ladder-контрактом; портовані тести; оновлені контракт-тест і mdc-дзеркала Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ль по дельті, рефактори складності js-collector, файлові доки з CRC, cspell-словник Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…test-discovery exclude прихованих тек і фільтр failing-тестів вкладених worktree Локальне дерево 7n-test оновилось до 0.17.3 під час переносу; звірка з origin/main показала один пропущений фікс coverage-per-file. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…rules-3bedc5 # Conflicts: # .cspell.json # eslint.config.js # npm/rules/test/main.mdc # npm/schemas/n-rules.json # plugins/lang-js/rules/storybook/main.json # plugins/lang-js/rules/test/storybook-adopt/docs/main.md # plugins/lang-js/rules/test/storybook-adopt/main.mjs # plugins/lang-js/rules/test/storybook-adopt/tests/adopt.test.mjs # plugins/lang-js/rules/test/storybook-hygiene/docs/main.md # plugins/lang-js/rules/test/storybook-scaffold/docs/main.md # plugins/lang-js/rules/test/storybook-scaffold/main.mjs # plugins/lang-js/rules/test/storybook-scaffold/template/app-main.js # plugins/lang-js/rules/test/storybook-scaffold/template/app-preview.js # plugins/lang-js/rules/test/storybook-scaffold/template/docs/app-main.md # plugins/lang-js/rules/test/storybook-scaffold/template/docs/app-preview.md # plugins/lang-js/rules/test/storybook-scaffold/template/docs/vitest.setup.md # plugins/lang-js/rules/test/storybook-scaffold/template/vitest.setup.js # plugins/lang-js/rules/test/storybook-scaffold/tests/scaffold.test.mjs # plugins/lang-js/rules/test/storybook-scope/docs/main.md # plugins/lang-js/rules/test/storybook-vitest-config/docs/fix-storybook-vitest-config.md # plugins/lang-js/rules/test/storybook-vitest-config/docs/main.md # plugins/lang-js/rules/test/storybook-vitest-config/main.mjs # plugins/lang-js/rules/test/storybook-vitest-config/template/app-storybook-project-entry.js # plugins/lang-js/rules/test/storybook-vitest-config/template/docs/app-storybook-project-entry.md # plugins/lang-js/rules/test/storybook-vitest-config/template/docs/vitest.config.app.baseline.md # plugins/lang-js/rules/test/storybook-vitest-config/template/vitest.config.app.baseline.mjs
…флікти розрулені на нові шляхи storybook-* концернів - новий концерн page-coverage → storybook-page-coverage, app-шаблони/тести хвилі 2a за новими шляхами - схема .n-rules.json: обидва нові поля (coverage + storybook) - test/main.mdc: семантика 2a + rename-sweep; mdc-дзеркала регенеровано - oxfmt: шаблонні теки storybook-* виключені (двічі ламав YAML-токен CI-матриці) - doc_comments: єдине нове порушення понад rollout-стан main (defaultRunner export-doc) виправлено Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…/js/repo-wide) - js/doc_comments: 0 порушень repo-wide (T0-промоція //-блоків + 81 файл поведінкових JSDoc-хедерів і export-доків; T0-вада з */ у тексті глоба виправлена вручну в eslint.config.js) - lint-repo: .jscpd.json/knip.json — стейл-шляхи після виносу плагінів і переносу storybook-* оновлено; невикористані deps (ignore, @7n/test) прибрані - text: cspell repo-wide 0 - догфуд: scripts.coverage кореня → npx @7n/rules lint test --no-fix (канон test.mdc), @7n/test повністю випиляний з репо - шаблонні теки storybook-* виключені з oxfmt (ламав YAML-токени) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…рані, peer llm-lib) + CRC-рестамп док Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… + cspell-чистка згенерованого (repo-wide 0) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…за портом CoverageProvider Full-вимір (line coverage + мутаційний score, survived у shape концерну) і делта per-file шлях; форми lcov/outcomes.json звірені на живих прогонах (cargo-mutants 27.0, llvm-cov 0.8.7); realpath-рібейзинг проти macOS /var-симлінка; відсутні тулзи — чесний skip з hint. Реєстрація contributes.handlers.coverage. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…rules-3bedc5 # Conflicts: # .cspell.json # npm/rules/test/coverage/lib/classify/prompt.mjs # npm/rules/test/coverage/lib/classify/verdict-schema.mjs # plugins/lang-rust/docs/vitest.config.md
…t/coverage/lib/lcov.mjs) — jscpd-дублікат lang-js/lang-rust усунено Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…елта-ігнор, hardening - lang-python: pytest-cov (lcov, спільний парсер core) + mutmut 4.x (results/show парсери, звірені на живих прогонах через uv) за портом CoverageProvider - lang-rust: опційні fix-hooks generateTests/fixSurvived через runAgentFix (ladder ctx, #[cfg(test)]-канон) - делта-гейт: comment-only зміни пропускаються (JS — AST-порівняння oxc, Rust — стрип коментарів); rollout doc-коментарів більше не тягне файли в гейт - спільні lib концерну: manifest-roots (rust/python корені), схема .n-rules.json + classifyConfidenceThreshold (v8r) - full-черга: wait-timeout ×4 під мутаційне тестування; classify-пілот (0.7) у цьому репо - T0 promote-line-comments екранує закриття коментаря у тексті; fingerprint-тест ізольовано від живого дерева Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…rules-3bedc5 # Conflicts: # plugins/lang-js/coverage-provider/docs/per-file.md # plugins/lang-js/coverage-provider/per-file.mjs # plugins/lang-rust/coverage-provider/docs/index.md # plugins/lang-rust/coverage-provider/docs/provider.md # plugins/lang-rust/coverage-provider/docs/roots.md # plugins/lang-rust/coverage-provider/provider.mjs # plugins/lang-rust/coverage-provider/roots.mjs # plugins/lang-rust/coverage-provider/tests/provider.test.mjs
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…pytest-канон) Симетрія з rust: агентні сесії пишуть pytest-тести для файлів нижче порогу покриття і проти survived-мутантів mutmut, під ladder-контрактом. Оцінка classify-пілота (40 survived-мутантів lang-python, cloud-fallback): вердикти точні (spawn-обгортки → wrapper/glue, -q → equivalent, семантична різниця ?? vs && коректно лишена worth-testing). Рішення: дефолт лишається opt-in (1.1), пілот 0.7 у цьому репо; увімкнення споживачам — per-repo під час міграції після ширшої вибірки. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…rules-3bedc5 # Conflicts: # plugins/lang-python/coverage-provider/docs/index.md # plugins/lang-python/coverage-provider/docs/mutmut.md # plugins/lang-python/coverage-provider/docs/provider.md # plugins/lang-python/coverage-provider/provider.mjs
…анти порожні без N_CLOUD_*_MODEL env) + live e2e обкатка fix-шляху E2E на survived-мутантах lang-python/mutmut.mjs: жива runAgentFix-сесія (CLOUD_AVG-фолбек) написала 5 гранично-кейсових тестів парсерів — 17→7 survived (вбито 10, score 93.1%). Знайдений і виправлений баг фолбека; агентна одруківка (кома) — клас поломок, який у справжньому ladder ловить canonical re-detect з rollback-ом рунга. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Що змінено
Жива обкатка LLM fix-шляху концерну coverage (відкритий пункт absorb-беклогу) + знайдений нею баг:
ctx.model ?? CLOUD_MAX— тир-константиmodel-tiersє порожніми рядками, колиN_CLOUD_*_MODELenv не задані, тож поза ladder-ом (який завжди передає model) fix-сесія падала «модель не знайдена: <порожньо>». Виправлено на||-ланцюг із запаснимCLOUD_AVGу всіх трьох fix-шляхах (js coverage-fix, rust/python fix-hooks).fixSurvivedна survived-мутантахlang-python/coverage-provider/mutmut.mjs): живаrunAgentFix-сесія написала 5 гранично-кейсових тестів парсерів — 17 → 7 survived (вбито 10, mutation score 93.1%). Агентна одруківка (пропущена кома) — клас поломок, який у реальному пайплайні ловить canonical re-detect із rollback-ом рунга; тут виправлена вручну і тести доопрацьовані.Рев'юеру
Делта-гейт EXIT 0, cspell 0, сьюти зелені (90 lang-python, 109 lang-rust). Це закриває пункт «живий e2e прогін fix-шляху» — у absorb-беклозі лишаються тільки міграція споживачів + архів і замір тривалості повного lint test на великому проєкті.
🤖 Generated with Claude Code