Head to head
Same brief, same rubric, same scale. Put up to three models side by side: dimension scores, how many of their claims held up, and which issues each review raised.
Finds the microphone and the filters. Waves de-emphasis through.
Clean room: a fresh copy of the repository (46eebda with its uncommitted changes, its own docs and the HR-C6000 manual) with no earlier reviews, reviewed by one model through an isolated agent harness with no network, skills or memory.
B Grok 4.6Finds what erases the signal. Misses what stalls the voice.
Clean room: a fresh copy of the repository (46eebda with its uncommitted changes, its own docs and the HR-C6000 manual) with no earlier reviews, reviewed by one model through an isolated agent harness with no network, skills or memory.
Same protocol, a different half of the chain
Both clean-room audits find the microphone route and the AT1846S filters, both propose one-layer mode and the M17 tap, and both miss the vocoder CPU wall. Grok 4.6 also finds de-emphasis, the 8 kHz rule and the capture bug. DeepSeek V4.1 Flash runs more code, derives the clock path from the manual and makes fewer errors per claim, but clears de-emphasis. An earlier DeepSeek V4.1 Flash run on the original task delegated work to Muse Spark 1.3 subagents, so its grade does not represent this model; this run replaces it.
From the DeepSeek V4.1 Flash audit, 17 September 2026.
Weighted score
Out of 100, on the grade scale.
Earned and lost, by rubric slot
Each bar is a model’s 100-point grade split into the rubric’s weighted slots; filled is earned, empty is lost. The slots line up, so a gap in one bar against a full slot in another is exactly where the models part ways.
- 1Accuracy & evidence30 pts
- 2Coverage of decode problems25 pts
- 3Root cause & prioritisation15 pts
- 4Fix plan & acceptance gates15 pts
- 5Originality & attribution10 pts
- 6Clarity & calibration5 pts
Scores on each rubric dimension
Each dimension out of 100, then the weighted total, over the grade zones. The compared models are the coloured dots, each joined down the dimensions by a thin line; the other models on this task are the small grey ones. Hover or focus a row for every score and the auditor’s reasoning.
- ADeepSeek V4.1 Flash
- BGrok 4.6
- 2 other models on this task
Scores and weighted points
| Dimension | Weight | A · DeepSeek V4.1 Flash | B · Grok 4.6 | Muse Spark 1.3 Contributor | GLM 5.3 Flash | A − B |
|---|---|---|---|---|---|---|
| Accuracy & evidence | 30% | 73 · 21.9 pts | 74 · 22.2 pts | 74 · 22.2 pts | 64 · 19.2 pts | −1 |
| Coverage of decode problems | 25% | 49 · 12.3 pts | 59 · 14.8 pts | 54 · 13.5 pts | 34 · 8.5 pts | −10 |
| Root cause & prioritisation | 15% | 66 · 9.9 pts | 70 · 10.5 pts | 72 · 10.8 pts | 62 · 9.3 pts | −4 |
| Fix plan & acceptance gates | 15% | 70 · 10.5 pts | 75 · 11.3 pts | 71 · 10.7 pts | 62 · 9.3 pts | −5 |
| Originality & attribution | 10% | 74 · 7.4 pts | 72 · 7.2 pts | 70 · 7.0 pts | 58 · 5.8 pts | +2 |
| Clarity & calibration | 5% | 74 · 3.7 pts | 78 · 3.9 pts | 80 · 4.0 pts | 68 · 3.4 pts | −4 |
| Weighted total | 100% | 66 · C− | 70 · C | 68 · C− | 56 · D | −4 |
Every claim, checked
One cell per claim in each audit’s claim table, checked at the lines it cites. Hover a cell for the claim and the auditor’s note. The reviews made different numbers of claims, so the bar under each grid gives the shares.
- Holds
- Qualifiedoverstated, miscounted or doubtful
- Wrong
28 hold · 4 qualified · 3 wrong · 80% hold
21 hold · 7 qualified · 2 wrong · 70% hold
What each review raised
DeepSeek V4.1 Flash found 2 of the 4 decode-critical issues; Grok 4.6 found 3 of the 4 decode-critical issues. Every tracked issue below, with the reviews that were already in the repository for reference.
Issue signatures
Each review as a trace across the tracked issues. Where traces part is where the reviews differ; hover a column for every review’s entry. Column numbers match the table below.
- raised
- partly
- absent
- Decode-critical
| # | Issue | Project docsEarlier repo review · in the repository | Grok 4.6Model · Sep 17 | DeepSeek V4.1 FlashModel · Sep 17 |
|---|---|---|---|---|
| 1 | Capture export stages the wrong I2S halfwords | absent | raised§1, first code change | absentits first experiment uses that capture |
| 2 | Capture parser certifies an incomplete stream | absent | absent | absent |
| 3 | pcm_starve never increments | absentdocumented as working | absent | absent |
| 4 | No static RAM margin | partlymargins still to measure | absent | raisedM6, 0 bytes free |
| 5 | The I2S stream is most likely microphone audio Decode-criticalmissed | partlyopen, leaning sceptical | raised§1, 0x89 versus 0xC9 | raisedB1, four-value test |
| 6 | HR-C6000 de-emphasis on the capture path Decode-critical | absent | raised§2, bit 5 of 0x34 | absentcalls it benign |
| 7 | AT1846S FM filters, low-frequency bit, 25 kHz Decode-critical | partly“require characterization” | raised§2, register level | raisedB2, filter register |
| 8 | 0x10=0x6E hybrid state; 0x36 dual role | partlybring-up clock rules | partlymisses 0x6E and the 0x36 clock gate | partly“undocumented hybrid state” |
| 9 | Manual: I2S frame clock “must be 8KHz” Decode-criticalmissed | absent | raised§3 | absentquotes the paragraph, not the rule |
| 10 | One-layer 4FSK test mode as a P25 tap | partlystock BER-test block only | raisedGate D | raisedB5, exact recipe |
| 11 | ±10% health gate versus ±1% timing clamp | absent | absent | raisedB3, impact overstated |
| 12 | Fail-closed muting at LDU cadence | absent | absentlate-entry mute only | absent |
| 13 | Non-standard MFID mutes clear calls | absent | absent | absent |
| 14 | Test waveform shares the receiver’s RRC filter | partly“synthetic RRC/AWGN” caveat | absent | partlytested it, says not to fix |
| 15 | MCU runs at 72 MHz | raised | raisedin passing | absent |
| 16 | Vocoder needs 11–16× the 72 MHz CPU Decode-criticalmissed | partlydecode timing unmeasured | absent“fine on a 1 ms tick” | absent“vocoder question settled” |
| 17 | Direct discriminator tap (M17 mod) | raised | raiseduncredited | raisedpins, timer ADC, 48 kS/s |
| 18 | Phase 2 architecture and scope | partlynot implemented | partlymisplaces the AMBE+2 decoder | partlyvoice via mbelib AMBE+2 |
| 19 | Two unverified SPI writes per decoded 20 ms frame | absent | absent | absent |
| 20 | Capture sessions lack epochs | absent | absent | partlymeasured=0 only |
| 21 | Ring and tick real-time budget | partlydeadlines unproven | partlycalls it fine | absent |
| 22 | Clock config 3 assumes 12,288 Hz; the codec formula gives 12,000 | absent | absent | raisedB3, clock model |
| 23 | Clock-config writes bypass the verified SPI writer | partlySPI retry note | absent | raisedM1 |
From the provenance table in the GLM 5.3 Flash audit (17 Sep 2026), the newest audit on this task. Shaded columns are reviews that were already in the repository.