docs(messaging): clarify Slack token validation and slack policy preset (#4979)#4986
Conversation
…et (NVIDIA#4979) Signed-off-by: Abhimanyu Kumar <abhimanyukumar7290@gmail.com>
prekshivyas
left a comment
There was a problem hiding this comment.
LGTM. Docs-only clarification that directly addresses #4979's confusion: it documents that Slack credential validation calls the live Slack API (auth.test/apps.connections.open), so placeholder tokens get invalid_auth → the channel is skipped → the slack preset isn't applied (no ● in policy-list). Verified against source: the documented NEMOCLAW_SKIP_SLACK_AUTH_VALIDATION=1 escape hatch is real (SLACK_AUTH_VALIDATION_SKIP_ENV in slack/hooks/credential-validation.ts) and the per-channel preset gating matches (manifest policyPresets: ["slack"]). Accurate, low-risk. CI green.
📝 WalkthroughWalkthroughDocumentation update to ChangesSlack Channel Validation Documentation
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
docs/manage-sandboxes/messaging-channels.mdx (1)
85-85: ⚡ Quick winRewrite in active voice.
The sentence contains passive constructions ("is only applied", "is not applied"). As per coding guidelines, active voice is required.
✏️ Suggested active voice rewrite
-Because the `slack` network policy preset is only applied for channels that are actually enabled, a skipped Slack channel also means the `slack` preset is not applied, so it does not appear as applied (`●`) in `$$nemoclaw <name> policy-list`. +Because NemoClaw only applies the `slack` network policy preset for actually enabled channels, a skipped Slack channel means NemoClaw does not apply the `slack` preset, so the preset does not appear as applied (`●`) in `$$nemoclaw <name> policy-list`.🤖 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 `@docs/manage-sandboxes/messaging-channels.mdx` at line 85, Rewrite the sentence in active voice so it clearly states the actor and action: e.g., say that the system applies the `slack` network policy preset only for channels that are enabled, and that when the system skips a Slack channel it does not apply the `slack` preset, so it won’t appear as applied (`●`) in the `$$nemoclaw <name> policy-list` output; replace passive phrases like "is only applied" and "is not applied" with active verbs referring to the system or process applying the preset.Source: Coding guidelines
🤖 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.
Nitpick comments:
In `@docs/manage-sandboxes/messaging-channels.mdx`:
- Line 85: Rewrite the sentence in active voice so it clearly states the actor
and action: e.g., say that the system applies the `slack` network policy preset
only for channels that are enabled, and that when the system skips a Slack
channel it does not apply the `slack` preset, so it won’t appear as applied
(`●`) in the `$$nemoclaw <name> policy-list` output; replace passive phrases
like "is only applied" and "is not applied" with active verbs referring to the
system or process applying the preset.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 64160d49-a5c9-4bf7-b01e-b48cfe10cabb
📒 Files selected for processing (1)
docs/manage-sandboxes/messaging-channels.mdx
|
@cv The failing The edit re-triggered |
## Summary - Add the v0.0.63 release-note section using the published development note as source context. - Update source docs for sandbox recovery, OpenClaw config restore safety, managed vLLM selection, Slack Socket Mode conflict handling, and host diagnostics. - Refresh generated `nemoclaw-user-*` skills from the updated Fern MDX docs. - Update the release-doc refresh skill so post-release docs for version `n` look up the matching announcement discussion and use the `n+1` patch release label. - Fix CLI/docs parity by avoiding a `--from <Dockerfile>` flag mention inside the `upgrade-sandboxes` command section. ## Source summary - #5034 -> `docs/reference/troubleshooting.mdx`, `docs/about/release-notes.mdx`: Document safer stale-sandbox recovery through `rebuild --yes` before recreating from scratch. - #5091 -> `docs/reference/troubleshooting.mdx`, `docs/about/release-notes.mdx`: Document Docker-driver post-reboot recovery from OpenShell container labels. - #5101, #5174, #5177 -> `docs/manage-sandboxes/backup-restore.mdx`, `docs/about/release-notes.mdx`: Document OpenClaw `openclaw.json` preservation, merge behavior, and fail-safe restore handling. - #5102 -> `docs/reference/commands.mdx`, `docs/reference/commands-nemohermes.mdx`, `docs/manage-sandboxes/lifecycle.mdx`, `docs/about/release-notes.mdx`: Document `upgrade-sandboxes` image-fingerprint drift detection. - #4201 -> `docs/reference/troubleshooting.mdx`, `docs/about/release-notes.mdx`: Document the installer diagnostic for unexpected Docker daemon access outside the `docker` group. - #5038 -> `docs/inference/inference-options.mdx`, `docs/inference/use-local-inference.mdx`, `docs/about/release-notes.mdx`: Document the interactive managed-vLLM model picker and non-interactive override behavior. - #5040, #5041 -> `docs/reference/troubleshooting.mdx`, `docs/about/release-notes.mdx`: Document Ollama auth-proxy recovery and host DNS preflight diagnostics. - #4986, #5039 -> `docs/manage-sandboxes/messaging-channels.mdx`, `docs/about/release-notes.mdx`: Document Slack validation and duplicate Slack Socket Mode sandbox handling. - #4981, #5168 -> `docs/about/release-notes.mdx`: Capture Hermes gateway secret-guard and wrapped-argv startup hardening in the release surface. - Follow-up -> `.agents/skills/nemoclaw-contributor-update-docs/SKILL.md`: Record the post-release docs workflow, discussion-announcement lookup, and next-patch release label rule. - Follow-up -> `docs/reference/commands.mdx`, `docs/reference/commands-nemohermes.mdx`: Reword custom Dockerfile sandbox text so CLI parity does not treat `--from` as an `upgrade-sandboxes` flag. ## Verification - `python3 scripts/docs-to-skills.py docs/ .agents/skills/ --prefix nemoclaw-user --doc-platform fern-mdx` - `npm run docs` - `npm run build:cli` - `bash test/e2e/e2e-cloud-experimental/check-docs.sh --only-cli` - Skip-term scan for `docs/.docs-skip` blocked terms across generated user skills <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Documentation** * Enhanced local inference setup with interactive model selection prompts and environment variable overrides * Improved sandbox upgrade detection using build fingerprints and version checks * Clarified configuration restore behavior preserving user settings during rebuild/restore * Added gateway authentication as fifth security layer * Expanded Slack messaging validation with live credential checking * Enhanced troubleshooting guidance for Docker access, DNS issues, and sandbox recovery * Updated release notes for v0.0.63 featuring sandbox recovery and inference improvements <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Summary
Documents the intended Slack onboarding behavior that #4979 ran into: NemoClaw validates Slack tokens against the live Slack API during onboard, so invalid/placeholder tokens (
invalid_auth) cause the Slack channel to be skipped — and because theslacknetwork policy preset is only applied for channels that are actually enabled, the preset is not applied either (not shown as●inpolicy-list). Also points to the existingNEMOCLAW_SKIP_SLACK_AUTH_VALIDATION=1escape hatch for exercising Slack setup and theslackpreset with placeholder tokens in restricted/hermetic environments.Related Issue
Fixes #4979
Context
The current behavior is intentional and secure: live token validation prevents onboarding from enabling a channel with credentials Slack cannot use. The "fake-token test mode" the issue asks for already exists as
NEMOCLAW_SKIP_SLACK_AUTH_VALIDATION(documented in the commands reference). The gap was purely documentation — the consequence chain (invalid tokens → channel skipped →slackpreset not applied) and the skip-flag's role in policy-preset testing were not stated where Slack onboarding is documented. This is the reporter's "at minimum, document the mismatch" resolution; no behavior change.Changes
docs/manage-sandboxes/messaging-channels.mdx— in the Slack section, document that validation calls the live Slack API, that rejected tokens skip the channel and therefore do not apply theslackpreset, and thatNEMOCLAW_SKIP_SLACK_AUTH_VALIDATION=1skips the live probes for testing (format checks still apply).Type of Change
Verification
<name>sandbox placeholder and backtick-wrapped●conventions; new env/command references match the commands referencenpm run docs/ the docs link-check were not run on my Windows dev box (the link-check harness shells out in a way that fails locally); the change adds no links and is plain prose with inline code spans. Deferred to CI on Linux.Summary by CodeRabbit
Signed-off-by: abhi-0906 abhimanyukumar7290@gmail.com