Skip to content

feat: cpm download-weights command with HF Hub provider#43

Merged
jeanmachuca merged 10 commits into
mainfrom
development
Jul 5, 2026
Merged

feat: cpm download-weights command with HF Hub provider#43
jeanmachuca merged 10 commits into
mainfrom
development

Conversation

@jeanmachuca

Copy link
Copy Markdown
Member

Implements ADR-002: download-weights, auto-download in install, gguf-model template.

* feat: initial cpm implementation

* feat: initial cpm implementation

All 8 commands: init, install (local + registry), remove, list, info,
verify, search, update. Includes hardware audit, JSON Schema validation
(embedded), dependency resolution, registries.toml config, structured
logging, and CI pipeline.

Tests: archive (4), schema (2), config (2), dep (3), audit (5) = 16 total

* chore: remove committed binary, add to .gitignore

* chore: attribute project to Jean Machuca with GitHub Sponsors

* chore: add * 2.* pattern to .gitignore for editor backups

* Release v0.1.0 (#2) (#4)

* feat: initial cpm implementation

* feat: initial cpm implementation

All 8 commands: init, install (local + registry), remove, list, info,
verify, search, update. Includes hardware audit, JSON Schema validation
(embedded), dependency resolution, registries.toml config, structured
logging, and CI pipeline.

Tests: archive (4), schema (2), config (2), dep (3), audit (5) = 16 total

* chore: remove committed binary, add to .gitignore

* chore: attribute project to Jean Machuca with GitHub Sponsors

* docs: add cross-repo navigation links to README (#7)

* docs: add contributing section to README (#9)

* fix: resolve merge conflict markers in README (#16)

* Fix CI blockers: commit go.sum, fix errcheck, fix build paths, wire up CI

* feat: add source validation with provider bug check on install

* feat: multi-registry config with official/alternative sections and section name resolution

* feat: implement universal protocol resolver with normalization engine and checksum notary (#23)

* fix: CI integrity and .gitignore repairs across repos (#25)

* feat: iterate mirrors and alternatives in search and update

- search: queries all registries (primary, mirrors, alternatives) and merges results
- update: checks all registries for latest version before updating
- Added resolveConfig() helper for obtaining full registries list
- Exported DefaultRegistries() from config package
- Results tagged with registry name in search output
* Fix CI blockers: commit go.sum, fix errcheck, fix build paths, wire up CI

* feat: add source validation with provider bug check on install

* feat: multi-registry config with official/alternative sections and section name resolution

* feat: implement universal protocol resolver with normalization engine and checksum notary (#23)
- New cmd/publish.go: reads .cgp, computes SHA-256, publishes to registry
- New registry.Client.Publish() method: POST /v1/patches with JSON body
- PublishRequest struct for metadata + checksum + download URL
- Requires --download-url flag (notary mode, no file hosting)
- Requires CPM_REGISTRY_TOKEN env var for auth
- Supports --tag flag (repeatable)
* feat: initial cpm implementation

* feat: initial cpm implementation

All 8 commands: init, install (local + registry), remove, list, info,
verify, search, update. Includes hardware audit, JSON Schema validation
(embedded), dependency resolution, registries.toml config, structured
logging, and CI pipeline.

Tests: archive (4), schema (2), config (2), dep (3), audit (5) = 16 total

* chore: remove committed binary, add to .gitignore

* chore: attribute project to Jean Machuca with GitHub Sponsors

* chore: add * 2.* pattern to .gitignore for editor backups

* Release v0.1.0 (#2) (#4)

* feat: initial cpm implementation

* feat: initial cpm implementation

All 8 commands: init, install (local + registry), remove, list, info,
verify, search, update. Includes hardware audit, JSON Schema validation
(embedded), dependency resolution, registries.toml config, structured
logging, and CI pipeline.

Tests: archive (4), schema (2), config (2), dep (3), audit (5) = 16 total

* chore: remove committed binary, add to .gitignore

* chore: attribute project to Jean Machuca with GitHub Sponsors

* docs: add cross-repo navigation links to README (#7)

* docs: add contributing section to README (#9)

* fix: resolve merge conflict markers in README (#16)

* Fix CI blockers: commit go.sum, fix errcheck, fix build paths, wire up CI

* feat: add source validation with provider bug check on install

* feat: multi-registry config with official/alternative sections and section name resolution

* feat: implement universal protocol resolver with normalization engine and checksum notary (#23)

* fix: CI integrity and .gitignore repairs across repos (#25)

* feat: add cpm publish command for notary registry

- New cmd/publish.go: reads .cgp, computes SHA-256, publishes to registry
- New registry.Client.Publish() method: POST /v1/patches with JSON body
- PublishRequest struct for metadata + checksum + download URL
- Requires --download-url flag (notary mode, no file hosting)
- Requires CPM_REGISTRY_TOKEN env var for auth
- Supports --tag flag (repeatable)
* feat: initial cpm implementation

* feat: initial cpm implementation

All 8 commands: init, install (local + registry), remove, list, info,
verify, search, update. Includes hardware audit, JSON Schema validation
(embedded), dependency resolution, registries.toml config, structured
logging, and CI pipeline.

Tests: archive (4), schema (2), config (2), dep (3), audit (5) = 16 total

* chore: remove committed binary, add to .gitignore

* chore: attribute project to Jean Machuca with GitHub Sponsors

* chore: add * 2.* pattern to .gitignore for editor backups

* Release v0.1.0 (#2) (#4)

* feat: initial cpm implementation

* feat: initial cpm implementation

All 8 commands: init, install (local + registry), remove, list, info,
verify, search, update. Includes hardware audit, JSON Schema validation
(embedded), dependency resolution, registries.toml config, structured
logging, and CI pipeline.

Tests: archive (4), schema (2), config (2), dep (3), audit (5) = 16 total

* chore: remove committed binary, add to .gitignore

* chore: attribute project to Jean Machuca with GitHub Sponsors

* docs: add cross-repo navigation links to README (#7)

* docs: add contributing section to README (#9)

* fix: resolve merge conflict markers in README (#16)

* Fix CI blockers: commit go.sum, fix errcheck, fix build paths, wire up CI

* feat: add source validation with provider bug check on install

* feat: multi-registry config with official/alternative sections and section name resolution

* feat: implement universal protocol resolver with normalization engine and checksum notary
* feat: initial cpm implementation

All 8 commands: init, install (local + registry), remove, list, info,
verify, search, update. Includes hardware audit, JSON Schema validation
(embedded), dependency resolution, registries.toml config, structured
logging, and CI pipeline.

Tests: archive (4), schema (2), config (2), dep (3), audit (5) = 16 total

* chore: remove committed binary, add to .gitignore
* feat: initial cpm implementation

* feat: initial cpm implementation

All 8 commands: init, install (local + registry), remove, list, info,
verify, search, update. Includes hardware audit, JSON Schema validation
(embedded), dependency resolution, registries.toml config, structured
logging, and CI pipeline.

Tests: archive (4), schema (2), config (2), dep (3), audit (5) = 16 total

* chore: remove committed binary, add to .gitignore

* chore: attribute project to Jean Machuca with GitHub Sponsors

* chore: add * 2.* pattern to .gitignore for editor backups

* Release v0.1.0 (#2) (#4)

* feat: initial cpm implementation

* feat: initial cpm implementation

All 8 commands: init, install (local + registry), remove, list, info,
verify, search, update. Includes hardware audit, JSON Schema validation
(embedded), dependency resolution, registries.toml config, structured
logging, and CI pipeline.

Tests: archive (4), schema (2), config (2), dep (3), audit (5) = 16 total

* chore: remove committed binary, add to .gitignore

* chore: attribute project to Jean Machuca with GitHub Sponsors

* docs: add cross-repo navigation links to README (#7)

* docs: add contributing section to README (#9)

* fix: resolve merge conflict markers in README (#16)

* Fix CI blockers: commit go.sum, fix errcheck, fix build paths, wire up CI

* feat: add source validation with provider bug check on install
* feat: initial cpm implementation

* feat: initial cpm implementation

All 8 commands: init, install (local + registry), remove, list, info,
verify, search, update. Includes hardware audit, JSON Schema validation
(embedded), dependency resolution, registries.toml config, structured
logging, and CI pipeline.

Tests: archive (4), schema (2), config (2), dep (3), audit (5) = 16 total

* chore: remove committed binary, add to .gitignore

* chore: attribute project to Jean Machuca with GitHub Sponsors

* chore: add * 2.* pattern to .gitignore for editor backups

* Release v0.1.0 (#2) (#4)

* feat: initial cpm implementation

* feat: initial cpm implementation

All 8 commands: init, install (local + registry), remove, list, info,
verify, search, update. Includes hardware audit, JSON Schema validation
(embedded), dependency resolution, registries.toml config, structured
logging, and CI pipeline.

Tests: archive (4), schema (2), config (2), dep (3), audit (5) = 16 total

* chore: remove committed binary, add to .gitignore

* chore: attribute project to Jean Machuca with GitHub Sponsors

* docs: add cross-repo navigation links to README (#7)

* docs: add contributing section to README (#9)

* fix: resolve merge conflict markers in README (#16)

* Fix CI blockers: commit go.sum, fix errcheck, fix build paths, wire up CI

* feat: add source validation with provider bug check on install

* feat: multi-registry config with official/alternative sections and section name resolution

* feat: implement universal protocol resolver with normalization engine and checksum notary (#23)

* fix: CI integrity and .gitignore repairs across repos
Adds:
- cpm download-weights --provider hf --kind <raw|wide> --type <gguf|safetensors> <name>
- weights.Provider interface for future providers (models.dev)
- HF Hub search via public API (library=gguf, sorted by downloads)
- Large-file streaming download with SHA-256 verification
- Decoupled progress reporting (TextProgress/NoopProgress callbacks)
- Auto-download when cpm install encounters manifest brain.*.weights.remote
- cpm init --template gguf-model for model publishers
- Raw model skip-if-exists; wide model always overwrites
@jeanmachuca jeanmachuca merged commit 25d0b5a into main Jul 5, 2026
1 check passed
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.

1 participant