Skip to content

Improve Jira comment UX#129

Merged
eshulman2 merged 8 commits into
mainfrom
jira-comment-ux
Jul 9, 2026
Merged

Improve Jira comment UX#129
eshulman2 merged 8 commits into
mainfrom
jira-comment-ux

Conversation

@eshulman2

Copy link
Copy Markdown
Collaborator

Summary

  • add interaction options to generated artifact comments, including explicit ! revision and ? question guidance
  • add emoji prefixes to workflow status and transitional Jira comments while preserving existing emoji
  • update approval gate and payload docs to match the comment classifier behavior

Tests

  • uv run ruff check src/forge/integrations/jira/client.py src/forge/workflow/nodes/rca_option_gate.py src/forge/workflow/gates/prd_approval.py src/forge/workflow/gates/spec_approval.py src/forge/workflow/gates/plan_approval.py src/forge/workflow/gates/task_approval.py src/forge/workflow/utils/comment_classifier.py src/forge/workflow/nodes/qa_handler.py tests/unit/integrations/jira/test_client.py
  • uv run pytest tests/unit/integrations/jira/test_client.py tests/unit/workflow/nodes/test_rca_option_gate.py tests/unit/workflow/test_comment_classifier.py tests/unit/workflow/nodes/test_qa_handler.py
  • uv run pytest tests/unit/workflow/nodes/test_prd_pr.py tests/unit/workflow/nodes/test_spec_pr.py tests/unit/workflow/nodes/test_epic_decomposition.py tests/unit/workflow/nodes/test_task_generation.py tests/unit/workflow/nodes/test_rca_analysis.py tests/unit/workflow/nodes/test_rca_option_gate.py tests/unit/workflow/nodes/test_code_review.py tests/unit/workflow/nodes/test_workspace_setup.py tests/unit/workflow/nodes/test_implementation.py tests/unit/workflow/test_pr_status_comments.py tests/unit/workflow/bug/test_workflow.py tests/unit/workflow/bug/test_graph.py

eshulman2 and others added 4 commits July 7, 2026 19:26
- Use word-boundary padding for "ci" keyword match to prevent false
  positives on words like "ancient", "special" (matches "pr" pattern)
- Add "?" question guidance to RCA option footer for consistency with
  artifact_interaction_options
- Switch plan artifact comment to post_status_comment so a transient
  Jira failure doesn't discard a successfully generated plan
- Replace silent fallback in artifact_interaction_options with KeyError
  to fail fast on unmapped comment types

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
PRD and spec generation had three posting paths but only the
Jira-comment path (add_structured_comment) included interaction
options guidance. The PR-based path and description-update path left
users without instructions on how to approve, revise, or ask questions.

- Add pr_interaction_options() for PR-based approval (merge to approve)
- Append interaction options to PR creation status comments (PRD + spec)
- Post interaction options after description updates (PRD)
- Post interaction options after custom-field/attachment updates (spec)
- Add interaction options to PR-based regeneration comments

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…rendering issues

post_status_comment prepends an emoji via format_status_comment, which
breaks markdown rendering when the message starts with a ## header
(e.g., "ℹ️ ## Interaction options" is not a valid markdown heading).

Use jira.add_comment directly for bare interaction-options comments
(description-update, custom-field, attachment, and plan artifact paths).
Combined status+interaction comments (PR-based paths) keep
post_status_comment since the emoji goes on the status line and the
## header is on its own line.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ation

Both stages were missing user guidance on how to approve, revise, or
ask questions. The messages mention per-ticket revision (comment with !
on a specific Epic/Task to revise just that one, or on the Feature
ticket to regenerate all).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

@ekuris-redhat ekuris-redhat left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Looks good overall. One CI fix needed before merge:
Lint gate failure: ruff format check fails on 2 files
src/forge/workflow/nodes/prd_generation.py and src/forge/workflow/nodes/spec_generation.py need reformatting.

eshulman2 and others added 3 commits July 9, 2026 09:37
Rename "## Interaction options" to "## Forge — what's next?" across all
nodes so the heading clearly identifies the hints as coming from Forge.

Also add missing interaction options to the PRD description-update
regeneration path and the spec non-comment regeneration path.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Rename heading to "🤖 Forge interaction options" across all nodes.
Add emoji prefixes to each action line (✅ Approve, ♻️ Request changes,
🔧 Revise single, ❓ Ask a question) and bold the action labels.
Standardize RCA option gate footer to use the same heading and format.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@eshulman2 eshulman2 merged commit c5742f8 into main Jul 9, 2026
3 of 4 checks passed
@eshulman2 eshulman2 deleted the jira-comment-ux branch July 9, 2026 07:32
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.

2 participants