policy(porting): a model port documents the WEIGHTS it was fed, not just the code (#672) - #970
Merged
Merged
Conversation
…ust the code (#672) Developer-directed. MiniMax-Music3 is the case that made it concrete: the port landed complete, and a reader still could not run it without being told that the 57.4 GB repository is ~28.5 GB in the arm we actually load, split across six component directories, with a native `.pth` layout we refuse by name and thirteen community quantized repositories we do not implement. None of that is inferable from a header file. The code is the easy half to publish; saying WHAT TO FEED IT is the half that makes the port usable, and it was nowhere in the checklist. THE RULE, in `.agents/porting-a-model.md` §2.1 with a checkbox in §2 and a pointer from AGENTS.md's "Shared seams": every ported model documents the checkpoints it was built and gated against in `docs/USAGE.md`, in the SAME change that makes the capability reachable, mirroring the table MiniMax-H3 already carries — file name, size, and a link to the exact HuggingFace repo, grouped by arm. WHAT A ROW OWES, and each clause is there because something bit us: * The repo id AND the revision. A repo id alone is not a pin -- `unsloth/Qwen3.6-27B-NVFP4` was silently re-quantized in place under an unchanged name, and Music3's GGUF lineage is published four different ways under one model (`audiocpp`, `mm3`, `qwen3`, `wan`) with `wan` colliding with genuine Wan video GGUFs. A quantized artifact records its sha256 too. * Which arms are REFUSED, so a user reads the refusal in the docs rather than discovering it at load time -- the same polarity as the refuse-by-name rule one paragraph above it. * The total RESIDENT size, because that is what decides whether a reader can run it at all, and it is not the repository's size. * Whether a THIRD PARTY published it. Community quant repos are the arm most users actually reach for and they carry different provenance from a first-party release. Placed in `porting-a-model.md` rather than in `verification.md` or `benchmarking.md` because it is a property of SHIPPING a model, not of gating or measuring one, and because that file is the checklist an implementer already has open. AGENTS.md carries the rule in prose so it is reachable without opening the guide. Issue: #672 FOLLOWING_AGENTS_PROTOCOL Following-Agents-Protocol: true AI-Assisted: true Assisted-by: AGENT:claude-opus-5 [Claude Code]
localai-bot
force-pushed
the
row/PORTING-WEIGHTS-RULE
branch
from
August 16, 2026 02:06
07092fb to
81389a6
Compare
The commit-protocol-tag gate validates the PR DESCRIPTION as well as every commit in the range, and the description was missing the protocol paragraph. Editing the body does not re-run the gate on this workflow's triggers, so this empty commit is the re-trigger. FOLLOWING_AGENTS_PROTOCOL Issue: #672 Following-Agents-Protocol: true AI-Assisted: true Assisted-by: AGENT:claude-opus-5 [Claude Code]
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Records only — no
src/,include/ortests/change. Supersedes #951, whichcarried a force-push artifact in its commit range; this is the identical diff
rebuilt on a clean branch with no rewritten history.
Developer-directed. MiniMax-Music3 is the case that made it concrete: the port
landed complete, and a reader still could not run it without being told that the
57.4 GB repository is ~28.5 GB in the arm we actually load, split across six
component directories, with a native
.pthlayout we refuse by name andfourteen community quantized repositories we do not implement.
None of that is inferable from a header file. The code is the easy half to
publish; saying what to feed it is the half that makes the port usable — and it
was nowhere in the checklist.
The rule
.agents/porting-a-model.md§2.1, with a checkbox in §2 and a pointer fromAGENTS.md's quantized-arms paragraph: every ported model documents the
checkpoints it was built and gated against in
docs/USAGE.md, in the samechange that makes the capability reachable, mirroring the table MiniMax-H3
already carries — file name, size, and a link to the exact HuggingFace repo,
grouped by arm.
What a row owes, and why each clause exists
unsloth/Qwen3.6-27B-NVFP4was silently re-quantized in place under an unchanged name; Music3's GGUF lineage is published four ways under one model (audiocpp,mm3,qwen3,wan) andwancollides with genuine Wan video GGUFsPlacement
In
porting-a-model.mdrather thanverification.mdorbenchmarking.md,because it is a property of shipping a model rather than of gating or
measuring one — and because that file is the checklist an implementer already has
open. AGENTS.md carries it in prose so the rule is reachable without opening the
guide.
Its first application is the MiniMax-Music3 weights table in #966.
Gate:
check-agent-recordOK,check-doc-checkpointOK,check-commit-trailersOK over the PR range.
🤖 Generated with Claude Code
FOLLOWING_AGENTS_PROTOCOL
Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [Claude Code]