NanoJev-Web / docs /PUBLISHING.md
candypunk's picture
Release runtime 1.1 with named workflows and hybrid by default
d786697 verified
|
Raw History Blame Contribute Delete
5.14 kB

Publish the prepared release on Hugging Face

The repository root is already a model repository layout: an English README.md model card, license notices, local weights/tokenizer/configuration, source, tests and evidence. No hosted Inference API integration or Hugging Face Space is configured. This distribution contains the model and browser runtime. It does not contain a comparison application or cloud-provider integrations.

Review and dry run

After setup:

./test.command
.venv/bin/python scripts/publish.py --repo-id YOUR_NAMESPACE/NanoJev-Web

The default is a dry run: it verifies hashes and prints the exact upload file count. It makes no network writes and does not need a token. Replace YOUR_NAMESPACE with the intended account or organization; the model card download command refers to the existing public repository.

Explicit publication

Authenticate through the Hugging Face CLI or provide HF_TOKEN through your environment. Keep credentials outside this folder. Then:

.venv/bin/python scripts/publish.py \
  --repo-id YOUR_NAMESPACE/NanoJev-Web --publish

This explicitly creates a public model repository and uploads only verified manifest files. If the repository already exists, the command fails unless you add --update-existing. That flag adds/replaces the listed files and does not delete unrelated remote files. Choose a new clean repository for a first release.

The helper uses HfApi with an exact file allowlist. It does not upload .local, .venv, .runtime, node_modules, .env, browser evidence, development history, shell configuration or hidden parent directories. Do not use an unrestricted recursive upload on an installed workspace.

Portable archive

.venv/bin/python scripts/release.py --export ../NanoJev-Web-1.1.0-model.tar.gz

The archive contains the same manifest files plus the manifest. Tar ownership IDs and names are normalized, as are timestamps, so machine usernames and local filesystem metadata are not copied into the archive. Dependencies and browsers are installed on the destination machine with setup.command.

The checkpoint's SHA-256 is recorded in PROVENANCE.json. .gitattributes marks safetensors for large-file handling. Hugging Face handles large-file transfer through its upload API.

Model-card scope

The card identifies the NanoJev parent, the Qwen backbone, browser head training, mixed upstream license terms and the specialized decision interface. It does not label this custom checkpoint as a generic text-generation pipeline or claim universal browser benchmark performance.

References: Hugging Face model cards, Hugging Face upload guide.

Static demonstration assets

The demonstration image is docs/assets/browser-demo.png, showing the final verified results. The recording is docs/assets/seed-43129.gif, embedded in the model card and detailed report. Both supplied files are preserved byte-for-byte and included as documentation assets in the release manifest and archive. They are shown in the demonstration section after the model description, integration and limitations. The executable comparison stand is not distributed.

The GIF contains 26.51 seconds of playback and ends before Astra's final Passed badge. The caption distinguishes this recording excerpt from the complete run metrics, which come from the saved benchmark logs.

If you later replace a media file or edit the Markdown locally, update the corresponding manifest entries before using the verified uploader and regenerate the archive. A direct edit on the Hub does not change the local archive.

Download statistics

Keep the root config.json in the published repository and in complete downloads. It contains the browser decision configuration and paths to the model's weights, backbone configuration, tokenizer and inference entrypoint. The runtime continues to load its existing files under model/; no weights or inference behavior were changed to enable statistics.

Hugging Face counts model downloads using designated query files; the default includes the root config.json. Requests to arbitrary weights, nested configurations or an independently shared archive are not equivalent to downloading this query file. Recommend the full hf download command in the model card. These statistics count qualifying file requests, not unique people or completed model runs. Hugging Face download statistics.

There is no telemetry call in model startup or browser execution. Statistics are maintained by the Hub when it serves files. Adding the configuration fixes the repository layout for counting; it does not reconstruct historical downloads or promise immediate changes to the displayed total.

This remains a custom PyTorch decision model. The root configuration does not add Transformers AutoModel support or a hosted inference widget. Preserve library_name: pytorch and use the included loader.