Refresh Vortex extension design doc against settled decisions and new facts - #12
Merged
Merged
Conversation
… facts Since docs/vortex-extension-design.md was first written, a planning effort (research, an advisor consult, a Plan-agent review, and owner decisions) resolved most of its 8 open questions and surfaced facts the doc didn't have. This rewrite folds those in section-by-section rather than appending: - Records the scope decision (companion extension to game-witcher3, not a replacement) and location decision (vortex-extension/ folder in this repo) up front. - Fixes the game-witcher3 source citation: Nexus-Mods/vortex-games is now archived; current source lives in the Nexus-Mods/Vortex monorepo under extensions/games/game-witcher3/src/ (re-verified directly via gh api). - Corrects vortex-api findings: no context.registerTool API exists (only addDiscoveredTool); IRunOptions has no stdio/pipe access at all, so an MCP client must bypass vortex-api with a raw child_process.spawn; the documented extension entry point is init(context), not activate(context). - Documents a second coexistence hazard: game-witcher3's per-Vortex-profile merge backup/restore (mergeBackup.ts) has no concept of MergeInventory.xml, which is a single global file. - Records the v1 bundle-content scope decision (vanilla-baseline DLC matching in scope; Vortex-deployed witcher3dlc-mod-type conflicts out of scope). - Replaces the old "hand-edit WitcherScriptMerger.exe.config XML" proposal with the incoming WSM_<KeyName> env-var override mechanism as the recommended approach, keeping the hand-edit pattern's interim safety rule for implementations that start before the env-var mechanism lands. - Updates Open Questions 1, 4, 5, and 6 to reflect what's now resolved (or partially resolved), while leaving 2, 3, 7, and 8 genuinely open since nothing in this round settles them. - Fixes now-stale framing throughout: the self-contained publish convention and the Linux-capable Headless host both exist now; CLAUDE.md citations point at the specific per-project file responsible for each claim since an earlier commit federated the single combined CLAUDE.md. Docs-only change; no source code touched. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GXAuGMLB44T5Zv5o5ZzKah
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
docs/vortex-extension-design.mdwas written as a design-only reference for a future Vortex extension that would drive WSM's CLI/MCP interface. Since then, a separate planning effort (research, an advisor consult, a Plan-agent review, and explicit owner decisions) resolved most of its 8 open questions and surfaced facts the original draft didn't have. This PR folds those in, correcting/removing stale material rather than just appending, while keeping the doc's existing voice, structure, and section numbering.game-witcher3, not a replacement — nocontext.registerGame, no reimplementing deployment/load-order/config-matrix merging) and the location decision (vortex-extension/folder in this repo, kept outside.sln/dotnet build/dotnet format) up front.game-witcher3source citation:Nexus-Mods/vortex-gamesis now archived (confirmed viagh api); current source lives in theNexus-Mods/Vortexmonorepo underextensions/games/game-witcher3/src/(re-verified directly, not carried over from the stale citation).vortex-apifindings against its publishedlib/api.d.tstypings: there is nocontext.registerToolAPI (onlyaddDiscoveredTool);IRunOptionshas no stdio/pipe access at all, so an MCP client must bypassvortex-apiwith a rawchild_process.spawn; the documented extension entry point isinit(context), notactivate(context).game-witcher3's per-Vortex-profile merge backup/restore (mergeBackup.ts) has no concept ofMergeInventory.xml, which is a single global file with no profile awareness.witcher3dlcmod type are explicitly out of scope for this round.WitcherScriptMerger.exe.configXML" proposal with the incomingWSM_<KeyName>env-var override mechanism as the recommended approach — while keeping the hand-edit pattern's interim safety rule for anyone implementing before that mechanism lands.CLAUDE.mdcitations point at the specific per-project file responsible for each claim, since an earlier commit federated the single combinedCLAUDE.mdinto per-project files.Docs-only change — no source code touched.
AI assistance disclosure
This PR was drafted with Claude Code (Anthropic). All factual claims about current repo state (file/API paths, CLI verb shape, MCP tool names) and about Vortex's
game-witcher3/vortex-apiwere independently re-verified this session via directgh apilookups and a live fetch of the Vortex wiki, rather than trusted from the task brief or prior summaries. Reviewed by thecode-reviewskill before submission; both findings it raised were addressed.Test plan
docs/vortex-extension-design.mdis plain UTF-8, no BOM, CRLF line endings, matching this repo's existing markdown convention.gh apilookups againstNexus-Mods/Vortex,Nexus-Mods/vortex-games,Nexus-Mods/vortex-api, and the Vortex wiki).code-reviewskill against the diff and addressed both findings (an interim safety-rule gap in §4.1, and self-containment of Open Question 5's "landing alongside this refresh" caveat).🤖 Generated with Claude Code
https://claude.ai/code/session_01GXAuGMLB44T5Zv5o5ZzKah