Skip to content

Add checked-files list to JSON diagnostic report - #26

Merged
Malcolmnixon merged 2 commits into
mainfrom
feat/report-files-list
Sep 29, 2026
Merged

Malcolmnixon merged 2 commits into
mainfrom
feat/report-files-list

Conversation

@Malcolmnixon

Copy link
Copy Markdown
Member

Pull Request

Description

Adds a files array to the JSON lint report, listing every file the effective file selection
resolved to (post glob/include/exclude resolution), with a path and a status field (always
"checked" today; the field is deliberately extensible so a future release can add "excluded"
entries without a breaking schema change).

Previously the JSON report exposed only an opaque filesChecked: N count. A caller that needed
to know which files a run examined (for example, to attribute findings to document sections) had
to independently reimplement the tool's glob/include/exclude semantics just to recover that
information, creating a second, drift-prone copy of the tool's file-selection logic. This closes
that gap by having the tool report the resolved file list directly.

Scope note: this feature reports only files that were actually checked (post-exclusion). It does
not enumerate excluded files with exclusion reasons - that fuller ask is tangled with a separate,
currently-blocked design question about explicit-path vs. config-selection precedence, and is
left for a future PR.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Code quality improvement

Related Issues

Closes #

Pre-Submission Checklist

Build and Test

  • Code builds successfully and all tests pass: pwsh ./build.ps1 - 1326/1326 passed
  • Code produces zero warnings

Code Quality

  • New code has appropriate XML documentation comments
  • Static analyzer warnings have been addressed

Quality Checks

  • All linters pass: pwsh ./lint.ps1 - clean

Testing

  • Added unit tests for new functionality
  • Updated existing tests if behavior changed
  • All tests follow the AAA (Arrange, Act, Assert) pattern
  • Test coverage is maintained or improved

Documentation

  • Updated README.md (if applicable) - no schema example existed to update; verified none needed changes
  • Updated docs/ documentation (if applicable) - design, verification, reqstream, and sysml2 artifacts updated
  • Added code examples for new features (if applicable)
  • Updated requirements.yaml (if applicable) - added Ste100Mark-Linting-ReportedFiles and Ste100Mark-System-LintReportedFiles

Additional Notes

Text-mode output is intentionally unchanged (still only shows the summary count) to avoid
unbounded per-file console output on large repositories; only JSON mode gains the files array.

Adds a 'files' array to the JSON lint report, listing every file the
effective file selection resolved to (post include/exclude/glob
resolution), with a path and a status field (currently always
'checked', left extensible for a future 'excluded' status).

This removes the need for callers to independently reimplement the
tool's glob/include/exclude resolution just to learn which files a
run examined, previously exposed only as an opaque filesChecked
count.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI lite review requested due to automatic review settings September 29, 2026 18:02

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot review overview

🟡 Changes recommended

One or more issues must be addressed before approval.

Review effort: Lite
Findings: 1 Low severity

Open (1)
What changed in this PR

Adds a files array to JSON lint reports, exposing checked paths and statuses.

Changes:

  • Propagates resolved file paths through the linter and reporter.
  • Adds unit and integration coverage.
  • Updates design, verification, and requirements artifacts.
File Description
test/​DemaConsulting.Ste100Mark.Tests/​Linting/​LinterTests.cs Updated as part of this pull request.
test/​DemaConsulting.Ste100Mark.Tests/​Linting/​DiagnosticReporterTests.cs Updated as part of this pull request.
test/​DemaConsulting.Ste100Mark.Tests/​IntegrationTests.cs Updated as part of this pull request.
src/​DemaConsulting.Ste100Mark/​Linting/​Linter.cs Updated as part of this pull request.
src/​DemaConsulting.Ste100Mark/​Linting/​DiagnosticReporter.cs Updated as part of this pull request.
docs/​verification/​ste100-mark/​linting.md Updated as part of this pull request.
docs/​reqstream/​ste100-mark/​linting.yaml Updated as part of this pull request.
docs/​reqstream/​ste100-mark.yaml Updated as part of this pull request.
docs/​design/​ste100-mark/​linting/​diagnostic-reporter.md Updated as part of this pull request.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread docs/reqstream/ste100-mark/linting.yaml
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI lite review requested due to automatic review settings September 29, 2026 18:13

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot review overview

🔵 Needs a closer look

Avoid retaining per-file paths unnecessarily during text-only output.

Review effort: Lite
Findings: None

Resolved since last review (1)

@Malcolmnixon
Malcolmnixon merged commit 837674d into main Sep 29, 2026
16 checks passed
@Malcolmnixon
Malcolmnixon deleted the feat/report-files-list branch September 29, 2026 18:54
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