Skip to content

docs: document /radar and NHC tropical auto-posting - #632

Open
full-bars wants to merge 1 commit into
mainfrom
docs/tropical-radar-followup
Open

docs: document /radar and NHC tropical auto-posting#632
full-bars wants to merge 1 commit into
mainfrom
docs/tropical-radar-followup

Conversation

@full-bars

@full-bars full-bars commented Jul 28, 2026

Copy link
Copy Markdown
Owner

Documents the two v5.43.0 features that were missing from CONTRIBUTING.md and README.md, and corrects CONTRIBUTING.md's stale TROPICAL_CHANNEL_ID description (previously said it "defaults to a hardcoded production channel" — that fallback was removed in #619).

  • README: mention /radar and tropical auto-posting in the feature summary
  • CONTRIBUTING: add /radar to the slash command reference, add a "NHC Tropical Cyclone Products" auto-posting section, fix TROPICAL_CHANNEL_ID's description, add WEATHER_CHAT_CHANNEL_ID

Wiki updated separately (direct push, no PR review on .wiki.git): new Tropical-Cyclone-Auto-Posting page, /radar section on Radar-Downloader, Slash-Command-Reference and Configuration-Guide rows, Home nav links.

Test plan

  • ruff check / mypy / pytest via pre-push hook (570 passed)

Summary by CodeRabbit

  • New Features
    • Added the /radar command for generating live NEXRAD Level II radar loops with customizable display options.
    • Added automatic posting of NHC tropical cyclone advisories, discussions, and outlooks, including full text in threads.
    • Added configurable routing for tropical updates and /fronts posts.
  • Documentation
    • Expanded contributor and feature documentation with setup details for radar tools and tropical cyclone product automation.

@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Documentation updates cover channel routing configuration, the /radar command, NHC tropical cyclone product auto-posting behavior, and the corresponding project feature listing.

Changes

Weather feature documentation

Layer / File(s) Summary
Configuration and command reference
CONTRIBUTING.md
Documents the TROPICAL_CHANNEL_ID fallback chain, runtime override, WEATHER_CHAT_CHANNEL_ID, and /radar parameters.
Tropical product posting documentation
CONTRIBUTING.md, README.md
Describes TropicalCog product sources, parsing, thread posting, deduplication, routing, and the NHC auto-posting feature listing.

Estimated code review effort: 1 (Trivial) | ~5 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main documentation changes: /radar and NHC tropical auto-posting.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/tropical-radar-followup

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@CONTRIBUTING.md`:
- Line 26: Update the TROPICAL_CHANNEL_ID documentation sentence in the
environment-variable table to begin “It can also be overridden…” instead of “Can
also be overridden…”, preserving the existing override details.
- Around line 193-196: Update the sentence describing `_fetch_nhc_product` in
the “NHC Tropical Cyclone Products” section so “the full Discussion text don't
leak” uses the singular verb “doesn't leak,” leaving the surrounding
documentation unchanged.

In `@README.md`:
- Line 15: Update the Scientific Tools description in README.md by replacing
“automatic AI environmental analysis” with “automatic AI-powered environmental
analysis,” leaving the surrounding feature list unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 75fa118f-cf72-4846-8f0a-05494990a2e7

📥 Commits

Reviewing files that changed from the base of the PR and between 48d840d and fe69461.

📒 Files selected for processing (2)
  • CONTRIBUTING.md
  • README.md

Comment thread CONTRIBUTING.md
| `HEALTH_CHANNEL_ID` | (Optional) Receives bot health alerts (watchdog degraded, task failures). Defaults to `SPC_CHANNEL_ID` if not set. |
| `DEV_CHANNEL_ID` | (Optional) Receives watchdog probe-degradation alerts (2/3 warning and session-reset confirmation). Defaults to `HEALTH_CHANNEL_ID` if not set. |
| `TROPICAL_CHANNEL_ID` | (Optional) Receives NHC tropical cyclone product posts. Defaults to a hardcoded production channel if not set. |
| `TROPICAL_CHANNEL_ID` | (Optional) Receives NHC tropical cyclone product posts. Defaults to `DEV_CHANNEL_ID`, then `HEALTH_CHANNEL_ID`, then `SPC_CHANNEL_ID` if not set. Can also be overridden at runtime via the `warning_channel:tropical` state key. |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Make the override sentence complete.

Change “Can also be overridden…” to “It can also be overridden…” for a complete sentence.

🧰 Tools
🪛 LanguageTool

[style] ~26-~26: To form a complete sentence, be sure to include a subject.
Context: ..._ID, then SPC_CHANNEL_IDif not set. Can also be overridden at runtime via the...

(MISSING_IT_THERE)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@CONTRIBUTING.md` at line 26, Update the TROPICAL_CHANNEL_ID documentation
sentence in the environment-variable table to begin “It can also be overridden…”
instead of “Can also be overridden…”, preserving the existing override details.

Source: Linters/SAST tools

Comment thread CONTRIBUTING.md
Comment on lines +193 to +196
### NHC Tropical Cyclone Products

`TropicalCog` (`cogs/tropical.py`) auto-posts NHC products — Public Advisory (`TCP`), Discussion (`TCD`), Tropical Weather Discussion (`TWD`), Tropical Weather Outlook (`TWO`), Update (`TCU`), Position Estimate (`TCE`), and Watch/Warning Summary (`TCV`) — routed from the IEMBot NHC feed, with NWWS-OI and IEMBot botstalk as fallback sources for the same authority sequence used elsewhere. Each product is fetched via `_fetch_nhc_product`, which parses storm type/name and bounds the "Summary" section (location/movement/pressure) to the next section header so Watches/Warnings and the full Discussion text don't leak into the channel embed. The full raw product text is posted to a discussion thread attached to the message. A product is only marked posted (deduplicated) after a confirmed successful send, so a failed post (e.g. a permissions issue) is retried rather than permanently skipped. Channel routing follows `TROPICAL_CHANNEL_ID`'s fallback chain, with a `warning_channel:tropical` state-key override available at runtime.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Correct the subject–verb agreement.

“the full Discussion text don't leak” should use “doesn't leak.”

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@CONTRIBUTING.md` around lines 193 - 196, Update the sentence describing
`_fetch_nhc_product` in the “NHC Tropical Cyclone Products” section so “the full
Discussion text don't leak” uses the singular verb “doesn't leak,” leaving the
surrounding documentation unchanged.

Comment thread README.md
NWWS-OI fast path, IEMBot fallback, NWS API polling, SPC watch alerts with deduplication, NWS warnings (TOR/SVR/FFW/SPS) routable to dedicated per-type channels with runtime configuration via `/enablewarnings`, lifecycle tracking (CON/EXT/EXA), damage survey detection with DAT integration and photo carousels, VAD hodograph evolution recording for confirmed tornadoes (`/archive` to search).

**Scientific Tools:** Interactive RAOB/ACARS sounding plots with a fast Skew-T placeholder that upgrades in place (auto-posted near active watches and MDT/HIGH risk areas, with automatic AI environmental analysis), VWP hodographs with named radar sites (with AI-powered analysis buttons), **Context-Aware AI Analysis** (Gemini-powered environmental synthesis cross-referenced with SPC products, Day 1 outlooks, active MDs, and nearby watches), searchable tornado forensics archive, NEXRAD Level 2 downloader, historical radar loop GIFs for any location/time (`/radarhistory`), and IEM-based tornado analytics.
**Scientific Tools:** Interactive RAOB/ACARS sounding plots with a fast Skew-T placeholder that upgrades in place (auto-posted near active watches and MDT/HIGH risk areas, with automatic AI environmental analysis), VWP hodographs with named radar sites (with AI-powered analysis buttons), **Context-Aware AI Analysis** (Gemini-powered environmental synthesis cross-referenced with SPC products, Day 1 outlooks, active MDs, and nearby watches), searchable tornado forensics archive, NEXRAD Level 2 downloader, historical radar loop GIFs for any location/time (`/radarhistory`), live single-site NEXRAD radar loops with mesocyclone/TVS rotation and experimental PTDS debris-signature detection (`/radar`), NHC tropical cyclone product auto-posting (advisories/discussions/outlooks with thread-based full text), and IEM-based tornado analytics.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Clarify the compound adjective.

Replace “automatic AI environmental analysis” with “automatic AI-powered environmental analysis.”

🧰 Tools
🪛 LanguageTool

[uncategorized] ~15-~15: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...auto-posted near active watches and MDT/HIGH risk areas, with automatic AI environmental ...

(EN_COMPOUND_ADJECTIVE_INTERNAL)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` at line 15, Update the Scientific Tools description in README.md
by replacing “automatic AI environmental analysis” with “automatic AI-powered
environmental analysis,” leaving the surrounding feature list unchanged.

Source: Linters/SAST tools

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant