Publishing the decision head#
The venn-1 head lives in the Hugging Face model repo markrussinovich/venn-1,
separate from the source tree and the Python package. The repository layout is:
README.md model card (built from docs/model-card.md)
assets/config.json reader pin, temperatures, default head
assets/manifest.json SHA-256 of the two files below
assets/universal.safetensors the CosineAbstention weights
venn download-model and venn serve fetch assets/ at the revision pinned in
venn/profiles.py (HEAD_REPO_ID, HEAD_REVISION).
Publish or update#
python scripts/publish_head.py --model-dir /path/to/assets --output /tmp/venn-head --dry-run
python scripts/publish_head.py --model-dir /path/to/assets --output /tmp/venn-head
The script refuses to stage anything whose weights or loader configuration differ
from the checksums in venn/profiles.py, strips internal keys from the config,
writes a fresh manifest and builds the model card. Repositories are created
private; pass --public to create a public one, or change visibility in the Hub
settings later. After a successful upload, update HEAD_REVISION in
venn/profiles.py to the printed commit and update the model card's pinned
revision.
A different head is a new profile. Train and evaluate it, record its checksums
in venn/profiles.py under a new profile and publish it to a new repository
rather than overwriting venn-1.
The owner approved head redistribution on November 7, 2026. The model card
records that permission separately from the MIT code license. During
private release preparation, keep the Hub repository private and pass the
intended account's token explicitly if HF_TOKEN names another account.
Credentials#
Use a write token for the account that owns the repository. The script reads
HF_TOKEN or the token stored by hf auth login; do not commit tokens.