docs: reconcile COMMANDS/FEEDS with the tree; document the test suite - #293
Merged
Conversation
…tion row; document tests in CONTRIBUTING
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.
What this PR brings
Reconciles
docs/COMMANDS.mdanddocs/FEEDS.mdagainst what is actually in the tree, and documents how to run the test suite.Eight modules exist but are undocumented, so nobody browsing the docs knows they are there. One documented command does not exist.
Commands added to
docs/COMMANDS.md(5)commands/kaspersky/commands/pulsedive/commands/validin/commands/watch/commands/welcome/The Kaspersky row notes that it is intentionally not bound to
@iocby default — enabling Kaspersky in a SOC tool is a compliance call the operator should make explicitly, not something that should happen implicitly via an IOC alias.Feed sources added to
docs/FEEDS.md(3)modules/phishingcatcher/modules/ransomleak/modules/variot/Removed: phantom
GeoLocationrowdocs/COMMANDS.mdlisted GeoLocation ("Convert latitude/longitude values into an address"). There is nocommands/geolocation/in the tree. The real module is GeoLookup (commands/geolookup/), which is listed immediately below it and does the same job via OpenStreetMap Nominatim. The GeoLocation row looks like a leftover from before that rename — it sends readers looking for a command that cannot be invoked.CONTRIBUTING.mdAdds the two commands a contributor should run before opening a PR:
Both are stdlib-only — no third-party dependencies — and both already run in CI on every PR. They were simply never written down, so a first-time contributor has no way to know the suite exists.
Verification
Every row was checked against the tree on
mainbefore being added:commands/geolocation/does not exist;commands/geolookup/doespython3 -m unittest discover -s tests→ 123 tests, OKpython3 feed_audit.py --check→ all feed modules satisfy the load contract, exit 0Docs-only change: no code paths touched.
Note on provenance
This commit was authored 2026-07-07, alongside #257, and was meant to go out with it. It sat unpushed on a local branch until now, and briefly landed on the already-merged
feat/feed-module-contract-testbranch by mistake before being moved here. Content is unchanged from the original commit; only the branch is new.