ktsu.Sdk derives AuthorsNamespace from the first dotted segment of
AUTHORS.md. With no such file the value was empty and the prefix was
dropped silently, so this repo built as FileDeduplicator where every
other one in the org builds as ktsu.<Name>.
Adds AUTHORS.md containing "ktsu.dev contributors", matching the 49
repos that already have it, and moves the InternalsVisibleTo literal to
ktsu.FileDeduplicator.Test in the same commit, as the NOTE above it
warned it would have to. Without that move ktsu.Sdk's KTSU0002 fails the
build, which is what catches the test project losing access to
Deduplicator, FileHasher, FileScanner and DuplicateGroup.
The NOTE itself goes with the condition it described.
Nothing was published under the unprefixed name: ktsu.Sdk marks only
libraries and PackAsTool projects packable, and this is an Exe via
ktsu.Sdk.ConsoleApp.
Fixes #91
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AEnne4CKU84fkH76m2eK2Y
Fixes #91
What
ktsu.SdkderivesAuthorsNamespacefrom the first dotted segment ofAUTHORS.md. This repo had no such file, so the value resolved empty and thektsu.prefix was dropped silently.AUTHORS.mdcontainingktsu.dev contributors, matching the org majority rather than KtsuTools'ktsu-dev(both reduce toktsu, so the choice is cosmetic today)InternalsVisibleToliteral fromFileDeduplicator.Testtoktsu.FileDeduplicator.Testin the same commit, which is the coupling [minor] Add a test project #98 introduced and the issue comment called outNOTEcomment above it, since the condition it described no longer holdsThe coupling is real, and the build catches it
Adding
AUTHORS.mdon its own does not build.ktsu.Sdkfails it with:So the "test project silently loses access" outcome the issue warned about is caught loudly rather than silently, but the literal still has to move — which is what this commit does.
Verification
main, the library builds asFileDeduplicator.dll— the unprefixed name the issue reportsFileDeduplicator/bin/Debug/net10.0/holdsktsu.FileDeduplicator.dlland the test project builds asktsu.FileDeduplicator.TestFileDeduplicator.slnx: 0 errors, 0 warningsAssert.Inconclusivefrom a test that needs an unprivileged user to stage a write-protected directory; it skips the same way onmainin this environment)Test access to
Deduplicator,FileHasher,FileScannerandDuplicateGroupis exercised by that suite passing, which is the regression the issue asks to guard against. No new test is added: the defect is in derived build identity, and the analyzer plus the assembly name are what actually assert it.The source already declared
namespace ktsu.FileDeduplicator;explicitly, so only the assembly name and the derived root namespace were wrong — no source namespaces move.Nothing was published under the unprefixed name:
ktsu.Sdkmarks only libraries andPackAsToolprojects packable, and this is anExeviaktsu.Sdk.ConsoleApp.Siblings
ImageDescriber#116is the identical gap andImageGuihas it too. Both need checking for the sameInternalsVisibleTocoupling before the same fix lands there; not touched here so each repo gets its own PR.Part of the naming audit tracked in ktsu-dev/Sdk#36.
🤖 Generated with Claude Code
https://claude.ai/code/session_01AEnne4CKU84fkH76m2eK2Y
Generated by Claude Code