Skip to main content

cog-review

Cog architecture and cross-cutting review guidelines

Informations de source

Dépôt
replicate/cog
Dernière activité de la source
31 mars 2026 à 13:25
Langue détectée de SKILL.md
anglais
Étoiles
9 490
Forks
699

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
cog-review
description
Cog architecture and cross-cutting review guidelines
## Cog architecture review guidelines Cog packages ML models into production-ready containers. Use this skill for changes that cross language boundaries or touch core architecture. ### Component overview - **CLI** (Go): `cmd/cog/` and `pkg/` -- builds, runs, and deploys models - **Python SDK**: `python/cog/` -- predictor interface, types, HTTP/queue server - **Coglet** (Rust): `crates/` -- prediction server inside containers (HTTP, worker management, IPC) ### Key design patterns **Wheel resolution**: The CLI discovers SDK and coglet wheels from `dist/` at Docker build time. Wheels are NOT embedded in the binary. Changes to build artifacts need to account for this. **Dockerfile generation**: `pkg/dockerfile/` generates Dockerfiles from `cog.yaml` config. Template injection and escaping matter here. **Config parsing**: `pkg/config/config.go` parses `cog.yaml`. Schema is at `pkg/config/data/config_schema_v1.0.json`. Changes must keep schema and Go code in sync. **Two-process coglet**: Parent process (HTTP server + orchestrator) and child worker process (Python predictor execution) communicate via IPC. Changes to the IPC protocol affect both Rust and Python code. **Compatibility matrix**: CUDA/PyTorch/TensorFlow compatibility is managed in `tools/compatgen/`. Framework version changes have wide blast radius. ### Cross-cutting concerns - **VERSION.txt** is the single source of truth for versioning. `Cargo.toml` must match. - Changes to `python/cog/base_predictor.py` affect all downstream model authors. - Changes to `docs/` require running `mise run docs:llm` to regenerate `docs/llms.txt`. - CLI reference docs are auto-generated -- changes to `cmd/` or `pkg/cli/` require `mise run docs:cli`. - Integration tests in `integration-tests/` use Go's testscript and need a built cog binary. ### What to watch for - Breaking changes to the predictor interface or cog.yaml schema - Docker build changes that affect layer caching or build time - IPC protocol changes without updating both Rust and Python sides - Version bumps that miss one of the places VERSION.txt needs to match - New ML framework versions without compatibility testing
Voir sur GitHub