Repository navigation
Conversation
…r parsed only an arch-prefix allowlist Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…ni-3.1-pro-low, gemini-3.8-flash-high) Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
§13.11 rung 1 — quorum shadow verdict Shadow mode: this records a verdict and merges nothing. A refusal |
Member
Author
|
Superseded — this PR's content is already on main (operator 1-day PR rule triage, 2026-09-24). Carrying commit: 8c7822f — release(0.69.1): batch 1 (#3772). Branch is NOT deleted: |
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.
Closes #3733
What was wrong
apr inspect --jsonon a Qwen3.5 GGUF showed 24 of the header's 46 keys, and none of the 18qwen35.*keys, soqwen35.context_length(262144) was missing. The cause was in the GGUF reader, not in inspect.GgufReader::from_bytesparsed a key only if it started withtokenizer.,general.,llama.,qwen2.,qwen3.,phi.,mistral.orgpt2.. It skipped everything else by length.qwen35.does not start withqwen3..I traced the RosettaStone path:
run_rosetta_inspect→RosettaStone::inspect_gguf→load_gguf_raw().raw_metadata. None of those layers filtered anything.Fix
GgufReader::display_only_metadata, andraw_metadatais the union of both maps.keep_allwas deliberately not used here. The config accessors (context_length(),num_layers(), …) readmetadata, and their values feedapr import. Wideningmetadatawould give every unlisted architecture a config the import path has never seen. A test pins that the accessors are unchanged.read_metadata_arrayis hardened. It now checks the array span before allocating, and uses the checked readers instead ofdata[..]indexing. Parsing instead of skipping would otherwise hand a hostile element count toVec::with_capacity.rosetta_jsonis split out. It is now its own function, so the--jsondocument is testable.Measured
On lambda, with the post-fix binary pinned by
scripts/apr_bin.sh(apr 0.69.0 (336b7230b)). The header count comes independently from pythongguf.apr 0.68.2(reader/inspect code unchanged since)qwen35.*Every Qwen3.5 file now shows all 18
qwen35.*keys, includingcontext_length262144 andfull_attention_interval4.Mutants, each red: skip restored; the union dropped; one prefix (
quantize.*) dropped; the bounds check removed; aqwen35.filter inrosetta_json.Suites:
cargo test -p aprender-core --lib -- format::gguf format::rosetta: 645 passedcargo test -p apr-cli --lib -- inspect: 140 passed-D warningson aprender-core and apr-cli: cleancargo test -p aprender-contracts --lib: 1689 passedAD-04 quorum: 3/3 PASS (
docs/audits/quorum-PMAT-3733.json). The full record is indocs/roadmaps/entries/PMAT-3733.yaml.Per the batching default this PR is not armed: it is for the cop to fold.
🤖 Generated with Claude Code