feat(slack): support long app descriptions - #65256
Closed
2001Y wants to merge 2 commits into
Closed
Conversation
Contributor
|
Thanks for adding an opt-in manifest field with focused parsing, file-decoding, boundary, and documentation coverage. Current main has no Problems
Suggested changes
Automated hermes-sweeper review. |
2001Y
force-pushed
the
feat/slack-long-description
branch
from
July 19, 2026 16:09
83fb86c to
b786a62
Compare
teknium1
pushed a commit
that referenced
this pull request
Jul 23, 2026
Add --long-description / --long-description-file to `hermes slack manifest` so the generated app manifest can carry Slack's display_information.long_description (175–4,000 characters), with validation of the length bounds, mutual-exclusion with --slashes-only, and UTF-8 file input. Also propagate the manifest command's exit status through cmd_slack so validation failures reach the shell. Squash of the two commits from PR #65256 — one commit per contributor on this salvage branch. Salvaged from #65256
teknium1
pushed a commit
that referenced
this pull request
Jul 23, 2026
Add --long-description / --long-description-file to `hermes slack manifest` so the generated app manifest can carry Slack's display_information.long_description (175–4,000 characters), with validation of the length bounds, mutual-exclusion with --slashes-only, and UTF-8 file input. Also propagate the manifest command's exit status through cmd_slack so validation failures reach the shell. Squash of the two commits from PR #65256 — one commit per contributor on this salvage branch. Salvaged from #65256
teknium1
pushed a commit
that referenced
this pull request
Jul 23, 2026
Add --long-description / --long-description-file to `hermes slack manifest` so the generated app manifest can carry Slack's display_information.long_description (175–4,000 characters), with validation of the length bounds, mutual-exclusion with --slashes-only, and UTF-8 file input. Also propagate the manifest command's exit status through cmd_slack so validation failures reach the shell. Squash of the two commits from PR #65256 — one commit per contributor on this salvage branch. Salvaged from #65256
teknium1
pushed a commit
that referenced
this pull request
Jul 23, 2026
Add --long-description / --long-description-file to `hermes slack manifest` so the generated app manifest can carry Slack's display_information.long_description (175–4,000 characters), with validation of the length bounds, mutual-exclusion with --slashes-only, and UTF-8 file input. Also propagate the manifest command's exit status through cmd_slack so validation failures reach the shell. Squash of the two commits from PR #65256 — one commit per contributor on this salvage branch. Salvaged from #65256
Contributor
|
Merged via #70196 — your commit was cherry-picked/reapplied onto current main with your authorship preserved in git history: your long app description support was cherry-picked. Thanks for the contribution! |
randlee
pushed a commit
to randlee/hermes-agent
that referenced
this pull request
Aug 11, 2026
Add --long-description / --long-description-file to `hermes slack manifest` so the generated app manifest can carry Slack's display_information.long_description (175–4,000 characters), with validation of the length bounds, mutual-exclusion with --slashes-only, and UTF-8 file input. Also propagate the manifest command's exit status through cmd_slack so validation failures reach the shell. Squash of the two commits from PR NousResearch#65256 — one commit per contributor on this salvage branch. Salvaged from NousResearch#65256
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 does this PR do?
Adds opt-in support for setting Slack's
display_information.long_descriptionwhen generating an app manifest withhermes slack manifest.The command now accepts either inline text (
--long-description) or a UTF-8 file (--long-description-file). It validates Slack's documented 175–4,000-character range, preserves file contents exactly (including CRLF and lone-CR newlines), and reports path-expansion, read, and decode failures as CLI errors. Integer command-handler statuses are propagated through the main dispatcher so these failures exit with status 2 for shells and CI. Existing manifest output is unchanged when neither option is supplied.Long descriptions are intentionally rejected with
--slashes-only, because that mode emits an intentionally minimal manifest withoutdisplay_information.Related Issue
N/A — this is a user-requested CLI enhancement and no matching issue exists.
Overlap check
dbf86b9234717983f65fe56e7bfd9d0f9632ceb4.long_description,Slack manifest long description,--long-description, anddisplay_information Slack.Type of Change
Changes Made
--long-descriptionand--long-description-fileoptions inhermes_cli/subcommands/slack.py.--slashes-onlyconflict handling inhermes_cli/slack_cli.py.hermes_cli/main.py, with subprocess coverage proving all new validation paths exit with status 2.display_information.long_descriptionwithout changing the default manifest.tests/hermes_cli/test_slack_cli.py.How to Test
python3 -c "from pathlib import Path; Path('/tmp/slack-long-description.txt').write_text('A' * 175, encoding='utf-8')" ./hermes slack manifest \ --agent-view \ --long-description-file /tmp/slack-long-description.txtdisplay_information.long_description, retainsfeatures.agent_view, and rejects inputs shorter than 175 or longer than 4,000 characters.Checklist
Code
fix(scope):,feat(scope):, etc.)pytest tests/ -qand all tests passtests/gateway/test_matrix.pytimed out at 120 seconds.Documentation & Housekeeping
docs/, docstrings) — or N/Acli-config.yaml.exampleif I added/changed config keys — or N/A (no config keys changed)CONTRIBUTING.mdorAGENTS.mdif I changed architecture or workflows — or N/A (no architecture/workflow change)Screenshots / Logs
No UI change.
AGENTS.mdround-tripped byte-for-byte throughdisplay_information.long_description;agent_viewremained enabled.--slashes-onlyconflict each exited with status 2.ruff check,py_compile,scripts/check-windows-footguns.py, andgit diff --checkpassed.