-
Notifications
You must be signed in to change notification settings - Fork 361
[FEATURE] Persist marketplace object-form deps; accept SHA catalog pins #2903
Copy link
Copy link
Open
Labels
area/cliCLI command surface, flags, help text (cross-cutting).CLI command surface, flags, help text (cross-cutting).area/lockfileLockfile schema, per-file provenance, integrity hashes, drift detection.Lockfile schema, per-file provenance, integrity hashes, drift detection.area/marketplacemarketplace.json schema, federation, authoring suite, source parity.marketplace.json schema, federation, authoring suite, source parity.status/needs-designDesign discussion required before implementation; not scope approval by itself.Design discussion required before implementation; not scope approval by itself.theme/securitySecure by default. Content scanning, lockfile integrity, MCP trust boundaries.Secure by default. Content scanning, lockfile integrity, MCP trust boundaries.triage/recommendedAutomated advice completed; not human scope approval.Automated advice completed; not human scope approval.type/featureNew capability, new flag, new primitive.New capability, new flag, new primitive.
Description
Activity
Metadata
Metadata
Assignees
Labels
area/cliCLI command surface, flags, help text (cross-cutting).CLI command surface, flags, help text (cross-cutting).area/lockfileLockfile schema, per-file provenance, integrity hashes, drift detection.Lockfile schema, per-file provenance, integrity hashes, drift detection.area/marketplacemarketplace.json schema, federation, authoring suite, source parity.marketplace.json schema, federation, authoring suite, source parity.status/needs-designDesign discussion required before implementation; not scope approval by itself.Design discussion required before implementation; not scope approval by itself.theme/securitySecure by default. Content scanning, lockfile integrity, MCP trust boundaries.Secure by default. Content scanning, lockfile integrity, MCP trust boundaries.triage/recommendedAutomated advice completed; not human scope approval.Automated advice completed; not human scope approval.type/featureNew capability, new flag, new primitive.New capability, new flag, new primitive.
Type
Projects
- StatusShow more project fieldsNo status
Is your feature request related to a problem? Please describe.
On apm-cli 0.30.0, operating a registry-only marketplace (immutable commit-SHA pins, nested deps that must resolve through the catalog) hits several CLI mismatches:
apm install plugin@<catalog>validates through the marketplace, then writesowner/repo#shagit shorthands into consumerapm.yml. Durable marketplace identity requires hand-editing object form (name+marketplace) and reinstalling.plugin@marketplaceis the advertised install identity, but the same string is rejected insideapm.yml. Only object form persists.apm marketplace checkfails raw commit-SHA catalog pins even whenapm packand CI drift checks succeed.@marketplacesuffixes and audit then disagree.apm deps listSource staysgithubeven when the lockfile hasdiscovered_via/marketplace_plugin_name.apm install -g, parked executables requireapm approvefrom~/.apmbecause approve has no--globaland follows cwd.Describe the solution you'd like
name+marketplace(optionalversion) in consumerapm.ymlonapm install plugin@<catalog>. Keep resolved git coordinates in the lockfile.apm marketplace checkfor registry-only catalogs, or document that pack+CI is the SHA-pin gate.plugin@marketplaceinapm.yml, or stop advertising that string as the persisted identity).apm doctor/apm marketplace listwhen one source URL is registered under multiple names.apm deps listfrom lockfilediscovered_via.apm approvetarget user scope after-ginstalls withoutcd ~/.apm.Describe alternatives you've considered
apm marketplace checkfailures on SHA pins as expected and ignore them (confusing for CI authors).deps listmisleads agents and humans).Additional context
apm marketplace auditis already the right consumer check for nested catalog resolution. Nested packagedependencies.apmmust use object form on 0.30.0; git owner/repo shorthands install but audit as bypasses. Happy to split this into separate issues if maintainers prefer.