Suppress banner and summary line during --lint for cleaner script integration#162
Conversation
…egration Agent-Logs-Url: https://github.com/demaconsulting/ReqStream/sessions/46bf68b4-5120-4828-a14e-0870f2ebffb1 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
|
@copilot Why is there a markdown file in the docs/reqstream folder? Design documentation goes under docs/design, and docs/reqstream contains ReqStream compliant YAML files. These are clearly documented in the .github/standards documents for reqstream-usage and design-documentation. |
…ink new tests Agent-Logs-Url: https://github.com/demaconsulting/ReqStream/sessions/c612bf00-3c7a-444b-bfde-a8ff5aab7777 Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
The markdown file in my PR was You're right that the new test methods ( |
|
@copilot Please also check user documentation |
There was a problem hiding this comment.
Pull request overview
This PR makes --lint quiet on success to better support script/CI integrations by suppressing the startup banner and removing the “No issues found” summary line.
Changes:
- Updated
Program.Runto skipPrintBannerwhen--lintis used and to emit no output when lint finds no issues. - Adjusted/added unit tests and self-test expectations to assert empty output for a clean lint run and “issues-only” output on failures.
- Updated user guide, design docs, and the Program requirements YAML to document and trace the new lint verbosity behavior.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/DemaConsulting.ReqStream/Program.cs | Suppresses banner during lint and removes the clean-lint summary message. |
| test/DemaConsulting.ReqStream.Tests/ProgramTests.cs | Updates lint assertions and adds coverage for banner suppression and issues-only output. |
| src/DemaConsulting.ReqStream/SelfTest/Validation.cs | Updates self-validation to expect empty output on clean lint. |
| docs/user_guide/introduction.md | Documents “silent success” behavior for --lint and banner suppression. |
| docs/design/reqstream/program.md | Updates dispatch table and PrintBanner description to reflect lint suppression. |
| docs/reqstream/reqstream/program.yaml | Adds a requirement covering lint verbosity, linked to the new tests. |
Comments suppressed due to low confidence (1)
src/DemaConsulting.ReqStream/Program.cs:120
- The in-code priority comments are now off by one (banner printing is effectively priority 2).
// Priority 2: Help,// Priority 3: Self-Validation, etc. no longer match the actual dispatch order (and the design doc table). Please update the priority numbers (or drop the numbering) to keep the comments accurate.
// Priority 2: Help
if (context.Help)
{
PrintHelp(context);
return;
}
// Priority 3: Self-Validation
if (context.Validate)
{
Validation.Run(context);
return;
}
// Priority 4: Lint requirements files
if (context.Lint)
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…ystem design Agent-Logs-Url: https://github.com/demaconsulting/ReqStream/sessions/c04a14fd-2138-4939-b5ec-692234a6311e Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
The Fixed in a67ba25 by adding a Lint Flow section to |
Description
--lintemitted the version/copyright banner and a "No issues found" summary line, making it noisyfor lint scripts that expect silence on success. With this change,
--lintproduces no outputwhen there are no issues, and emits only issue lines when problems are found — no banner, no summary.
Before:
After (clean lint): (empty — exit code 0)
After (issues found):
Changes
Program.cs— SkipPrintBannerwhencontext.Lintis true; remove the "No issues found"no-op message from the lint branch
ProgramTests.cs— Updated lint test to assert empty output on clean run; added two new tests:banner suppression and issues-only output when errors are present
Validation.cs— Self-test updated: expects empty log for a clean lint run instead of "No issues found"docs/user_guide/introduction.md— Updated example output and description to reflect quiet-by-default behaviordocs/design/reqstream/program.md— Updated dispatch table (banner skipped at priority 2 whenLintis true) andPrintBannerdescriptiondocs/reqstream/reqstream/program.yaml— AddedReqStream-Program-LintVerbosityrequirementwith the two new test methods linked for requirements traceability
docs/design/reqstream/reqstream.md— Added Lint Flow section describing banner suppressionand silent-on-success behavior, completing the traceability chain from user guide → system design
→ program requirements
Type of Change
Pre-Submission Checklist
Before submitting this pull request, ensure you have completed the following:
Build and Test
dotnet build --configuration Releasedotnet test --configuration Releasedotnet run --project src/DemaConsulting.ReqStream --configuration Release --framework net10.0--no-build -- --validateCode Quality
dotnet format --verify-no-changesQuality Checks
Please run the following checks before submitting:
cspell "**/*.{md,cs}"markdownlint "**/*.md"yamllint .Testing
Documentation
Additional Notes
218 tests pass across net8.0, net9.0, and net10.0. CodeQL scan returned 0 alerts.