docs(rules): read a Problem and know what the business gains - #143
Merged
Conversation
DEV-160 held the Problem statement to a business inability but left the Solution section unbounded, so it came back as a list of steps to perform. Cap both sections, require the Solution to open with the outcome, and hold PR descriptions to the same bar. Also scopes DEV-050 to rule files, so its 250-character cap is not confused with the new issue-level caps.
Contributor
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (4)
WalkthroughChangesOutcome-focused rule guidance
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Time Submission Status
Submit or update total time with: Add time on top of previous submission with: See available commands to help comply with our Guidelines. |
The Problem cap was stated twice: 250 in DEV-050 for a rule file, 300 in DEV-160 for a Problem issue. Same principle, since a rule is a Problem whose barrier recurs on the ops side rather than in the product, so the two numbers were one fact with two homes. DEV-050 becomes canonical and governs any Problem statement at 250 chars. DEV-160 references it instead of restating a number. Its severity moves to error, matching what the rules audit already does: check-rules.mjs hardcodes PROBLEM_MAX = 250 against DEV-050 and blocks the push. The 450-char Solution cap stays in DEV-160. A rule's Solution carries method and reasoning; an issue's states an outcome.
Member
Author
|
@holdex pr add-time 35m |
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.
A stakeholder can open any Problem issue and, in two short sections, see what the business cannot do today and what it will be able to do once the work merges, without reading implementation detail.
DEV-160 already held the Problem statement to a business inability, but nothing held the Solution section to the same bar, so it came back as a list of steps to perform. Length was what allowed it: given room, the inability and the outcome ended up buried under execution detail that belongs to the PR.
What changed
DEV-050becomes the canonical home for the Problem length cap and now governs any Problem statement, whether it is the## Problemof a rule file or the# Problemof a Problem issue. A rule is a Problem too; it is a rule only because the barrier recurs on the ops side instead of in the product, which does not change what its statement has to do. Severity moves fromwarningtoerror.DEV-160requires the Solution to open with one sentence naming what the user or business can do once the work merges, and caps the Solution prose at 450 characters. It defers toDEV-050for the Problem cap rather than restating a number. Retitled to name the single behavior it enforces.DEV-360holds the PR description to the same outcome-first bar, since the gap showed up in PR bodies too, not only in issues.docs/rules/README.mdindex follows the retitle.Notes for the reviewer
One cap, 250 characters, defined once.
scripts/check-rules.mjsalready hardcodedPROBLEM_MAX = 250and creditedDEV-050as its source, so the audit needed no change and the severity bump just makes the frontmatter honest about the push being blocked.The 450-char Solution cap stays local to
DEV-160. A rule file's Solution carries method and reasoning and is deliberately long; a Problem issue's states an outcome. Different subjects, so no shared number.The caps are deliberately tight. At 250 characters there is no room for implementation steps, which is the point. Detail that does not fit was never the statement, it was the execution.
Enforcement on issues stays manual. The Problem cap is already automated for rule files.
DEV-050applies to the rule files edited here. Both Problem sections were brought under 250, andnpm run check:rulespasses across all 35 rules.Closes Problem: reviewers can't tell if a Solution delivers an outcome #141
Summary by CodeRabbit