Skip to main content

cog-review

Cog architecture and cross-cutting review guidelines

Quellinformationen

Repository
replicate/cog
Letzte Quellaktivität
31. März 2026 um 13:25
Erkannte Sprache von SKILL.md
Englisch
Sterne
9.490
Forks
699

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
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
Auf GitHub ansehen