fix(refactor): exclude Storybook-only evidence from production liveness - #1085
Open
azizur100389 wants to merge 1 commit into
Open
azizur100389 wants to merge 1 commit into
azizur100389 wants to merge 1 commit into
Conversation
code-review-graph reviewOverall risk: 0.55 (MEDIUM) — 6 changed function(s)/class(es), 47 affected flow(s), 0 test gap(s) Risk-scored changes
Affected execution flows
Powered by code-review-graph — local-first analysis; no code leaves the CI runner. |
azizur100389
marked this pull request as ready for review
October 1, 2026 17:59
This branch has not been deployed
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.
Linked issue
Closes #902.
What & why
A component used only by its Storybook story currently appears live. Classify CSF story filenames through the shared parser file classifier and exclude story-only calls, imports, references, TESTED_BY evidence and class-member calls from dead-code liveness. Path checks cover previously built graphs too. Preserve genuine production callers, including the bare-call fallback, and ordinary test evidence.
How it was tested
Applied the same regression/affected-module/full-baseline methodology used in my previous PRs (#274, #276, #279, #353 and #354), against unchanged staging
6b12d11625cbec3b6773e076cb3d136464fa90e5.GitHub CI: 17 applicable checks passed on the final commit, including Python 3.10–3.13, browser tests, native Windows tests, and the three MCP-client platforms. Python 3.13: 4,279 passed, 804 skipped, 46 deselected, 2 xfailed, 2 xpassed; 85.87% coverage (65% required). The manual upgrade job is skipped by design.
Full local Windows suite: 4,153 passed, 111 failed, 819 skipped, 46 deselected, 2 xfailed, 2 xpassed; 86% coverage. Unchanged staging full baseline: 4,143 passed, 110 failed. The extra daemon-status assertion rejects the word
deadanywhere in its printed output, including the temporary directory namecrg-fix-storybook-dead-code-retry. The reported watcher is alive. The same test fails on unchanged staging under a path containingdead; it passes 3/3 neutral-path reruns on this branch and 3/3 neutral-path reruns on unchanged staging. This is a path-sensitive existing test assertion, not changed daemon behavior. An earlier parallel local attempt ended without a final report in the watch tests. This complete rerun used per-test diagnostics and short temporary paths; the earlier partial log is retained. PATH/PYTHONPATH select the isolated checkout, and Git ceilings keep fixture repositories away from the enclosing home Git repository. Browser tests passed in CI; browser and opt-in upgrade tests were excluded locally.All ten issue fixes were additionally tested together: 283 regression checks passed, and the combined affected suite had 1,142 passed / 25 unchanged-staging Windows failures, with no new failure identities. The tested combination is preserved in this integration branch.
Merge coordination: this PR and #1082 both change
find_dead_code. If #1082 lands first, retain its single streaming edge scan and exclude Storybook rows before adding them to the evidence maps. The integration branch contains the tested resolution (the shared regex import plusif _STORYBOOK_FILE_RE.search(file_path): continuein that scan). Both the Storybook and constant-query-count regressions pass together.