docs: close M53 — the last two entries are wrong, not unresolved - #137
Merged
Conversation
No code change. Both remaining dead-code claims were checked against source and neither holds. ASE/thermo's `model_name` parameter is read: Calculator stores it and passes it to to_model_species at thermo.py:536. It was genuinely unused when the audit was written; the C3/C4 species-conversion work made it live. exceptions.py's "4 classes never raised" is wrong, and the shape of the claim is why. Only ModelError is never raised directly, and that is deliberate: ModelLoadError and NumericalError subclass it, and cli/errors.py maps ModelError to exit code 5 precisely so both subclasses inherit that code. Deleting it would break the exit-code scheme this release documents. "Never raised" is not "unused" for a base class, and an audit that greps for `raise X` cannot tell the two apart. Final tally for M53: of 13 entries, 4 were real. Three had already been done, six were wrong on re-check, and the four real ones were removed in #135 and #136. Nothing further to delete. The lesson worth keeping is that a dead-code finding decays faster than any other kind. The same work that fixes defects revives symbols the audit recorded as dead -- mol2atoms, STANDARD_PRESSURE, FailedMolecule, print_failures and now model_name were all dead when written up and are all live now. A mechanical sweep of this list would have deleted five live symbols, two of which vib_hessian depends on. Both corrections are also written inline in the audit manifest, so neither can be re-derived from its finding ID.
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.
No code change. The two M53 entries left open by #135 and #136 were checked against source, and neither claim holds.
ASE/thermo'smodel_nameparameter — wrongM53: "accepted, never read, yet
calc_thermo:459passes it explicitly."Calculatorstores it and passes it toto_model_speciesatthermo.py:536. It was genuinely unused when the audit was written; the C3/C4 species-conversion work made it live.exceptions.py's "4 classes never raised" — wrong, and instructively soOnly
ModelErroris never raised directly, and that is deliberate:It exists as a base so both subclasses inherit exit code 5. Deleting it would break the exit-code scheme this release documents.
"Never raised" is not "unused" for a base class, and an audit that greps for
raise Xcannot tell the two apart. That is a false-positive shape worth remembering, not just a wrong entry.Final tally for M53
Of 13 entries, 4 were real. Nothing further to delete.
The lesson, recorded because it generalizes
A dead-code finding decays faster than any other kind. The same work that fixes defects revives symbols the audit recorded as dead —
mol2atoms,STANDARD_PRESSURE,FailedMolecule,print_failures, and nowmodel_namewere all genuinely dead when written up and are all live now.A mechanical sweep of this list would have deleted five live symbols, two of which
vib_hessiandepends on. That is the concrete argument for the re-verify-before-acting rule now written into the plan.Both corrections are also written inline in the audit manifest, so neither can be re-derived from its finding ID by a future reader.