Remove per-plugin version override
Version comes solely from the marketplace definition.

Assisted-by: Claude Opus 4.6 via pi
change kwtnmrktqxrysyvvusnqptpkvpkmonqx
commit ffe9b56ab83087847da2654a769f3153c67e2a4d
author Alpha Chen <alpha@kejadlen.dev>
date
parent mkvkpoyy
diff --git a/README.md b/README.md
index 7b495f8..eda3052 100644
--- a/README.md
+++ b/README.md
@@ -59,17 +59,15 @@ marketplaces:
 
 plugins:
   jj:
-    marketplace: my-skills    # inherits src, version, and manifest from the marketplace
+    marketplace: my-skills
 
   gh-pr:
     marketplace: my-skills
-    version: v1.2.0               # override the marketplace default
 ```
 
-Every plugin references a named marketplace (inheriting `src` and `version`).
-A plugin can override `version` to pin a different branch or tag. The plugin
-path within the repo is discovered from `.claude-plugin/marketplace.json`
-(or the marketplace's `manifest` override).
+Every plugin references a named marketplace (inheriting `src`, `version`, and
+`manifest`). The plugin path within the repo is discovered from
+`.claude-plugin/marketplace.json` (or the marketplace's `manifest` override).
 
 Removing a skill is done by removing it from the config and re-running
 `pinch install`.
diff --git a/src/config.rs b/src/config.rs
index a1df3ce..7f24b54 100644
--- a/src/config.rs
+++ b/src/config.rs
@@ -67,7 +67,7 @@ pub fn load() -> Result<Vec<Plugin>> {
             plugins.push(Plugin {
                 name,
                 src: mkt.src.clone(),
-                version: entry.version.unwrap_or_else(|| mkt.version.clone()),
+                version: mkt.version.clone(),
                 manifest: mkt.manifest.clone(),
             });
         }
@@ -86,7 +86,6 @@ struct MarketplaceEntry {
 #[derive(Deserialize)]
 struct PluginEntry {
     marketplace: String,
-    version: Option<String>,
 }
 
 #[derive(Deserialize)]