chore: reorganize repo root layout#249
Open
EricCogen wants to merge 2 commits into
Open
Conversation
Move ad-hoc scripts, mockup, brand assets, and the main test project out of the repo root so src/ holds product code and tests/ holds all test projects. Update solution paths, NuGet packaging, docs, and site links.
Walk up to repo root via GauntletCI.slnx instead of a fixed relative hop from bin/, so EndToEndTests find src/GauntletCI.Cli under GAUNTLETCI_E2E_STRICT.
There was a problem hiding this comment.
Pull request overview
Reorganizes the repository root layout (scripts, assets, docs/examples, PR template, and test project placement) and updates references across solution/package/docs/site accordingly.
Changes:
- Consolidates/moves the main test project under
tests/GauntletCI.Tests/and adds/updates a broad set of rule/unit tests. - Relocates scripts and reference configuration into
scripts/anddocs/examples/, updating documentation and site links. - Updates packaging inputs (NuGet assets/image paths), solution project paths, and adds a GitHub PR template.
Reviewed changes
Copilot reviewed 16 out of 161 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| tests/GauntletCI.Tests/WellKnownPatternsTests.cs | Adds regression coverage for test-file detection via GCI0048. |
| tests/GauntletCI.Tests/WebhookUrlValidatorTests.cs | Adds Slack/Teams webhook URL validation tests. |
| tests/GauntletCI.Tests/TimeoutGuardTests.cs | Adds RuleOrchestrator timeout + ConsoleReporter masking tests. |
| tests/GauntletCI.Tests/TestCollections.cs | Defines xUnit collection for Console.Out mutation serialization. |
| tests/GauntletCI.Tests/test_out.txt | Adds a text artifact (currently appears to be build output). |
| tests/GauntletCI.Tests/TelemetryUploaderTests.cs | Adds tests for telemetry uploader early-return and exception-swallowing behavior. |
| tests/GauntletCI.Tests/TelemetryHasherTests.cs | Adds tests for hashing and repo hashing behavior. |
| tests/GauntletCI.Tests/TelemetryDbTests.cs | Adds tests for SQLite telemetry persistence and dedupe behavior. |
| tests/GauntletCI.Tests/TelemetryCollectorTests.cs | Adds contract tests for telemetry collection and private helper via reflection. |
| tests/GauntletCI.Tests/SonarCloudEnricherTests.cs | Adds tests for parsing changed C# files from diffs. |
| tests/GauntletCI.Tests/SlackTeamsNotifierTests.cs | Adds tests for Slack/Teams payload generation. |
| tests/GauntletCI.Tests/SensitivityFilterTests.cs | Adds matrix tests for sensitivity threshold behavior. |
| tests/GauntletCI.Tests/RuleTestExtensions.cs | Adds test helper extension to run full analyzer pipeline for rule tests. |
| tests/GauntletCI.Tests/Rules/SemanticFindingProcessorTests.cs | Adds tests for semantic patch operation analysis and enrichment. |
| tests/GauntletCI.Tests/Rules/RepoDomainTests.cs | Adds tests for repo domain classification and domain-based finding processing. |
| tests/GauntletCI.Tests/Rules/ProvenanceTests.cs | Adds tests for diff provenance relocation analysis and finding filtering. |
| tests/GauntletCI.Tests/Rules/GCI0059Tests.cs | Adds tests for guard deletion/continued use rule. |
| tests/GauntletCI.Tests/Rules/GCI0058Tests.cs | Adds tests for paired-implementation polarity consistency rule. |
| tests/GauntletCI.Tests/Rules/GCI0054Tests.cs | Adds tests for async-void abuse detection rule. |
| tests/GauntletCI.Tests/Rules/GCI0051Tests.cs | Adds tests for numeric coercion risk rule. |
| tests/GauntletCI.Tests/Rules/GCI0050Tests.cs | Adds tests for SQL column truncation risk rule. |
| tests/GauntletCI.Tests/Rules/GCI0048Tests.cs | Adds tests for insecure Random usage near security contexts. |
| tests/GauntletCI.Tests/Rules/GCI0045Tests.cs | Updates test fixture paths to new tests folder layout. |
| tests/GauntletCI.Tests/Rules/GCI0042Tests.cs | Adds tests for TODO/stub detection aggregation and exclusions. |
| tests/GauntletCI.Tests/Rules/GCI0036Tests.cs | Updates test fixture paths to new tests folder layout. |
| tests/GauntletCI.Tests/Rules/GCI0035Tests.cs | Adds tests for architecture layer guard configuration behavior. |
| tests/GauntletCI.Tests/Rules/GCI0024Tests.cs | Updates test fixture paths to new tests folder layout. |
| tests/GauntletCI.Tests/Rules/GCI0021Tests.cs | Adds tests for schema compatibility heuristics and false positives. |
| tests/GauntletCI.Tests/Rules/GCI0019Tests.cs | Adds tests for confidence/evidence rule including large diff post-process. |
| tests/GauntletCI.Tests/Rules/GCI0010Tests.cs | Adds tests for hardcoding/config rule (IPs, URLs, connection strings). |
| tests/GauntletCI.Tests/Rules/GCI0001Tests.cs | Adds tests for diff integrity mixed-scope detection and exclusions. |
| tests/GauntletCI.Tests/ReviewCommentNlpEnricherTests.cs | Adds NLP taxonomy matching tests and dedup behavior. |
| tests/GauntletCI.Tests/OutboundUrlValidatorTests.cs | Adds outbound URL validation tests (SSRF-ish protections). |
| tests/GauntletCI.Tests/NuGetAdvisoryEnricherTests.cs | Adds tests for extracting NuGet package names from diffs. |
| tests/GauntletCI.Tests/NetworkLicenseValidatorTests.cs | Adds tests for network license cache behavior and failure modes. |
| tests/GauntletCI.Tests/MarkdownReportExporterTests.cs | Adds tests for markdown scorecard export formatting/sections. |
| tests/GauntletCI.Tests/LlmTests.cs | Adds tests for NullLlmEngine and prompt template generation. |
| tests/GauntletCI.Tests/LlmLabelerFactoryTests.cs | Adds tests for provider selection and env-var/token-dependent behavior. |
| tests/GauntletCI.Tests/LlmEndpointValidatorTests.cs | Adds tests for Ollama endpoint validation rules. |
| tests/GauntletCI.Tests/LlmDaemonAuthTests.cs | Adds tests for daemon token generation/validation. |
| tests/GauntletCI.Tests/LicenseServiceTests.cs | Adds tests for license token loading/validation (debug-only paths included). |
| tests/GauntletCI.Tests/IssueEnricherTests.cs | Adds tests for parsing issue references in PR bodies. |
| tests/GauntletCI.Tests/HttpClientFactoryTests.cs | Adds tests for HttpClient factory behavior (redirects, timeouts, caching). |
| tests/GauntletCI.Tests/GitRefValidatorTests.cs | Adds tests for safe/unsafe git ref validation. |
| tests/GauntletCI.Tests/GitHubChecksWriterTests.cs | Adds tests for checks conclusion/annotations limiting/prioritization. |
| tests/GauntletCI.Tests/GitHubAnnotationWriterTests.cs | Adds tests for annotation message sanitization and composition. |
| tests/GauntletCI.Tests/GauntletCI.Tests.csproj | Updates project references to point to src/ from tests/. |
| tests/GauntletCI.Tests/FindingGrouperTests.cs | Adds tests for grouping/deduping findings and ordering behavior. |
| tests/GauntletCI.Tests/FileChurnEnricherTests.cs | Adds tests for churn parsing and hotspot scoring. |
| tests/GauntletCI.Tests/Domain/DomainTypeTests.cs | Updates test path expectation for new tests folder. |
| tests/GauntletCI.Tests/DiffParserTests.cs | Adds tests for diff parsing and git diff error handling. |
| tests/GauntletCI.Tests/DependencyRuleTests.cs | Adds tests for dependency-related rules (bot + lockfile behaviors). |
| tests/GauntletCI.Tests/CoverageCorrelatorTests.cs | Adds tests for Codecov coverage parsing and safe early-returns. |
| tests/GauntletCI.Tests/Corpus/TestFileClassifierTests.cs | Adds additional tests for test-file classification edge cases. |
| tests/GauntletCI.Tests/Corpus/SecurityPatternStrategyTests.cs | Adds tests for security heuristic labeling strategy. |
| tests/GauntletCI.Tests/Corpus/PRDescriptionEnricherTests.cs | Adds tests for PR description enrichment heuristics (linked issue/WIP/body). |
| tests/GauntletCI.Tests/Corpus/NullabilityPatternStrategyTests.cs | Adds tests for nullability heuristic labeling behavior. |
| tests/GauntletCI.Tests/Corpus/LlmLabelerHelpersTests.cs | Adds tests for prompt building, JSON parsing, and truncation helpers. |
| tests/GauntletCI.Tests/Corpus/FixtureNormalizerTests.cs | Adds tests for normalization outputs (tags, language inference, metadata). |
| tests/GauntletCI.Tests/Corpus/FixtureIdHelperTests.cs | Adds tests for fixture id/path construction and sanitization. |
| tests/GauntletCI.Tests/Corpus/DataIntegrityPatternStrategyTests.cs | Adds tests for data-integrity heuristic labeling strategy. |
| tests/GauntletCI.Tests/Corpus/CorpusIngestionTests.cs | Updates test path expectation for new tests folder. |
| tests/GauntletCI.Tests/Corpus/AuthorExperienceEnricherTests.cs | Adds tests for experience tier classification and link header parsing. |
| tests/GauntletCI.Tests/Core/Analysis/Enrichment/Stages/EnricherImplementationTests.cs | Adds tests for enricher implementations (CodeSnippetEnricher, etc.). |
| tests/GauntletCI.Tests/Cli/Enrichment/EnrichmentPipelineFactoryTests.cs | Adds tests for enrichment pipeline configuration behavior. |
| tests/GauntletCI.Tests/BaselineStoreTests.cs | Adds tests for baseline fingerprinting and persistence. |
| tests/GauntletCI.Tests/AuditLogTests.cs | Adds unit tests for audit log models and NDJSON behavior. |
| tests/GauntletCI.Tests/AuditLogIntegrationTests.cs | Adds integration tests for audit log file I/O (serial collection). |
| src/GauntletCI.Cli/GauntletCI.Cli.csproj | Updates packaged image path to new packaging assets location. |
| site/app/docs/custom-rules/page.tsx | Updates docs path reference for where to add rule tests. |
| site/app/articles/corpus-report-2025/page.tsx | Updates link to moved corpus audit script. |
| scripts/RunCorpusAudit.csx | Adds/moves corpus audit runner script under scripts/. |
| scripts/run-quick-audit.ps1 | Adds quick audit PowerShell runner under scripts/. |
| scripts/find_missing_fixtures.py | Adds helper to detect missing diff.patch files for fixtures. |
| scripts/fetch_missing_fixtures.py | Adds helper to fetch missing fixture diffs via gh pr diff. |
| scripts/audit-corpus.py | Adds Python corpus audit runner using the CLI. |
| packaging/GauntletCI.nuspec | Updates packaged image path to new packaging assets location. |
| packaging/assets/images/README.md | Updates documentation for new canonical image location and references. |
| GauntletCI.slnx | Moves test project reference into /tests/ folder section. |
| docs/PHASE_12B_RULE_REFINEMENTS.md | Updates test path references to new tests location. |
| docs/examples/gauntletci-full.json | Adds full reference config example under docs/examples/. |
| docs/DEVELOPMENT.md | Updates repository layout documentation to match new structure. |
| CONTRIBUTING.md | Updates contributing guide paths for where to create/delete rule tests. |
| .github/pull_request_template.md | Adds PR template under .github/. |
Comments suppressed due to low confidence (1)
tests/GauntletCI.Tests/GauntletCI.Tests.csproj:32
- This file is using CRLF line endings, but the repo’s .editorconfig enforces
end_of_line = lf. Please normalize this file to LF to avoid constant formatting diffs.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.
Summary
scripts/and reference config intodocs/examples/.design/app-mockup/, brand images topackaging/assets/images/, and PR template to.github/.tests/GauntletCI.Tests/so all test projects live intests/.public/og/image (canonical copy remains insite/public/og/).Test plan
dotnet build GauntletCI.slnxdotnet test GauntletCI.slnx --no-build(1,934 passed)git diff --checkwhitespace clean