feat(lang-python): fix-hooks (runAgentFix, pytest-канон) + рішення classify-пілота - #197
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
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.
Що змінено
plugins/lang-python/coverage-provider/fix-hooks.mjs):generateTests/fixSurvivedчерезrunAgentFix— агент пише pytest-тести для файлів нижче порогу і проти survived-мутантів mutmut, під ladder-контрактом (recordWrite/timeoutMs/tier), lazy-import (detect/collect не вантажать LLM-стек). Симетрія з rust-хуками. 23 тести зелені.?? 1vs&& 1коректно лишена worth-testing). Рішення: дефолтclassifyConfidenceThresholdлишається opt-in (1.1); пілот 0.7 тільки в цьому репо; увімкнення споживачам — per-repo під час міграційної хвилі після ширшої вибірки.Рев'юеру
Делта-гейт EXIT 0, cspell 0, доки з CRC. Після цього PR у absorb-беклозі лишається лише операційна міграція споживачів + deprecate + архів 7n-test.
🤖 Generated with Claude Code