[PUBLIC API BREAKING CHANGE] Feature/renaming#11
Conversation
…he codebase; update documentation references accordingly
…eLink.GitHub, coverlet.collector, Microsoft.NET.Test.Sdk, xunit, and Moq
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Pull request overview
This PR completes a repo-wide rename/rebrand from SlidingWindowCache to Intervals.NET.Caching, updating namespaces, project/solution wiring, CI scripts, and documentation so consumers and automation target the new library identity.
Changes:
- Renamed namespaces/usings across
src/,tests/, benchmarks, and WASM validation projects toIntervals.NET.Caching.*. - Updated solution/project references and NuGet package metadata to
Intervals.NET.Caching. - Updated CI/CD workflow + local CI script + docs to use new project paths/names (and bumped several test/benchmark dependencies).
Reviewed changes
Copilot reviewed 126 out of 130 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/Intervals.NET.Caching.Unit.Tests/Public/Instrumentation/NoOpDiagnosticsTests.cs | Updated test namespace/usings to new public instrumentation namespace |
| tests/Intervals.NET.Caching.Unit.Tests/Public/FuncDataSourceTests.cs | Updated test namespace/usings to new public API namespaces |
| tests/Intervals.NET.Caching.Unit.Tests/Public/Extensions/WindowCacheConsistencyExtensionsTests.cs | Updated test namespace/usings to new public extensions namespaces |
| tests/Intervals.NET.Caching.Unit.Tests/Public/Configuration/WindowCacheOptionsTests.cs | Updated test namespace/usings to new configuration namespace |
| tests/Intervals.NET.Caching.Unit.Tests/Public/Configuration/WindowCacheOptionsBuilderTests.cs | Updated test namespace/usings to new configuration namespace |
| tests/Intervals.NET.Caching.Unit.Tests/Public/Configuration/RuntimeOptionsUpdateBuilderTests.cs | Updated test namespace/usings to new core/state + configuration namespaces |
| tests/Intervals.NET.Caching.Unit.Tests/Public/Configuration/RuntimeOptionsSnapshotTests.cs | Updated test namespace/usings to new configuration namespace |
| tests/Intervals.NET.Caching.Unit.Tests/Public/Cache/WindowCacheDisposalTests.cs | Updated test namespace/usings to new cache/config + test infrastructure namespaces |
| tests/Intervals.NET.Caching.Unit.Tests/Public/Cache/WindowCacheDataSourceAdapterTests.cs | Updated test namespace/usings to new infra/public/cache/dto namespaces |
| tests/Intervals.NET.Caching.Unit.Tests/Public/Cache/WindowCacheBuilderTests.cs | Updated test namespace/usings to new public/cache/config/instrumentation + infra namespaces |
| tests/Intervals.NET.Caching.Unit.Tests/Public/Cache/LayeredWindowCacheTests.cs | Updated test namespace/usings to new layered cache/public namespaces |
| tests/Intervals.NET.Caching.Unit.Tests/Public/Cache/LayeredWindowCacheBuilderTests.cs | Updated test namespace/usings to new layered cache builder namespaces |
| tests/Intervals.NET.Caching.Unit.Tests/Intervals.NET.Caching.Unit.Tests.csproj | Updated project references + bumped test/coverage package versions |
| tests/Intervals.NET.Caching.Unit.Tests/Infrastructure/Storage/TestInfrastructure/StorageTestHelpers.cs | Updated test infrastructure namespace |
| tests/Intervals.NET.Caching.Unit.Tests/Infrastructure/Storage/TestInfrastructure/CacheStorageTestsBase.cs | Updated usings/namespace for storage test base + static helper import |
| tests/Intervals.NET.Caching.Unit.Tests/Infrastructure/Storage/SnapshotReadStorageTests.cs | Updated usings/namespace for snapshot storage tests |
| tests/Intervals.NET.Caching.Unit.Tests/Infrastructure/Storage/CopyOnReadStorageTests.cs | Updated usings/namespace for copy-on-read storage tests |
| tests/Intervals.NET.Caching.Unit.Tests/Infrastructure/Extensions/IntervalsNetDomainExtensionsTests.cs | Updated usings/namespace for infra extension tests |
| tests/Intervals.NET.Caching.Unit.Tests/Infrastructure/Extensions/IntegerVariableStepDomain.cs | Updated namespace for test domain implementation |
| tests/Intervals.NET.Caching.Unit.Tests/Infrastructure/Concurrency/TaskBasedRebalanceExecutionControllerTests.cs | Updated usings/namespace for concurrency tests |
| tests/Intervals.NET.Caching.Unit.Tests/Infrastructure/Concurrency/ExecutionRequestTests.cs | Updated usings/namespace for execution request tests |
| tests/Intervals.NET.Caching.Unit.Tests/Infrastructure/Concurrency/CacheDataExtensionServiceTests.cs | Updated usings/namespace for cache data extension service tests |
| tests/Intervals.NET.Caching.Unit.Tests/Infrastructure/Concurrency/AsyncActivityCounterTests.cs | Updated usings/namespace for activity counter tests |
| tests/Intervals.NET.Caching.Unit.Tests/Core/State/RuntimeOptionsValidatorTests.cs | Updated usings/namespace for state validation tests |
| tests/Intervals.NET.Caching.Unit.Tests/Core/State/RuntimeCacheOptionsTests.cs | Updated usings/namespace for runtime options tests |
| tests/Intervals.NET.Caching.Unit.Tests/Core/State/RuntimeCacheOptionsHolderTests.cs | Updated usings/namespace for options holder tests |
| tests/Intervals.NET.Caching.Tests.Infrastructure/Intervals.NET.Caching.Tests.Infrastructure.csproj | Updated project reference + bumped Moq/xUnit versions |
| tests/Intervals.NET.Caching.Tests.Infrastructure/Helpers/TestHelpers.cs | Updated usings/namespace for shared test helpers |
| tests/Intervals.NET.Caching.Tests.Infrastructure/DataSources/SpyDataSource.cs | Updated usings/namespace for test data source |
| tests/Intervals.NET.Caching.Tests.Infrastructure/DataSources/SimpleTestDataSource.cs | Updated usings/namespace for test data source |
| tests/Intervals.NET.Caching.Tests.Infrastructure/DataSources/FaultyDataSource.cs | Updated usings/namespace for test data source |
| tests/Intervals.NET.Caching.Tests.Infrastructure/DataSources/DataGenerationHelpers.cs | Updated namespace for data generation helpers |
| tests/Intervals.NET.Caching.Tests.Infrastructure/DataSources/BoundedDataSource.cs | Updated usings/namespace for bounded data source |
| tests/Intervals.NET.Caching.Invariants.Tests/WindowCacheInvariantTests.cs | Updated usings/namespace for invariants test suite |
| tests/Intervals.NET.Caching.Invariants.Tests/README.md | Updated paths/branding and various symbols in docs |
| tests/Intervals.NET.Caching.Invariants.Tests/Intervals.NET.Caching.Invariants.Tests.csproj | Updated project references + bumped test/coverage package versions |
| tests/Intervals.NET.Caching.Integration.Tests/UserPathExceptionHandlingTests.cs | Updated integration test usings/namespace |
| tests/Intervals.NET.Caching.Integration.Tests/StrongConsistencyModeTests.cs | Updated integration test usings/namespace |
| tests/Intervals.NET.Caching.Integration.Tests/RuntimeOptionsUpdateTests.cs | Updated integration test usings/namespace |
| tests/Intervals.NET.Caching.Integration.Tests/RebalanceExceptionHandlingTests.cs | Updated integration test usings/namespace |
| tests/Intervals.NET.Caching.Integration.Tests/RangeSemanticsContractTests.cs | Updated integration test usings/namespace + updated doc comment branding |
| tests/Intervals.NET.Caching.Integration.Tests/RandomRangeRobustnessTests.cs | Updated integration test usings/namespace |
| tests/Intervals.NET.Caching.Integration.Tests/LayeredCacheIntegrationTests.cs | Updated integration test usings/namespace |
| tests/Intervals.NET.Caching.Integration.Tests/Intervals.NET.Caching.Integration.Tests.csproj | Updated project references + bumped test/coverage package versions |
| tests/Intervals.NET.Caching.Integration.Tests/ExecutionStrategySelectionTests.cs | Updated integration test usings/namespace |
| tests/Intervals.NET.Caching.Integration.Tests/DataSourceRangePropagationTests.cs | Updated integration test usings/namespace |
| tests/Intervals.NET.Caching.Integration.Tests/ConcurrencyStabilityTests.cs | Updated integration test usings/namespace |
| tests/Intervals.NET.Caching.Integration.Tests/CacheDataSourceInteractionTests.cs | Updated integration test usings/namespace |
| tests/Intervals.NET.Caching.Integration.Tests/BoundaryHandlingTests.cs | Updated integration test usings/namespace |
| src/Intervals.NET.Caching/Public/Instrumentation/NoOpDiagnostics.cs | Renamed public instrumentation namespace |
| src/Intervals.NET.Caching/Public/Instrumentation/ICacheDiagnostics.cs | Renamed public instrumentation namespace + doc text symbol changes |
| src/Intervals.NET.Caching/Public/Instrumentation/EventCounterCacheDiagnostics.cs | Renamed namespace + updated comments/log message symbols |
| src/Intervals.NET.Caching/Public/IWindowCache.cs | Updated public API usings + renamed public namespace |
| src/Intervals.NET.Caching/Public/IDataSource.cs | Updated public API usings + renamed public namespace + doc symbol changes |
| src/Intervals.NET.Caching/Public/FuncDataSource.cs | Updated usings + renamed public namespace |
| src/Intervals.NET.Caching/Public/Extensions/WindowCacheConsistencyExtensions.cs | Updated usings + renamed public extensions namespace |
| src/Intervals.NET.Caching/Public/Dto/RangeResult.cs | Renamed public DTO namespace |
| src/Intervals.NET.Caching/Public/Dto/RangeChunk.cs | Updated usings + renamed public DTO namespace + doc symbol changes |
| src/Intervals.NET.Caching/Public/Dto/CacheInteraction.cs | Renamed public DTO namespace |
| src/Intervals.NET.Caching/Public/Configuration/WindowCacheOptionsBuilder.cs | Renamed public configuration namespace |
| src/Intervals.NET.Caching/Public/Configuration/WindowCacheOptions.cs | Updated core state using + renamed configuration namespace + doc symbol changes |
| src/Intervals.NET.Caching/Public/Configuration/UserCacheReadMode.cs | Renamed configuration namespace + doc symbol change |
| src/Intervals.NET.Caching/Public/Configuration/RuntimeOptionsUpdateBuilder.cs | Renamed configuration namespace |
| src/Intervals.NET.Caching/Public/Configuration/RuntimeOptionsSnapshot.cs | Renamed configuration namespace |
| src/Intervals.NET.Caching/Public/Cache/WindowCacheDataSourceAdapter.cs | Updated usings + renamed public cache namespace |
| src/Intervals.NET.Caching/Public/Cache/WindowCacheBuilder.cs | Updated usings + renamed public cache namespace |
| src/Intervals.NET.Caching/Public/Cache/WindowCache.cs | Updated usings/namespaces across core/infra/public layers + comment symbol changes |
| src/Intervals.NET.Caching/Public/Cache/LayeredWindowCacheBuilder.cs | Updated usings + renamed public cache namespace |
| src/Intervals.NET.Caching/Public/Cache/LayeredWindowCache.cs | Updated usings + renamed public cache namespace |
| src/Intervals.NET.Caching/Intervals.NET.Caching.csproj | Updated package id/urls + internals visibility + SourceLink version |
| src/Intervals.NET.Caching/Infrastructure/Storage/SnapshotReadStorage.cs | Updated usings + renamed infra storage namespace |
| src/Intervals.NET.Caching/Infrastructure/Storage/ICacheStorage.cs | Updated usings + renamed infra storage namespace |
| src/Intervals.NET.Caching/Infrastructure/Storage/CopyOnReadStorage.cs | Updated usings + renamed infra storage namespace |
| src/Intervals.NET.Caching/Infrastructure/Extensions/IntervalsNetDomainExtensions.cs | Renamed infra extensions namespace |
| src/Intervals.NET.Caching/Infrastructure/Concurrency/AsyncActivityCounter.cs | Renamed infra concurrency namespace + comment symbol changes |
| src/Intervals.NET.Caching/Infrastructure/Collections/ReadOnlyMemoryEnumerable.cs | Renamed infra collections namespace |
| src/Intervals.NET.Caching/Core/UserPath/UserRequestHandler.cs | Updated usings + renamed core user path namespace + comment symbol changes |
| src/Intervals.NET.Caching/Core/State/RuntimeOptionsValidator.cs | Renamed core state namespace + updated cref namespace |
| src/Intervals.NET.Caching/Core/State/RuntimeCacheOptionsHolder.cs | Renamed core state namespace |
| src/Intervals.NET.Caching/Core/State/RuntimeCacheOptions.cs | Updated using + renamed core state namespace + updated cref namespace |
| src/Intervals.NET.Caching/Core/State/CacheState.cs | Updated using + renamed core state namespace |
| src/Intervals.NET.Caching/Core/Rebalance/Intent/IntentController.cs | Updated usings + renamed core rebalance intent namespace |
| src/Intervals.NET.Caching/Core/Rebalance/Intent/Intent.cs | Renamed core rebalance intent namespace |
| src/Intervals.NET.Caching/Core/Rebalance/Execution/TaskBasedRebalanceExecutionController.cs | Updated usings + renamed core rebalance execution namespace |
| src/Intervals.NET.Caching/Core/Rebalance/Execution/RebalanceExecutor.cs | Updated usings + renamed core rebalance execution namespace + comment symbol changes |
| src/Intervals.NET.Caching/Core/Rebalance/Execution/RebalanceExecutionControllerBase.cs | Updated usings + renamed core rebalance execution namespace |
| src/Intervals.NET.Caching/Core/Rebalance/Execution/IRebalanceExecutionController.cs | Updated usings + renamed core rebalance execution namespace |
| src/Intervals.NET.Caching/Core/Rebalance/Execution/ExecutionRequest.cs | Updated using + renamed core rebalance execution namespace |
| src/Intervals.NET.Caching/Core/Rebalance/Execution/ChannelBasedRebalanceExecutionController.cs | Updated usings + renamed core rebalance execution namespace |
| src/Intervals.NET.Caching/Core/Rebalance/Execution/CacheDataExtensionService.cs | Updated usings + renamed core rebalance execution namespace |
| src/Intervals.NET.Caching/Core/Rebalance/Decision/RebalanceReason.cs | Renamed core rebalance decision namespace |
| src/Intervals.NET.Caching/Core/Rebalance/Decision/RebalanceDecisionEngine.cs | Updated using + renamed core rebalance decision namespace |
| src/Intervals.NET.Caching/Core/Rebalance/Decision/RebalanceDecision.cs | Updated using + renamed core rebalance decision namespace |
| src/Intervals.NET.Caching/Core/Rebalance/Decision/NoRebalanceSatisfactionPolicy.cs | Updated using + renamed core rebalance decision namespace |
| src/Intervals.NET.Caching/Core/Planning/ProportionalRangePlanner.cs | Updated usings + renamed core planning namespace |
| src/Intervals.NET.Caching/Core/Planning/NoRebalanceRangePlanner.cs | Updated usings + renamed core planning namespace |
| src/Intervals.NET.Caching.WasmValidation/WasmCompilationValidator.cs | Updated usings + renamed wasm validation namespace + doc symbol changes |
| src/Intervals.NET.Caching.WasmValidation/README.md | Updated wasm validation docs + symbol replacements |
| src/Intervals.NET.Caching.WasmValidation/Intervals.NET.Caching.WasmValidation.csproj | Updated project reference to renamed library project |
| docs/storage-strategies.md | Updated branding + significant symbol/diagram changes |
| docs/scenarios.md | Updated branding mention |
| docs/invariants.md | Updated file paths to renamed source locations |
| docs/glossary.md | Updated branding + file path references |
| docs/diagnostics.md | Updated formatting/symbols + updated invariant test links |
| docs/components/user-path.md | Updated component file paths to renamed locations |
| docs/components/state-and-storage.md | Updated component file paths to renamed locations |
| docs/components/rebalance-path.md | Updated component file paths to renamed locations |
| docs/components/public-api.md | Updated public API doc file paths to renamed locations |
| docs/components/overview.md | Updated numerous file path references to renamed locations |
| docs/components/intent-management.md | Updated component file paths to renamed locations |
| docs/components/execution.md | Updated component file paths to renamed locations |
| docs/architecture.md | Updated branding mention |
| benchmarks/Intervals.NET.Caching.Benchmarks/Results/Intervals.NET.Caching.Benchmarks.Benchmarks.UserFlowBenchmarks-report-github.md | Added/updated benchmark report under new name |
| benchmarks/Intervals.NET.Caching.Benchmarks/Results/Intervals.NET.Caching.Benchmarks.Benchmarks.ScenarioBenchmarks-report-github.md | Added/updated benchmark report under new name |
| benchmarks/Intervals.NET.Caching.Benchmarks/Results/Intervals.NET.Caching.Benchmarks.Benchmarks.RebalanceFlowBenchmarks-report-github.md | Added/updated benchmark report under new name |
| benchmarks/Intervals.NET.Caching.Benchmarks/Results/Intervals.NET.Caching.Benchmarks.Benchmarks.ExecutionStrategyBenchmarks-report-github.md | Added/updated benchmark report under new name |
| benchmarks/Intervals.NET.Caching.Benchmarks/README.md | Updated benchmark docs for new project name + symbol replacements |
| benchmarks/Intervals.NET.Caching.Benchmarks/Program.cs | Updated benchmark runner namespace/branding |
| benchmarks/Intervals.NET.Caching.Benchmarks/Intervals.NET.Caching.Benchmarks.csproj | Updated project reference + bumped BenchmarkDotNet version |
| benchmarks/Intervals.NET.Caching.Benchmarks/Infrastructure/SynchronousDataSource.cs | Updated usings/namespace for benchmark infra |
| benchmarks/Intervals.NET.Caching.Benchmarks/Infrastructure/SlowDataSource.cs | Updated usings/namespace for benchmark infra |
| benchmarks/Intervals.NET.Caching.Benchmarks/Benchmarks/UserFlowBenchmarks.cs | Updated usings/namespace for benchmarks |
| benchmarks/Intervals.NET.Caching.Benchmarks/Benchmarks/ScenarioBenchmarks.cs | Updated usings/namespace for benchmarks |
| benchmarks/Intervals.NET.Caching.Benchmarks/Benchmarks/RebalanceFlowBenchmarks.cs | Updated usings/namespace for benchmarks |
| benchmarks/Intervals.NET.Caching.Benchmarks/Benchmarks/ExecutionStrategyBenchmarks.cs | Updated usings/namespace for benchmarks |
| README.md | Updated repository/package branding, badge URLs, and code snippets |
| Intervals.NET.Caching.sln | Renamed solution content and updated project/workflow references |
| AGENTS.md | Updated agent guidance to new project name/paths |
| .github/workflows/intervals-net-caching.yml | Updated workflow name/paths/env and publishing package name |
| .github/test-ci-locally.ps1 | Updated local CI script paths/messages to renamed solution/projects |
Comments suppressed due to low confidence (13)
tests/Intervals.NET.Caching.Invariants.Tests/README.md:55
- This line uses
3 scenarios ? 2 storagewhere?reads as “unknown” rather than multiplication. Restore the intended multiplier notation (×or*) so the test-case count expression is correct and readable.
src/Intervals.NET.Caching/Public/Instrumentation/EventCounterCacheDiagnostics.cs:100 - The warning marker was changed to
??in the comment (// ?? WARNING: ...). This looks like a broken emoji/symbol replacement and will render poorly; prefer a stable ASCII prefix likeWARNING:(or keep a valid Unicode symbol) and ensure the file encoding preserves it consistently.
src/Intervals.NET.Caching/Infrastructure/Concurrency/AsyncActivityCounter.cs:46 - The bullet list uses
?where a positive indicator/checkmark was intended. In API docs this reads like uncertainty rather than emphasis; switch to plain text (e.g.,- State-based:) or a stable symbol that won’t be corrupted by encoding/emoji replacement.
.github/workflows/intervals-net-caching.yml:17 pull_request.pathsalso references.github/workflows/Intervals.NET.Caching.ymlbut the file present isintervals-net-caching.yml. Align the filename/casing so PR path filtering works as intended.
src/Intervals.NET.Caching/Public/Instrumentation/EventCounterCacheDiagnostics.cs:105- The
Debug.WriteLinemessage also starts with??, which is likely unintended and will show up in logs/tests. Update it to a clear, stable prefix (e.g.,WARNING:) or restore the original symbol with proper UTF-8 encoding.
.github/workflows/intervals-net-caching.yml:22 DOTNET_VERSIONis set to8.x.x, which isn’t a validactions/setup-dotnetversion spec (expected forms are typically8.xor8.0.x). This will cause the workflow to fail during the setup step; update it to a supported format.
src/Intervals.NET.Caching/Public/Instrumentation/ICacheDiagnostics.cs:100- The XML docs contain replacement characters (
�) where punctuation/symbols were expected (e.g., “Partial Cache Hit � Scenario 3”). This indicates an encoding/character substitution issue and will leak into published API docs. Please restore the intended characters (likely an em dash) and ensure the file is saved as UTF-8 without lossy substitutions.
src/Intervals.NET.Caching/Public/Instrumentation/EventCounterCacheDiagnostics.cs:125 - The
Reset()XML remarks contain a replacement character (Warning � not atomic), indicating an encoding/substitution problem that will leak into generated docs. Restore the intended punctuation (likely an em dash) and ensure the file is saved as UTF-8.
src/Intervals.NET.Caching/Public/Instrumentation/ICacheDiagnostics.cs:247 - The emphasis marker in the public API docs was changed to
?? CRITICAL(and similar??sequences elsewhere). This looks like a failed emoji/symbol replacement and will render poorly in generated documentation. Prefer a stable ASCII marker likeWARNING:/CRITICAL:(or keep the original Unicode symbol) and ensure the file encoding preserves it correctly.
tests/Intervals.NET.Caching.Invariants.Tests/README.md:21 - This doc line uses
from 29 > 45, where>reads as “greater than” (not “to/arrow”). That changes the meaning of the statistic; please switch to an unambiguous form like29 → 45or29 to 45and ensure the intended character is preserved in UTF-8.
Intervals.NET.Caching.sln:39 - The solution’s
SolutionItemssection references.github\workflows\Intervals.NET.Caching.yml, but the workflow file added/updated in this PR is.github/workflows/intervals-net-caching.yml. In a case-sensitive environment this leaves a broken solution item link; align the workflow filename (or update this solution entry) so it points at the actual file.
src/Intervals.NET.Caching/Infrastructure/Concurrency/AsyncActivityCounter.cs:39 - The transition notation in the docs uses
0>1/N>0, which reads as a numeric comparison rather than a state transition. Use an unambiguous form like0 -> 1/N -> 0(or preserve→) so the concurrency semantics are clear.
.github/workflows/intervals-net-caching.yml:10 push.pathsincludes.github/workflows/Intervals.NET.Caching.yml, but the workflow file in this PR isintervals-net-caching.yml. On GitHub Actions (case-sensitive), this prevents the workflow from triggering when only the workflow file changes. Rename the workflow file to match the referenced path or update the filter to the actual filename.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
This pull request completes a comprehensive rebranding of the project from
SlidingWindowCachetoIntervals.NET.Cachingacross all major areas of the codebase, documentation, CI/CD scripts, and solution files. The changes ensure consistent naming, update build and test paths, and align all references to the new library name.Project Renaming and Consistency
SlidingWindowCache.slntoIntervals.NET.Caching.sln, and updated all project references inside the solution to use the new name..github/test-ci-locally.ps1to useIntervals.NET.Cachinginstead ofSlidingWindowCache.CI/CD Workflow Updates
.github/workflows/Intervals.NET.Caching.ymland updated all triggers, paths, environment variables, and job names to reflect the new project name. [1] [2] [3]Documentation Updates
AGENTS.mdto referenceIntervals.NET.Caching, including build/test commands, namespace examples, file locations, and CI/CD instructions. [1] [2] [3] [4] [5] [6]These changes collectively ensure the project is fully transitioned to its new identity, with no lingering references to the old name in scripts, documentation, or configuration files.