What's wrong
The OpenAI feature started in #31 was commented out, but several pieces of it are still in the app:
| Leftover |
Where |
Effect |
<PackageReference Include="OpenAI" /> |
ProjectDirector/ProjectDirector.csproj:29, Directory.Packages.props:27 |
Nothing uses it. using OpenAI.Chat; and every ChatClient line are commented out (ProjectDirector.cs:21, 59, 82, 2166-2187). Dependabot has still opened about 17 PRs to bump it (e.g. #413, #376, #341). |
<PackageReference Include="ImGui.NET" /> |
ProjectDirector.csproj:15, Directory.Packages.props:8 |
The app uses Hexa.NET.ImGui, and nothing in the source references ImGuiNET. |
| "Generate Tests" and "Generate Documentation Comments" |
ProjectDirector.cs:2155-2163, in the right-click menu on any .cs file in the repo browser |
Both are if (ImGui.Selectable(...)) { } with empty bodies. Clicking either one closes the menu and does nothing: no log line, no message. |
OpenAIToken |
ProjectDirectorOptions.cs:14, 67 |
A secret persisted in the plain-text options JSON, which is the file CLAUDE.md says tokens were deliberately moved out of. Nothing reads or writes it now, and no UI sets it. |
Verification
A copy of the repository at HEAD 011730d, with the OpenAI and ImGui.NET entries removed from both ProjectDirector.csproj and Directory.Packages.props:
dotnet build -c Release succeeds.
dotnet test passes: 102 passed, 3 skipped, 0 failed.
- Compared with an unmodified build, the output no longer contains
OpenAI.dll, System.ClientModel.dll, ImGui.NET.dll, System.Memory.Data.dll, eight Microsoft.Extensions.* assemblies, or the duplicate libcimgui.so/libcimgui.dylib native libraries that ImGui.NET ships alongside Hexa's cimgui. The output shrinks from about 285 MB to 272 MB.
The ktsu SDK's KTSU0005 check requires the PackageVersion entries to be removed together with the references.
Why it matters
- Users see menu items that look like features and silently do nothing.
- The app ships a second, unused ImGui binding with its own native
cimgui. That is confusing, and it risks a native library name clash on platforms where both get resolved.
- An unused OpenAI SDK and its dependencies are shipped and kept patched for no benefit.
- An unused secret field in the plain-text settings file goes against the token-handling rule documented in CLAUDE.md.
Suggested fix / acceptance criteria
- Remove
OpenAI and ImGui.NET from ProjectDirector.csproj and Directory.Packages.props.
- Delete the commented-out
ChatClient code and the two empty menu items. If the AI features are still wanted, track them in their own issue and add the menu items back once they do something.
- Remove
OpenAIToken, both the property and its semantic type. Loading an old options file ignores a property that no longer exists, so no migration is needed. If stored values should also be cleared from existing files, a one-off blanking in the style of LegacyGitHubToken would do it.
- The build and the existing tests still pass, and the right-click menu on a
.cs file only offers actions that do something.
What's wrong
The OpenAI feature started in #31 was commented out, but several pieces of it are still in the app:
<PackageReference Include="OpenAI" />ProjectDirector/ProjectDirector.csproj:29,Directory.Packages.props:27using OpenAI.Chat;and everyChatClientline are commented out (ProjectDirector.cs:21, 59, 82, 2166-2187). Dependabot has still opened about 17 PRs to bump it (e.g. #413, #376, #341).<PackageReference Include="ImGui.NET" />ProjectDirector.csproj:15,Directory.Packages.props:8ImGuiNET.ProjectDirector.cs:2155-2163, in the right-click menu on any.csfile in the repo browserif (ImGui.Selectable(...)) { }with empty bodies. Clicking either one closes the menu and does nothing: no log line, no message.OpenAITokenProjectDirectorOptions.cs:14, 67Verification
A copy of the repository at HEAD 011730d, with the
OpenAIandImGui.NETentries removed from bothProjectDirector.csprojandDirectory.Packages.props:dotnet build -c Releasesucceeds.dotnet testpasses: 102 passed, 3 skipped, 0 failed.OpenAI.dll,System.ClientModel.dll,ImGui.NET.dll,System.Memory.Data.dll, eightMicrosoft.Extensions.*assemblies, or the duplicatelibcimgui.so/libcimgui.dylibnative libraries that ImGui.NET ships alongside Hexa'scimgui. The output shrinks from about 285 MB to 272 MB.The ktsu SDK's
KTSU0005check requires thePackageVersionentries to be removed together with the references.Why it matters
cimgui. That is confusing, and it risks a native library name clash on platforms where both get resolved.Suggested fix / acceptance criteria
OpenAIandImGui.NETfromProjectDirector.csprojandDirectory.Packages.props.ChatClientcode and the two empty menu items. If the AI features are still wanted, track them in their own issue and add the menu items back once they do something.OpenAIToken, both the property and its semantic type. Loading an old options file ignores a property that no longer exists, so no migration is needed. If stored values should also be cleared from existing files, a one-off blanking in the style ofLegacyGitHubTokenwould do it..csfile only offers actions that do something.