Skip to content

Add AUTHORS.md so every identity keeps the ktsu. prefix - #124

Merged
matt-edmondson merged 1 commit into
mainfrom
claude/add-authors-md
Sep 21, 2026
Merged

matt-edmondson merged 1 commit into
mainfrom
claude/add-authors-md

Conversation

@matt-edmondson

Copy link
Copy Markdown
Contributor

Fixes #91

What

ktsu.Sdk derives AuthorsNamespace from the first dotted segment of AUTHORS.md. This repo had no such file, so the value resolved empty and the ktsu. prefix was dropped silently.

  • Adds AUTHORS.md containing ktsu.dev contributors, matching the org majority rather than KtsuTools' ktsu-dev (both reduce to ktsu, so the choice is cosmetic today)
  • Moves the InternalsVisibleTo literal from FileDeduplicator.Test to ktsu.FileDeduplicator.Test in the same commit, which is the coupling [minor] Add a test project #98 introduced and the issue comment called out
  • Drops the NOTE comment above it, since the condition it described no longer holds

The coupling is real, and the build catches it

Adding AUTHORS.md on its own does not build. ktsu.Sdk fails it with:

error KTSU0002: Consider exposing internals to test project 'ktsu.FileDeduplicator.Test'.
Add '[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("ktsu.FileDeduplicator.Test")]' to a .cs file.

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

  • On main, the library builds as FileDeduplicator.dll — the unprefixed name the issue reports
  • With this change, FileDeduplicator/bin/Debug/net10.0/ holds ktsu.FileDeduplicator.dll and the test project builds as ktsu.FileDeduplicator.Test
  • Clean rebuild of FileDeduplicator.slnx: 0 errors, 0 warnings
  • Test suite: 44 passed, 1 skipped, 0 failed (the skip is Assert.Inconclusive from a test that needs an unprivileged user to stage a write-protected directory; it skips the same way on main in this environment)

Test access to Deduplicator, FileHasher, FileScanner and DuplicateGroup is 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.Sdk marks only libraries and PackAsTool projects packable, and this is an Exe via ktsu.Sdk.ConsoleApp.

Siblings

ImageDescriber#116 is the identical gap and ImageGui has it too. Both need checking for the same InternalsVisibleTo coupling 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

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
@sonarqubecloud

Copy link
Copy Markdown

Copy link
Copy Markdown
Contributor Author

github-advanced-security is failing on an account quota, not on this PR

The only red check here is github-advanced-security. Its job log ends with:

Error creating PR review request: SessionModelError: You have exceeded your monthly quota
  errorType: 'quota', statusCode: 402
##[error]Process completed with exit code 1.

That is the Copilot autofix step exhausting a monthly account quota (HTTP 402) before it analyses anything. It is not a finding against this diff — which adds one text file and changes one string literal — and no change to this branch can clear it. It needs the quota topped up or that step made non-blocking. CodeQL itself passes.

I have not spent a re-run on it. A 402 quota error is deterministic, and the cross-check a re-run would give is already in hand from a stronger source: the identical failure is on four PRs I opened today across four repositories with four unrelated diffs — ktsu-dev/KtsuTools#174, ktsu-dev/ThemeProvider#103, #124 and ktsu-dev/ImageDescriber#143.

No fix exists to port, so there is nothing for me to push here. Flagging it because it is org-wide rather than specific to this PR, and it will keep every PR red until the quota is dealt with.


Generated by Claude Code

@matt-edmondson
matt-edmondson merged commit d44e8e9 into main Sep 21, 2026
11 of 12 checks passed
@matt-edmondson
matt-edmondson deleted the claude/add-authors-md branch September 21, 2026 12:19
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.

Missing AUTHORS.md drops the ktsu. prefix from every identity

1 participant