Summary
Explore consolidating terminology around "feedback" as the primary user-facing term for all PR comments, reviews, and review comments that require attention.
Current State
The codebase uses multiple overlapping terms at different conceptual levels:
Terminology Layers (Current)
| Level |
Term |
Where Used |
Meaning |
| Umbrella |
"PR activity" |
README, SPEC, high-level docs |
Everything Firewatch captures |
| Technical |
"entry types" |
Schema, code |
comment, review, commit, ci, event |
| Subtypes |
"comment subtypes" |
Schema, filters |
review_comment, issue_comment |
| User-facing |
"feedback" |
CLI (fb, ack, close), actionable.ts |
Unaddressed items needing response |
Evidence from Codebase
Code defines "feedback" specifically (apps/cli/src/actionable.ts:35-47):
export interface UnaddressedFeedback {
repo: string;
pr: number;
comment_id: string;
author: string;
body?: string;
file?: string;
line?: number;
// ...
}
CLI uses "feedback" in user-facing commands:
fw fb - "Feedback abstraction: list, view, reply, resolve"
fw ack - "Acknowledge feedback comments (local + optional reaction)"
fw close - "Close feedback: resolve review threads or close PRs"
Config has feedback-specific settings (packages/core/src/schema/config.ts:28-38):
export const FeedbackConfigSchema = z.object({
commit_implies_read: z.boolean().default(false),
});
Problem
-
Terminology confusion: Users must learn multiple terms (activity, entry, comment, review, review_comment, issue_comment, feedback) to understand what Firewatch tracks
-
GitHub complexity hidden poorly: GitHub has:
PullRequestReview (the review submission with approve/changes_requested state)
PullRequestReviewComment (inline code comments, can be resolved)
IssueComment (general PR discussion, cannot be resolved)
We expose this as type: comment | review with subtype: review_comment | issue_comment - which mirrors GitHub's complexity rather than simplifying it
-
What matters is obscured: Users care about "what needs my attention" - the answer is feedback, but we make them think in GitHub API terms
Proposal
Elevate "feedback" as the primary user-facing term:
What is Feedback?
Feedback is any PR comment or review that requests action from the author. This includes:
- Review comments (inline code comments)
- Issue comments (PR discussion)
- Reviews with "changes requested" state
Proposed Changes
-
Documentation: Use "feedback" consistently in user-facing docs
- Create
docs/GLOSSARY.md with clear definitions
- Update README to emphasize feedback-centric workflow
- Clarify that
fw fb = "firewatch feedback"
-
CLI help text improvements:
# Current
fb - "Feedback abstraction: list, view, reply, resolve"
# Proposed
fb - "Manage feedback: list, view, reply to, and resolve PR comments"
-
Consider filter simplification:
# Current: requires knowing subtypes
fw --type comment --subtype review_comment
# Possible future: feedback-centric
fw --feedback # all feedback items
fw --feedback inline # review_comment only
fw --feedback discuss # issue_comment only
-
Schema documentation: Keep technical accuracy but lead with user intent:
## Entry Types
### Feedback Types (what needs your attention)
- `review_comment` - Inline code feedback on specific lines
- `issue_comment` - General PR discussion
- `review` (changes_requested) - Review requesting changes
### Activity Types (for context)
- `review` - Review submissions (approve, comment, etc.)
- `commit` - Commits to the PR
- `ci` - CI/CD status
- `event` - PR lifecycle (opened, merged, etc.)
Non-Goals
- Changing internal type names (
EntryType, subtype values)
- Breaking existing CLI flags or JSONL output
- Removing technical precision for power users
Questions to Explore
- Should
fw feedback be an alias for fw fb?
- Should we add a
--feedback filter that combines comment types?
- How do we handle
review type with state=changes_requested (it's feedback but different from comments)?
- Should the worklist/summary output group by "feedback" vs "activity"?
Related Files
apps/cli/src/actionable.ts - UnaddressedFeedback interface
apps/cli/src/commands/fb.ts - Feedback command
packages/core/src/schema/entry.ts - Entry type definitions
packages/core/src/schema/config.ts - FeedbackConfig
docs/schema.md - Entry type documentation
.claude/skills/firewatch/ - Plugin documentation
/cc @galligan
Summary
Explore consolidating terminology around "feedback" as the primary user-facing term for all PR comments, reviews, and review comments that require attention.
Current State
The codebase uses multiple overlapping terms at different conceptual levels:
Terminology Layers (Current)
comment,review,commit,ci,eventreview_comment,issue_commentfb,ack,close), actionable.tsEvidence from Codebase
Code defines "feedback" specifically (
apps/cli/src/actionable.ts:35-47):CLI uses "feedback" in user-facing commands:
fw fb- "Feedback abstraction: list, view, reply, resolve"fw ack- "Acknowledge feedback comments (local + optional reaction)"fw close- "Close feedback: resolve review threads or close PRs"Config has feedback-specific settings (
packages/core/src/schema/config.ts:28-38):Problem
Terminology confusion: Users must learn multiple terms (activity, entry, comment, review, review_comment, issue_comment, feedback) to understand what Firewatch tracks
GitHub complexity hidden poorly: GitHub has:
PullRequestReview(the review submission with approve/changes_requested state)PullRequestReviewComment(inline code comments, can be resolved)IssueComment(general PR discussion, cannot be resolved)We expose this as
type: comment | reviewwithsubtype: review_comment | issue_comment- which mirrors GitHub's complexity rather than simplifying itWhat matters is obscured: Users care about "what needs my attention" - the answer is feedback, but we make them think in GitHub API terms
Proposal
Elevate "feedback" as the primary user-facing term:
What is Feedback?
Proposed Changes
Documentation: Use "feedback" consistently in user-facing docs
docs/GLOSSARY.mdwith clear definitionsfw fb= "firewatch feedback"CLI help text improvements:
Consider filter simplification:
Schema documentation: Keep technical accuracy but lead with user intent:
Non-Goals
EntryType,subtypevalues)Questions to Explore
fw feedbackbe an alias forfw fb?--feedbackfilter that combines comment types?reviewtype with state=changes_requested(it's feedback but different from comments)?Related Files
apps/cli/src/actionable.ts- UnaddressedFeedback interfaceapps/cli/src/commands/fb.ts- Feedback commandpackages/core/src/schema/entry.ts- Entry type definitionspackages/core/src/schema/config.ts- FeedbackConfigdocs/schema.md- Entry type documentation.claude/skills/firewatch/- Plugin documentation/cc @galligan