Skip to content

f2833c2c deleted 22 .idr files under a 'feat: add' message — 4 still untracked #210

Description

@hyperpolymath

Commit f2833c2c, titled "feat: add ECHIDNA validation modules" and authored by Test,
deleted 149 files, 22 of them .idr, while its message claims only to add modules.

Five were later restored to the working tree but never re-added to git. Verified against
pristine origin/main today:

File In worktree In origin/main
src/Proven/SafeRegex/Parser.idr yes NO — re-tracked by PR #206
src/Proven/SafeRegex/Matcher.idr yes NO
src/Proven/SafeSQL/Builder.idr yes NO
src/Proven/SafeXML/Parser.idr yes NO
src/Proven/SafeYAML/Parser.idr yes NO

Four remain untracked. They are imported by modules that are tracked, so a clean checkout cannot
build — and the module-not-found error is masked by an earlier parse failure, which is why this
was not noticed: the build dies before it gets far enough to complain about the missing file.

Proposed detector — this class is mechanically checkable

For every module named in an .ipkg, and every module transitively imported by one, assert the
source file is present in HEAD.

Cheap, exact, and it would have caught this at the commit that caused it. Nothing in the current
31 workflows checks it. A commit whose message says "add" while its diff deletes 149 files is
also a reviewable signal in its own right.

Context: docs/IDRIS2-BUILD-WORK-PACKAGE.adoc §2.1.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew capability or improvement to existing behaviour

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions